:root {
    color-scheme: dark;
    --bg: #020611;
    --panel: rgba(7, 13, 29, 0.92);
    --panel-strong: #0a1226;
    --line: rgba(148, 163, 184, 0.16);
    --line-strong: rgba(34, 167, 255, 0.42);
    --text: #f3f6ff;
    --muted: #95a1ba;
    --cyan: #14c8ff;
    --blue: #22a7ff;
    --green: #22d070;
    --red: #ff424d;
    --amber: #ffd400;
    --purple: #a855f7;
    --radius: 24px;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--bg); scroll-behavior: smooth; }
body {
    margin: 0;
    min-width: 320px;
    color: var(--text);
    background:
        radial-gradient(circle at 82% 0%, rgba(121, 45, 216, .30), transparent 18%),
        radial-gradient(circle at 12% 18%, rgba(239, 68, 68, .08), transparent 22%),
        linear-gradient(180deg, #020611 0%, #030713 42%, #020611 100%);
    min-height: 100vh;
}
body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: .18;
    background-image: linear-gradient(rgba(70, 105, 180, .14) 1px, transparent 1px), linear-gradient(90deg, rgba(70, 105, 180, .14) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(to bottom, #000, transparent 78%);
}
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 100; padding: .8rem 1rem; background: white; color: #050816; border-radius: 10px; }
.skip-link:focus { top: 1rem; }

.scenario-nav {
    position: sticky;
    top: 0;
    z-index: 30;
    height: 76px;
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
    align-items: center;
    gap: 1.5rem;
    padding: 0 clamp(20px, 4vw, 68px);
    border-bottom: 1px solid rgba(82, 113, 185, .2);
    background: rgba(3, 7, 25, .78);
    backdrop-filter: blur(20px);
}
.scenario-brand { width: 154px; display: flex; align-items: center; text-decoration: none; }
.scenario-brand img { max-width: 100%; height: auto; display: block; }
.scenario-nav nav { display: flex; align-items: center; gap: 8px; padding: 5px; border: 1px solid rgba(89, 120, 190, .2); background: rgba(6, 13, 34, .8); border-radius: 14px; }
.scenario-nav nav a { color: var(--muted); text-decoration: none; padding: 10px 17px; border-radius: 10px; font-weight: 700; font-size: .9rem; }
.scenario-nav nav a:hover, .scenario-nav nav a.active { color: white; background: linear-gradient(135deg, rgba(30, 106, 234, .42), rgba(75, 62, 186, .28)); box-shadow: inset 0 0 0 1px rgba(87, 149, 255, .35); }
.scenario-account { justify-self: end; display: flex; gap: 9px; align-items: center; }
.account-link, .account-primary { text-decoration: none; border-radius: 11px; padding: 10px 14px; font-size: .86rem; font-weight: 800; }
.account-link { color: #b8c5df; }
.account-primary { background: linear-gradient(135deg, #1775e9, #6547dc); box-shadow: 0 10px 26px rgba(33, 97, 218, .24); }
.account-avatar { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; text-decoration: none; font-weight: 900; background: linear-gradient(135deg, #25c8ff, #6a51e8); box-shadow: 0 0 0 3px rgba(73, 140, 246, .16); }

.scenario-shell { position: relative; z-index: 1; width: min(1500px, calc(100% - 40px)); margin: 0 auto; padding: 42px 0 72px; }
.scenario-intro { display: grid; grid-template-columns: minmax(0, 1fr) 370px; gap: 36px; align-items: center; margin-bottom: 26px; padding: 28px 30px; border: 1px solid rgba(148,163,184,.14); border-radius: 22px; background: linear-gradient(145deg, rgba(8,13,30,.88), rgba(3,7,18,.9)); box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 45px rgba(0,0,0,.22); }
.eyebrow, .section-label { color: #ff626a; text-transform: uppercase; font-size: .75rem; font-weight: 900; letter-spacing: .16em; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.eyebrow > span { display: block; width: 27px; height: 2px; background: linear-gradient(90deg, var(--red), var(--purple)); }
.scenario-intro h1 { margin: 0; max-width: 850px; font-size: clamp(2.35rem, 4vw, 4.25rem); line-height: 1.02; letter-spacing: -.055em; }
.scenario-intro h1 em { color: transparent; font-style: normal; background: linear-gradient(90deg, #ff4b55, #cf4da8 55%, #9b63ff); -webkit-background-clip: text; background-clip: text; }
.scenario-intro > div > p { max-width: 720px; color: var(--muted); font-size: 1.05rem; line-height: 1.75; }
.intro-legend { padding: 20px 22px; border: 1px solid var(--line); border-radius: 18px; background: rgba(4, 10, 29, .68); box-shadow: 0 24px 60px rgba(0, 0, 0, .2); }
.intro-legend > div { display: grid; grid-template-columns: 12px 1fr; gap: 12px; align-items: start; padding: 11px 0; }
.intro-legend > div + div { border-top: 1px solid rgba(88, 116, 177, .15); }
.intro-legend span { display: grid; gap: 2px; color: var(--muted); font-size: .8rem; }
.intro-legend strong { color: #e9efff; font-size: .87rem; }
.legend-dot { width: 9px; height: 9px; margin-top: 4px; border-radius: 50%; box-shadow: 0 0 14px currentColor; }
.legend-dot.current { color: var(--cyan); background: currentColor; }
.legend-dot.aligned { color: var(--green); background: currentColor; }
.legend-dot.against { color: var(--red); background: currentColor; }

.access-stage {
    position: relative;
    overflow: hidden;
    min-height: 520px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 64px 24px;
    border: 1px solid rgba(96, 110, 232, .4);
    border-radius: 30px;
    background: radial-gradient(circle at 50% 25%, rgba(79, 57, 202, .3), transparent 42%), linear-gradient(145deg, rgba(5, 13, 43, .97), rgba(8, 5, 34, .98));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 35px 90px rgba(0,0,0,.35);
}
.access-stage::before, .access-stage::after { content: ""; position: absolute; width: 310px; height: 310px; border: 1px solid rgba(103, 83, 225, .19); border-radius: 50%; }
.access-stage::before { transform: scale(1.2); }
.access-stage::after { transform: scale(1.65); }
.access-stage > * { position: relative; z-index: 2; }
.access-lock { width: 76px; height: 76px; display: grid; place-items: center; border-radius: 23px; color: #77ddff; background: linear-gradient(145deg, rgba(18, 78, 156, .75), rgba(74, 39, 150, .68)); border: 1px solid rgba(107, 186, 255, .55); box-shadow: 0 0 50px rgba(57, 121, 255, .28); margin-bottom: 24px; }
.access-lock svg { width: 34px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.access-kicker { color: #5cdbff; text-transform: uppercase; letter-spacing: .15em; font-size: .76rem; font-weight: 900; }
.access-stage h2 { margin: 12px 0; font-size: clamp(2rem, 4vw, 3.7rem); letter-spacing: -.04em; }
.access-stage p { max-width: 650px; margin: 0 0 28px; color: var(--muted); line-height: 1.7; }
.access-actions { display: flex; gap: 12px; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 22px; border-radius: 12px; text-decoration: none; font-weight: 900; }
.button.primary { background: linear-gradient(135deg, #178ee9, #6b4ee4); box-shadow: 0 15px 35px rgba(36, 99, 226, .3); }
.button.secondary { background: rgba(9, 18, 45, .9); border: 1px solid rgba(103, 136, 204, .4); }

.today-card { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 28px; background: linear-gradient(145deg, rgba(8, 20, 49, .98), rgba(5, 10, 32, .98)); box-shadow: 0 35px 80px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.045); }
.today-card::after { content: ""; display: block; height: 3px; background: linear-gradient(90deg, var(--cyan), var(--blue), var(--purple), transparent); }
.today-band { display: flex; justify-content: space-between; align-items: center; padding: 14px 22px; color: var(--muted); font-size: .8rem; border-bottom: 1px solid rgba(101, 137, 212, .18); background: rgba(16, 34, 70, .38); }
.live-pill { display: inline-flex; align-items: center; gap: 8px; color: #9ceaff; font-weight: 900; text-transform: uppercase; letter-spacing: .11em; }
.live-pill i { width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 15px var(--cyan); }
.today-grid { display: grid; grid-template-columns: minmax(270px, 1.2fr) 180px minmax(430px, 1.15fr); align-items: center; gap: 34px; padding: 38px 42px 32px; }
.today-identity { display: flex; align-items: center; gap: 22px; }
.ticker-mark, .mini-mark { display: grid; place-items: center; flex: 0 0 auto; color: #071a21; font-weight: 950; background: linear-gradient(135deg, #64f3c2, #26aaf5); box-shadow: 0 12px 35px rgba(34, 196, 177, .2); }
.ticker-mark { width: 84px; height: 84px; border-radius: 22px; font-size: 2.35rem; }
.today-identity h2 { margin: 4px 0 8px; font-size: clamp(2.4rem, 4vw, 4.6rem); line-height: 1; letter-spacing: -.05em; }
.today-identity h2 a { text-decoration: none; }
.bias-chip { display: inline-flex; padding: 7px 11px; border-radius: 8px; font-size: .73rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.bias-chip.bullish, .mini-bias.bullish { color: var(--green); background: rgba(43, 220, 158, .1); border: 1px solid rgba(43, 220, 158, .35); }
.bias-chip.bearish, .mini-bias.bearish { color: #ff7f8b; background: rgba(255, 76, 95, .1); border: 1px solid rgba(255, 76, 95, .35); }
.bias-chip.neutral, .mini-bias.neutral { color: var(--amber); background: rgba(255, 202, 75, .1); border: 1px solid rgba(255, 202, 75, .35); }
.score-orbit { --score: 0; width: 146px; height: 146px; position: relative; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--cyan) calc(var(--score) * 1%), rgba(39, 58, 104, .35) 0); box-shadow: 0 0 50px rgba(44, 161, 255, .12); }
.score-orbit::before { content: ""; position: absolute; inset: 13px; border-radius: 50%; background: #071027; box-shadow: inset 0 0 30px rgba(0,0,0,.45); }
.score-orbit.bearish { background: conic-gradient(var(--red) calc(var(--score) * 1%), rgba(39, 58, 104, .35) 0); }
.score-orbit > div { position: relative; display: grid; text-align: center; }
.score-orbit strong { font-size: 2rem; letter-spacing: -.04em; }
.score-orbit span { color: var(--muted); font-size: .68rem; text-transform: uppercase; font-weight: 900; letter-spacing: .1em; }
.today-metrics { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid rgba(79, 112, 188, .22); border-radius: 18px; overflow: hidden; }
.today-metrics > div { padding: 20px 18px; display: grid; gap: 8px; background: rgba(3, 10, 29, .5); }
.today-metrics > div { border: 0 solid rgba(79, 112, 188, .2); }
.today-metrics > div:nth-child(even) { border-left-width: 1px; }
.today-metrics > div:nth-child(n+3) { border-top-width: 1px; }
.today-metrics span, .history-score span, .history-outcome span, .price-journey span { color: var(--muted); font-size: .7rem; text-transform: uppercase; font-weight: 850; letter-spacing: .07em; }
.today-metrics strong { font-size: 1.23rem; }
.today-bottom { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 42px; padding: 28px 42px 38px; border-top: 1px solid rgba(84, 115, 182, .15); }
.reason-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 13px; }
.reason-item { display: flex; align-items: center; gap: 11px; min-height: 45px; padding: 9px 12px; border: 1px solid rgba(68, 115, 185, .18); border-radius: 10px; background: rgba(5, 14, 37, .55); }
.reason-item > span { color: var(--cyan); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .68rem; }
.reason-item p { margin: 0; color: #c7d3eb; font-size: .82rem; line-height: 1.4; }
.today-actions { display: flex; flex-direction: column; justify-content: flex-end; gap: 14px; }
.today-actions > span { color: var(--muted); font-size: .75rem; line-height: 1.45; }
.today-actions a { display: flex; justify-content: space-between; align-items: center; text-decoration: none; color: white; padding: 15px 17px; border-radius: 11px; background: linear-gradient(135deg, rgba(20, 126, 219, .85), rgba(91, 65, 211, .82)); font-size: .84rem; font-weight: 900; }
.ranked-alternatives { padding: 30px 42px 38px; border-top: 1px solid rgba(84, 115, 182, .18); background: rgba(2, 7, 22, .3); }
.ranked-alternatives[hidden] { display: none; }
.continuation-panel { margin-top: 18px; padding: 22px 28px; border: 1px solid rgba(51, 211, 164, .28); border-radius: 20px; background: linear-gradient(135deg, rgba(4, 31, 43, .82), rgba(5, 14, 38, .92)); }
.continuation-panel[hidden] { display: none; }
.continuation-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 14px; }
.continuation-heading h3 { margin: 4px 0 0; font-size: 1rem; }
.continuation-pulse { width: 12px; height: 12px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 7px rgba(43, 220, 158, .1), 0 0 24px rgba(43, 220, 158, .7); }
.continuation-list { display: grid; gap: 10px; }
.continuation-item { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 13px 15px; border: 1px solid rgba(68, 115, 185, .2); border-radius: 13px; background: rgba(2, 9, 27, .62); }
.continuation-item > div:nth-child(2) { display: grid; gap: 5px; }
.continuation-item p { margin: 0; color: #aebbd5; font-size: .78rem; line-height: 1.45; }
.continuation-item > a { color: var(--cyan); font-size: .78rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
@media (max-width: 720px) { .continuation-item { grid-template-columns: auto 1fr; } .continuation-item p, .continuation-item > a { grid-column: 1 / -1; } }
.alternatives-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 17px; }
.alternatives-head h3 { margin: 6px 0 0; font-size: 1.3rem; }
.alternatives-head p { max-width: 410px; margin: 0; color: var(--muted); font-size: .73rem; text-align: right; }
.alternatives-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.alternative-card { position: relative; padding: 18px; overflow: hidden; border: 1px solid rgba(80, 116, 188, .23); border-radius: 15px; background: linear-gradient(135deg, rgba(8, 19, 44, .88), rgba(4, 10, 28, .88)); }
.alternative-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 2px; background: var(--blue); }
.alternative-card.bullish::before { background: var(--green); }
.alternative-card.bearish::before { background: var(--red); }
.alternative-rank { position: absolute; top: 13px; right: 15px; color: #64769b; font: 800 .66rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.alternative-top { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 11px; align-items: center; padding-right: 28px; }
.alternative-top > div:nth-child(2) { display: grid; gap: 4px; }
.alternative-top a { width: max-content; color: #f3f6ff; font-size: 1.08rem; font-weight: 950; text-decoration: none; }
.alternative-top > strong { font-size: 1.12rem; white-space: nowrap; }
.alternative-top > strong small { display: block; margin-top: 2px; color: var(--muted); font-size: .48rem; text-align: right; text-transform: uppercase; letter-spacing: .08em; }
.alternative-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 15px; }
.alternative-metrics > div { display: grid; gap: 5px; padding: 10px; border-radius: 9px; background: rgba(2, 8, 24, .6); }
.alternative-metrics span { color: var(--muted); font-size: .61rem; text-transform: uppercase; font-weight: 850; letter-spacing: .06em; }
.alternative-metrics b { font-size: .83rem; }
.alternative-card > p { min-height: 38px; margin: 13px 0 9px; color: #aebbd4; font-size: .75rem; line-height: 1.45; }
.alternative-open { display: flex; justify-content: space-between; align-items: center; color: #66ceff; font-size: .72rem; font-weight: 850; text-decoration: none; }
.skeleton-line { height: 44px; border-radius: 10px; background: linear-gradient(90deg, rgba(24, 45, 84, .45), rgba(41, 73, 129, .7), rgba(24, 45, 84, .45)); background-size: 200% 100%; animation: loading 1.2s infinite; }
@keyframes loading { to { background-position: -200% 0; } }
.inline-message { color: var(--muted); margin: 0; }

.journal-section { margin-top: 64px; }
.section-head { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 24px; }
.section-head h2 { margin: 7px 0 5px; font-size: clamp(1.8rem, 3vw, 3rem); letter-spacing: -.045em; }
.section-head p { margin: 0; color: var(--muted); }
.journal-filters { display: flex; padding: 5px; gap: 4px; border: 1px solid var(--line); border-radius: 12px; background: rgba(5, 12, 31, .74); }
.journal-filters button { border: 0; color: var(--muted); background: transparent; padding: 9px 14px; border-radius: 8px; font: inherit; font-size: .79rem; font-weight: 850; cursor: pointer; }
.journal-filters button:hover, .journal-filters button.active { color: white; background: rgba(44, 99, 198, .4); }
.journal-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 18px; }
.journal-summary > div { padding: 19px 20px; border: 1px solid var(--line); border-radius: 16px; background: rgba(6, 14, 35, .7); }
.journal-summary span, .journal-summary small { display: block; color: var(--muted); }
.journal-summary span { font-size: .71rem; text-transform: uppercase; font-weight: 850; letter-spacing: .07em; }
.journal-summary strong { display: block; margin: 8px 0 3px; font-size: 1.65rem; }
.journal-summary small { font-size: .72rem; }
.positive { color: var(--green) !important; }
.negative { color: var(--red) !important; }
.flat { color: var(--muted) !important; }
.history-list { display: grid; gap: 11px; }
.history-card { display: grid; grid-template-columns: 42px minmax(160px, .9fr) minmax(135px, .75fr) 95px minmax(290px, 1.4fr) 145px minmax(180px, 1fr); gap: 18px; align-items: center; min-height: 112px; padding: 17px 20px 17px 10px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(100deg, rgba(8, 18, 43, .9), rgba(5, 12, 31, .85)); transition: transform .2s ease, border-color .2s ease; }
.history-card:hover { transform: translateY(-2px); border-color: rgba(84, 145, 255, .45); }
.history-card.aligned { border-left-color: rgba(49, 220, 158, .7); }
.history-card.against { border-left-color: rgba(255, 98, 115, .7); }
.history-card.open { border-left-color: rgba(74, 174, 255, .72); }
.history-rail { align-self: stretch; display: flex; flex-direction: column; align-items: center; gap: 7px; color: #7186b4; font: 700 .65rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.history-rail i { display: block; width: 1px; flex: 1; background: linear-gradient(var(--blue), transparent); }
.history-date, .history-symbol > div, .history-score, .history-outcome { display: grid; gap: 5px; }
.history-date strong { font-size: .84rem; }
.history-date span { color: var(--muted); font-size: .7rem; }
.history-symbol { display: flex; align-items: center; gap: 10px; }
.mini-mark { width: 39px; height: 39px; border-radius: 11px; font-size: 1rem; }
.history-symbol a { font-size: 1.06rem; font-weight: 950; text-decoration: none; }
.mini-bias { width: max-content; padding: 3px 6px; border-radius: 5px; font-size: .59rem; font-weight: 900; text-transform: uppercase; }
.history-score strong, .history-outcome strong { font-size: 1.05rem; }
.history-outcome small { color: #7181a3; font-size: .63rem; line-height: 1.3; }
.price-journey { display: grid; grid-template-columns: 1fr 55px 1fr; gap: 8px; align-items: center; padding: 12px; border-radius: 12px; background: rgba(3, 9, 27, .68); }
.price-journey > div { display: grid; gap: 5px; }
.price-journey svg { width: 100%; fill: none; stroke: #526fae; stroke-width: 1.3; }
.history-verdict { display: grid; grid-template-columns: 9px 1fr; gap: 10px; align-items: center; }
.history-verdict > i { width: 8px; height: 8px; border-radius: 50%; background: #607293; box-shadow: 0 0 12px currentColor; }
.history-verdict.aligned > i { color: var(--green); background: currentColor; }
.history-verdict.against > i { color: var(--red); background: currentColor; }
.history-verdict.open > i { color: var(--cyan); background: currentColor; }
.history-verdict > div { display: grid; gap: 3px; }
.history-verdict strong { font-size: .78rem; }
.history-verdict span { color: var(--muted); font-size: .66rem; line-height: 1.35; }
.history-loading, .history-empty { min-height: 190px; display: grid; place-items: center; align-content: center; text-align: center; border: 1px dashed rgba(91, 122, 190, .3); border-radius: 18px; color: var(--muted); }
.history-loading span { width: 32px; height: 32px; border: 3px solid rgba(73, 121, 210, .23); border-top-color: var(--cyan); border-radius: 50%; animation: spin .8s linear infinite; }
.history-loading p, .history-empty p { margin: 10px 0 0; }
.history-empty strong { color: white; }
.history-pagination { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 20px; }
.history-pagination button { min-width: 39px; min-height: 38px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: rgba(5, 12, 31, .78); font: inherit; font-size: .76rem; font-weight: 850; cursor: pointer; }
.history-pagination button:hover:not(:disabled), .history-pagination button.active { color: white; border-color: rgba(75, 147, 255, .72); background: rgba(44, 99, 198, .42); }
.history-pagination button:disabled { opacity: .38; cursor: default; }
@keyframes spin { to { transform: rotate(360deg); } }

.method-note { display: flex; gap: 14px; align-items: flex-start; margin-top: 34px; padding: 19px 22px; border: 1px solid rgba(68, 108, 183, .22); border-radius: 15px; color: var(--muted); background: rgba(5, 12, 29, .6); }
.method-note svg { width: 21px; flex: 0 0 auto; fill: none; stroke: #68cfff; stroke-width: 1.6; }
.method-note strong { color: #dce7fb; font-size: .82rem; }
.method-note p { margin: 4px 0 0; font-size: .76rem; line-height: 1.55; }
.scenario-footer { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 22px; padding: 24px clamp(20px, 4vw, 68px); border-top: 1px solid rgba(80, 107, 169, .17); color: #7383a5; font-size: .75rem; }
.scenario-footer span { margin-right: auto; }
.scenario-footer a { text-decoration: none; }

.scenario-site-navbar .secondary-nav-item.active {
    color: #fff;
    border-color: rgba(239,68,68,.45);
    background: linear-gradient(180deg, rgba(239,68,68,.18), rgba(239,68,68,.07));
    box-shadow: inset 0 -2px 0 #ef4444;
}
.scenario-site-navbar .logo a { display: flex; }
.scenario-site-footer { margin-top: 0; }
.scenario-site-footer .footer-content { grid-template-columns: minmax(250px,1.35fr) minmax(150px,.72fr) minmax(220px,.9fr); }
.scenario-site-footer .dropdown-item { text-decoration: none; }

.scenario-history-link { display: flex; justify-content: center; align-items: center; gap: 9px; margin-top: 10px; padding: 10px; color: #7cdcff; text-decoration: none; font-size: .76rem; font-weight: 850; border-radius: 9px; }
.scenario-history-link:hover { background: rgba(39, 142, 220, .1); color: white; }

@media (max-width: 1180px) {
    .today-grid { grid-template-columns: minmax(260px, 1fr) 150px; }
    .today-metrics { grid-column: 1 / -1; }
    .history-card { grid-template-columns: 34px 1fr 1fr 90px 1.5fr; }
    .history-outcome, .history-verdict { grid-column: span 1; }
    .history-verdict { grid-column: 4 / -1; }
}
@media (max-width: 820px) {
    .scenario-nav { grid-template-columns: 1fr auto; height: 68px; padding: 0 18px; background: rgba(3, 7, 25, .96); backdrop-filter: none; }
    .scenario-nav nav { position: fixed; z-index: 35; left: 12px; right: 12px; bottom: 12px; justify-content: stretch; box-shadow: 0 15px 45px rgba(0,0,0,.6); }
    .scenario-nav nav a { flex: 1; text-align: center; }
    .scenario-brand { width: 130px; }
    .account-primary { display: none; }
    .scenario-shell { width: min(100% - 24px, 1500px); padding-top: 42px; padding-bottom: 100px; }
    .scenario-intro { grid-template-columns: 1fr; gap: 20px; }
    .scenario-intro { padding: 24px; }
    .scenario-intro h1 { font-size: clamp(2.35rem, 11vw, 3.8rem); }
    .intro-legend { display: grid; grid-template-columns: repeat(3, 1fr); padding: 12px; }
    .intro-legend > div { padding: 6px; }
    .intro-legend > div + div { border-top: 0; border-left: 1px solid rgba(88, 116, 177, .15); }
    .today-grid { grid-template-columns: 1fr; padding: 28px 22px; }
    .score-orbit { width: 120px; height: 120px; }
    .today-bottom { grid-template-columns: 1fr; padding: 24px 22px 30px; }
    .ranked-alternatives { padding: 26px 22px 30px; }
    .section-head { align-items: stretch; flex-direction: column; }
    .journal-filters button { flex: 1; }
    .journal-summary { grid-template-columns: repeat(2, 1fr); }
    .history-card { grid-template-columns: 28px 1fr 1fr; gap: 14px; padding-right: 14px; }
    .history-score { justify-self: end; }
    .price-journey { grid-column: 2 / -1; }
    .history-outcome { grid-column: 2; }
    .history-verdict { grid-column: 3; }
}
@media (max-width: 560px) {
    .scenario-intro { margin-bottom: 24px; }
    .scenario-intro > div > p { font-size: .92rem; }
    .intro-legend { grid-template-columns: 1fr; }
    .intro-legend > div + div { border-left: 0; border-top: 1px solid rgba(88, 116, 177, .15); }
    .access-stage { min-height: 470px; border-radius: 22px; }
    .access-actions { width: 100%; flex-direction: column; }
    .today-band { align-items: flex-start; gap: 8px; flex-direction: column; }
    .ticker-mark { width: 65px; height: 65px; border-radius: 18px; font-size: 1.8rem; }
    .today-identity { gap: 14px; }
    .today-identity h2 { font-size: 2.8rem; }
    .today-metrics { grid-template-columns: 1fr; }
    .today-metrics > div + div { border-left: 0; border-top: 1px solid rgba(79, 112, 188, .2); }
    .reason-grid { grid-template-columns: 1fr; }
    .alternatives-head { align-items: flex-start; flex-direction: column; gap: 8px; }
    .alternatives-head p { text-align: left; }
    .alternatives-grid { grid-template-columns: 1fr; }
    .journal-summary { grid-template-columns: 1fr 1fr; }
    .journal-summary > div { padding: 15px; }
    .history-card { grid-template-columns: 24px 1fr; }
    .history-score { grid-column: 2; justify-self: start; }
    .price-journey, .history-outcome, .history-verdict { grid-column: 2; }
    .scenario-site-footer .footer-content { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
