@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#fff1d6;background:#162a22;--gold:#e9c788}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid #f0daa52e;background:#233c32b3;border-radius:6px;padding:10px 16px}button:disabled{cursor:default;opacity:.55}button:focus-visible,select:focus-visible{outline:2px solid #ffe1a7;outline-offset:4px}button:hover:not(:disabled){background:#405544}[hidden]{display:none!important}#game{position:relative;width:100vw;height:100dvh;min-height:480px;isolation:isolate}#world{display:block;width:100%;height:100%;outline:none;touch-action:none}.vignette{pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,#091a2066,transparent 18%,transparent 74%,#0b2218b0),radial-gradient(ellipse,transparent 52%,#0b171c50);z-index:1}.topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:22px 32px;z-index:4;gap:24px;background:linear-gradient(#142a258a,transparent)}.wordmark{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:700;letter-spacing:2.2px;text-shadow:0 1px 9px #000}.wordmark small{font-size:8px;display:block;letter-spacing:1.6px;font-weight:500;margin-top:5px}.brand-mark{font-size:29px;color:var(--gold);border:1px solid #dfca9755;width:41px;height:41px;border-radius:50%;display:grid;place-items:center}#location{display:flex;gap:12px;align-items:center;font-size:14px;text-shadow:0 2px 5px #000}#location b{font:32px 'Cormorant Garamond',serif;color:var(--gold);border-right:1px solid #dfca9744;padding-right:12px}#location small{display:block;font-size:8px;letter-spacing:1.6px;margin-top:5px}.top-actions{display:flex;gap:8px;align-items:center}.top-actions button{padding:8px 11px;font-size:11px}.quality-label{font-size:10px;display:flex;gap:6px;align-items:center}select{background:#203e32cc;color:#f7e7c4;border:1px solid #dfca9744;padding:7px;border-radius:4px;font-size:11px}select option{background:#23392e}#pad-status{font-size:10px;color:#d4e3ce;margin-right:10px}#intro{position:absolute;left:6%;top:19%;z-index:3;width:430px;max-width:40%;text-shadow:0 2px 16px #13231780}#intro::before{content:'';position:absolute;z-index:-1;inset:-70px -95px -70px -100px;background:radial-gradient(ellipse,#142a21db,#142a2190 55%,transparent 72%);pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:600;color:var(--gold);display:flex;align-items:center;gap:9px}.eyebrow span{height:5px;width:5px;border-radius:50%;background:var(--gold)}h1{font:600 clamp(55px,5.8vw,86px)/.93 'Cormorant Garamond',Georgia,serif;margin:19px 0 18px;letter-spacing:-2px}h1 span{display:block;font-size:.52em;letter-spacing:-.9px;color:#e5d7b8;margin-top:12px}#intro>p{font-size:12px;line-height:1.85;color:#d4dbc8}.objective-preview{display:flex;flex-direction:column;gap:6px;border-left:2px solid #d7b16b;padding-left:15px;margin:23px 0}.objective-preview small{font-size:8px;letter-spacing:2px;color:var(--gold)}.objective-preview strong{font-size:16px}.objective-preview span{font-size:11px;color:#d5dacb;line-height:1.6}.mode-picker{display:flex;gap:8px;margin:22px 0 12px}.mode{flex:1;text-align:left;font-size:12px;padding:11px 13px}.mode small{display:block;font-size:9px;color:#bbcdb9;margin-top:4px}.mode.active{border-color:#e8c88b;background:#d9be7730}.primary{width:100%;display:flex;align-items:center;justify-content:space-between;background:#ebcf98;color:#233d30;border:1px solid #f5dcaf;font-size:13px;font-weight:700;padding:15px 19px;border-radius:5px;box-shadow:0 4px 20px #142c2560}.primary:hover:not(:disabled){background:#f6dfb4}#intro p.subtle{font-size:9px;color:#bbd0b7;margin-top:10px}.error{background:#6b302edd;padding:10px;color:#ffe7d6!important;border:1px solid #dc917b;border-radius:5px}#level-picker{position:absolute;bottom:83px;right:3%;display:flex;gap:9px;z-index:3;max-width:53%}.level-card{position:relative;overflow:hidden;text-align:left;width:118px;height:137px;border:1px solid #e5d8aa44;padding:0;box-shadow:0 4px 12px #152e2466;border-radius:6px;background:#283a2c}.level-card img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.8;inset:0}.level-card::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#10261ed9)}.level-card span{position:absolute;z-index:1;bottom:11px;left:10px;font-size:10px}.level-card small{display:block;font-size:8px;color:#b7cbbb;margin-top:4px}.level-card b{position:absolute;z-index:1;top:10px;left:10px;font:22px 'Cormorant Garamond',serif}.level-card.active{border:2px solid #f1d597}.level-card:disabled{opacity:.65}.level-card:disabled img{filter:saturate(.5)}#hud{position:absolute;z-index:3;top:108px;left:32px;width:295px;filter:drop-shadow(0 2px 9px #17291d)}.health-row{display:flex;align-items:center;gap:8px;font-size:10px}.heart-symbol{font-size:21px;color:#e7a79a}.health-track{height:6px;width:145px;background:#112b298c;border:1px solid #cbdcc444;border-radius:4px;overflow:hidden}#health-fill{height:100%;background:#da9b85;transition:width .2s}.health-row strong{font-size:10px;color:#f2d8bd}#timer{font-variant-numeric:tabular-nums;margin-left:auto;color:#c5d2bc}.collectible-row{display:flex;margin-top:16px;gap:19px}.collectible-row>span{display:grid;grid-template-columns:20px 1fr;gap:0 4px;font-size:14px}.collectible-row i{font-style:normal;color:#efd299}.collectible-row small{grid-column:1/3;font-size:9px;color:#deead5;margin-top:4px}.route{font-size:10px;margin-top:20px;display:grid;grid-template-columns:1fr 30px;gap:7px}.route>span{grid-column:1/3}.route>div{height:3px;background:#a0b49a44;border-radius:2px;align-self:center}.route i{display:block;height:100%;background:#e7d69b;max-width:100%}.route small{font-size:8px}#boss-hud{position:absolute;z-index:4;top:103px;left:50%;transform:translateX(-50%);width:380px;text-align:center;text-shadow:0 1px 5px #15241d}#boss-hud>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}#boss-phase{font-size:9px;color:#edbaa0}.boss-track{height:7px;background:#1d2c2bbd;border:1px solid #eed0a655}.boss-track i{height:100%;background:#d58c67;display:block;transition:width .15s}#boss-cue{display:block;font-size:9px;margin-top:6px;color:#e4d9b9}#hint{position:absolute;bottom:87px;left:50%;transform:translateX(-50%);font-size:12px;line-height:1.6;background:#162b23db;border:1px solid #dfcba245;padding:12px 21px;border-radius:6px;z-index:5;max-width:650px;text-align:center}#hint.action{background:#e3c78feb;color:#263d2b;font-weight:700}#toast{position:absolute;left:50%;top:23%;transform:translate(-50%,-10px);opacity:0;transition:.25s;font-size:13px;padding:10px 18px;z-index:6;background:#163e30ed;border:1px solid #dbd49b70;border-radius:4px;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}#footer{position:absolute;bottom:0;left:0;right:0;z-index:4;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:linear-gradient(transparent,#132c2199);pointer-events:none}#controls{display:flex;gap:17px;align-items:center;color:#e0e8d5;font-size:9px}#controls span{display:flex;align-items:center;gap:6px}kbd{font:9px 'DM Sans',sans-serif;background:#182e2599;border:1px solid #b4cba555;border-radius:3px;padding:4px 6px;color:#eee3bd;white-space:nowrap}#connection-hint{font-size:9px;color:#bacdb0}.world-label{position:absolute;top:0;left:0;padding:6px 10px;background:#182b24cb;border:1px solid #e0c8953d;border-radius:5px;font-size:10px;white-space:nowrap;box-shadow:0 2px 12px #152a2255}#labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}#modal-layer{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:#132a2580;backdrop-filter:blur(9px)}.modal{width:410px;max-width:90vw;padding:34px;background:#20392fef;border:1px solid #dbceaa65;border-radius:10px;box-shadow:0 15px 70px #10261e80}h2{font:600 42px/1.05 'Cormorant Garamond',serif;margin:16px 0}.modal p{color:#cbd7c1;font-size:12px;line-height:1.8;margin-bottom:22px}.modal .secondary{width:100%;margin-top:10px}.text-button{width:100%;border:0;background:none;font-size:11px;margin-top:9px;color:#c9d6c1}#result-stats{font-size:12px;color:#ecce98;line-height:1.8;margin-bottom:20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-height:770px){#intro{top:17%;width:390px}h1{font-size:65px;margin:12px 0}#intro>p{font-size:11px}.objective-preview{margin:15px 0}.mode-picker{margin:14px 0 10px}.level-card{height:115px;width:99px}}@media(max-width:1150px){.topbar{padding:17px 22px;gap:12px}#pad-status{display:none}#controls{gap:9px;font-size:8px}#connection-hint{display:none}#intro{left:5%;max-width:43%}#level-picker{right:3%;gap:6px;max-width:46%;flex-wrap:wrap;justify-content:flex-end}.level-card{width:88px;height:110px}#boss-hud{width:300px}#location{font-size:11px}#hud{left:22px;width:250px}.top-actions{gap:5px}.top-actions button{padding:7px;font-size:10px}.wordmark{font-size:10px;letter-spacing:1px}}@media(max-width:760px){.wordmark small,#location,.quality-label{display:none}#intro{max-width:none;width:80%;top:16%}#level-picker{display:none}h1{font-size:62px}.topbar{padding:13px 18px}#footer{padding:12px 18px}#controls{flex-wrap:wrap;gap:5px 12px}#hud{top:87px}#boss-hud{top:206px;width:280px}#hint{bottom:91px;min-width:280px}.modal{padding:25px}}

