@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,600&display=swap');
:root{--ink:#13221d;--paper:#f3f1ea;--card:#faf9f4;--line:#d9d8cf;--muted:#6d756f;--green:#0d7450;--red:#bb493e;--lime:#b9da49;--sidebar:#12211c;--shadow:0 16px 40px rgba(18,33,28,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','Noto Sans SC',sans-serif}.app-shell{display:grid;grid-template-columns:116px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);color:white;padding:26px 18px;display:flex;flex-direction:column;z-index:5}.logo{display:flex;gap:9px;align-items:center;color:white;text-decoration:none}.logo span{display:grid;place-items:center;width:40px;height:40px;background:var(--lime);color:var(--ink);font-weight:800}.logo b{font-size:10px;line-height:1.15;letter-spacing:.12em}.sidebar nav{display:flex;flex-direction:column;gap:14px;margin-top:100px}.sidebar nav a{color:#91a097;text-decoration:none;font-size:12px;writing-mode:vertical-rl;letter-spacing:.18em;padding:10px 20px}.sidebar nav a:hover,.sidebar nav a.active{color:white}.sidebar-note{margin-top:auto;font-size:9px;color:#9bab9f}.sidebar-note i,.live-dot{display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:50%;box-shadow:0 0 0 4px rgba(185,218,73,.12)}.sidebar-note small{letter-spacing:.1em}main{padding:0 6vw;min-width:0}header{min-height:470px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.overline{font-size:11px;letter-spacing:.22em;font-weight:700;color:var(--green)}h1{font-size:clamp(48px,7vw,96px);line-height:.93;letter-spacing:-.055em;margin:24px 0}h1 em{font-family:'Playfair Display',serif;font-weight:600;color:var(--green)}.hero-copy{max-width:570px;color:var(--muted);line-height:1.8}.header-meta{text-align:right;border-left:1px solid var(--line);padding-left:28px}.header-meta b,.header-meta small{display:block;margin-top:8px}.header-meta small{color:var(--muted)}section{padding:80px 0;border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.section-heading h2{font-size:40px;letter-spacing:-.04em;margin:6px 0 0}.section-heading>p{color:var(--muted);font-size:13px}.pulse-grid{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:14px}.metric-card,.panel{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.metric-card{padding:28px}.metric-card span{color:var(--muted);font-size:12px}.metric-card strong{display:block;font-size:42px;margin-top:10px}.metric-card small{color:var(--muted)}.search{display:flex;align-items:center;width:min(400px,45vw);background:var(--card);border:1px solid var(--line);padding:0 16px}.search input{width:100%;padding:15px 0;border:0;outline:0;background:transparent;font:inherit}.search-results{position:absolute;right:6vw;width:min(400px,70vw);background:white;border:1px solid var(--line);z-index:4;box-shadow:var(--shadow);max-height:360px;overflow:auto}.search-item{width:100%;padding:14px 18px;border:0;border-bottom:1px solid var(--line);background:white;display:flex;justify-content:space-between;text-align:left;cursor:pointer}.search-item:hover{background:#f0f5e5}.search-item small{display:block;color:var(--muted);margin-top:4px}.company-hero{display:flex;justify-content:space-between;align-items:end;padding:34px 0}.company-hero span{font-size:12px;letter-spacing:.15em;color:var(--muted)}.company-hero h3{font-size:52px;margin:6px 0;letter-spacing:-.05em}.company-hero p{color:var(--muted)}.price-block{text-align:right}.price-block strong{font-size:52px}.price-block em{display:block;font-style:normal;font-weight:700}.up{color:var(--red)}.down{color:var(--green)}.research-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:14px}.panel{padding:24px;min-height:260px}.panel-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:22px}.panel-head span{font-size:10px;letter-spacing:.18em;color:var(--green)}.panel-head h3{margin:5px 0;font-size:22px}.periods button{border:0;background:transparent;padding:7px;color:var(--muted);cursor:pointer}.periods button.active{background:var(--ink);color:white}.chart-panel{min-height:400px}.chart-empty,.empty-copy{display:grid;place-items:center;height:250px;color:var(--muted);text-align:center}.price-chart{width:100%;height:290px}.price-chart .area{fill:url(#areaFill)}.price-chart .line{fill:none;stroke:var(--green);stroke-width:2}.price-chart .grid{stroke:#e4e4dc;stroke-width:1}.valuation dl{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.valuation dl div{background:var(--card);padding:20px}.valuation dt{font-size:11px;color:var(--muted)}.valuation dd{margin:8px 0 0;font-size:22px;font-weight:700}.profile dl{display:grid;gap:12px}.profile dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px}.profile dt{color:var(--muted)}.metric-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric-pill{padding:14px;background:#eef1e5}.metric-pill span{display:block;color:var(--muted);font-size:11px}.metric-pill b{display:block;margin-top:6px}.copilot-section{background:var(--ink);color:white;margin:0 -6vw;padding-left:6vw;padding-right:6vw}.copilot-section .overline{color:var(--lime)}.copilot-section .section-heading>p{color:#aebbb3}.copilot-grid{display:grid;grid-template-columns:1.7fr .7fr;gap:14px}.chat-panel{background:#182c25;border:1px solid #30463e;min-height:570px;display:flex;flex-direction:column}.messages{padding:26px;flex:1;max-height:480px;overflow:auto}.message{max-width:82%;padding:18px 20px;margin-bottom:14px;line-height:1.7;white-space:pre-wrap}.message.assistant{background:#223b32}.message.user{background:var(--lime);color:var(--ink);margin-left:auto}.message b{font-size:10px;letter-spacing:.14em;color:var(--lime)}.message.user b{color:var(--green)}#chatForm{display:flex;border-top:1px solid #30463e;padding:16px;gap:10px}#chatForm textarea{flex:1;resize:none;min-height:76px;background:#10221c;color:white;border:1px solid #30463e;padding:14px;font:inherit;outline:0}#chatForm button,.export-button{border:0;background:var(--lime);color:var(--ink);font-weight:700;padding:0 24px;cursor:pointer}.research-rail{display:grid;gap:10px}.research-rail article{border:1px solid #30463e;padding:22px}.research-rail article span{color:var(--lime);font-size:11px}.research-rail h3{margin:10px 0 6px}.research-rail p{color:#aebbb3;font-size:13px}.export-button{min-height:58px}.export-button:disabled{opacity:.4;cursor:not-allowed}.error-state{position:sticky;top:10px;z-index:8;margin-top:14px;padding:14px 18px;background:#fff1ed;border:1px solid var(--red);color:#842f28}.error-state button{float:right;border:0;background:none;text-decoration:underline;cursor:pointer}.is-loading{opacity:.55;pointer-events:none}.stale{color:#a36b16!important}footer{padding:40px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;flex-direction:row;align-items:center}.sidebar nav{display:none}.sidebar-note{margin:0 0 0 auto}main{padding:0 5vw}header{min-height:540px;align-items:flex-start;justify-content:center;flex-direction:column}.header-meta{border-left:0;padding:20px 0;text-align:left}.pulse-grid,.research-grid,.copilot-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;gap:20px;flex-direction:column}.search{width:100%}.search-results{left:5vw;right:5vw;width:auto}.company-hero{align-items:flex-start;flex-direction:column}.price-block{text-align:left}.copilot-section{margin:0 -5vw;padding-left:5vw;padding-right:5vw}footer{gap:16px;flex-direction:column}}@media(max-width:560px){section{padding:56px 0}h1{font-size:54px}.section-heading h2{font-size:34px}.pulse-grid{grid-template-columns:1fr 1fr}.metric-card.wide{grid-column:1/-1}.research-grid{display:block}.panel{margin-bottom:12px}.company-hero h3{font-size:38px}.message{max-width:95%}#chatForm{flex-direction:column}#chatForm button{min-height:48px}}
