:root{--bg-color:#0a0e17;--bg-surface:#1a1f3699;--bg-surface-hover:#28304dcc;--text-primary:#f0f4f8;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-bull:#10b981;--accent-bull-glow:#10b98133;--accent-bear:#ef4444;--accent-bear-glow:#ef444433;--accent-neutral:#3b82f6;--accent-neutral-glow:#3b82f633;--accent-primary:#3b82f6;--border-color:#ffffff1a;--border-radius:12px;--border-radius-lg:20px;--blur:blur(12px);--transition:border-color .3s cubic-bezier(.4, 0, .2, 1), box-shadow .3s cubic-bezier(.4, 0, .2, 1), transform .3s cubic-bezier(.4, 0, .2, 1), color .3s cubic-bezier(.4, 0, .2, 1), opacity .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);text-rendering:auto;flex-direction:column;min-height:100vh;font-family:Inter,Noto Sans JP,sans-serif;line-height:1.6;display:flex;position:relative;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 15%,#3b82f614,#0000 25%),radial-gradient(circle at 85% 30%,#10b9810d,#0000 25%);position:fixed;inset:0}#app{will-change:transform;flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:700;line-height:1.2}a{color:var(--accent-primary);transition:var(--transition);text-decoration:none}a:hover{text-shadow:0 0 8px #3b82f680}.container{flex-grow:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.glass{background:var(--bg-surface);-webkit-backdrop-filter:var(--blur);border:1px solid var(--border-color);border-radius:var(--border-radius)}.glass-panel{transition:var(--transition);padding:1.5rem}.glass-panel:hover{border-color:#fff3;transform:translateY(-2px);box-shadow:0 10px 30px #00000080}header{z-index:100;border-bottom:1px solid var(--border-color);will-change:transform;background:#0a0e17f2;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex}.logo{background:linear-gradient(135deg,#fff,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;display:flex}.nav-links{align-items:center;gap:1.5rem;display:flex}.nav-links a{color:var(--text-secondary);font-weight:500}.nav-links a:hover{color:var(--text-primary)}.lang-switch{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:var(--transition);border-radius:20px;padding:.25rem .75rem}.lang-switch:hover{background:var(--bg-surface-hover)}footer{text-align:center;border-top:1px solid var(--border-color);color:var(--text-muted);background:#0a0e17e6;margin-top:auto;padding:2rem;font-size:.875rem}.disclaimer-banner{text-align:center;color:var(--text-secondary);background:linear-gradient(90deg,#ef44441a,#f59e0b1a);border-bottom:1px solid #f59e0b33;flex-direction:column;gap:.5rem;padding:.75rem 2rem;font-size:.875rem;display:flex}.disclaimer-title{color:var(--accent-neutral);font-weight:700}.disclaimer-banner button{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:var(--transition);border-radius:4px;margin-top:.5rem;padding:.25rem 1rem}.disclaimer-banner button:hover{background:var(--bg-surface-hover)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{will-change:transform, opacity;animation:.5s ease-out forwards fadeIn}.loading{height:50vh;color:var(--text-secondary);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.badge.bull,.badge.buy,.badge.overweight{background:var(--accent-bull-glow);color:var(--accent-bull);border:1px solid #10b9814d}.badge.bear,.badge.sell,.badge.underweight{background:var(--accent-bear-glow);color:var(--accent-bear);border:1px solid #ef44444d}.badge.neutral,.badge.hold{background:var(--accent-neutral-glow);color:var(--accent-neutral);border:1px solid #f59e0b4d}.bull,.buy,.overweight{color:var(--accent-bull)}.bear,.sell,.underweight{color:var(--accent-bear)}.neutral,.hold{color:var(--accent-neutral)}.markdown-body{-webkit-overflow-scrolling:touch;overflow-x:auto}.markdown-body table{border-collapse:collapse;width:100%;min-width:500px;margin-bottom:1rem}@media (width<=600px){.markdown-body table{min-width:450px;font-size:.8rem}.markdown-body th,.markdown-body td{padding:.5rem}}.markdown-body{color:var(--text-primary)}.markdown-body h1,.markdown-body h2,.markdown-body h3{color:#fff;margin-top:1.5rem;margin-bottom:1rem}.markdown-body p{color:var(--text-secondary);margin-bottom:1rem}.markdown-body ul,.markdown-body ol{color:var(--text-secondary);margin-bottom:1rem;padding-left:1.5rem}.markdown-body table{border-collapse:collapse;width:100%;margin-bottom:1rem}.markdown-body th,.markdown-body td{border:1px solid var(--border-color);text-align:left;padding:.75rem}.markdown-body th{background:#ffffff0d}@media (width<=1024px){.glass{-webkit-backdrop-filter:none;background:#1a1f36d9}.glass-panel:hover{box-shadow:none;transform:none}[style*="overflow-y: auto"]{max-height:none!important;padding-right:0!important;overflow-y:visible!important}}
