@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0c1519;--panel:#142025;--line:#2a383c;--text:#e7efec;--muted:#94a6a7;--mint:#aee4c5;--gold:#e7bd77}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px}header{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4.4%}.brand{color:var(--text);text-decoration:none;font:600 13px 'Space Grotesk',sans-serif;letter-spacing:2px;display:flex;align-items:center;gap:15px}.brand-icon{font-size:30px;border:1px solid #688d7d;width:38px;height:38px;text-align:center;color:var(--mint)}.edition{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.edition b{margin-left:30px;color:var(--mint)}main{max-width:1550px;margin:auto;padding:36px 4.4% 20px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--mint);font-weight:600}h1{font:500 clamp(28px,3.3vw,48px) 'Space Grotesk',sans-serif;letter-spacing:-2px;margin:10px 0}h1 em{font-style:normal;color:var(--mint)}p{color:var(--muted);line-height:1.6;margin:10px 0}.formula{font:italic 40px Georgia,serif;color:var(--mint);padding-right:10px}.formula span{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:2px;color:var(--muted);margin-top:12px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.world{border:1px solid var(--line);border-radius:8px;overflow:hidden;align-self:start;background:#111e22}.world-top,.world-bottom{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;font-size:11px}.world-top b{letter-spacing:1.5px}.world-top #sheet-type{color:var(--muted);margin-left:15px}#sheet-dot{display:inline-block;width:7px;height:7px;background:var(--mint);border-radius:50%;margin-right:8px}.live{color:var(--mint);font-size:9px;letter-spacing:1px}.viewport{height:560px;position:relative;overflow:hidden;background:#142e32}canvas{position:absolute;width:100%;height:100%;inset:0}#overlay{touch-action:none;outline:none;cursor:crosshair}#overlay:focus-visible{box-shadow:inset 0 0 0 2px var(--mint)}.map-label{position:absolute;top:20px;left:20px;font-size:9px;letter-spacing:1.5px;color:#b4cbc8;pointer-events:none}.map-label span{display:block;margin-top:7px;color:#779a9c;letter-spacing:1px}.coordinates{position:absolute;right:18px;bottom:20px;font:11px monospace;color:#c0d8d1;pointer-events:none}.legend{position:absolute;bottom:20px;left:20px;font-size:8px;letter-spacing:1px;pointer-events:none;color:#c2d1cc;display:flex;gap:9px;align-items:center}.cut-line{width:20px;border-top:1px dashed var(--gold)}.point{color:var(--gold);margin-left:8px}#toast{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:max-content;max-width:60%;text-align:center;padding:10px 16px;border:1px solid #aacbb633;border-radius:5px;background:#101e23df;font-size:11px;color:#d4e7db;pointer-events:none}.world-bottom{border-top:1px solid var(--line);color:var(--muted);height:58px}kbd{font:10px monospace;padding:4px;border:1px solid #3a4c50;border-radius:3px;margin-right:3px;color:#c1d4cf}.divider{margin:0 10px;color:#52666b}button,select{font:inherit;color:var(--text);cursor:pointer}button:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:3px}#reset{background:none;border:0;color:var(--muted);font-size:11px}.panel{border:1px solid var(--line);border-radius:8px;padding:22px;background:var(--panel);margin-bottom:16px}h2{font:500 24px 'Space Grotesk',sans-serif;margin:10px 0}.mission p{font-size:12px;margin-bottom:20px}.objective{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.objective-icon{font-size:26px;color:var(--gold);width:25px}.objective b{font-size:12px;font-weight:500}.objective small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.check{margin-left:auto;color:var(--muted)}.objective.done .check{color:var(--mint)}.health-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;margin-top:17px}.health{height:4px;background:#304147;margin:10px 0}#hp{height:100%;background:var(--mint);width:100%;transition:width .15s}.hint{font-size:10px;color:var(--muted)}label{display:block;font-size:11px;margin:18px 0 9px;color:#b6c8c5}.segmented{display:flex;padding:3px;background:#0e191e;border:1px solid var(--line);border-radius:5px}.segmented button{flex:1;border:0;background:none;border-radius:3px;padding:8px;font-size:11px;color:var(--muted)}.segmented button.active{color:#0d211a;background:var(--mint)}select{width:100%;border:1px solid #3a4c50;border-radius:4px;padding:10px;background:#18282e;font-size:11px}.scale{height:5px;margin-top:20px;background:linear-gradient(90deg,#224f68,#589b95,#d9d99a);border-radius:4px}.scale-labels{display:flex;justify-content:space-between;font:9px monospace;color:var(--muted);margin-top:6px}.settings p{font-size:11px;margin:18px 0 0}.insight{padding:5px 10px}.insight>span{font-size:9px;color:var(--gold);letter-spacing:1.5px}.insight p{font-size:12px}.insight #value{font:12px monospace;color:var(--mint)}footer{display:flex;justify-content:space-between;color:#72868a;font-size:10px;margin-top:24px}footer span:last-child{font-size:8px;letter-spacing:1px}footer i{margin:0 10px}@media(min-width:1400px){.viewport{height:650px}}@media(max-width:1000px){.game-layout{grid-template-columns:minmax(0,1fr) 260px;gap:16px}.panel{padding:16px}.world-top{padding:15px 12px}.live{display:none}.viewport{height:570px}.legend{font-size:7px}.coordinates{bottom:40px}}@media(max-width:720px){header{height:65px}.edition{display:none}main{padding-top:25px}.intro{margin-bottom:22px}.intro p{font-size:12px}.formula{font-size:28px}.formula span{font-size:8px}.game-layout{display:block}.viewport{height:480px}aside{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.panel{margin:0}.insight{grid-column:1/-1}.world-bottom{font-size:9px;padding:12px}.world-top #sheet-type{font-size:10px}.map-label{top:55px;font-size:8px}#toast{max-width:90%;font-size:10px}footer span:last-child{display:none}}@media(max-width:440px){aside{display:block}.panel{margin-bottom:12px}.formula{display:none}.viewport{height:430px}}
.world-actions{display:flex;gap:14px;align-items:center}.world-actions button{background:none;border:0;color:var(--mint);font-size:11px;padding:5px 0}.discovery-count{display:flex;align-items:baseline;gap:10px;margin:14px 0}.discovery-count b{font:24px 'Space Grotesk',sans-serif;color:var(--mint)}.discovery-count span{font-size:11px;color:var(--muted)}#award-shelf{display:flex;gap:8px;margin:10px 0 14px}.award-mini{border:1px solid var(--line);border-radius:5px;padding:7px 10px;color:#73868b;font-size:12px}.award-mini.earned{color:var(--gold);border-color:#e7bd7755;background:#e7bd770b}.discovery small{display:block;line-height:1.5;color:var(--muted);font-size:10px}dialog{width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 36px);overflow-y:auto;border:1px solid #557469;border-radius:14px;padding:28px;color:var(--text);background:#122126;box-shadow:0 24px 100px #0009}dialog::backdrop{background:#050e13b8;backdrop-filter:blur(5px)}.menu-top{display:flex;justify-content:space-between;align-items:center}.menu-top button{border:0;background:transparent;color:var(--muted);font-size:26px;line-height:1;padding:0 4px}#menu-emblem{text-align:center;font-size:55px;line-height:1;color:var(--gold);margin:20px 0 16px;text-shadow:0 0 32px #e7bd7744}dialog h2{font-size:30px;text-align:center;margin:0 0 12px}#menu-description{text-align:center;font-size:13px;margin-bottom:20px}#run-stats{display:flex;justify-content:center;gap:30px;border-block:1px solid var(--line);padding:15px 0;margin-bottom:18px}#run-stats span{font-size:10px;color:var(--muted);text-align:center}#run-stats b{display:block;color:var(--mint);font:24px 'Space Grotesk',sans-serif;margin-bottom:5px}.award-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin-bottom:8px;color:var(--muted)}.award-row.earned{border-color:#e7bd7744;background:#e7bd7708;color:var(--gold)}.award-row .award-icon{font-size:24px;width:30px;text-align:center}.award-row b{display:block;font-size:12px}.award-row small{display:block;font-size:10px;margin-top:4px;color:var(--muted)}.award-row .award-status{margin-left:auto;font:10px monospace}.menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.menu-actions button{border:1px solid #4b625c;border-radius:5px;background:#1b3032;padding:12px;font-size:12px}.menu-actions button.primary{background:var(--mint);color:#10271d;border-color:var(--mint);font-weight:700}.menu-actions button[hidden]{display:none}#level-selection{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.level-card{width:100%;display:flex;text-align:left;gap:15px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:15px;margin-top:12px;background:#172b2e}.level-card:hover{border-color:var(--mint)}.level-card .level-formula{font:28px Georgia,serif;color:var(--mint);min-width:45px}.level-card b{font-size:13px;display:block}.level-card small{font-size:10px;display:block;color:var(--muted);margin-top:6px}.level-card .level-status{font-size:10px;margin-left:auto;color:var(--mint)}.future-levels{font-size:11px;line-height:1.6}#award-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:5;max-width:calc(100vw - 28px);width:max-content;background:#21332e;border:1px solid var(--gold);color:#f2d7a4;border-radius:8px;padding:14px 20px;box-shadow:0 8px 40px #0008;font-size:12px;pointer-events:none}#award-toast[hidden]{display:none}@media(max-width:720px){.world-actions{gap:10px}.world-actions button{font-size:10px}.world-bottom>span{max-width:55%;line-height:1.8}dialog{padding:20px}dialog h2{font-size:26px}.discovery{grid-column:1/-1}}

