/* The Arena inhabits the same forest world as the homepage. */
:root{--background:var(--surface-inverse);--foreground:var(--text-inverse);--card:var(--forest-surface);--secondary:var(--forest-raised);--muted-foreground:var(--forest-muted);--border:var(--forest-border);--primary:var(--accent);--primary-foreground:var(--surface-inverse);--ring:var(--accent);--lavender:#3d354b}
html{color-scheme:dark}body{color-scheme:dark;font-size:16px}::selection{background:var(--accent);color:var(--surface-inverse)}main{max-width:1320px;gap:40px}.intro h1{font-size:44px;letter-spacing:-.035em}.intro>p:last-child{font-size:16px;max-width:34ch}.composer,.signal-card{background:var(--card)}.composer{margin-top:24px}.mode-switch [aria-pressed=true]{background:var(--accent);color:var(--surface-inverse);box-shadow:none}.composer textarea::placeholder{color:var(--forest-muted)}.primary:hover,#save:hover{background:#e2ffb0;color:var(--surface-inverse)}.journey li,.journey span{font-size:12px}.journey [aria-current] b{background:var(--accent);color:var(--surface-inverse)}.journey .complete b{background:var(--forest-raised);color:var(--accent)}.input-note,.data-note,.composer-foot>span,.map-caption,.map-footer{font-size:12px}.signal-card strong{font-size:16px}.signal-card small{font-size:12px}.signal-full{font-size:15px}.map-dock{background:var(--background)}.map-heading{flex-wrap:wrap}.map-heading>div{flex:1;min-width:190px}.map-heading h2{font-size:28px;letter-spacing:-.03em}.map-heading .eyebrow{color:var(--forest-muted)}.run-info{background:var(--forest-raised);color:var(--text-inverse);font-size:12px}.map-stage{background:var(--forest-surface);border-color:var(--forest-border)}.map-dock #grid{width:min(100%,calc(100dvh - 300px));max-width:600px}.map-caption i{background:var(--accent)}.result-strip strong{color:var(--text-inverse)}.result-strip span{font-size:12px}.verdict{background:var(--forest-raised);color:var(--text-inverse)}.verdict .eyebrow{color:var(--forest-muted)}.verdict .net-score{color:var(--accent)}.verdict.negative .net-score{color:#efbba6}.linked-bar:hover{background:var(--forest-raised)}.linked-bar[aria-pressed=true]{background:var(--forest-raised);border-color:var(--accent)!important;box-shadow:none}.check-row strong{color:var(--text-inverse)}.report-chips [aria-pressed=true],.report-tabs [aria-pressed=true],.wave-stepper [aria-pressed=true]{background:var(--accent);color:var(--surface-inverse)}.narrative-disclosure{background:var(--forest-surface)}.narrative-disclosure p{font-size:16px}.reactions [aria-pressed=true]{color:var(--surface-inverse)}.activity{background:var(--forest-raised);border-color:var(--forest-border)}.activity p{color:var(--forest-muted)}#tooltip{background:var(--forest-raised);border-color:var(--forest-border);color:var(--text-inverse)}.tip-head small,#tooltip>small{color:var(--forest-muted)}.signal-icon{color:var(--text-inverse)}body[data-input-mode=ca] .composer .input-note:after{font-size:12px}body[data-input-mode=ca] .live-feed .input-note:after{content:none}
@media(max-width:760px){main{padding:24px 20px}.intro h1{font-size:38px}.map-heading h2{font-size:24px}.map-dock #grid{width:100%;min-width:0}.report-mode .input-column{order:0}.report-mode .town-column{order:1}.result-strip{gap:8px}.result-strip span{font-size:12px}.result-strip strong{font-size:23px}.map-footer{font-size:12px}.journey span{font-size:12px}}

.cache-reveal .result-strip{visibility:hidden}.cached-preparing{padding:28px;background:var(--forest-surface);border-radius:var(--radius-card);min-height:320px}.cached-preparing h1{font-size:36px;letter-spacing:-.03em}.cached-preparing p{font-size:16px;line-height:1.65;color:var(--forest-muted)}.cached-preparing small{color:var(--forest-muted)}.cached-preparing .skeleton-lines i{background:var(--forest-border)}

.cache-playback-track{height:4px;overflow:hidden;background:var(--forest-border);border-radius:4px;margin:28px 0 16px}.cache-playback-track i{display:block;height:100%;background:var(--accent);transform-origin:left;animation:cache-playback 3.8s linear both}@keyframes cache-playback{from{transform:scaleX(0)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.cache-playback-track i{animation:none;transform:scaleX(1)}}
.cache-reveal #wave-stepper{visibility:hidden}.cache-reveal .result-nav{visibility:hidden}.cache-reveal .cache-playback-track i{animation-duration:3.5s}@media(max-width:760px){.cache-reveal .town-column{order:0}.cache-reveal .input-column{order:1}}

button:disabled{opacity:.55;cursor:wait}#save:disabled{opacity:.8}.verdict summary{min-height:var(--control-height);font-size:var(--text-small);display:flex;align-items:center}.verdict details{font-size:var(--text-small)}.result-breakdown{font-size:var(--text-small)}

/* Soft luminous nodes, in the existing forest / lime / lilac palette. */
.grid-glow{filter:blur(7px);opacity:.75}.map-stage{isolation:isolate}.map-caption{gap:12px}.map-caption>span:first-child{white-space:nowrap}@media(max-width:480px){.map-caption{flex-wrap:wrap}}

/* Shared Satoshi typography and explicit form affordances. */
body,button,input,textarea{font-family:var(--font-ui)}
.composer #draft{display:block;width:100%;border:1px solid var(--forest-muted);border-radius:var(--radius-control);padding:16px;background:var(--surface-inverse);margin:12px 0;caret-color:var(--accent);font-size:16px;line-height:1.65}
.composer #draft:hover{border-color:var(--accent)}.composer #draft:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
body[data-input-mode=ca] .composer #draft{min-height:88px;height:88px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;resize:vertical}
.report-tabs button{font-size:14px;min-height:44px;font-weight:500;padding:10px 16px}.report-text{font-weight:var(--weight-body)}
.verdict summary{justify-content:space-between;gap:16px;list-style:none}.verdict summary::-webkit-details-marker{display:none}.verdict summary:after{content:'';width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex:none;margin-right:5px;transition:transform var(--motion-fast)}.verdict details[open] summary:after{transform:rotate(225deg)}
.narrative-disclosure{background:var(--surface-story);color:var(--ink-story);border:1px solid var(--surface-story)}.narrative-disclosure h2{font-weight:700;color:var(--ink-story);margin:0 0 16px}.narrative-disclosure .report-text{color:var(--foreground-on-story,var(--ink-story));font-size:16px;line-height:1.8;margin:0}
.grid-glow{filter:blur(4px);opacity:.8}
@media(prefers-reduced-motion:reduce){.verdict summary:after{transition:none}}
.narrative-disclosure mark{padding:1px 4px;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.narrative-token{background:var(--surface-community);color:var(--ink-community)}.narrative-number{background:var(--surface-curiosity);color:var(--ink-curiosity)}

body,p,textarea{font-weight:var(--weight-body)}
