@import url('./vendor/fonts.css');
:root{--ink:#153e45;--cream:#fffcee;--yellow:#ffe57a;--green:#bdeb8a;--panel:rgba(16,49,57,.88);--font:'DM Sans',system-ui,sans-serif;--display:'Outfit',system-ui,sans-serif;color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:var(--font);color:var(--cream);background:#478f9e}body{touch-action:none}button,input{font:inherit}button{cursor:pointer;border:0;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}button:focus-visible,input:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}button{transition:background .18s,transform .18s,box-shadow .18s}button:hover{transform:translateY(-2px)}button:active{transform:translateY(1px)}[hidden]{display:none!important}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#world{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none}.vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,52,63,.3),transparent 25%,transparent 65%,rgba(15,52,63,.25));pointer-events:none}#hud{position:absolute;left:max(34px,env(safe-area-inset-left));right:max(34px,env(safe-area-inset-right));top:max(27px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:8;pointer-events:none}#hud>*{pointer-events:auto}.brand{background:none;color:var(--cream);display:flex;align-items:center;gap:11px;text-align:left;font-family:var(--display);font-weight:700;font-size:20px;line-height:.95;letter-spacing:2px;padding:0;text-shadow:0 2px 10px #1b4c6540}.brand small{display:block;font-size:12px;letter-spacing:5.8px;margin-top:7px}.brand-icon{font-size:40px;color:var(--yellow)}.top-tools{display:flex;gap:10px}.icon-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff35;background:#173e4840;color:white;border-radius:50%;backdrop-filter:blur(12px);font-size:28px}.icon-button:hover{background:#183b497a}.icon-button.muted{opacity:.65}.progress{border:1px solid #ffffff24;background:#1a424bbd;backdrop-filter:blur(18px);padding:11px 19px;border-radius:99px;display:flex;align-items:center;gap:9px;font-size:14px}.tiny-spark{color:var(--yellow);font-size:23px;margin-right:3px}.quiet{opacity:.5;margin-right:6px}.progress-pips{display:flex;gap:5px;margin-left:8px}.progress-pips i{height:6px;width:6px;border-radius:50%;background:#ffffff30}.progress-pips i.on{background:var(--yellow)}.intro{position:absolute;z-index:4;left:7%;top:31%;max-width:550px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.1px;line-height:1.4;display:flex;align-items:center;gap:8px}.intro .eyebrow{color:#e4f9e4}.eyebrow i{display:block;width:6px;height:6px;background:var(--yellow);border-radius:50%;box-shadow:0 0 12px #ffe57a66}h1,h2,p{margin:0}.intro h1{font-family:var(--display);font-size:clamp(46px,5.8vw,82px);line-height:1.03;letter-spacing:-3.5px;margin:23px 0 20px;font-weight:600;text-shadow:0 2px 35px #18495722}.intro h1 em{font-style:normal;color:var(--yellow)}.intro p{font-size:16px;line-height:1.75;color:#eff9f1e0;text-shadow:0 1px 8px #18495733}.primary{border-radius:16px;background:var(--yellow);color:var(--ink);padding:15px 24px;font-weight:800;min-height:50px;font-family:var(--display);font-size:16px;box-shadow:0 5px 0 #153e4520}.primary:hover{background:#fff09d;box-shadow:0 7px 20px #1e3a4630}.primary span:last-child{margin-left:14px;font-size:20px}.primary.big{margin-top:30px;min-width:224px;text-align:left;padding:17px 23px}.primary.big span{float:right;margin-left:28px}.intro-meta{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:2px;margin-top:30px;font-weight:600;opacity:.75}.intro-meta i{font-style:normal;color:var(--yellow)}.island-caption{position:absolute;bottom:40px;right:40px;text-align:right;display:flex;flex-direction:column;gap:7px}.island-caption span{font-size:11px;letter-spacing:2px}.island-caption small{font-size:12px;opacity:.6}.mission{position:absolute;left:30px;bottom:83px;width:300px;background:var(--panel);backdrop-filter:blur(18px);border:1px solid #ffffff20;border-radius:22px;padding:22px 23px;box-shadow:0 12px 36px #183c4220}.mission-top{display:flex;justify-content:space-between;align-items:center;color:var(--green);gap:12px}.mission-top .eyebrow{font-size:10px;letter-spacing:1.6px}.mission-top>span:last-child{font-size:10px;color:#fffffc66;white-space:nowrap}.mission h2{font-family:var(--display);font-size:24px;letter-spacing:-.5px;margin:13px 0 9px;line-height:1.15;font-weight:500}.mission p{font-size:14px;line-height:1.55;color:#d5e7e5}.text-button{background:none;color:var(--yellow);padding:15px 0 0;font-weight:600;font-size:13px}.text-button span{margin-left:9px}.keyboard-hint{position:absolute;left:30px;bottom:27px;display:flex;align-items:center;gap:19px;font-size:11px;color:#f7ffeccc}.keyboard-hint>span{display:flex;align-items:center;gap:4px}kbd{font-family:var(--font);font-size:10px;min-width:19px;height:22px;display:inline-grid;place-items:center;padding:0 4px;background:#173e4835;border:1px solid #ffffff30;border-radius:4px}.game-tools{position:absolute;right:30px;bottom:28px;display:flex;gap:12px}.round-tool{color:var(--cream);border:1px solid #ffffff25;background:#173e487d;backdrop-filter:blur(12px);border-radius:17px;min-width:78px;padding:13px 12px 10px;display:flex;align-items:center;flex-direction:column;gap:6px}.round-tool span{font-size:10px;white-space:nowrap}.round-tool:hover{background:#123740}.context{position:absolute;bottom:153px;left:50%;transform:translateX(-50%);display:flex;gap:23px;align-items:center;background:#10363fe8;border:1px solid #ffffff25;border-radius:20px;padding:13px 14px 13px 21px;box-shadow:0 6px 30px #19454d30;z-index:6}.context>div{display:flex;flex-direction:column;gap:5px;white-space:nowrap}.context>div>span{font-family:var(--display);font-size:18px}.context small{font-size:12px;color:#c9dddb}.context .primary{padding:12px 16px;white-space:nowrap}.context .key{font-family:var(--font);font-size:11px;background:#153e4517;padding:3px 6px;border:1px solid #153e4533;border-radius:4px;margin-right:7px}.toast{position:absolute;top:112px;left:50%;transform:translate(-50%,-14px);padding:12px 20px;border:1px solid #ffffff30;background:#143c49ed;backdrop-filter:blur(16px);border-radius:14px;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;font-size:14px;z-index:25;max-width:80vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}#world-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.world-label{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;pointer-events:auto;text-align:center;border:none;background:transparent;color:var(--cream);padding:9px;filter:drop-shadow(0 3px 9px #183b4940);transition:opacity .2s}.world-label .pin{display:grid;place-items:center;width:34px;height:34px;margin:auto;border-radius:13px 13px 13px 3px;transform:rotate(-45deg);background:var(--yellow);color:var(--ink);box-shadow:0 3px 0 #183b4930}.world-label .pin b{transform:rotate(45deg);font-family:var(--display);font-size:18px}.world-label .pin.complete{background:var(--green)}.world-label .pin.locked{background:#b1c5bf;color:#647b78}.world-label>small{display:block;margin-top:11px;font-size:11px;background:#183b49bf;backdrop-filter:blur(8px);padding:5px 9px;border-radius:7px;letter-spacing:.5px}.map-banner{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:7px;text-align:center;background:#163d49de;border:1px solid #ffffff25;padding:21px 36px;border-radius:22px;backdrop-filter:blur(16px);z-index:9}.map-banner>span{font-size:10px;letter-spacing:2px;color:var(--green)}.map-banner strong{font-family:var(--display);font-size:26px;font-weight:500}.map-banner small{font-size:13px;opacity:.8}.map-banner button{margin-top:9px;font-size:14px;padding:11px 25px;min-height:44px}.touch-controls{position:absolute;inset:0;pointer-events:none;z-index:7}#joystick{position:absolute;left:max(26px,env(safe-area-inset-left));bottom:max(32px,env(safe-area-inset-bottom));width:114px;height:114px;border:1px solid #ffffff55;background:#173e482b;border-radius:50%;pointer-events:auto;touch-action:none;display:grid;place-items:center;backdrop-filter:blur(5px)}#joystick-knob{width:48px;height:48px;background:#f4fbef80;border:2px solid #ffffefc9;box-shadow:0 3px 12px #153e4540;border-radius:50%;pointer-events:none}#jump{position:absolute;right:28px;bottom:40px;width:64px;height:64px;border-radius:50%;color:var(--ink);background:#ffe57adb;pointer-events:auto;font-size:28px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0}#jump small{font-size:9px;font-weight:bold;line-height:1}.puzzle{position:absolute;inset:0;z-index:12;pointer-events:none}.puzzle-heading{position:absolute;left:36px;top:115px;max-width:400px;pointer-events:auto}.puzzle-heading>.icon-button{position:absolute;left:-3px;top:-56px;width:34px;height:34px;font-size:24px}.puzzle-meta{display:flex;gap:22px;align-items:center;color:var(--green);font-size:12px}.puzzle-heading h2{font-family:var(--display);font-size:38px;line-height:1.1;letter-spacing:-1px;margin:12px 0}.puzzle-heading p{font-size:17px;line-height:1.5;max-width:320px}.read-button{margin-top:12px;font-size:12px;color:#f5ffe3;background:#173e4870;padding:7px 11px;border:1px solid #ffffff25;border-radius:8px}.equation{position:absolute;top:125px;right:45px;font-family:var(--display);display:flex;align-items:center;gap:13px;background:#143f48d6;backdrop-filter:blur(12px);border:1px solid #ffffff2e;border-radius:22px;padding:17px 24px;font-size:37px;font-weight:500;box-shadow:0 8px 20px #113b4820}.equation .answer{color:var(--yellow);background:#ffffff10;border-radius:10px;min-width:53px;text-align:center;padding:4px 8px}.equation .op{font-size:25px;opacity:.6}.puzzle-bottom{position:absolute;left:50%;bottom:max(30px,env(safe-area-inset-bottom));transform:translateX(-50%);pointer-events:auto;text-align:center;display:flex;flex-direction:column;align-items:center}.number-choices{display:flex;gap:13px;margin:7px 0 13px}.number-choice{font-family:var(--display);font-size:29px;font-weight:600;border-radius:17px;min-width:71px;height:70px;border:2px solid #ffffff55;box-shadow:0 5px 0 #123f4a40;background:#fffcec;color:var(--ink)}.number-choice.selected{background:var(--yellow);border-color:var(--yellow);transform:translateY(-7px)}.quantity-controls{display:flex;align-items:center;gap:27px;margin:6px 0 14px;border:1px solid #ffffff20;background:#153e45e8;backdrop-filter:blur(12px);border-radius:20px;padding:9px 12px}.quantity-button{width:57px;height:57px;background:#f7f8e9;color:var(--ink);font-size:32px;border-radius:13px}.quantity-controls>div{min-width:84px;display:flex;flex-direction:column}.quantity-controls strong{font-family:var(--display);font-size:33px;color:var(--yellow);line-height:1.1}.quantity-controls span{font-size:11px;margin-top:3px}.check{min-width:252px}.puzzle-tip{font-size:12px;margin-top:13px;color:#eef8eecc}.feedback{min-height:27px;font-size:15px;font-weight:600;color:#fffbe9;text-shadow:0 2px 10px #183b49;max-width:420px;line-height:1.35;margin-bottom:4px}.feedback.success{color:var(--yellow)}.celebration{position:absolute;z-index:15;bottom:55px;left:50%;transform:translateX(-50%);min-width:430px;max-width:94vw;text-align:center;background:#143b48eb;backdrop-filter:blur(18px);border:1px solid #ffffff30;border-radius:28px;padding:29px 36px;box-shadow:0 15px 60px #10394350}.celebration>.eyebrow{font-size:10px;color:var(--green);justify-content:center}.celebration h2{font-family:var(--display);font-size:40px;font-weight:600;letter-spacing:-1px;margin:13px 0 6px}.celebration p{color:#d6e8e1;font-size:15px;line-height:1.5}.reward{font-size:10px;letter-spacing:1.5px;color:var(--yellow);background:#ffe57a13;border:1px solid #ffe57a25;border-radius:8px;padding:9px 13px;display:table;margin:17px auto 18px}.panel-dialog{border:1px solid #ffffff20;box-shadow:0 25px 120px #12333f60;color:var(--cream);background:#153d46;border-radius:25px;padding:32px;max-width:min(440px,calc(100vw - 28px));width:440px;max-height:90dvh;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.panel-dialog::backdrop{background:#10344375;backdrop-filter:blur(6px)}.panel-dialog .eyebrow{font-size:10px;color:var(--green)}.panel-dialog h2{font-family:var(--display);font-size:33px;letter-spacing:-1px;margin:11px 0 10px}.panel-dialog>p{font-size:14px;line-height:1.6;color:#d6e8e1}.dialog-close{position:absolute;right:14px;top:11px;border-radius:50%;height:35px;width:35px;background:#ffffff10;color:white;font-size:25px}.panel-dialog fieldset{border:0;padding:0;margin:23px 0 18px;display:flex;flex-direction:column;gap:9px}.panel-dialog legend{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;color:#b2c8c2}.panel-dialog fieldset label{border:1px solid #ffffff20;border-radius:13px;background:#ffffff06;padding:13px 14px;display:flex;align-items:center;gap:11px;cursor:pointer}.panel-dialog fieldset label:has(:checked){border-color:#ffe57a85;background:#ffe57a0c}.panel-dialog input{accent-color:var(--yellow);width:18px;height:18px;cursor:pointer}.panel-dialog fieldset label span{display:flex;flex-direction:column;gap:4px}.panel-dialog fieldset b{font-size:14px}.panel-dialog fieldset small{font-size:11px;color:#becfc9;line-height:1.4}.switch-row{display:flex;align-items:center;justify-content:space-between;font-size:14px;padding:13px 0;border-bottom:1px solid #ffffff13}.panel-dialog .device-note{margin-top:19px;font-size:12px;line-height:1.6;color:#abc5bd}.reset-button{background:none;border-bottom:1px solid #deedcf50;color:#d0e4cc;padding:0 0 3px;margin-top:18px;font-size:12px}#reset-confirm p{font-size:13px;line-height:1.5;margin:17px 0 10px}#reset-confirm .primary{font-size:14px;min-height:42px;padding:10px 15px}#reset-no{margin-left:15px}.swatch-label{font-size:10px;letter-spacing:1.8px;margin:24px 0 13px;color:#bbd4c9}.paint-colors{display:flex;gap:13px;flex-wrap:wrap}.paint-swatch{height:43px;width:43px;background:var(--swatch);border:3px solid #ffffff25;border-radius:50%;box-shadow:0 3px 0 #08273144}.paint-swatch.selected{outline:2px solid var(--yellow);outline-offset:4px}.hat-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.hat-option{min-height:67px;background:#ffffff08;border:1px solid #ffffff25;border-radius:12px;padding:9px;color:white;font-size:12px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}.hat-option small{font-size:9px;opacity:.6}.hat-option.selected{border-color:var(--yellow);background:#ffe57a0c}.loading{position:absolute;inset:0;z-index:60;display:flex;flex-direction:column;gap:24px;align-items:center;justify-content:center;background:#174552;transition:opacity .6s}.loading-mark{font:600 74px/1 var(--display);position:relative;color:var(--yellow)}.loading-mark span{font-size:35px;position:absolute;top:-4px;right:-25px;animation:glimmer 2s infinite}.loading p{font-size:14px;letter-spacing:1px;color:#d4e7d5}.loading-track{width:135px;height:3px;overflow:hidden;background:#ffffff15;border-radius:4px}.loading-track i{display:block;background:var(--yellow);width:45%;height:100%;animation:load 1.3s ease-in-out infinite}.fatal{position:absolute;inset:0;z-index:70;background:#163f49;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px;text-align:center;gap:20px}.fatal h1{font-family:var(--display);font-size:40px}.fatal p{max-width:400px;line-height:1.6}.fatal button{background:var(--yellow);color:var(--ink);border-radius:12px;padding:15px 25px}.mode-puzzle .mission,.mode-puzzle .game-tools,.mode-puzzle .touch-controls,.mode-puzzle .keyboard-hint,.mode-puzzle .context,.mode-puzzle #world-labels{display:none!important}.mode-map .mission,.mode-map .context,.mode-map .game-tools,.mode-map .touch-controls,.mode-map .keyboard-hint{display:none!important}.mode-celebrate .mission,.mode-celebrate .context,.mode-celebrate .touch-controls,.mode-celebrate .keyboard-hint,.mode-celebrate .game-tools{display:none!important}
@keyframes glimmer{50%{transform:rotate(15deg) scale(.8)}}@keyframes load{0%{transform:translateX(-100%)}100%{transform:translateX(330%)}}
@media(pointer:coarse){.keyboard-hint{display:none!important}.context .key{display:none}.game-tools{bottom:137px;right:24px;gap:8px}.round-tool{padding:10px;min-width:61px}.round-tool span{font-size:9px}.mission{bottom:174px;left:24px}.mode-play .touch-controls{display:block!important}}
@media(max-width:700px){#hud{left:20px;right:20px;top:max(20px,env(safe-area-inset-top));gap:10px}.brand{font-size:16px;gap:7px}.brand-icon{font-size:30px}.brand small{font-size:9px;letter-spacing:4.6px;margin-top:5px}.top-tools{gap:7px}.icon-button{width:37px;height:37px}.icon-button svg{height:20px;width:20px}.progress{position:absolute;left:50%;top:53px;transform:translateX(-50%);padding:7px 13px;font-size:11px;white-space:nowrap;gap:5px}.tiny-spark{font-size:18px}.progress-pips{gap:4px;margin-left:4px}.progress-pips i{width:4px;height:4px}.intro{left:26px;right:26px;top:auto;bottom:9%;max-width:410px}.intro .eyebrow{font-size:9px;letter-spacing:1.55px}.intro h1{font-size:50px;letter-spacing:-2.3px;margin:16px 0 12px}.intro p{font-size:13px;line-height:1.6}.primary.big{margin-top:21px;font-size:16px;min-width:212px;padding:14px 19px}.intro-meta{font-size:8px;margin-top:22px}.island-caption{display:none}.vignette{background:linear-gradient(180deg,#143e4812,transparent 35%,#143e4840 60%,#143e4895)}.mission{left:17px;bottom:160px;width:227px;padding:16px 17px;border-radius:17px}.mission h2{font-size:20px;margin:9px 0 6px}.mission p{font-size:12px;line-height:1.4}.mission-top .eyebrow{font-size:8px;letter-spacing:1.2px}.mission-top>span:last-child{font-size:9px}.text-button{font-size:12px;padding-top:10px}.context{bottom:278px;padding:11px 12px;gap:13px;max-width:calc(100vw - 30px);border-radius:16px}.context>div>span{font-size:14px}.context small{font-size:10px}.context .primary{min-height:43px;padding:10px 13px;font-size:14px}.game-tools{right:17px;bottom:156px;flex-direction:column;gap:7px}.round-tool{border-radius:14px}.round-tool span{display:none}.round-tool svg{width:21px;height:21px}.toast{top:125px;font-size:12px;padding:11px 14px;max-width:90vw;width:max-content}.puzzle-heading{top:123px;left:22px;right:22px;max-width:none}.puzzle-heading>.icon-button{top:-42px;width:31px;height:31px}.puzzle-meta{font-size:10px}.puzzle-meta .eyebrow{font-size:10px}.puzzle-heading h2{font-size:28px;margin:9px 0 7px;letter-spacing:-.5px}.puzzle-heading p{font-size:14px;line-height:1.4;max-width:310px}.read-button{position:absolute;right:0;top:0;font-size:11px;margin:0;padding:5px 8px}.equation{top:245px;right:50%;transform:translateX(50%);font-size:27px;padding:10px 17px;border-radius:16px;gap:12px}.equation .answer{min-width:40px;padding:1px 6px;border-radius:7px}.equation .op{font-size:20px}.puzzle-bottom{bottom:max(24px,env(safe-area-inset-bottom));width:100%;padding:0 17px}.number-choices{gap:10px}.number-choice{height:58px;min-width:62px;font-size:26px;border-radius:14px}.quantity-controls{gap:24px;padding:8px 11px;margin:3px 0 10px;border-radius:17px}.quantity-button{height:48px;width:48px;font-size:29px}.quantity-controls strong{font-size:28px}.quantity-controls span{font-size:10px}.check{min-width:240px;min-height:48px;padding:12px 20px;font-size:15px}.puzzle-tip{font-size:10px;margin-top:10px}.feedback{font-size:12px;max-width:310px;min-height:21px}.celebration{bottom:35px;min-width:0;width:calc(100vw - 34px);padding:25px 20px;border-radius:22px}.celebration h2{font-size:34px}.celebration p{font-size:14px}.celebration .eyebrow{font-size:8px}.reward{font-size:9px}.world-label>small{font-size:9px;padding:4px 7px}.world-label .pin{height:29px;width:29px;border-radius:10px 10px 10px 2px}.world-label .pin b{font-size:15px}.map-banner{bottom:22px;padding:18px 21px;width:calc(100vw - 42px);max-width:350px}.map-banner strong{font-size:24px}.map-banner small{font-size:12px}}
@media(max-height:600px) and (min-width:701px){.intro{top:25%;}.intro h1{font-size:52px;margin:14px 0}.intro p{font-size:14px}.intro-meta{margin-top:15px}.intro .primary{margin-top:18px}.puzzle-heading{top:101px}.puzzle-heading h2{font-size:30px}.puzzle-heading p{font-size:14px;max-width:240px}.equation{top:102px;font-size:28px;padding:12px 19px}.puzzle-bottom{bottom:15px}.puzzle-tip{margin-top:7px}.number-choice{height:55px;min-width:62px}.quantity-button{height:42px;width:48px}.quantity-controls{padding:5px 9px;margin-bottom:10px}.quantity-controls strong{font-size:26px}.mission{bottom:48px;padding:16px;width:245px}.mission p{font-size:12px}.mission h2{font-size:20px}.keyboard-hint{bottom:15px}.context{bottom:76px}.touch-controls #joystick{width:90px;height:90px;bottom:20px}.game-tools{bottom:20px}.celebration{bottom:20px;padding:20px 30px}.celebration h2{font-size:32px}.reward{margin:12px auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.quantity-button small{display:block;font-size:8px;line-height:1;font-weight:600;white-space:nowrap;margin-top:-3px;letter-spacing:-.2px}.quantity-button:has(small){line-height:1.1;padding:2px 1px 5px}.mode-intro .vignette{background:linear-gradient(90deg,#123f4e90 0%,#123f4e50 28%,transparent 70%),linear-gradient(0deg,#123f4e22,transparent 40%)}.mode-puzzle .vignette{background:linear-gradient(180deg,#133f4e80,transparent 45%,#133f4e50)}
@media(max-width:700px){.mode-intro .vignette{background:linear-gradient(0deg,#103f4ec7, #103f4e62 35%,transparent 68%)}.mode-puzzle .vignette{background:linear-gradient(180deg,#173e487d,transparent 50%,#173e4860)}}
#wardrobe{margin-right:5vw}#wardrobe::backdrop{backdrop-filter:none;background:#123c482b}
@media(max-width:700px){#wardrobe{margin:auto 14px 18px;width:calc(100vw - 28px);max-height:48dvh;padding:24px}#wardrobe h2{font-size:28px}#wardrobe .swatch-label{margin:18px 0 12px}}

.show-caption{position:absolute;left:20px;right:20px;bottom:max(50px,env(safe-area-inset-bottom));text-align:center;pointer-events:none;z-index:12;text-shadow:0 3px 20px #173e48b0;display:flex;flex-direction:column;gap:13px}.show-caption small{font-size:11px;letter-spacing:3px;color:#ffe89b}.show-caption strong{font:500 clamp(27px,4vw,50px)/1.15 var(--display);letter-spacing:-1px}.cinematic .progress{display:none!important}.show-list{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;max-width:350px}.show-list .read-button{font-size:11px;margin-top:5px;padding:7px 10px}.show-list:empty{display:none}#watch-again{display:block;margin:0 auto 15px}#show-cells{margin:11px 0 0;font-size:13px;padding:9px 14px;position:static}.equation{white-space:nowrap}.number-choices{gap:10px}.number-choice{min-width:64px}
@media(max-width:700px){.number-choice{min-width:57px;height:56px}.number-choices{gap:9px}.equation{font-size:25px;gap:7px;padding:10px 13px}.show-caption{bottom:55px}.show-caption small{font-size:9px}.show-list .read-button{font-size:10px}.map-banner:has(.show-list:not(:empty)){padding:16px 18px}.map-banner:has(.show-list:not(:empty)) small{display:none}#show-cells{font-size:12px;margin-top:9px;padding:7px 12px}.puzzle-bottom .puzzle-tip{margin-top:7px}.feedback{max-width:330px}.puzzle-bottom{bottom:max(17px,env(safe-area-inset-bottom))}}

/* Player selection shares the island's existing cream and teal palette. */
.player-pill{border:1px solid #ffffff50;border-radius:24px;background:#164653dc;color:#fff8e8;padding:10px 16px;font:600 14px 'DM Sans',sans-serif;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:44px}
.intro-player{display:block;margin:0 0 14px;border:0;border-bottom:1px solid #ffffff65;background:transparent;color:inherit;font:600 16px 'DM Sans',sans-serif;padding:8px 0;cursor:pointer;max-width:100%;overflow-wrap:anywhere}
.player-list{display:grid;gap:10px;margin:20px 0}.player-card{text-align:left;padding:14px 16px;border:2px solid #bed3ca;border-radius:16px;background:#fffdf4;color:#143e48;min-height:68px}.player-card[aria-pressed="true"]{border-color:#347769;background:#e5f1df}.player-card strong,.player-card small{display:block;overflow-wrap:anywhere}.player-card strong{font-size:19px}.player-card small{font-size:14px;margin-top:5px}
.profile-form{display:grid;gap:10px;margin:22px 0}.profile-form label{font-size:14px;font-weight:600}.profile-form h3{margin:0;font-size:21px}.profile-form input,.profile-form select{width:100%;min-width:0;min-height:46px;border:1px solid #aac3ba;border-radius:10px;background:#fffdf5;color:#143e48;padding:10px;font:16px 'DM Sans',sans-serif}.profile-row{display:flex;gap:8px}.profile-row input{flex:1}.profile-row button{white-space:nowrap}
@media(max-width:700px){.player-pill{max-width:105px;padding:8px 12px}.intro-player{font-size:14px}.top-tools{gap:6px}}

.test-banner{position:fixed;z-index:15;top:90px;left:50%;transform:translateX(-50%);background:#183e4bea;color:#fff4cc;border:1px solid #f0cf66;padding:8px 14px;border-radius:12px;font-size:14px;text-align:center;width:max-content;max-width:92vw}.test-banner a{color:#f7d984}body[data-test="adult"] .equation{font-size:clamp(24px,4vw,46px)}body[data-test="adult"] .number-choice{font-size:clamp(22px,4vw,38px)}body[data-test="adult"].mode-puzzle .test-banner{display:none}

@media(max-width:420px){#hud{gap:8px;left:14px;right:14px}.brand{font-size:17px;gap:5px}.brand-icon{font-size:28px}.player-pill{max-width:86px}.top-tools{gap:5px}.top-tools .icon-button{width:38px;height:38px;min-width:38px}}

.cloud-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#e8eee8;color:#143e48;padding:24px}.cloud-gate[hidden]{display:none}.cloud-gate>div{max-width:430px;display:grid;gap:18px}.cloud-gate h1{font-size:36px}.cloud-gate p{line-height:1.6}.cloud-gate a{text-align:center}.cloud-status{position:fixed;bottom:5px;left:50%;transform:translateX(-50%);z-index:35;max-width:90vw;margin:0;padding:4px 10px;border-radius:8px;background:#edf4edee;color:#143e48;font-size:11px;text-align:center;pointer-events:none}
.cloud-gate{overflow:auto}.cloud-gate .read-button{position:static;margin:0;min-height:44px;padding:12px;font-size:14px;color:#143e48;background:#d4e2dd;border-color:#b0c5bd}
@media(min-width:1000px){.mode-map .map-banner{left:24px;top:150px;bottom:auto;transform:none;width:270px;padding:22px 18px}.mode-map .map-banner strong{font-size:25px}}
.world-label:hover{transform:translate(-50%,calc(-100% - 2px))}.world-label:active{transform:translate(-50%,calc(-100% + 1px))}
