:root{color-scheme:dark;--bg:#202b3c;--panel:#2a374b;--panel-light:#344359;--ink:#f2f2ed;--muted:#b5c0cf;--line:#49576b;--mint:#a9e8db;--rose:#edb3c5;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--sans:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 5%,#35475d55,transparent 52%),var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a{color:inherit}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--mint);outline-offset:5px}[hidden]{display:none!important}.topbar{max-width:1120px;margin:auto;padding:28px 36px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:13px;text-decoration:none;align-items:center;font-size:12px;font-weight:800;letter-spacing:2px;line-height:1.25}.brand-icon{font-size:36px;color:var(--mint);font-weight:400;transform:skew(-12deg)}.brand-bottom{display:block;font-size:21px;letter-spacing:1.5px}.brand-dot{color:var(--rose)}.header-actions{display:flex;gap:16px;align-items:center}.quiet{padding:8px 0;background:transparent;color:var(--muted);font-size:13px}.quiet:hover{color:var(--ink)}.icon-btn{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:20px}main{max-width:1048px;margin:0 auto;padding:32px 36px 60px}h1,h2,p{margin-top:0}h1{font-size:clamp(42px,6.8vw,72px);font-weight:750;letter-spacing:-3px;line-height:1.07;margin-bottom:22px}h2{font-size:24px;line-height:1.3;letter-spacing:-.6px;margin-bottom:8px}.accent{color:var(--mint)}.eyebrow{font-family:var(--mono);font-size:10px;line-height:1.6;letter-spacing:1.8px;font-weight:600;color:var(--muted);text-transform:uppercase}.live-dot{display:inline-block;width:6px;height:6px;background:var(--mint);border-radius:50%;margin-right:10px;box-shadow:0 0 10px #a9e8db55}#home>.eyebrow{margin-bottom:22px}.intro{font-size:18px;color:var(--muted);max-width:560px;line-height:1.65;margin-bottom:28px}.hero-road{height:290px;position:relative;border-radius:20px;overflow:hidden;background:#36485b;margin:34px 0 0;border:1px solid #66718366}.hero-road canvas,.scene-wrap canvas{display:block;width:100%;height:100%}.road-label{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:9px;letter-spacing:2px;color:#e0e6efb0;pointer-events:none}.home-play{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid var(--line)}.home-play h2{font-size:22px;margin-top:8px}.home-play p{color:var(--muted);font-size:14px;margin:0}.primary,.secondary{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:13px 22px;border-radius:9px;font-weight:700;font-size:14px;transition:background .2s,transform .2s}.primary{background:var(--mint);color:#203c3c}.primary:hover{background:#c1f5eb;transform:translateY(-1px)}.secondary{background:var(--panel-light);color:var(--ink);border:1px solid var(--line)}.secondary:hover{background:#40516a}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.mode-card{text-align:left;position:relative;padding:21px 19px;display:grid;gap:7px;background:var(--panel);border:1px solid #49576b99;border-radius:12px;transition:border-color .2s,background .2s}.mode-card:hover{background:#324258;border-color:var(--mint)}.mode-symbol{font-size:25px;color:var(--rose);line-height:1.1}.mode-card strong{font-size:16px}.mode-card>span:not(.mode-symbol){font-size:12px;color:var(--muted)}.mode-card b{position:absolute;right:18px;top:18px;color:var(--muted);font-size:17px;font-weight:400}.content-note{font-size:12px;color:var(--muted);line-height:1.8;max-width:720px}.game-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.progress{display:flex;gap:7px;margin-bottom:30px}.progress i{height:3px;flex:1;background:#566176;border-radius:9px}.progress i.past{background:var(--mint)}.progress i.current{background:var(--rose)}.question-heading{text-align:center;max-width:700px;margin:0 auto 24px}.question-heading h1{font-size:clamp(28px,4.5vw,40px);letter-spacing:-1.3px;margin:12px 0}.question-heading p{font-size:14px;color:var(--muted);margin-bottom:8px}.question-heading .previous{color:var(--rose);border:1px solid var(--line);border-radius:6px;padding:9px;font-size:12px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.choice{text-align:left;padding:20px 22px 16px;display:flex;flex-direction:column;background:#e8eae5;color:#253243;border:2px solid transparent;border-radius:12px;min-height:210px;transition:background .2s,border-color .2s,transform .2s}.choice:not(:disabled):hover{transform:translateY(-3px);background:#f7f8f2;border-color:var(--mint)}.choice-meta{display:flex;gap:9px;align-items:center;font:10px var(--mono);letter-spacing:1.5px;color:#566476}.lane-chip{display:inline-grid;place-items:center;border:1px solid #69798b88;border-radius:5px;width:25px;height:25px;font-weight:bold}.key-hint{margin-left:auto;border:1px solid #69798b55;padding:1px 5px;border-radius:3px;font-size:10px}.choice strong{font-size:clamp(17px,2.2vw,21px);font-weight:600;line-height:1.5;margin:17px 0 21px;letter-spacing:-.35px}.choice-action{font-size:12px;font-weight:700;margin-top:auto}.choice.selected{background:#b9e6d8;border-color:#d2fff1}.choice.rejected{background:#ced1d1;border-color:#9ba2ab;color:#56606c}.scene-wrap{height:260px;border-radius:12px;overflow:hidden;position:relative;background:#37495b;border:1px solid #526178}.scene-top{position:absolute;left:18px;right:18px;top:13px;display:flex;justify-content:space-between;gap:10px;font:9px var(--mono);letter-spacing:1px;text-transform:uppercase;color:#e3e9efc9}.scene-skip{position:absolute;right:16px;bottom:12px;background:#202b3ce8;padding:6px 10px;border-radius:5px;font-size:11px}.scene-caption{position:absolute;left:14px;bottom:14px;padding:4px 8px;border-radius:4px;font-size:12px;background:#202b3cdd}.scene-caption:empty{display:none}.choice-help{font-size:11px;color:var(--muted);text-align:center;margin:14px 0 22px}.reflection{border-top:1px solid var(--line);padding-top:24px}.reflection h2{font-size:23px;max-width:760px;line-height:1.45;margin:12px 0 24px}.reflection fieldset{border:0;padding:0;margin:0 0 14px}.reflection legend{font-size:13px;margin-bottom:12px}.reflection legend span{color:var(--muted)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:8px 12px;font-size:12px;border:1px solid var(--line);border-radius:25px;background:transparent;color:var(--muted)}.chip[aria-pressed=true]{background:var(--mint);color:#203c3c;border-color:var(--mint)}input[type=text],input:not([type]),textarea{width:100%;background:#273448;border:1px solid #5b6980;color:var(--ink);border-radius:7px;padding:12px;font-size:14px}input::placeholder,textarea::placeholder{color:#aab8ca}.reflection-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.reflection-bottom>span{font-size:11px;color:var(--muted)}footer{max-width:1048px;margin:auto;padding:22px 36px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted)}footer>span{font:9px var(--mono);letter-spacing:1px}footer button{font-size:11px!important}dialog{background:#2a374b;color:var(--ink);border:1px solid #617086;border-radius:17px;padding:30px;max-width:540px;width:calc(100% - 32px);max-height:85vh;box-shadow:0 20px 90px #07111a88}dialog::backdrop{background:#111c2cc7;backdrop-filter:blur(5px)}dialog h2{margin:15px 0 22px}dialog p{font-size:13px;color:var(--muted);line-height:1.8}dialog form{position:relative}.dialog-close{position:absolute;right:-10px;top:-20px;font-size:28px;background:transparent;color:var(--muted);padding:8px}.toggle-row{display:flex;justify-content:space-between;gap:25px;margin:22px 0;font-size:14px}.toggle-row input{accent-color:var(--mint);width:20px;height:20px}.panel{background:var(--panel);border:1px solid var(--line);padding:24px;border-radius:13px;margin:24px 0}.panel label{display:block;font-size:14px;margin:26px 0 10px}.panel textarea{margin-bottom:12px}.panel p[role=alert]{color:var(--rose);font-size:13px;margin-bottom:0}.summary-head{max-width:620px;margin-bottom:30px}.summary-head h1{font-size:44px;margin:15px 0}.summary-head p{color:var(--muted)}.result-row{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:32px 1fr auto;gap:14px;align-items:start}.result-row .number{font:11px var(--mono);color:var(--muted);padding-top:5px}.result-row h3{margin:0 0 5px;font-size:15px;font-weight:600}.result-row p{font-size:13px;margin:0 0 5px;color:var(--muted)}.result-row small{color:var(--rose);font-size:11px}.result-row button{font-size:11px}.result-tag{font:10px var(--mono);color:var(--mint);white-space:nowrap;padding-top:5px}.summary-actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.share-output{margin-top:20px}.share-output textarea{font-family:var(--mono);font-size:11px}.comparison{margin-top:24px;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.comparison h2{color:var(--mint)}.comparison p{font-size:14px;color:var(--muted)}.history-item{padding:18px;border:1px solid var(--line);border-radius:10px;margin:12px 0;background:var(--panel)}.history-item h3{font-size:16px;margin:0 0 8px}.history-item p{font-size:13px;color:var(--muted);margin:0 0 10px}.history-item .eyebrow{font-size:9px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--mint);color:#203c3c;border-radius:9px;box-shadow:0 5px 35px #101a2d77;max-width:90vw;font-size:13px;z-index:10}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.theme-select{padding:10px 13px;background:var(--panel);border:1px solid var(--line);border-radius:7px;font:inherit;color:var(--ink);margin:0 0 20px}.empty{color:var(--muted);padding:25px 0}html{scroll-behavior:smooth}@media(min-width:900px){#home{position:relative}#home>h1{max-width:650px}#home>.intro{max-width:500px}.hero-road{height:310px}}@media(max-width:640px){.topbar{padding:20px}.brand{font-size:10px}.brand-bottom{font-size:18px}.brand-icon{font-size:30px}main{padding:20px 18px 40px}h1{letter-spacing:-1.8px}#home>.eyebrow{font-size:8px;letter-spacing:1px}.intro{font-size:16px;max-width:95%}.hero-road{height:230px;margin-top:25px;border-radius:13px}.road-label{font-size:7px;letter-spacing:1px}.home-play{flex-direction:column;align-items:stretch;gap:18px;padding:22px 0}.home-play h2{font-size:19px}.home-play .primary{width:100%;justify-content:space-between}.mode-grid{grid-template-columns:1fr;gap:10px}.mode-card{grid-template-columns:30px 1fr;gap:2px 14px;padding:16px}.mode-symbol{grid-row:1/3;align-self:center}.mode-card>span:not(.mode-symbol){grid-column:2}.mode-card strong{font-size:15px}.mode-card b{top:25px}.content-note{font-size:11px}.game-toolbar .eyebrow{font-size:8px;letter-spacing:1px}.game-toolbar .quiet{font-size:11px}.progress{margin-bottom:22px}.question-heading{margin-bottom:18px}.question-heading p{font-size:12px}.choices{gap:10px}.choice{padding:13px 12px 12px;min-height:245px;border-radius:10px}.choice-meta{font-size:8px;gap:6px;letter-spacing:.5px}.lane-chip{height:21px;width:21px;font-size:10px}.key-hint{display:none}.choice strong{font-size:16px;line-height:1.45;margin:15px 0 20px;letter-spacing:-.2px}.choice-action{font-size:10px}.scene-wrap{height:225px}.scene-top{font-size:7px;left:10px;right:10px}.choice-help{font-size:10px}.reflection h2{font-size:20px}.reflection-bottom{flex-direction:column;align-items:stretch}.reflection-bottom .primary{width:100%}.summary-head h1{font-size:35px;letter-spacing:-1.3px}.result-row{grid-template-columns:22px 1fr;gap:8px}.result-tag{grid-column:2}.result-row h3{font-size:14px}.result-row p{font-size:12px}.summary-actions{flex-direction:column}.summary-actions button{width:100%}footer{padding:20px 18px;align-items:flex-start;gap:10px}footer>span{font-size:7px;max-width:180px}.panel{padding:18px}.reflection{scroll-margin-top:15px}.scene-caption{font-size:10px;max-width:66%}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

