:root{--paper:#faf6ec;--paper-deep:#f2ebd9;--paper-panel:#fdfbf4;--ink:#17251f;--ink-soft:#57655c;--ink-faint:#8b948b;--hairline:#dcd1ae;--hairline-strong:#c9b984;--gold:#a3792f;--gold-deep:#7a5a20;--bottle:#0f2e23;--bottle-tint:#e9efe7;--jade:#1f7a57;--jade-tint:#e4f0e9;--oxblood:#7c332b;--oxblood-tint:#f3e6e3;--slate:#6e7871;--slate-tint:#edece6;--radius-lg:4px;--radius-md:3px;--font-display:"Fraunces",serif;--font-body:"IBM Plex Sans",sans-serif;--font-mono:"IBM Plex Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);background-image:radial-gradient(ellipse at center,rgba(23,37,31,0) 60%,rgba(23,37,31,.035) 100%);color:var(--ink);font-family:var(--font-body);line-height:1.55;-webkit-font-smoothing:antialiased}::selection{background:var(--gold);color:var(--paper)}a{color:inherit}.wrap{max-width:1160px;margin:0 auto;padding:0 28px}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--gold-deep);margin:0 0 10px}.corner{position:absolute;width:26px;height:26px;pointer-events:none}.corner svg{width:100%;height:100%;display:block}.corner-tl{top:12px;left:12px}.corner-tr{top:12px;right:12px;transform:scaleX(-1)}.corner-bl{bottom:12px;left:12px;transform:scaleY(-1)}.corner-br{bottom:12px;right:12px;transform:rotate(180deg)}header.topnav{background:var(--bottle);border-bottom:3px double var(--gold);position:-webkit-sticky;position:sticky;top:0;z-index:50}.topnav .wrap{display:flex;align-items:center;justify-content:space-between;height:70px}.masthead{display:flex;align-items:baseline;gap:9px}.masthead .mark{font-weight:700;font-size:22px;color:var(--paper);letter-spacing:.3px}.masthead .mark,.masthead .sub{font-family:var(--font-display)}.masthead .sub{font-style:italic;font-weight:500;font-size:15px;color:var(--gold)}nav.links{display:flex;gap:30px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:var(--bottle-tint)}nav.links a{text-decoration:none;border-bottom:1px solid transparent;padding-bottom:3px;transition:border-color .15s,color .15s;cursor:pointer}nav.links a:hover{border-color:var(--gold);color:var(--paper)}.nav-cash{font-family:var(--font-mono);font-size:12px;color:var(--paper);background:hsla(0,0%,100%,.06);border:1px solid rgba(163,121,47,.5);padding:8px 16px;border-radius:2px;letter-spacing:.4px}.nav-cash b{color:var(--gold)}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--jade);margin-right:6px;animation:pulse 1.8s ease-in-out infinite}.live-dot.stale{background:var(--gold)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.ticker-band{background:var(--paper-panel);border-bottom:1px solid var(--hairline);border-top:1px solid var(--hairline);overflow:hidden;white-space:nowrap;position:relative}.ticker-band:after,.ticker-band:before{content:"";position:absolute;top:0;bottom:0;width:70px;z-index:2;pointer-events:none}.ticker-band:before{left:0;background:linear-gradient(90deg,var(--paper-panel),transparent)}.ticker-band:after{right:0;background:linear-gradient(270deg,var(--paper-panel),transparent)}.ticker-track{display:inline-flex;animation:scroll-left 40s linear infinite;padding:10px 0}.ticker-track:hover{animation-play-state:paused}@keyframes scroll-left{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.tick-item{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;padding:0 22px;border-right:1px solid var(--hairline)}.tick-item b{font-family:var(--font-display);font-weight:600;color:var(--ink)}.up{color:var(--jade)}.down{color:var(--oxblood)}.flat{color:var(--slate)}.guilloche{width:100%;height:16px;display:block}.hero{padding:54px 0 46px}.cert-card{position:relative;background:var(--paper-panel);border:1px solid var(--hairline-strong);border-radius:var(--radius-lg);padding:8px}.cert-inner{border:1px solid var(--hairline);padding:38px 40px 30px;position:relative}.hero-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:50px;gap:50px;align-items:center}.index-label{font-style:italic;font-size:17px;color:var(--ink-soft);margin:0 0 8px}.index-label,.index-value{font-family:var(--font-display)}.index-value{font-size:72px;font-weight:600;line-height:1;margin:0;letter-spacing:-1px;color:var(--ink)}.index-change{font-family:var(--font-mono);font-size:15px;margin-top:14px}.index-change b{font-weight:600}.stamp{display:inline-flex;align-items:center;justify-content:center;margin-top:24px;width:150px;height:74px;border:2px solid;border-radius:50%/40%;transform:rotate(-6deg);font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:1.5px;text-transform:uppercase;position:relative}.stamp:before{content:"";position:absolute;inset:5px;border:1px dashed;opacity:.55;border-radius:50%/40%}.stamp-jade{border-color:var(--jade);color:var(--jade)}.stamp-oxblood{border-color:var(--oxblood);color:var(--oxblood)}.stamp-slate{border-color:var(--slate);color:var(--slate)}.hero-meta{color:var(--ink-faint);margin-top:20px;letter-spacing:.3px}.hero-meta,.spark-panel h4{font-family:var(--font-mono);font-size:11px}.spark-panel h4{margin:0 0 16px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);font-weight:500;border-bottom:1px solid var(--hairline);padding-bottom:12px}.range-tags{display:flex;gap:0;flex-wrap:wrap;margin-top:18px;border-top:1px solid var(--hairline)}.range-tag{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-soft);padding:10px 14px 0 0;flex:1 1}.range-tag b{display:block;color:var(--ink);font-size:12.5px;margin-top:2px}section{padding:58px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px;flex-wrap:wrap;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--hairline)}.section-head h2{font-family:var(--font-display);font-size:30px;margin:6px 0 0;font-weight:600}.section-head p{margin:8px 0 0;color:var(--ink-soft);font-size:13.5px;max-width:480px}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{font-family:var(--font-mono);font-size:11px;letter-spacing:.5px;text-transform:uppercase;padding:8px 15px;border:1px solid var(--hairline-strong);color:var(--ink-soft);cursor:pointer;transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--paper-panel);border-radius:2px}.chip:hover{border-color:var(--gold);color:var(--ink)}.chip.active{background:var(--bottle);color:var(--paper);border-color:var(--bottle)}.movers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));grid-gap:18px;gap:18px}.stock-card{position:relative;background:var(--paper-panel);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:20px 20px 18px;transition:border-color .15s,box-shadow .15s;cursor:pointer}.stock-card:hover{border-color:var(--gold);box-shadow:0 6px 18px rgba(23,37,31,.08)}.stock-sym{font-family:var(--font-display);font-size:21px;font-weight:600;padding-right:44px}.stock-name{font-size:12px;color:var(--ink-soft);margin-top:2px;padding-right:44px}.sector-tag{font-size:9.5px;letter-spacing:.6px;color:var(--gold-deep);border:1px solid var(--hairline-strong);padding:3px 8px;border-radius:2px;margin-top:10px;display:inline-block}.sector-tag,.stale-tag{font-family:var(--font-mono);text-transform:uppercase}.stale-tag{font-size:9px;letter-spacing:.4px;color:var(--ink-faint);margin-left:6px}.seal{top:16px;right:16px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--paper-panel);font-family:var(--font-display);font-weight:700;font-size:14px;transform:rotate(-8deg)}.seal,.seal:before{position:absolute;border-radius:50%}.seal:before{content:"";inset:3px;border:1px dashed;opacity:.5}.seal-buy{border:1.6px solid var(--jade);color:var(--jade)}.seal-sell{border:1.6px solid var(--oxblood);color:var(--oxblood)}.seal-hold{border:1.6px solid var(--slate);color:var(--slate)}.stock-price-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:18px}.stock-price{font-size:21px;font-weight:600}.stock-change,.stock-price{font-family:var(--font-mono)}.stock-change{font-size:12.5px;text-align:right}.stock-score{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);margin-top:10px;border-top:1px dotted var(--hairline);padding-top:8px}.news-ledger{background:var(--paper-panel);border:1px solid var(--hairline);border-radius:var(--radius-md)}.news-row{display:flex;gap:18px;align-items:flex-start;padding:22px 24px;border-bottom:1px solid var(--hairline)}.news-row:last-child{border-bottom:none}.sentiment-mark{flex-shrink:0;width:38px;height:38px;border-radius:2px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:12px;margin-top:2px}.sent-pos{background:var(--jade-tint);color:var(--jade)}.sent-neg{background:var(--oxblood-tint);color:var(--oxblood)}.sent-neu{background:var(--slate-tint);color:var(--slate)}.news-body h4{margin:0 0 6px;font-size:16px;font-weight:600;font-family:var(--font-display)}.news-body a{text-decoration:none}.news-body a:hover h4{text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.news-meta{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px}.news-chips{display:flex;gap:7px;flex-wrap:wrap}.news-chip{font-family:var(--font-mono);font-size:10px;letter-spacing:.3px;color:var(--gold-deep);border:1px solid var(--hairline-strong);padding:4px 9px;border-radius:2px;cursor:pointer;background:var(--paper)}.news-chip:hover{background:var(--bottle-tint);border-color:var(--gold)}.empty-news{padding:40px 24px;text-align:center;color:var(--ink-soft);font-family:var(--font-mono);font-size:12.5px}.learn-group-label{font-family:var(--font-mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-deep);margin:0 0 14px}.ledger-accordion{background:var(--paper-panel);border:1px solid var(--hairline);border-radius:var(--radius-md);overflow:hidden}.ledger-accordion details{border-bottom:1px solid var(--hairline)}.ledger-accordion details:last-child{border-bottom:none}.ledger-accordion summary{list-style:none;cursor:pointer;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-size:16.5px;font-weight:600;color:var(--ink)}.ledger-accordion summary::-webkit-details-marker{display:none}.ledger-accordion summary:hover{background:var(--bottle-tint)}.ledger-accordion .chevron{font-family:var(--font-mono);color:var(--gold);font-size:15px;transition:transform .2s;flex-shrink:0;margin-left:16px}.ledger-accordion details[open] .chevron{transform:rotate(45deg)}.ledger-accordion .entry-body{padding:0 24px 22px;font-size:14px;color:var(--ink-soft);line-height:1.75;max-width:720px}.ledger-accordion .entry-body p{margin:0 0 12px}.ledger-accordion .entry-body p:last-child{margin-bottom:0}.ledger-accordion .entry-body b{color:var(--ink)}.portfolio-summary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:0;gap:0;border:1px solid var(--hairline);background:var(--paper-panel);border-radius:var(--radius-md);overflow:hidden}.summary-card{padding:24px 26px;border-right:1px solid var(--hairline)}.summary-card:last-child{border-right:none}.summary-card .label{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:1px}.summary-card .value{font-family:var(--font-display);font-size:28px;font-weight:600;margin-top:10px}table.holdings{width:100%;border-collapse:collapse;margin-top:26px;font-size:13px;background:var(--paper-panel);border:1px solid var(--hairline)}table.holdings th{text-align:left;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);border-bottom:1px solid var(--hairline-strong);padding:13px 16px;font-weight:500;background:var(--bottle-tint)}table.holdings td{padding:15px 16px;border-bottom:1px solid var(--hairline);font-family:var(--font-mono)}table.holdings tr:last-child td{border-bottom:none}table.holdings tr:hover td{background:var(--paper-deep)}.empty-state{text-align:center;padding:46px 20px;color:var(--ink-soft);font-size:12.5px;background:var(--paper-panel);border:1px dashed var(--hairline-strong);border-radius:var(--radius-md);margin-top:22px}.btn,.empty-state{font-family:var(--font-mono)}.btn{font-size:11.5px;letter-spacing:.4px;text-transform:uppercase;font-weight:600;padding:8px 14px;border-radius:2px;border:1px solid var(--hairline-strong);background:var(--paper);color:var(--ink);cursor:pointer;transition:all .15s}.btn:hover{border-color:var(--gold)}.btn-buy{border-color:var(--jade);color:var(--jade)}.btn-buy:hover{background:var(--jade-tint)}.btn-sell{border-color:var(--oxblood);color:var(--oxblood)}.btn-sell:hover{background:var(--oxblood-tint)}.row-actions{display:flex;gap:8px}.overlay{position:fixed;inset:0;background:rgba(15,26,21,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{position:relative;background:var(--paper-panel);border:1px solid var(--hairline-strong);border-radius:var(--radius-lg);max-width:460px;width:100%;max-height:88vh;overflow-y:auto;padding:10px}.modal-inner{border:1px solid var(--hairline);padding:32px 32px 28px;position:relative}.cert-eyebrow{font-family:var(--font-mono);font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-deep);text-align:center;margin-bottom:6px}.cert-title{font-size:30px;font-weight:600;margin:0}.cert-sub,.cert-title{font-family:var(--font-display);text-align:center}.cert-sub{font-style:italic;font-size:13.5px;color:var(--ink-soft);margin:6px 0 22px}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--ink-soft);font-size:20px;cursor:pointer;line-height:1}.reasoning-box{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:15px 17px;font-size:13px;color:var(--ink-soft);margin-bottom:22px;line-height:1.65;font-family:var(--font-body)}.reasoning-box ul{margin:8px 0 0;padding-left:18px}.cert-field{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px dotted var(--hairline-strong);font-size:13.5px}.cert-field .l{font-family:var(--font-mono);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.6px;font-size:10.5px}.cert-field .v{font-family:var(--font-mono);font-weight:600}.mode-toggle{display:flex;gap:8px;margin:20px 0 4px}.qty-control{display:flex;align-items:center;gap:12px;margin:18px 0 6px;justify-content:center}.qty-control button{width:32px;height:32px;border-radius:2px;border:1px solid var(--hairline-strong);background:var(--paper);color:var(--ink);font-size:16px;cursor:pointer}.qty-control button:hover{border-color:var(--gold)}.qty-control input{width:84px;background:var(--paper);border:1px solid var(--hairline-strong);border-radius:2px;color:var(--ink);font-size:15px;padding:8px 0}.qty-control input,.qty-label{text-align:center;font-family:var(--font-mono)}.qty-label{font-size:11px;color:var(--ink-faint);text-transform:uppercase}.action-buttons{display:flex;gap:10px;margin-top:22px}.action-buttons .btn{flex:1 1;padding:13px;font-size:12px}.warn-text{font-family:var(--font-mono);font-size:11px;color:var(--oxblood);margin-top:10px;text-align:center}.disabled{opacity:.4;pointer-events:none}#toast-wrap{position:fixed;bottom:26px;right:26px;z-index:200;display:flex;flex-direction:column;gap:10px}.toast{background:var(--paper-panel);border:1px solid var(--gold);color:var(--ink);padding:15px 20px;border-radius:2px;font-size:13px;font-family:var(--font-body);box-shadow:0 10px 26px rgba(23,37,31,.18);animation:toast-in .25s ease;max-width:300px}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.status-banner{font-family:var(--font-mono);font-size:11px;color:var(--gold-deep);background:var(--bottle-tint);border-bottom:1px solid var(--hairline);text-align:center;padding:7px 12px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--paper);background-image:radial-gradient(ellipse at center,rgba(23,37,31,0) 60%,rgba(23,37,31,.035) 100%)}.auth-card{background:var(--paper-panel);border:1px solid var(--hairline-strong);border-radius:var(--radius-lg);padding:40px 36px;max-width:400px;width:100%;text-align:center}.auth-label{display:block;text-align:left;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);margin:16px 0 6px}.auth-input{width:100%;padding:11px 13px;border:1px solid var(--hairline-strong);border-radius:2px;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:14px}.auth-input:focus{outline:none;border-color:var(--gold)}.auth-switch{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);margin-top:16px}.auth-switch a{color:var(--gold-deep);text-decoration:underline}.user-pill{font-family:var(--font-mono);font-size:12px;color:var(--paper);display:flex;align-items:center;gap:10px}.user-pill button{background:none;border:1px solid rgba(163,121,47,.5);color:var(--gold);font-family:var(--font-mono);font-size:11px;padding:6px 12px;border-radius:2px;cursor:pointer;text-transform:uppercase;letter-spacing:.4px}.user-pill button:hover{background:rgba(163,121,47,.15)}.login-cta{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--paper);background:var(--gold-deep);padding:9px 16px;border-radius:2px;text-decoration:none;font-weight:600}.login-cta:hover{background:var(--gold)}.locked-banner{background:var(--bottle-tint);border:1px dashed var(--hairline-strong);border-radius:var(--radius-md);padding:16px 20px;font-family:var(--font-mono);font-size:12.5px;color:var(--ink-soft);text-align:center;margin-top:14px}.locked-banner a{color:var(--gold-deep);text-decoration:underline}.horizon-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.5px;text-transform:uppercase;padding:3px 7px;border-radius:2px;margin-left:6px;background:var(--slate-tint);color:var(--slate)}footer{border-top:3px double var(--gold);background:var(--bottle);padding:36px 0;margin-top:10px}.foot-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:20px}.foot-row .masthead .mark{color:var(--paper)}.disclaimer{font-family:var(--font-mono);font-size:11px;color:var(--bottle-tint);opacity:.7;line-height:1.8;max-width:760px;letter-spacing:.2px}.disclaimer b{color:var(--gold)}@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.index-value{font-size:50px}.portfolio-summary{grid-template-columns:1fr}.summary-card{border-right:none;border-bottom:1px solid var(--hairline)}nav.links{display:none}table.holdings{font-size:11.5px}table.holdings td:nth-child(4),table.holdings th:nth-child(4){display:none}.cert-inner,.modal-inner{padding:28px 20px 24px}}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}