:root{color-scheme:dark;--cream:#fff4db;--gold:#f8d98c;--mint:#a6f4c2;--ink:#10243a}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#070e19;font-family:ui-rounded,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--cream);overscroll-behavior:none}button,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible{outline:3px solid #f8d98c;outline-offset:3px}.game-shell{width:100%;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:clamp(0px,1vw,12px)}.game-frame{position:relative;width:min(100%,calc(100dvh * 1.78));aspect-ratio:16/9;overflow:hidden;border-radius:clamp(0px,1.2vw,20px);background:linear-gradient(#789bb2,#315a63);box-shadow:0 30px 100px #000a,inset 0 0 0 1px #ffffff40;isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:none}.vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 100px #041a2880;z-index:1}.hud{position:absolute;inset:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;padding:2% 2.5%;z-index:3;pointer-events:none;gap:12px}.hud[hidden],.screen[hidden],.question-backdrop[hidden],.touch-controls[hidden],.floating-hint[hidden]{display:none!important}.hud-left,.hud-center,.hud-right{display:flex;align-items:center;gap:12px}.hud-left{background:#0c2836b8;border:1px solid #c7e8ca55;border-radius:20px;padding:8px 18px 8px 9px;backdrop-filter:blur(14px)}.avatar{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 40% 30%,#d7ffe0,#528c72 65%,#174936);display:grid;place-items:center;color:#fff6c7;font-size:25px;border:2px solid #d8f9d088}.hearts{font-size:24px;color:#ff8e87;letter-spacing:3px;text-shadow:0 2px 3px #0006}.hud-mini{font-size:10px;font-weight:800;letter-spacing:2px;color:#e3ebd6}.hud-pill{padding:12px 18px;background:#0c2836bc;border:1px solid #c7e8ca55;border-radius:40px;backdrop-filter:blur(14px);font-size:19px;color:#ffebba}.hud-pill b{color:white}.keys{color:#e5f5cf;letter-spacing:3px}.hud-btn{pointer-events:auto;border:1px solid #c7e8ca77;background:#0c2836c9;color:white;border-radius:14px;min-width:51px;min-height:50px;font-size:26px}.screen{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:linear-gradient(90deg,#061a2de0 0%,#0a2635bd 47%,#07192524 100%);overflow:auto}.screen-inner{width:min(600px,90%);margin-right:auto;margin-left:7%;padding:28px 0}.eyebrow{letter-spacing:4px;color:#b4e4c5;font-size:13px;font-weight:900;text-transform:uppercase;margin:0 0 12px}.brand-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(45px,6vw,88px);line-height:.92;letter-spacing:-3px;margin:0;color:#fff7dc;text-shadow:0 4px 22px #082f36}.brand-title em{font-style:normal;color:#f3d694}.subtitle{font-size:clamp(14px,1.5vw,20px);line-height:1.5;color:#d8e5d8;max-width:500px;margin:20px 0 22px}.button-primary{background:linear-gradient(120deg,#e2f7ae,#8ee0a7);color:#173b34;border:2px solid #eaffc6;border-radius:15px;padding:16px 26px;font-size:16px;font-weight:1000;box-shadow:0 7px 0 #285744,0 12px 32px #081b2699}.button-primary:hover{filter:brightness(1.1)}.button-secondary{background:#e3f7e81c;border:1px solid #c4e8c9a0;border-radius:15px;padding:15px 23px;color:#f5ffe6;font-weight:800;backdrop-filter:blur(12px)}.button-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:22px 0}.small-tag{color:#c6e3cc;font-size:13px;letter-spacing:1px}.setup{display:flex;flex-wrap:wrap;gap:12px;margin-top:15px}.setup label{display:flex;flex-direction:column;gap:7px;font-size:11px;letter-spacing:2px;color:#d6e6cc;font-weight:800}.setup select{border:1px solid #c9e9cf7f;background:#102e39df;color:#fff8e8;border-radius:12px;padding:11px 14px;min-width:155px;max-width:220px}.screen-title{font-family:Georgia,serif;font-size:clamp(32px,4vw,58px);margin:0 0 15px}.screen-copy{color:#d8e5d8;font-size:16px;line-height:1.6;max-width:540px}.level-choices{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.level-choice{min-width:140px;background:#143944c9;color:#f3ffe5;border:1px solid #b4e8c785;border-radius:16px;padding:14px;text-align:left}.level-choice strong{font-size:30px;display:block;color:#f3d694}.level-choice small{display:block;color:#c6dec9;font-size:12px}.level-choice.locked{opacity:.7}.level-choice:hover{background:#326553}.pill-note{display:inline-block;border:1px solid #e1c68866;border-radius:20px;padding:7px 12px;color:#f8df9e;font-size:12px}.floating-hint{position:absolute;left:50%;bottom:17%;transform:translateX(-50%);padding:11px 20px;border:1px solid #dbefce88;border-radius:14px;background:#0c2739d9;z-index:3;color:#fff4d3;font-size:16px;font-weight:800;backdrop-filter:blur(10px);text-align:center;max-width:75%}.toast{position:absolute;top:17%;left:50%;transform:translateX(-50%);color:#fffbdc;background:#0d3646dd;border:1px solid #e9f6c2aa;border-radius:30px;padding:10px 20px;z-index:7;font-weight:800;opacity:0;transition:opacity .2s;pointer-events:none;text-align:center;max-width:75%}.toast.show{opacity:1}.question-backdrop{position:absolute;inset:0;background:#05151dca;z-index:6;display:grid;place-items:center;padding:20px;backdrop-filter:blur(9px)}.question-card{position:relative;width:min(650px,96%);max-height:96%;overflow:auto;text-align:center;border:2px solid #e8dba0a8;border-radius:28px;padding:clamp(20px,3vw,40px);background:radial-gradient(ellipse at 50% -20%,#447c76 0%,#173d4a 48%,#0b2339 100%);box-shadow:0 0 70px #a8edc33a,inset 0 0 70px #69b59a17}.rune-top{font-size:13px;letter-spacing:3px;color:#f4d996;text-transform:uppercase;font-weight:900}.question-card h2{font-family:Georgia,serif;font-size:clamp(20px,2.8vw,34px);line-height:1.25;margin:20px auto 24px;max-width:580px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:11px}.answer{background:#ffffff12;border:1px solid #d4e9d88c;border-radius:14px;color:#f5f7e8;padding:14px 12px;min-height:62px;font-size:16px;font-weight:700;overflow-wrap:anywhere}.answer:hover{background:#88e3ab44}.answer.wrong{background:#a83e3d99;border-color:#ffb5a3}.answer.correct{background:#2c856b;border-color:#c5ffce}.question-feedback{min-height:24px;color:#e9dd9e;font-size:14px}.question-foot{display:flex;justify-content:space-between;gap:15px}.link-btn{border:0;background:transparent;color:#d3e6ca;text-decoration:underline;font-size:13px;padding:6px}.touch-controls{position:absolute;bottom:3%;left:2%;right:2%;z-index:3;display:flex;justify-content:space-between;pointer-events:none}.touch-left,.touch-right{display:flex;align-items:flex-end;gap:12px}.touch-controls button{pointer-events:auto;touch-action:none;width:clamp(46px,6.8vw,84px);height:clamp(46px,6.8vw,84px);border:2px solid #efffd0a1;border-radius:20px;background:#14384abb;color:white;font-size:30px;box-shadow:inset 0 0 24px #ffffff13,0 7px 20px #05182588;user-select:none;-webkit-user-select:none}.touch-controls button:active,.touch-controls button.pressed{background:#579e83cf;transform:translateY(2px)}.touch-controls .jump{background:#b2e8a6d9;color:#1b4536;border-color:#e5ffb6}.touch-controls .attack{color:#ffe59e}.touch-controls .interact{color:#aaf1e6}.outside-note{display:flex;justify-content:space-between;gap:20px;width:min(100%,calc(100dvh * 1.78));padding:13px 8px;font-size:11px;letter-spacing:2px;color:#e8d9a7}.muted,.desktop-guide{color:#829da4}.mobile-guide{display:none}.fatal{position:fixed;inset:0;display:grid;place-items:center;background:#0c2130;color:white;padding:30px;z-index:100}.fatal:not(:last-child){display:none}@media(pointer:coarse){.desktop-guide{display:none}.mobile-guide{display:block}}@media(max-width:720px){.game-shell{justify-content:flex-start;padding:0;min-height:100dvh}.game-frame{width:100%;border-radius:0;aspect-ratio:16/9}.outside-note{padding:12px;font-size:10px;letter-spacing:1px}.hud{padding:1.5%}.hud-left{padding:4px 7px;gap:4px;border-radius:10px}.avatar{width:24px;height:24px;font-size:16px}.hearts{font-size:13px;letter-spacing:1px}.hud-mini{font-size:6px;letter-spacing:0}.hud-center{gap:4px}.hud-pill{padding:5px 7px;font-size:11px}.keys{letter-spacing:0}.hud-btn{min-width:30px;min-height:28px;font-size:14px;border-radius:7px}.screen-inner{width:87%;margin-left:6%;padding:8px 0}.brand-title{font-size:clamp(32px,7vw,48px);letter-spacing:-1px}.eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:5px}.subtitle{font-size:11px;line-height:1.3;margin:8px 0}.button-row{gap:7px;margin:9px 0}.button-primary,.button-secondary{font-size:11px;padding:9px 12px;border-radius:9px;box-shadow:none}.setup{gap:7px;margin-top:6px}.setup label{font-size:8px;letter-spacing:1px}.setup select{padding:6px 8px;min-width:110px;font-size:10px}.small-tag{font-size:9px}.screen-title{font-size:27px;margin:0 0 5px}.screen-copy{font-size:11px;line-height:1.35}.level-choices{gap:6px;margin:7px 0}.level-choice{min-width:95px;padding:6px}.level-choice strong{font-size:18px}.level-choice small{font-size:8px}.pill-note{font-size:9px;padding:3px 8px}.floating-hint{font-size:9px;padding:5px 9px;bottom:23%}.touch-controls button{width:43px;height:43px;font-size:20px;border-radius:12px}.touch-left,.touch-right{gap:6px}.question-backdrop{padding:5px}.question-card{padding:12px;border-radius:14px;width:90%}.question-card h2{font-size:15px;margin:6px 0}.rune-top{font-size:9px}.answers{gap:5px}.answer{font-size:11px;min-height:31px;padding:5px}.question-feedback{font-size:10px;min-height:13px;margin:5px}.link-btn{font-size:9px}.toast{font-size:10px;padding:5px 10px;top:17%}}@media(max-width:720px) and (orientation:portrait){.game-frame{margin-top:10vh}.outside-note{flex-direction:column;align-items:center;text-align:center;gap:4px}}@media(prefers-reduced-motion:reduce){.toast{transition:none}}

@media(pointer:fine){.touch-controls:not([hidden]){display:none}}
/* v2 complete edition — compact, console-style world map rather than a web dashboard */
.screen-inner.world-map{width:min(1020px,94%);margin:0 auto;padding:18px 0}.world-map .screen-title{font-size:clamp(24px,3vw,44px);margin-bottom:10px}.world-tabs{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}.world-tab{border:1px solid #d3e7cb66;border-radius:13px;background:#102e3acb;color:#f7f5e3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:62px}.world-tab span{font-size:26px}.world-tab small{font-size:11px;color:#bed6c4}.world-tab.active{border-color:#fbe9a4;background:#557e76cc;box-shadow:0 0 22px #9eeac566}.world-heading{font-family:Georgia,serif;color:var(--world-accent,#f4e5b2);font-size:clamp(18px,2.2vw,27px);margin:12px 0 8px}.world-heading small{font:600 13px system-ui;color:#d8e4d9;margin-left:12px}.world-map .level-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:9px 0}.world-map .level-choice{min-width:0;min-height:76px;display:flex;flex-direction:column;gap:2px;padding:9px 12px;justify-content:center}.world-map .level-choice strong{font-size:20px;line-height:1.1}.world-map .level-choice small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-map .level-choice .level-stars{color:#fbe59a;letter-spacing:2px;font-size:12px}.world-map .level-choice.boss-level{background:linear-gradient(120deg,#56334cdd,#8d6150b8);border-color:#e8c187}.world-map .button-row{margin:10px 0}.world-map .button-secondary{padding:8px 18px}.world-map .small-tag{display:block;font-size:11px}
@media(max-width:720px){.screen-inner.world-map{width:95%;padding:7px 0}.world-map .screen-title{font-size:20px;margin:0 0 5px}.world-tabs{gap:3px}.world-tab{border-radius:6px;min-height:33px;padding:2px 0}.world-tab span{font-size:14px}.world-tab small{font-size:8px}.world-heading{font-size:14px;margin:6px 0}.world-heading small{font-size:9px}.world-map .level-choices{gap:4px;margin:4px 0}.world-map .level-choice{min-height:44px;padding:4px 5px;border-radius:7px}.world-map .level-choice strong{font-size:12px}.world-map .level-choice small{font-size:8px}.world-map .level-choice .level-stars{font-size:9px;letter-spacing:0}.world-map .small-tag{font-size:8px}.world-map .button-row{margin:5px 0}.world-map .button-secondary{font-size:10px;padding:5px 10px}}

.fatal[hidden]{display:none!important}
/* V3 cinematic art pass: the game canvas remains the main view, never a dashboard. */
:root{--cream:#fff4de;--gold:#f7dc91;--mint:#b3f1d0}
.game-frame{border:1px solid #e7c9908c;box-shadow:0 28px 130px #000c,0 0 0 3px #e1c98d18,inset 0 0 0 1px #ffffff26}
.game-frame canvas{image-rendering:auto}
.screen{background:linear-gradient(90deg,#071a23ea 0%,#10292abf 37%,#09233322 78%),radial-gradient(circle at 75% 35%,#f4e2a310,transparent 55%)}
.brand-title{font-family:Georgia,'Times New Roman',serif;color:#fff9df;font-size:clamp(50px,7.4vw,105px);font-weight:900;letter-spacing:-3px;text-shadow:0 2px 0 #866d4a,0 6px 0 #32473d,0 14px 36px #071a24}
.brand-title em{color:#ffe49d;text-shadow:0 0 32px #ffe9a857}
.eyebrow{color:#ddf6c8;text-shadow:0 1px 5px #0a263c}
.button-primary{background:linear-gradient(160deg,#f8ffc5,#c0e49b 44%,#80bd7e);border-color:#fff8bf;box-shadow:inset 0 2px 4px #ffffff88,inset 0 -5px 10px #355d3544,0 7px 0 #355c39,0 13px 42px #031320b9}
.button-primary:hover{filter:brightness(1.09) saturate(1.15)}
.button-secondary,.hud-pill,.hud-left{border-color:#e5d29a7b;background:linear-gradient(140deg,#123c45cf,#163040bb);box-shadow:inset 0 1px 0 #ffffff20,0 5px 26px #071a2888}
.question-card{border:3px solid #f5d89fb9;background:radial-gradient(ellipse at 50% -15%,#417a68 0%,#204b49 44%,#102a3d 100%);box-shadow:0 30px 120px #000c,0 0 65px #9ee8c744,inset 0 0 0 7px #113b3e}
.answer{border-color:#c7e9b399;background:linear-gradient(140deg,#42716b77,#183c46bb);box-shadow:inset 0 1px 2px #ffffff1f,0 4px 8px #0b243e77}
.answer:hover{border-color:#ffdf90;background:#5e8356a8;box-shadow:0 0 23px #e4f3ae55}
.level-choice{border-color:#d4c18b9f;background:linear-gradient(140deg,#23464fcf,#0e2636ed);box-shadow:inset 0 2px 0 #b4e3c43b,0 6px 20px #05152166}
.world-tab{border-color:#e9dba373;background:#1d3a44d9;box-shadow:inset 0 1px 3px #ffffff14}
.world-tab.active{background:#547c6ebf;border-color:#ffdda1;box-shadow:inset 0 1px 0 #fffae366,0 0 27px #eaf4b75b}
.touch-controls button{border-color:#ffffffa6;box-shadow:inset 0 0 27px #ffffff2b,0 8px 28px #051425ab;backdrop-filter:blur(12px)}
@media(max-width:720px){.brand-title{font-size:clamp(30px,7vw,55px)}.game-frame{border-radius:0}.question-card{border-width:2px}}
