:root{color-scheme:dark;--bg:#0b1925;--panel:#132c37;--line:#45616b;--ink:#edf5f1;--muted:#b7cad1;--mint:#a2e8d7;--accent:#cfb9ff}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(ellipse at 90% 0,#302843,transparent 65%),var(--bg);color:var(--ink);font:1rem/1.5 system-ui,-apple-system,'Segoe UI',sans-serif}button,input{font:inherit}button{min-height:44px;padding:8px 13px;background:#203b47;color:var(--ink);border:1px solid #69828b;border-radius:8px;cursor:pointer}button:hover:not(:disabled){background:#344c60}button:disabled{opacity:.5;cursor:default}button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#403854}.primary{background:var(--accent);border-color:var(--accent);color:#211c34;font-weight:700}.primary:hover:not(:disabled){background:#e4d7ff}a{color:var(--mint);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffcf82;outline-offset:4px}.skip{position:absolute;top:-100px;z-index:20;background:var(--mint);color:var(--bg);padding:10px}.skip:focus{top:0}.top{min-height:56px;padding:8px max(18px,calc((100vw - 1270px)/2));border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-size:1.18rem;font-weight:750}.top nav{display:flex;gap:22px;align-items:center;font-size:.875rem}.top button{min-height:36px;padding:5px 10px;font-size:.875rem;background:transparent}main{max-width:1310px;margin:auto;padding:16px 20px 24px}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.eyebrow{color:var(--mint);font-size:.75rem;letter-spacing:.1em;font-weight:650;margin:0 0 5px}h1{font-size:2.25rem;line-height:1.1;letter-spacing:-.025em;margin:0}h1 em{font-family:Georgia,serif;color:var(--accent);font-weight:400}.heading button{font-size:.875rem}.climbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.climbs button{text-align:left;display:flex;gap:9px;align-items:center;font-size:.9375rem}.climbs b{font-size:.8125rem;color:var(--accent);font-weight:650}.climbs button[aria-current]{background:#3a3451;border-color:var(--accent)}.climbs .done{margin-left:auto;color:var(--mint);font-size:.75rem}#game{background:#0e2530;border:1px solid var(--line);border-radius:14px;overflow:hidden}.case-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.case-heading h2{font-size:1.3rem;line-height:1.2;margin:0 0 5px}.case-heading p{font-size:.9375rem;margin:0;color:var(--muted)}.badge{white-space:nowrap;color:#d7d2e7;font-size:.75rem;border:1px solid #71647d;border-radius:5px;padding:3px 7px}.working{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(330px,.9fr)}.view-panel{min-width:0;padding:14px 17px;border-right:1px solid var(--line)}.view-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.view-top h3{font-size:1rem;margin:0}.view-top button{font-size:.875rem;min-height:34px;padding:4px 10px}.view-top>span{font-size:.875rem;color:var(--mint)}.field{display:flex;gap:9px;height:clamp(180px,calc(100svh - 570px),300px);padding:10px;background:#0b1420;border:1px solid #56717b;border-radius:11px}.terrace{position:relative;min-width:0;flex:1;padding:0;overflow:hidden;border:1px solid #778688;border-radius:7px;background:#747474;cursor:pointer}.terrace canvas{display:block;width:100%;height:100%}.terrace[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent);border-color:var(--accent)}.terrace-label{position:absolute;top:9px;left:9px;min-width:30px;height:30px;padding:1px 7px;border-radius:5px;display:grid;place-items:center;background:#172638ec;color:#fff;font-weight:700;font-size:1rem}.view-note{font-size:.75rem;color:var(--muted);margin:7px 0 10px}.scan-control>div:first-child{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:.9375rem;font-weight:600}.scan-control output{color:var(--accent);font-variant-numeric:tabular-nums}.scan-control input{display:block;width:100%;height:32px;margin:4px 0;accent-color:var(--accent);cursor:pointer;appearance:none;background:transparent}.scan-control input::-webkit-slider-runnable-track{height:7px;background:#536678;border-radius:9px}.scan-control input::-webkit-slider-thumb{appearance:none;width:21px;height:21px;border-radius:50%;background:var(--accent);border:2px solid #e9dcff;margin-top:-7px}.scan-control input::-moz-range-track{height:7px;background:#536678;border-radius:9px}.scan-control input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);border:2px solid #e9dcff}.scan-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.scan-buttons{display:flex;gap:7px;margin-top:12px}.scan-buttons button{font-size:.875rem}.scan-buttons #sweep{flex:1}.scan-buttons #save{flex:1.4}.status{font-size:.875rem;color:#e0d5f2;margin:10px 0 0}#description{font-size:.9375rem;border-left:3px solid var(--accent);padding:10px;background:#273346}.evidence{padding:16px;min-width:0}.saved{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.saved.two{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-card{min-width:0;background:#172f3a;border:1px solid #556e78;border-radius:8px;overflow:hidden;padding:0;text-align:left;font-size:.875rem}.saved-card.empty{background:#10252f;display:grid;place-items:center;min-height:116px;color:var(--muted);padding:10px;text-align:center}.saved-card canvas{display:block;width:100%;height:75px}.saved-card span{display:block;padding:7px 8px;font-size:.875rem;line-height:1.3}.small{font-size:.875rem;color:var(--muted);margin:9px 0 0}.order-box{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.order-box h3{font-size:1rem;line-height:1.3;margin:0}.order{display:flex;gap:7px;align-items:center;margin:12px 0 9px;min-height:38px}.order-slot{flex:1;min-width:0;border:1px dashed #788398;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:8px;padding:6px;font-size:.875rem;color:#d3cae0}.order-slot strong{font-size:1.1rem;color:var(--accent)}.order-buttons{display:flex;gap:8px;margin-bottom:10px}.order-buttons button{flex:1;padding:6px}.check-row{display:flex;gap:8px}.check-row button{font-size:.875rem}.check-row #check{flex:1}.evidence #feedback{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.evidence #feedback h3{font-size:1.2rem;color:var(--accent);line-height:1.25;margin:0 0 8px}.evidence #feedback p{font-size:.9375rem;margin:0 0 10px}.evidence #feedback p.small{font-size:.8125rem;color:var(--muted)}#reveal{background:#0a202b;border:1px solid #5c737c;border-radius:9px;padding:12px;margin-bottom:12px}#reveal .eyebrow{font-size:.75rem!important;margin:0!important}#profile{width:100%;height:170px;display:block}#profile-description{margin:0!important}.bottom{display:flex;gap:12px 24px;align-items:center;flex-wrap:wrap;padding-top:17px;font-size:.875rem}.bottom button{font-size:.875rem;background:none;border:0;padding-left:0;text-decoration:underline;text-underline-offset:4px}#finish{margin-top:15px;padding:20px;border:1px solid var(--mint);border-radius:12px;background:#16372f}#finish h2{font-size:1.4rem;margin:0}#finish p{color:var(--muted)}#load-status:empty{display:none}dialog{max-width:620px;width:calc(100% - 24px);max-height:85svh;overflow:auto;border:1px solid #867c98;border-radius:14px;background:#20303f;color:var(--ink);padding:24px}dialog::backdrop{background:#030f1ae3}dialog h2{line-height:1.2;margin-top:5px}dialog p,dialog li{color:var(--muted)}dialog li{margin-block:10px}.close{float:right;width:44px;padding:0;font-size:1.5rem}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap}h1,h2,h3,p,button,a{overflow-wrap:break-word}
@media(max-width:900px){.working{grid-template-columns:minmax(0,1fr) 330px}.badge{white-space:normal}.case-heading{padding:12px}.view-panel{padding:12px}.evidence{padding:12px}.scan-buttons{flex-wrap:wrap}.scan-buttons #save{flex-basis:100%}.field{height:210px}.saved-card span{font-size:.8125rem}.check-row{flex-wrap:wrap}}
@media(max-width:700px){main{padding:12px 10px}.top{padding:8px 12px}.working{grid-template-columns:1fr}.view-panel{border-right:0;border-bottom:1px solid var(--line)}.heading h1{font-size:1.9rem}.heading{gap:9px}.heading button{font-size:.8125rem}.top nav{gap:14px}.brand{font-size:1rem}.top nav a,.top nav button{font-size:.8125rem}.climbs button{font-size:.8125rem;padding:8px;gap:6px}.climbs .done{display:none}.case-heading{flex-wrap:wrap;gap:7px}.case-heading h2{font-size:1.15rem}.case-heading p{font-size:.875rem}.field{height:190px}.scan-buttons #save{flex-basis:auto}.scan-buttons button{font-size:.8125rem;padding:7px 9px}.view-top h3{font-size:.9375rem}.view-top button{font-size:.8125rem}.saved-card canvas{height:90px}.status{font-size:.875rem}.eyebrow{letter-spacing:.07em}}
@media(max-width:360px){.top{gap:8px;min-height:50px}.brand{font-size:.94rem;gap:7px}.brand img{width:25px;height:25px}.top nav{gap:8px}.top nav a,.top nav button{font-size:.75rem}.top nav button{padding-inline:7px}.heading h1{font-size:1.7rem}.heading button{padding-inline:8px}.climbs{gap:5px}.climbs button{font-size:.75rem;padding:7px 6px}.field{height:170px;padding:7px;gap:7px}.view-panel{padding:10px}.terrace-label{left:6px;top:6px;font-size:.875rem}.scan-buttons{gap:6px}.scan-buttons button{padding-inline:8px}.scan-buttons #save{flex-basis:100%}.badge{font-size:.75rem}.saved-card span{font-size:.8125rem}}
.large-text .working{grid-template-columns:1fr}.large-text .heading,.large-text .case-heading,.large-text .view-top,.large-text .top nav{flex-wrap:wrap}.large-text .climbs{grid-template-columns:1fr}.large-text .field{height:300px}.large-text .scan-buttons,.large-text .check-row{flex-wrap:wrap}.large-text .scan-buttons #save{flex-basis:100%}.large-text .saved{grid-template-columns:1fr}.large-text .saved-card{display:flex;align-items:center}.large-text .saved-card canvas{width:35%;height:100px}.large-text .order{flex-wrap:wrap}.large-text .order-slot{flex-basis:100%}.large-text .view-panel{border-right:0}.large-text #profile{height:240px}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