#award-shelf{flex-wrap:wrap}.formula{max-width:48%;font-size:clamp(22px,3vw,40px)}.level-formula{overflow-wrap:anywhere}.level-card:has(.level-formula){flex-wrap:wrap}.level-card .level-formula{font-size:23px}.intro{gap:20px}

#total-discovery-count{margin-top:10px}.count-explanation{margin-top:10px;color:#bbcec8!important}#run-stats{gap:16px}#run-stats span{line-height:1.5}

.world-bottom{height:auto;min-height:58px;flex-wrap:wrap;gap:14px}.shortcut-controls{display:flex;gap:8px;flex-wrap:wrap}.shortcut-controls button{background:#192c30;border:1px solid #3a4c50;border-radius:4px;padding:7px 9px;font-size:11px;color:var(--mint)}.shortcut-controls kbd,.world-actions kbd{border:0;padding:0 4px 0 0}.shortcut-controls button:hover{border-color:var(--mint)}@media(max-width:720px){.world-bottom>span{max-width:100%}.shortcut-controls{order:3;width:100%}.shortcut-controls button{flex:1}}

.level-card{flex-wrap:nowrap!important}.level-card>span:first-child{flex:1}.formula{font-size:clamp(17px,2.4vw,32px)}

.header-right{display:flex;align-items:center;gap:24px}.group-logo{display:block;flex:none;width:48px;height:48px;border-radius:6px;overflow:hidden;background:white;outline-offset:5px}.group-logo img{display:block;width:100%;height:100%;object-fit:contain}.group-logo:hover{box-shadow:0 0 0 2px var(--mint)}.group-logo:focus-visible{outline:2px solid var(--mint)}@media(max-width:720px){.header-right{gap:10px}.group-logo{width:40px;height:40px}.brand{font-size:11px;letter-spacing:1px;gap:9px}}

footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}footer>span:last-child{text-align:right}.footer-author{text-align:center;color:var(--muted);font-size:12px}.footer-author button{display:block;margin:8px auto 0;padding:7px 13px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--mint);font-size:11px}.reference-list{list-style:none;margin:24px 0;padding:0}.reference-list li+li{margin-top:12px}.reference-list a{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:6px;color:var(--mint);text-decoration:none;background:var(--panel)}.reference-list a:hover{border-color:var(--mint)}.reference-list a:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.reference-list a>span{margin-left:auto}.reference-list small{color:var(--muted);font-size:10px}.references-note{font-size:11px;text-align:center}@media(max-width:720px){footer{grid-template-columns:1fr;text-align:center}.footer-author{grid-row:1}.reference-list a{flex-wrap:wrap}#references-title{font-size:24px}}
.header-help{display:flex;gap:8px}.header-help button{padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--mint);font-size:11px;white-space:nowrap}.header-help button:hover{border-color:var(--mint)}.footer-author{font-size:10px}#version{font-weight:400;color:var(--mint);white-space:nowrap;margin-left:8px}footer{align-items:baseline}.easy-mode{display:flex!important;align-items:center;gap:8px;cursor:pointer;line-height:1.5}.easy-mode input{width:16px;height:16px;accent-color:var(--mint);flex:none}.easy-help{display:block;color:var(--muted);font-size:10px;line-height:1.6}
#tour-dialog{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}#tour-dialog::backdrop{background:#050e1355;backdrop-filter:none}#tour-highlight{position:fixed;border:2px solid var(--mint);border-radius:8px;pointer-events:none;box-shadow:0 0 0 9999px #050e1366}#tour-card{position:fixed;width:min(370px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;box-sizing:border-box;padding:22px;border:1px solid #557469;border-radius:12px;background:#122126;box-shadow:0 12px 50px #0008}#tour-card h2{font-size:24px;text-align:left;margin:14px 0 10px}#tour-card p{font-size:13px;margin-bottom:14px}#tour-card>small{font-size:10px;color:var(--muted)}.tour-actions{display:flex;gap:8px;margin-top:18px}.tour-actions button{border:1px solid var(--line);border-radius:5px;background:var(--panel);padding:9px 10px;font-size:11px}.tour-actions button:disabled{opacity:.4;cursor:default}#tour-next{margin-left:auto;background:var(--mint);color:#10271d}#tour-skip{color:var(--muted)}@media(max-width:1050px){.header-right .edition{display:none}}@media(max-width:600px){header{height:auto;min-height:83px;flex-wrap:wrap;gap:12px;padding-top:14px;padding-bottom:14px}.header-right{margin-left:auto}.header-help{gap:6px}.header-help button{padding:7px}.brand{font-size:10px}.footer-author{grid-row:auto}.header-right .group-logo{width:34px;height:34px}#tour-card{padding:16px}#tour-card h2{font-size:21px}}
