:root{color-scheme:dark;--cream:#ece7d6;--muted:#9bafb6;--gold:#c6ad77;--cyan:#98e2ee;--panel:rgba(7,21,29,.88)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#06141d;color:var(--cream);font-family:Georgia,'Times New Roman',serif}button,select,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}#game{position:relative;width:100%;height:100%;isolation:isolate;overflow:hidden}#world{display:block;width:100%;height:100%;object-fit:contain}#vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 120px 20px #020b1455;background:linear-gradient(#030f1b44,transparent 22%,transparent 74%,#020b1477)}.screen{position:absolute;inset:0;z-index:10}.topline,.title-bottom{position:absolute;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font:10px/1.4 Arial,sans-serif;letter-spacing:3px;color:#b8c6c7}.topline{top:5%}.topline span:first-child{font-size:14px;color:var(--gold);letter-spacing:5px}.title-bottom{bottom:4%;font-size:9px;letter-spacing:2px}.title-content{position:absolute;top:23%;left:8%;max-width:580px}.eyebrow{font:10px/1.5 Arial,sans-serif;letter-spacing:2.4px;color:var(--gold)}h1{font-weight:400;font-size:clamp(70px,8.5vw,126px);letter-spacing:-5px;line-height:1;margin:24px 0;color:#f0eada;text-shadow:0 4px 30px #030e1b}h1 em{font-weight:400;color:#d4bd8b}#title-screen{background:linear-gradient(90deg,#030d18e6 0%,#051624a8 28%,#06162314 64%,transparent)}.title-rule{height:1px;max-width:280px;background:linear-gradient(90deg,#bea36c99,transparent);position:relative;margin:30px 0}.title-rule span{position:absolute;top:-9px;left:0;color:var(--gold);background:#0a1b25;padding-right:15px}.title-content p{font-size:20px;line-height:1.7;color:#ccd9d9;margin:24px 0 0}.title-content .title-sub{font-size:15px;color:#98aeb6;margin-top:8px}.title-actions{display:flex;align-items:flex-start;flex-direction:column;gap:14px;margin-top:30px}.primary{background:linear-gradient(115deg,#b8a271,#e0cca0);color:#11232a;padding:16px 28px;border:1px solid #e4d6b2;min-width:245px;text-transform:uppercase;font:11px Arial,sans-serif;letter-spacing:2.5px;transition:filter .2s,transform .2s;box-shadow:0 5px 24px #0003}.primary:hover{filter:brightness(1.12);transform:translateY(-2px)}.secondary,.text-button{background:none;border:0;color:#c3d2d4;font:11px Arial,sans-serif;letter-spacing:1px;padding:8px 0}.secondary{border-bottom:1px solid #79939655}.text-button:hover,.secondary:hover{color:var(--gold)}.title-footer{font:9px Arial,sans-serif;letter-spacing:2px;color:#8ea5b0;margin-top:32px}.title-footer span{margin:0 10px;color:var(--gold)}#hud{position:absolute;inset:0;pointer-events:none}#hud button{pointer-events:auto}.vitals{position:absolute;top:29px;left:32px;display:flex;gap:14px;filter:drop-shadow(0 3px 10px #03101b)}.crest{width:52px;height:52px;border:1px solid #b69c6855;border-radius:50%;font-size:44px;line-height:49px;text-align:center;color:#d9c493;background:#071d25aa}.vital-info{width:235px}.vitals .eyebrow{font-size:8px;letter-spacing:1.6px}.health-row{display:flex;justify-content:space-between;margin:5px 0;font-size:14px}.health-row span:last-child{font:9px Arial,sans-serif;color:#aac1c8;align-self:center}.bar{height:5px;background:#06111ec9;border:1px solid #83afb633;overflow:hidden}.bar i{height:100%;display:block;width:100%;transition:width .15s;background:linear-gradient(90deg,#397f85,#b5e2c7)}.mana-row{display:flex;gap:7px;align-items:center;margin-top:5px}.mana-row .bar{height:3px;flex:1}.mana-row span{font:8px Arial,sans-serif;color:#8dc7dc}.mana i{background:linear-gradient(90deg,#456ea2,#a6ddf7)}#buffs{font:9px Arial,sans-serif;letter-spacing:.6px;color:#c8b3ed;margin-top:6px;min-height:12px}.quest{position:absolute;right:87px;top:30px;text-align:right;text-shadow:0 2px 10px #000}.quest .eyebrow{font-size:9px}#objective{font-size:15px;margin-top:8px;color:#dde0d5}#seals{font-size:19px;letter-spacing:8px;color:#b8d9df;margin-top:6px}.corner-button{position:absolute;right:28px;top:32px;border:1px solid #93b1b13d;width:34px;height:34px;background:#0b202677;font:13px Arial,sans-serif;color:#c0d3d5}#area-title{position:absolute;left:0;right:0;top:25%;text-align:center;opacity:0;transition:opacity 1s;text-shadow:0 3px 18px #00121b;pointer-events:none}#area-title.visible{opacity:1}#area-title small{display:block;font:9px Arial,sans-serif;letter-spacing:4px;color:#c2b188;margin-bottom:12px}#area-title strong{font-size:42px;font-weight:400;letter-spacing:2px}#abilities{position:absolute;left:30px;bottom:31px;display:flex;gap:6px}#abilities button{position:relative;width:77px;height:68px;background:linear-gradient(#142b34e8,#071823ed);border:1px solid #93b1b14a;border-bottom-color:#b8a1719c;box-shadow:0 2px 15px #0005;overflow:hidden}#abilities button:hover{border-color:#b5eaf1}kbd{font:9px Arial,sans-serif;letter-spacing:.3px}#abilities kbd{position:absolute;left:6px;top:5px;color:#d2c294;z-index:2}#abilities .spell-symbol{display:block;font:33px Georgia,serif;color:#a8e9f5;height:41px;line-height:36px;text-shadow:0 0 12px #6fbee866}.spell-name{font:8px Arial,sans-serif;letter-spacing:.3px;color:#bfccca}#abilities .cooldown{position:absolute;inset:0;background:#02111bcb;display:flex;align-items:center;justify-content:center;font:19px Georgia,serif;font-style:normal;color:#d1dfdf}#abilities .cooldown:empty{display:none}#abilities button.unavailable{opacity:.55}.bottom-hint{position:absolute;left:30px;right:30px;bottom:13px;display:flex;justify-content:space-between;font:8px Arial,sans-serif;letter-spacing:.6px;color:#91a8b0}.bottom-hint b{font-weight:400;color:#5e818d}#interaction{position:absolute;left:50%;bottom:135px;transform:translateX(-50%);padding:10px 18px;background:#061723dc;border:1px solid #bdd7d340;font:11px Arial,sans-serif;letter-spacing:1px;color:#e6e5d2;white-space:nowrap}#interaction kbd{display:inline-block;border:1px solid #bfcdb373;padding:4px 6px;margin-right:10px;color:var(--gold)}#toast{position:absolute;left:25%;right:25%;top:21%;text-align:center;font:12px Arial,sans-serif;letter-spacing:1px;color:#dfd8be;opacity:0;transition:opacity .35s;text-shadow:0 2px 8px #000}#toast.visible{opacity:1}#dialogue{position:absolute;left:50%;bottom:120px;transform:translateX(-50%);display:flex;gap:18px;align-items:center;max-width:650px;width:80%;padding:17px 25px;background:linear-gradient(90deg,transparent,#061724e8 8%,#061724e8 92%,transparent);pointer-events:none}.dialogue-star{font-size:27px;color:var(--gold)}#dialogue small{font:8px Arial,sans-serif;letter-spacing:2px;color:var(--gold)}#dialogue p{font-size:15px;line-height:1.6;margin:5px 0 0;color:#d4dedc}#boss-ui{position:absolute;top:100px;width:340px;left:50%;transform:translateX(-50%);text-align:center}#boss-ui .eyebrow{font-size:9px;color:#d9b6d9}.boss{height:5px;margin-top:9px}.boss i{background:linear-gradient(90deg,#694e83,#d792c9)}.modal-screen{background:#04131bc9;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center}.modal{width:min(470px,92vw);max-height:94vh;overflow:auto;text-align:center;border:1px solid #91aba337;background:linear-gradient(145deg,#132831ee,#071822f5);padding:32px 42px;box-shadow:0 30px 100px #0008}.modal h2{font-size:30px;font-weight:400;margin:15px 0}.modal p{font-size:15px;color:#afc4c8;line-height:1.8}.controls{border-top:1px solid #83a6a527;border-bottom:1px solid #83a6a527;margin:20px 0;padding:13px 0}.controls>div{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:10px 0;font:11px Arial,sans-serif;text-align:right;color:#c3d2d4}.controls kbd{color:var(--gold);white-space:nowrap}.setting{display:flex;justify-content:space-between;align-items:center;font:12px Arial,sans-serif;margin:12px 0;color:#adc4c7}.setting input{accent-color:#9ed0cf}.setting select{background:#0b202a;border:1px solid #55717b;color:#c2d8db;padding:4px}.modal .small{font:10px/1.6 Arial,sans-serif;color:#7896a1}.modal .primary{margin-top:15px;display:block;width:100%}.modal .text-button{margin-top:12px}.compact{padding:48px 35px}.ending{max-width:530px;width:90vw;padding:45px}.ending-star{font-size:70px;color:#e1d3a2;text-shadow:0 0 40px #a7dfea;margin:15px}.ending h2{font-size:34px}#ending-stats{font:11px/1.8 Arial,sans-serif;color:#9bbaa9;margin:25px 0}#load-error{position:absolute;bottom:20px;left:20px;right:20px;background:#441e2e;color:white;padding:15px;z-index:30;font:13px Arial,sans-serif}@media(max-width:850px){.vitals{left:15px;top:18px}.vital-info{width:165px}.crest{display:none}.quest{right:60px;top:18px}#objective{font-size:12px}.quest .eyebrow{font-size:8px}.corner-button{top:18px;right:15px}.title-content{top:20%;left:7%}.title-content p{font-size:17px}.title-footer{font-size:7px}.topline span:last-child{display:none}.bottom-hint{display:none}#abilities{left:15px;bottom:14px}#abilities button{width:66px;height:60px}#dialogue{bottom:95px}.title-bottom>span{font-size:7px}#area-title strong{font-size:32px}}@media(max-height:620px){.title-content{top:18%}h1{font-size:72px;margin:15px 0}.title-rule{margin:18px 0}.title-content p{margin-top:14px;font-size:16px}.title-actions{margin-top:20px}.title-footer{margin-top:18px}.modal{padding:20px 32px}.modal h2{font-size:25px}.controls{margin:12px 0;padding:6px 0}.controls>div{margin:7px 0}}
#qa-panel{position:absolute;left:18px;top:120px;max-width:260px;z-index:30;background:#041722d9;border:1px solid #7496a4;padding:8px;color:#acced4;font:10px/1.5 monospace}#qa-panel summary{cursor:pointer}#qa-panel button{display:block;background:#1d3741;border:1px solid #76949c;padding:5px;margin:6px 0;font:10px Arial}#qa-state{display:block;overflow-wrap:anywhere;font-size:9px}
.bindings-modal{width:min(640px,94vw);padding:25px 35px}.bindings-modal h2{margin:10px 0}.controller-status{display:flex;gap:9px;align-items:center;justify-content:center;font:11px/1.6 Arial,sans-serif!important;margin:10px 0!important;overflow-wrap:anywhere}#controller-light{display:inline-block;width:7px;height:7px;background:#796e5c;border-radius:50%;flex-shrink:0}#controller-light.connected{background:#9cddae;box-shadow:0 0 10px #75ddbd}.binding-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;align-items:center;gap:12px;text-align:left;font:12px/1.5 Arial,sans-serif;padding:7px 0;border-bottom:1px solid #8aa4ad1c}.binding-head{color:var(--gold);font-size:10px;letter-spacing:1px;text-transform:uppercase}.binding-row button{padding:7px 8px;border:1px solid #94b8c24c;background:#0a1d29;color:#c6e3e7;min-height:33px;font:11px Arial,sans-serif}.binding-row button:hover,.binding-row button.listening{border-color:#dac38b;color:#f3dfb7;background:#283936}#binding-message{min-height:32px;font:11px/1.6 Arial,sans-serif;color:#bfcfb8;margin:14px 0 8px}#deadzone{width:100%;accent-color:#b9b081}.binding-footer{display:flex;align-items:center;gap:30px;justify-content:space-between}.binding-footer .primary{width:auto;min-width:140px;margin-top:10px}.bindings-modal .small{margin:9px 0}#customize-controls{display:block;width:100%;padding:10px;border:1px solid #789c9e4d;margin:16px 0 8px}.controller-active #abilities kbd{color:#b5e9c7}.controller-active .spell-name{font-size:8px}@media(max-height:740px){.bindings-modal{padding:16px 28px}.binding-row{padding:4px 0}.bindings-modal h2{font-size:25px}.bindings-modal .small{font-size:9px;margin:7px 0}.binding-row button{padding:5px;min-height:28px}.bindings-modal .setting{margin:8px 0}#binding-message{margin:9px 0 3px}.bindings-modal .primary{padding:12px}}

/* Illustrated memories are a paused, keyboard/controller-accessible story reader. */
.memory-screen{z-index:24;background:rgba(2,10,19,.92);padding:28px;display:flex;align-items:center;justify-content:center;pointer-events:auto}
.memory-screen[hidden]{display:none}.memory-book{width:min(1140px,96vw);max-height:92vh;display:grid;grid-template-columns:1.12fr 1fr;background:#0b1d2a;border:1px solid #aa905866;box-shadow:0 25px 100px #000a;overflow:auto;text-align:left}
.memory-art-wrap{position:relative;min-height:440px;background:#132b39}.memory-art-wrap img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center}.memory-art-caption{position:absolute;bottom:0;left:0;right:0;padding:55px 24px 22px;background:linear-gradient(transparent,#07131de8);font:10px Arial;letter-spacing:3px;color:#e5d3a7}
.memory-copy{padding:42px 36px 24px;display:flex;flex-direction:column}.memory-copy h2{font:36px/1.12 Georgia,serif;color:#f2e4c5;margin:18px 0 12px}.memory-copy .eyebrow{font-size:10px;letter-spacing:2px;color:#d7bd7e}#memory-place{font:italic 14px Georgia;color:#9ebdc7;margin:0 0 28px}#memory-prose{font:19px/1.75 Georgia,serif;color:#e1e7e4;min-height:210px}.memory-footer{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.memory-footer>div{display:flex;gap:10px}.memory-footer button{font:12px Arial;padding:12px 15px;width:auto;margin:0}.memory-footer button:disabled{opacity:.3;cursor:default}#memory-page{font:12px Arial;color:#d7bd7e;white-space:nowrap}#memory-close{align-self:flex-start;margin-top:22px;font-size:12px}.memory-status{font:10px/1.5 Arial;color:#9eb1ba;margin-top:12px}.memory-screen button:focus-visible{outline:2px solid #fff0af;outline-offset:4px}
@media(max-width:760px){.memory-screen{padding:12px}.memory-book{display:block}.memory-art-wrap{min-height:210px;height:28vh}.memory-copy{padding:24px}.memory-copy h2{font-size:28px}#memory-prose{font-size:17px;min-height:0}.memory-footer{flex-wrap:wrap}}@media(max-height:720px) and (min-width:761px){.memory-copy{padding:25px}.memory-copy h2{font-size:29px}#memory-prose{font-size:17px;line-height:1.6;min-height:170px}.memory-art-wrap{min-height:390px}#memory-place{margin-bottom:18px}}
#memory-count{font:10px Arial,sans-serif;letter-spacing:1px;color:#d8c897;margin-top:5px}
/* Arcade reward readout; gold stays reserved for collectable power. */
#arcade-hud{position:absolute;top:24px;left:50%;transform:translateX(-50%);width:235px;text-align:center;text-shadow:0 2px 8px #000}#arcade-hud>span{font:9px Arial;letter-spacing:3px;color:#c9d9dc}#run-score{display:block;font:26px/1.25 Georgia;color:#fff0c2;letter-spacing:3px;font-variant-numeric:tabular-nums}#combo-label{display:block;font:9px Arial;letter-spacing:1px;color:#e0c480}.combo-track{height:2px;margin:7px 30px;background:#bfa97324}.combo-track i{display:block;height:100%;background:#ffe5a0;box-shadow:0 0 9px #ffc767;transition:width .1s linear}
#power-hud{position:absolute;top:127px;left:30px;width:245px;padding:12px 14px;background:linear-gradient(110deg,#071c2ae8,#0e243acf);border:1px solid #a7c4d12e;border-left:2px solid #e0bc6b;box-shadow:0 8px 28px #0003}#power-hud>div:first-child{display:flex;justify-content:space-between;gap:10px;font:10px Arial;color:#f5ddb0}#crystal-count{color:#b4dfe7}.charge-track{height:5px;background:#030f1c;margin-top:10px;overflow:hidden}.charge-track i{display:block;height:100%;background:linear-gradient(90deg,#398daf,#cffbff,#ffe6a0);box-shadow:0 0 12px #8deaff;transition:width .12s linear}#power-description{font:10px/1.5 Arial;color:#afc4ce;margin:8px 0 4px}#overdrive-label{font:9px Arial;letter-spacing:1px;color:#dcc089}#power-hud.overdrive{border-color:#e9bf6e;background:linear-gradient(110deg,#36301eee,#102c40ee);box-shadow:0 0 30px #dbae4433}#power-hud.overdrive .charge-track i{background:linear-gradient(90deg,#cd8625,#fff1b0)}
#abilities{gap:6px}#abilities button{width:64px;height:66px;overflow:hidden;border:1px solid #a7cdd960;background:linear-gradient(145deg,#183e52ee,#04111eef);box-shadow:0 4px 16px #0008,inset 0 0 12px #78c9e015}#abilities .spell-symbol{display:block;width:40px;height:40px;margin:1px auto 2px;background-image:url('assets/arcade-spell-icons-v1.png');background-size:200% 200%;border-radius:9px;box-shadow:0 0 16px #8cecff24}#abilities [data-spell=bolt] .spell-symbol{background-position:0 0}#abilities [data-spell=blink] .spell-symbol{background-position:100% 0}#abilities [data-spell=constellation] .spell-symbol{background-position:0 100%}#abilities [data-spell=dragon] .spell-symbol{background-position:100% 100%}#abilities .spell-name{font:8px Georgia;color:#dfedeb}#abilities kbd{z-index:2;padding:2px 4px;background:#061723db;border:1px solid #a4c2cc55;border-radius:3px}#abilities .cooldown{inset:auto;right:5px;top:5px;min-width:23px;height:23px;border-radius:50%;font:13px Arial;background:#020a17e8;border:1px solid #c6dfeb80;z-index:3}#abilities button::after{content:'';position:absolute;bottom:0;left:0;height:3px;width:var(--ready,100%);background:linear-gradient(90deg,#5b9aca,#d5f9ff);box-shadow:0 0 8px #a2eaff}#abilities button:hover{border-color:#f0d795;box-shadow:0 0 22px #bcefff30}
@media(max-width:850px){#arcade-hud{top:104px;left:auto;right:15px;transform:none;width:180px}#power-hud{left:15px;top:104px;width:210px}#abilities button{width:60px;height:64px}#abilities .spell-symbol{width:38px;height:38px}}@media(max-height:600px){#power-hud{top:108px;padding:8px 12px}#power-description{display:none}#abilities button{height:60px}#abilities .spell-symbol{width:34px;height:34px}}

/* Brief edge subtitles keep the platforming view clear. */
#dialogue{left:auto;right:30px;bottom:38px;transform:none;width:min(520px,calc(100% - 350px));max-width:none;padding:7px 11px;gap:0;background:#061724a6;border-left:2px solid #c6ad7770;border-radius:3px;text-align:left}
#dialogue .dialogue-star,#dialogue small{display:none}
#dialogue p{margin:0;font:12px/1.45 Arial,sans-serif;color:#e0e8e8;text-shadow:0 1px 3px #000}
@media(max-width:850px){#dialogue{right:15px;bottom:20px;width:calc(100% - 295px)}}
@media(max-width:650px){#dialogue{left:15px;right:15px;bottom:88px;width:auto;padding:6px 9px}#dialogue p{font-size:11px}}
