@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#111728;--panel:#1b2338;--lime:#d7fa63;--muted:#a2aec5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f6f8fd;font:16px 'DM Sans',sans-serif}button,select,input{font:inherit}button,summary{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:4px}header{height:90px;max-width:1360px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2b3245;gap:20px}.brand{text-decoration:none;color:#fff;display:flex;gap:0;align-items:center;font-size:38px;font-weight:800;letter-spacing:-3px}.brand>span:first-child{color:var(--lime);font-size:26px}.brandname{font:700 13px/1.2 'DM Sans',sans-serif;letter-spacing:1px!important;max-width:140px;margin-left:18px}.edition{font-size:12px;letter-spacing:2px;color:var(--muted)}.edition span{color:var(--lime);margin-left:16px}.quiet{border:1px solid #414b63;color:#f4f6fd;border-radius:9px;padding:11px 17px;background:transparent;font-weight:600}.quiet:hover{background:#2c3650}main{max-width:1264px;margin:auto;padding:32px 32px 0}.intro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.eyebrow{color:var(--lime);letter-spacing:2.4px;font-size:12px;font-weight:700;margin:0 0 12px}h1{font:800 clamp(34px,4vw,54px)/.98 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:0;letter-spacing:.3px}em{color:var(--lime);font-style:normal}.intro>p{color:var(--muted);line-height:1.7;font-size:15px;margin:0 0 4px}.game-layout{display:grid;grid-template-columns:250px 1fr;gap:20px}.panel{background:var(--panel);border:1px solid #354059;border-radius:20px;padding:25px}.tag{font-size:12px;letter-spacing:2px;color:var(--muted);font-weight:700}.score{padding:12px 0 20px;display:flex;gap:10px;align-items:baseline}.score strong{font:800 76px/1 'Barlow Condensed',Impact,sans-serif;color:var(--lime)}.score span{font-size:12px;letter-spacing:1px;color:var(--muted)}.stats{border-top:1px solid #354059;border-bottom:1px solid #354059;margin-bottom:20px;padding:10px 0}.stats>div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;font-size:13px;gap:8px}.stats span{color:var(--muted)}label{display:block;font-size:14px;margin-bottom:9px;font-weight:600}select{width:100%;border:1px solid #46516c;background:#121a2b;padding:11px 8px;border-radius:8px;margin-bottom:18px;color:#fff;font-size:14px}.micro{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 14px}.reset{width:100%;font-size:14px}.tip{border-left:2px solid var(--lime);padding-left:12px;margin-top:26px;font-size:13px}.tip p{line-height:1.6;color:var(--muted);margin-bottom:0}.arena{min-width:0;overflow:hidden;border:1px solid #354059;border-radius:20px;background:#202c43;display:flex;flex-direction:column}.arena-top{display:flex;justify-content:space-between;padding:17px 24px;font-size:12px;letter-spacing:1.5px;color:#bbc7da;gap:12px}.arena-top i{display:inline-block;background:var(--lime);height:7px;width:7px;border-radius:50%;margin-right:7px}canvas{width:100%;height:auto;display:block;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}#status{font-size:14px;text-align:center;padding:10px 14px;color:#e5edfc;min-height:44px}.controls{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:24px;padding:20px 24px;background:#172034;border-top:1px solid #39435a;align-items:center}.controls label{display:flex;justify-content:space-between;font-size:13px;gap:8px}.controls output{color:var(--lime);font-size:12px}input[type=range]{width:100%;accent-color:var(--lime);cursor:pointer}.primary{color:#17200c;background:var(--lime);border:0;border-radius:10px;padding:17px 16px;font-weight:800;box-shadow:0 4px 0 #8ea83d;white-space:nowrap}.primary span{margin-left:12px}.primary:hover{background:#e5ff96}.primary:disabled{opacity:.5;cursor:default}.legend{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;padding:24px 0;color:#c2cce0;font-size:13px}.legend span{display:flex;align-items:center;gap:7px}.legend b{border-radius:6px;width:24px;height:24px;display:grid;place-items:center;color:#142035;font-size:18px}.green{background:#64e5bf}.blue{background:#64d5fb}.yellow{background:#ffc964}.purple{background:#ba9aff}.red{background:#ff7d7d}.physical{padding:48px 0;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;border-top:1px solid #2b3245;margin-top:20px}.physical h2{font:700 35px/1.1 'Barlow Condensed',sans-serif;margin:0 0 16px}.physical p{line-height:1.7;color:var(--muted)}summary{color:#f5f8fe;font-weight:600;padding:16px 0}details p{font-size:14px}.concept{padding:25px 35px;border-radius:16px;background:#252e44;align-self:start}.concept .bigquote{font:700 38px/1.08 'Barlow Condensed',sans-serif;color:#fff;margin:18px 0}.concept>span{font-size:11px;letter-spacing:1.5px;color:var(--muted)}footer{border-top:1px solid #2b3245;display:flex;justify-content:space-between;gap:20px;padding:24px 0;color:var(--muted);font-size:12px}footer strong{color:#d4dbee;letter-spacing:1px}dialog{border:1px solid #66718b;background:#1b253d;color:#fff;border-radius:24px;padding:32px;width:min(92vw,500px);box-shadow:0 25px 100px #0008}dialog::backdrop{background:#080e20c9;backdrop-filter:blur(5px)}dialog h2{font:800 38px/1.1 'Barlow Condensed',sans-serif;margin:14px 0}dialog p{color:#c9d5e9;line-height:1.6}.answers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.answer{background:#313f60;border:1px solid #697994;border-radius:12px;color:#fff;font-size:24px;padding:20px 4px;font-weight:700}.answer:hover{background:#485b7e}.answer.right{background:#265f4f;border-color:#64e5bf}.answer.wrong{background:#703b4b;border-color:#ff7d7d}dialog .primary{width:100%}#feedback{min-height:44px;font-size:15px}.modal-tag{color:var(--lime);font-size:13px;font-weight:700;letter-spacing:1px}.concept img{display:block;width:100%;border-radius:10px}.concept:has(img){padding:8px}
@media(max-width:800px){header{padding:0 20px;height:75px}.edition{display:none}main{padding:25px 16px 0}.intro{align-items:start}.intro>p{max-width:165px;font-size:13px}.game-layout{grid-template-columns:1fr}.panel{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;padding:18px}.panel .tag,.panel>.micro,.tip{display:none}.score{grid-column:1;padding:0}.score strong{font-size:45px}.stats{margin:0;padding:0;border:0;grid-column:2;grid-row:1}.stats>div{font-size:12px;padding:3px 0}.panel label{margin:8px 0 0;font-size:12px}.panel label[for=level]{grid-column:1;grid-row:2}.panel label[for=distance]{grid-column:2;grid-row:2}.panel select{margin:0;font-size:13px;min-width:0}.panel #level{grid-column:1;grid-row:3}.panel #distance{grid-column:2;grid-row:3}.reset{grid-column:1/-1;padding:7px;margin-top:5px}.controls{gap:15px;padding:18px;grid-template-columns:1fr 1fr}.controls .primary{grid-column:1/-1;padding:13px}.arena-top{font-size:10px;padding:14px}.legend{gap:12px;font-size:12px}.physical{grid-template-columns:1fr;gap:25px;padding:30px 0}.concept .bigquote{font-size:32px}footer{flex-direction:column;gap:8px}.brandname{font-size:10px;max-width:110px;margin-left:12px}.quiet{font-size:12px}.intro h1{font-size:35px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

canvas.is-dragging{cursor:grabbing}canvas.is-busy{cursor:default}canvas:focus-visible{outline:3px solid var(--lime);outline-offset:-4px}.gesture-help{padding:16px 22px;background:#172034;border-top:1px solid #39435a;text-align:center;display:grid;gap:6px}.gesture-help strong{color:var(--lime);font-size:16px}.gesture-help span{color:var(--muted);font-size:13px}@media(max-width:800px){.arena{order:-1}.intro{margin-bottom:18px}.intro h1{font-size:28px}.intro>p{display:none}.gesture-help{padding:12px}.panel{margin-top:0}}
/* Adventure expansion */
header{height:76px}.header-actions,.mode-switch{display:flex;gap:8px;flex-wrap:wrap}.header-actions .quiet{font-size:14px;padding:10px}.intro{align-items:center;margin-bottom:22px}.intro h1{font-size:38px}.intro .eyebrow{font-size:13px}.quiet.active,.quiet[aria-pressed=true]{border-color:var(--lime);color:var(--lime);background:#d7fa630c}.mission{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:20px 24px;border:1px solid #424966;border-radius:16px;margin-bottom:18px;background:#212940}.mission #world{font-size:13px;letter-spacing:1.5px;color:var(--lime);font-weight:700}.mission h2{font:800 30px/1.1 'Barlow Condensed',sans-serif;margin:7px 0}.mission p{margin:0;color:#b8c4dd;font-size:14px;line-height:1.5}.mission-goal{min-width:200px;display:grid;gap:9px;font-size:14px}.mission-goal>span{font-size:13px;color:#c4d1e8}progress{width:100%;height:12px;accent-color:var(--lime);border:0;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background:#111728}progress::-webkit-progress-value{background:var(--lime)}.wide{width:100%;margin-top:12px}.share-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 12px}.share-grid button{font-size:14px;padding:13px 8px}.result-stars{text-align:center;color:#ffc964;font-size:50px;letter-spacing:5px;margin-top:16px}.unlock{padding:12px;background:#d7fa6314;border-radius:8px;color:var(--lime)}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0 24px}.level-button{border:1px solid #536180;background:#273450;border-radius:12px;padding:12px 5px;color:#fff;display:grid;gap:6px;min-height:106px}.level-button strong{font-size:23px;color:var(--lime)}.level-button span{font-size:14px;line-height:1.2}.level-button small{color:#ffc964;font-size:17px}.level-button.selected{border-color:var(--lime)}button:disabled{opacity:.45;cursor:default}.level-button:disabled{opacity:.5}.copy-url{width:100%;margin-top:10px;padding:10px;font-size:14px}.stats>div{font-size:14px}.tip{font-size:14px}.tag{font-size:13px}.legend{font-size:14px}.micro{font-size:13px}.primary{white-space:normal}.physical{margin-top:10px}.panel{padding:20px}.panel select{margin-bottom:13px}.panel .tip{margin-top:16px}.gesture-help span{font-size:14px}
@media(max-width:800px){header{padding:12px 16px;height:auto;min-height:72px;gap:10px;flex-wrap:wrap}.brand{font-size:30px}.brandname{font-size:12px}.header-actions{margin-left:auto}.header-actions .quiet,header>#help{font-size:13px;padding:9px}.intro{display:block;margin-bottom:16px}.intro h1{font-size:30px}.mode-switch{margin-top:16px}.mode-switch .quiet{flex:1;font-size:14px;padding:10px 8px}.mission{padding:15px;align-items:start;gap:12px;flex-direction:column}.mission h2{font-size:27px}.mission-goal{width:100%;grid-template-columns:1fr 1fr;align-items:center}.mission-goal progress{grid-column:1/-1;grid-row:2}.mission-goal>span{text-align:right}.arena-top{font-size:12px;letter-spacing:.2px}.panel .score{grid-column:1;grid-row:1}.panel .stats{grid-column:2;grid-row:1}.panel label[for=skin]{grid-column:1/-1;grid-row:4;margin-top:10px}.panel #skin{grid-column:1/-1;grid-row:5;margin:0}.panel .reset{grid-row:6;padding:12px;font-size:14px}.panel>.micro{display:block;grid-column:1/-1;grid-row:7;margin-top:8px}.panel label{font-size:14px}.panel select{font-size:14px}.stats>div{font-size:13px}.score span{font-size:13px}dialog{padding:24px}.legend{font-size:13px}.physical{padding:24px 0}.panel .tip{display:none}}
@media(max-width:420px){.brandname{max-width:100px;font-size:11px;margin-left:7px}header{gap:8px}header>#help{margin-left:auto}.mission-goal{font-size:13px}.intro h1{font-size:28px}.level-button span{font-size:13px}dialog h2{font-size:32px}.arena-top{font-size:11px}.header-actions .quiet{font-size:12px}}
.account-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px;color:#b8c9df;font-size:14px}.account-strip .quiet{padding:7px 12px;font-size:14px}.account-link{display:block;text-decoration:none;text-align:center;box-sizing:border-box}.account-email{padding:12px;background:#111a2e;border-radius:8px;overflow-wrap:anywhere;font-size:14px}#nickname{width:100%;padding:13px;border:1px solid #6c7f9c;border-radius:8px;background:#111a2e;color:#fff;font-size:16px;margin-bottom:10px}.checkbox-label{display:flex;gap:10px;align-items:flex-start;line-height:1.5;margin:20px 0 12px}.checkbox-label input{width:20px;height:20px;flex:none;accent-color:var(--lime);margin-top:2px}#registerError{color:#ffc964;min-height:24px}header{gap:12px}header>#account{font-size:14px;padding:10px 12px}@media(max-width:800px){header>#account{margin-left:auto}.header-actions{order:2;margin-left:0}header>#help{order:2}.account-strip{font-size:13px}}
[hidden]{display:none!important}

#authFields{border:0;padding:0;margin:0;min-width:0}
#authFields input:not([type=checkbox]),#recoveryCode{width:100%;padding:13px;border:1px solid #6c7f9c;border-radius:8px;background:#111a2e;color:#fff;font:inherit;font-size:16px;margin-bottom:12px}
#authFields:disabled{opacity:.65}
#authFields label{margin-top:8px}
#recoveryCode{font-family:monospace;resize:none;overflow-wrap:anywhere}
#accountModal{max-height:90dvh;overflow-y:auto}
#accountModal .primary{white-space:normal}
#accountModal .text-button{display:block;margin:14px auto;border:0;background:transparent;color:#d7fa63;text-decoration:underline;font:inherit;cursor:pointer}
#downloadRecovery{margin-bottom:18px}