/* Combat counters keep the three completion conditions visible while playing. */
#hud{width:310px}.collectible-row{gap:14px}.collectible-row>span{flex:1;grid-template-columns:16px 1fr;font-variant-numeric:tabular-nums}.collectible-row small{font-size:8px;line-height:1.4}.collectible-row b{font-size:12px}.combat-powers{margin-top:15px;background:#142b23b8;border:1px solid #dfcba235;border-radius:6px;padding:0 11px}.power-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.power-row>span{display:flex;flex-direction:column;gap:3px}.power-row strong{font-size:10px;letter-spacing:.4px;color:#f0dfbe}.power-row small{font-size:9px;color:#bfceb8}.power-row kbd{font-size:9px;min-width:28px;text-align:center}.power-row.ready strong,.power-row.ready small,#fireball-power.ready strong,#fireball-power.ready small{color:#e7e6ac}.power-row.ready kbd,#fireball-power.ready kbd{background:#e5d399;color:#253e2c;border-color:#efdfb1}#combo-power{border-bottom:1px solid #cbd7aa25}#fireball-power .power-row{padding-bottom:7px}.power-meter{height:4px;background:#d3dbb62b;overflow:hidden;border-radius:2px}.power-meter i{display:block;width:0;height:100%;background:#cb9b66;transition:width .2s}#fireball-power.ready .power-meter i{background:#efd69a}#fireball-power.spent .power-meter i{background:#74977c}#fireball-power.spent strong{color:#c1cbb8}.power-requirements{display:flex;justify-content:space-between;gap:4px;padding:8px 0 10px;font-size:8px;color:#c7ceb9}.power-requirements .done{color:#d8e8ab}.route{margin-top:13px}#intro p.combat-preview{font-size:10px;line-height:1.65;color:#d1d9c5;margin:12px 0}#intro .combat-preview b{font-weight:600;color:#ead3a6}#controls{flex-wrap:wrap;gap:7px 13px}#connection-hint{max-width:200px;line-height:1.5;text-align:right}.modal{width:450px;max-height:90dvh;overflow:auto}.modal p{margin-bottom:16px}.combat-help{margin:0 0 22px;padding:12px 14px;background:#152c2466;border:1px solid #d7ccab25;border-radius:5px}.combat-help>div+div{margin-top:12px}.combat-help dt{font-size:11px;font-weight:600;color:#eddbb6;display:flex;align-items:center;gap:7px}.combat-help dd{margin:5px 0 0;font-size:10px;line-height:1.65;color:#cbd7c1}#toast{max-width:560px;width:max-content;line-height:1.5;text-align:center}#hint{font-size:11px}
@media(max-height:770px){#intro p.combat-preview{font-size:9px;line-height:1.5;margin:8px 0}#intro .objective-preview{margin:12px 0}#intro .mode-picker{margin:10px 0}#hud{top:96px}.combat-powers{margin-top:11px}.power-row{padding:8px 0}.collectible-row{margin-top:11px}.power-requirements{padding-bottom:8px}}
@media(max-width:1150px){#hud{width:280px}#controls{gap:6px 10px}#boss-hud{left:61%}.power-requirements{font-size:7px}.collectible-row{gap:9px}}
@media(max-width:760px){#hud{width:250px;top:81px}#boss-hud{top:90px;left:auto;right:16px;transform:none;width:220px}#controls{gap:5px 9px;font-size:7px}#controls kbd{font-size:8px}#intro p.combat-preview{max-width:390px}#toast{max-width:88vw}#hint{max-width:85vw;bottom:105px}}
@media(max-width:540px){#boss-hud{top:366px;left:22px;right:auto;width:250px}.top-actions button{padding:6px}#hint{bottom:125px}}

/* Let the rescue tableau fill the scene; pause remains available. */
.celebrating #location,.celebrating #footer{visibility:hidden}.audio-settings{margin:0 0 22px;padding:12px 14px;border:1px solid #d7ccab30;border-radius:5px;background:#152c243d}.audio-settings legend{padding:0 6px;font-size:10px;font-weight:600;letter-spacing:.5px;color:#ead7ad}.audio-master-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px;font-size:10px;color:#d3dec9}.audio-master-row button{font-size:10px;padding:6px 10px}.audio-settings label{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#d6e0cc;margin-top:8px}.audio-settings output{font-variant-numeric:tabular-nums;color:#ead7ad}.audio-settings input[type=range]{display:block;width:100%;margin:7px 0 12px;accent-color:#e6cb8e;cursor:pointer;height:16px}.audio-settings input:focus-visible{outline:2px solid #ffe1a7;outline-offset:4px;border-radius:3px}.audio-settings small{display:block;font-size:8px;color:#bacab4;margin-top:9px}.modal{max-height:92dvh}

#boss-hud.stone{background:#19313aeb;border-color:#d3e2ec}#boss-hud.stone #boss-fill{background:#d3e2ec}#boss-hud.stone #boss-cue,#boss-hud.stone #boss-phase{color:#edf6fc}

.official-watermarks{position:absolute;right:28px;bottom:66px;z-index:3;display:flex;align-items:center;gap:10px;height:48px;opacity:.48;pointer-events:none;user-select:none}.official-watermarks img{display:block;object-fit:contain;max-height:48px;width:auto}.ss-watermark{border-radius:3px}.sujoy-watermark{mix-blend-mode:screen}.official-watermarks .sujoy-watermark{max-height:44px}.celebrating .official-watermarks{opacity:.65}@media(max-height:600px){.official-watermarks{bottom:48px;height:32px}.official-watermarks img,.official-watermarks .sujoy-watermark{max-height:32px}}@media(max-width:760px){.official-watermarks{right:16px;bottom:84px;gap:6px;height:30px}.official-watermarks img,.official-watermarks .sujoy-watermark{max-height:30px}}
#intro:not([hidden])~.official-watermarks{top:92px;bottom:auto}
