@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;800;900&family=Nunito+Sans:wght@500;600;700;800;900&family=Pixelify+Sans:wght@400;500;600;700&display=swap";.screen-battle #combat-toast[data-combo]:not([data-combo="0"]){border:1px solid #dcb86380;background:#101d32d9;padding:10px 16px;max-width:min(38vw,360px);pointer-events:none}.screen-battle #combat-toast[data-combo]:not([data-combo="0"]) small{font-size:clamp(11px,1.1vw,15px);font-weight:800;color:#fff0c8}.screen-battle #combat-toast[data-combo="1"] b{font-size:clamp(18px,1.8vw,26px)}.wave-announcement{color:#ffe39b!important;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wave-announcement[data-wave-phase=incoming]{text-shadow:0 0 18px #f9b743;font-size:clamp(16px,2.2vw,30px)!important}.wave-announcement[data-wave-phase=fight]{color:#aeffed!important;text-shadow:0 0 14px #7cfde2}.infinite-record{min-width:72px;font-size:26px!important;line-height:.95}.infinite-record small{font-size:10px!important;letter-spacing:.8px;white-space:nowrap}.screen-battle #combat-toast[data-combo="2"] b{font-size:clamp(19px,2.2vw,30px);color:#ffde85}.screen-battle #combat-toast[data-combo="3"] b{font-size:clamp(21px,2.5vw,34px);color:#ffd073}.screen-battle #combat-toast[data-combo="4"] b{font-size:clamp(23px,2.8vw,38px);color:#ffc672}.screen-battle #combat-toast[data-ultimate=true] b{font-size:clamp(23px,2.8vw,38px);color:#f5ddff;text-shadow:0 2px 3px #0b1731,0 0 18px #ce7fff}.screen-battle #combat-toast[data-ultimate=true] small{color:#eac5ff;font-weight:800}.combat-continue{position:absolute;right:3%;bottom:12px;z-index:75;padding:10px 22px;border:2px solid #e7b65d;border-radius:8px;background:#172638f2;color:#ffe4a3;font:800 16px Nunito Sans,sans-serif;cursor:pointer}@media(max-width:600px){.screen-battle #combat-toast[data-combo] b,.screen-battle #combat-toast[data-ultimate=true] b{font-size:19px}.combat-continue{font-size:13px;padding:7px 12px}}@media(max-width:700px){.screen-battle #combat-toast[data-combo]:not([data-combo="0"]){max-width:70vw;padding:6px 10px}.wave-announcement[data-wave-phase=incoming]{font-size:15px!important}}:root{font-family:Nunito Sans,sans-serif;color:#f5e9cd;background:#14283c;font-synthesis:none;--gold: #edc477;--ink: #172437;--edge: #88714f;--board-size: min(50dvh, 46vw, calc(100dvh - 382px) , 520px)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none}button,input{font:inherit}button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,input:focus-visible,#crystal-board:focus-visible{outline:3px solid #9ef0f4;outline-offset:4px}button{transition:filter .12s,transform .12s}button:not(:disabled):hover{filter:brightness(1.15)}button:not(:disabled):active{transform:translateY(2px)}#game-world,#game-ui{position:fixed;inset:0;width:100%;height:100dvh}#game-world{z-index:0;pointer-events:none}#game-world>canvas{display:block!important;image-rendering:auto}#game-ui{z-index:2;pointer-events:none}#game-ui button,#game-ui input,#game-ui .pixel-panel,#game-ui #crystal-board{pointer-events:auto}#game-ui canvas{image-rendering:auto}.pixel-icon{width:32px;height:32px;object-fit:contain;image-rendering:auto;flex:none;pointer-events:none}.pixel-panel{background:linear-gradient(120deg,#243349f2,#141f31f5);border:2px solid #bf9c62;box-shadow:0 0 0 3px #1a2130,0 0 0 4px #6d6959,inset 0 0 0 2px #445064,0 12px 30px #0b182877;padding:24px}.panel-heading{font:700 19px Cinzel,serif;color:#f5dfaa;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #9e885347;padding-bottom:16px;margin-bottom:18px}.panel-heading>small,.panel-heading>span{font:700 13px Nunito Sans,sans-serif;color:#d1ba85}.game-button{position:relative;display:flex;align-items:center;justify-content:center;gap:17px;min-height:56px;width:100%;border:2px solid #b3a080;background:linear-gradient(#25364d,#1a293d);box-shadow:inset 0 2px #6f7785,inset 0 -3px #101b2d,0 0 0 2px #142338,0 5px #10203790;text-shadow:0 2px #101c30;font:700 19px Cinzel,serif;padding:10px 18px}.game-button:before,.game-button:after{content:"";position:absolute;width:5px;height:5px;background:#ecd097;top:-2px;left:-2px;box-shadow:0 0 0 1px #3e3540}.game-button:after{inset:auto -2px -2px auto}.game-button .pixel-icon{width:30px;height:30px}.game-button.primary{color:#422c21;background:linear-gradient(#ffe4a0 0 10%,#ffcb64 11% 79%,#d99039 80%);border-color:#ffe6aa;box-shadow:inset 2px 0 #fff0b9,inset -2px 0 #dd983e,0 0 0 2px #79512f,0 5px #563b2b;text-shadow:0 1px #ffe3a0}.game-button.primary:hover{filter:brightness(1.08);box-shadow:inset 2px 0 #fff0b9,inset -2px 0 #dd983e,0 0 0 2px #79512f,0 5px #563b2b,0 0 25px #ffce6655}.game-button.large{min-height:75px;font-size:30px}.game-button.small{font:800 15px Nunito Sans,sans-serif;min-height:44px}.round-button{display:grid;place-items:center;width:44px;height:44px;flex:none;border:2px solid #b5a07c;background:#1d3048ed;box-shadow:inset 0 2px #728094,0 3px #111d2e;font:700 25px Nunito Sans,monospace}.round-button .pixel-icon{width:27px;height:27px}.back-button{width:48px;min-height:45px;padding:0}.back-arrow{font:36px/1 Nunito Sans,sans-serif}.screen-header{position:absolute;z-index:5;top:0;left:0;right:0;height:96px;display:flex;align-items:center;gap:24px;padding:16px 4%;background:linear-gradient(#101d31e6,#101d319e,transparent)}.screen-header>div{flex:1}.screen-header h1{font:800 clamp(24px,2.4vw,35px)/1.25 "Cinzel",serif;text-shadow:0 3px #182438;margin:0;color:#ffe0a0}.screen-header p{margin:5px 0 0;font-size:14px;color:#dddfd4}.screen-header>.round-button{margin-left:auto}.hero-anchor{pointer-events:none;position:absolute}.studio-mark{position:absolute;left:4%;bottom:24px;color:#f3edc9;font-size:12px;letter-spacing:2px;font-weight:900;text-shadow:0 2px 4px #152f34;display:flex;align-items:center;gap:10px}.studio-mark>span{font-size:29px}.studio-mark small{display:none}.home-shade{position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,#19334418 60%,#152a3d44),linear-gradient(transparent 78%,#18323999)}.profile-plaque{position:absolute;top:22px;right:4%;min-width:235px;height:66px;display:flex;align-items:center;gap:12px;background:#1c2f45ee;border:2px solid #d9b770;box-shadow:0 3px #182433;padding:5px 12px 5px 4px}.portrait{width:57px;height:57px;background:#59728177;object-fit:contain}.profile-plaque b{font-size:16px;display:block;color:#fff0c7}.profile-plaque small{display:block;font-size:12px;color:#bfd8d7;margin-top:3px}.tiny-gem{font-size:27px;color:#6fe6f5;margin-left:auto}.title-lockup{position:absolute;top:5%;left:4%;width:57%;text-align:center;filter:drop-shadow(0 7px 0 #28342d99)}.logo-crystal{width:73px;height:73px;margin-bottom:-28px;position:relative;z-index:1;filter:drop-shadow(0 0 15px #65d6ee)}.title-lockup h1{font:900 clamp(59px,7.7vw,128px)/1.2 "Cinzel",Georgia,serif;letter-spacing:-.07em;margin:0;color:#ffd37b;-webkit-text-stroke:1px #fff0b0;text-shadow:0 4px #9a542d,0 7px #583b2b,3px 0 #233540,-3px 0 #233540,0 -3px #233540,5px 5px #1b2b32,-5px 5px #1b2b32}.title-lockup p{font:600 clamp(13px,1.25vw,20px) "Nunito Sans",monospace;letter-spacing:1px;margin:8px 0;color:#fffde3;text-shadow:0 2px #1d3743}.logo-rule{height:2px;width:65%;margin:14px auto;background:linear-gradient(90deg,transparent,#f1d58c,transparent);color:#ffebbc}.logo-rule span{display:inline-block;transform:translateY(-9px);font-size:15px}.home-hero{left:15%;top:37%;width:min(36vw,49vh);height:min(36vw,49vh)}.home-caption{position:absolute;left:8%;bottom:13%;text-shadow:0 2px 4px #152e36}.home-caption span{display:block;font:500 18px Nunito Sans,monospace;color:#fff9d3}.home-caption b{font:700 24px Cinzel,serif;color:#ffe2a4}.home-menu{position:absolute;right:7%;top:28%;width:min(330px,29vw);display:grid;gap:13px}.home-menu .game-button{justify-content:flex-start;padding-left:34px}.home-menu .primary{justify-content:center;padding-left:18px}.home-progress{position:absolute;right:7%;bottom:7%;display:flex;align-items:center;gap:10px;font-size:14px;text-shadow:0 2px #1d3042;background:#142f448e;padding:9px 14px;border:1px solid #9fae9a55}.home-progress b{color:#ffe19b;margin-left:15px}.home-progress .pixel-icon{width:25px;height:25px}.workshop-shade{position:absolute;inset:0;background:linear-gradient(90deg,#171f3430,transparent 30%,#151c3077 70%,#101a3055);z-index:-1}.hero-stage,.armory-stage{position:absolute;left:4%;top:15%;width:43%;height:78%}.creator-hero,.armory-hero{width:min(35vw,48vh);height:min(35vw,48vh);left:50%;transform:translate(-50%);bottom:19%}.pedestal-label,.hero-nameplate{position:absolute;bottom:9%;left:50%;transform:translate(-50%);text-align:center;white-space:nowrap;text-shadow:0 3px 3px #1c1e28}.pedestal-label b,.hero-nameplate{font:700 28px Cinzel,serif;color:#ffe3a6}.pedestal-label small{display:block;font-size:13px;color:#efdbb6;margin-top:5px}.creator-panel{position:absolute;right:6%;top:15%;width:min(510px,46vw);max-height:81%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#a68a58 #1b2a3d}.name-label,.option-label{display:block;font-weight:800;font-size:14px;color:#e5d6b8;margin:14px 0 9px}.name-label{margin-top:0}.creator-panel input{width:100%;height:41px;background:#152336;color:#fff2d0;border:1px solid #839398;border-bottom:2px solid #dbc086;padding:7px 12px;font-size:17px;font-weight:800;outline-offset:2px}.hair-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.hair-option{border:1px solid #5d7282;background:#19283d;padding:3px}.hair-option canvas{display:block;width:100%;height:65px;object-fit:contain}.hair-option small{font-size:11px;display:block;margin-bottom:3px;white-space:nowrap;color:#b8c5c6}.hair-option.active{border-color:#ffce6b;background:#4d473e;box-shadow:inset 0 0 0 1px #be8d4b}.hair-option.active small{color:#ffe7aa}.swatches{display:flex;gap:10px;flex-wrap:wrap}.swatch{width:36px;height:30px;background:var(--swatch);border:2px solid #263244;box-shadow:0 0 0 1px #70808b,inset 2px 2px #fff4;padding:0}.swatch.active{box-shadow:0 0 0 2px #ffdf91,inset 0 0 0 2px #fff5}.swatch span{color:#fff;text-shadow:0 1px 2px #000;font-size:19px}.face-options{display:flex;gap:8px}.choice-chip{font-size:13px;font-weight:800;border:1px solid #6c8090;background:#172638;padding:6px 15px;min-height:34px}.choice-chip.active{background:#716047;border-color:#eac783;color:#ffedb7}.creator-panel>.primary{margin-top:22px}.option-row{display:flex;gap:25px}.armory-panel{position:absolute;right:4%;top:15%;width:49%;max-height:82%;overflow-y:auto;scrollbar-width:thin}.armory-stage{width:42%}.armory-hero{bottom:23%}.hero-nameplate{bottom:21%;font-size:23px}.stat-bar{position:absolute;bottom:2%;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:#1b293eeb;border:2px solid #b29b6d;box-shadow:0 0 0 2px #1b2536;gap:10px;padding:14px 5px}.stat-bar>span{display:flex;align-items:center;flex-direction:column;gap:2px}.stat-bar b{font:700 24px Nunito Sans,monospace;color:#ffe3a9}.stat-bar small{font-size:12px;color:#bdcdce}.stat-bar .pixel-icon{width:28px;height:28px}.gear-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.gear-slot{display:flex;flex-direction:column;align-items:center;gap:7px;min-height:108px;border:1px solid #718591;background:#122337;box-shadow:inset 0 0 0 3px #1f3149;padding:8px}.gear-slot small{font-size:12px;color:#c2ced0}.gear-slot .pixel-icon{width:40px;height:40px}.gear-slot b{font-size:12px;font-weight:800;line-height:1.2;color:#e8d9b6}.gear-slot.active{border-color:#ffd981;box-shadow:inset 0 0 0 2px #a78346,0 0 10px #eeb45b33;background:#333e48}.gear-slot.rare .pixel-icon{filter:drop-shadow(0 0 6px #57c4f46b)}.gear-slot.epic .pixel-icon{filter:drop-shadow(0 0 6px #c389f0c9)}.inventory-heading{display:flex;justify-content:space-between;align-items:center;margin:19px 0 11px}.inventory-heading h2{font:700 19px Cinzel,serif;color:#f3dfa6;margin:0}.inventory-heading>span{font-size:12px;color:#a7bdbd}.inventory-list{display:grid;gap:8px}.inventory-item{display:flex;align-items:center;gap:12px;min-height:68px;text-align:left;padding:9px;border:1px solid #5e7585;background:#1a2a40}.inventory-item.equipped{border-color:#d4b16e;background:#2d3a49}.inventory-item:disabled{opacity:.68}.item-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #738796;background:#132337;flex:none}.item-icon.rare{border-color:#6bc4ea}.item-icon.epic{border-color:#bd8ff0}.inventory-item>span:nth-child(2){flex:1}.inventory-item b{display:block;font-size:14px;color:#e9ddb9}.inventory-item small{display:block;font-size:12px;line-height:1.5;color:#b8c7c9;margin-top:3px}.inventory-item em{font-style:normal;font-size:11px;font-weight:900;color:#edc882;padding:4px}.armory-footer{margin-top:22px}.quiet-note{font-size:13px;line-height:1.6;color:#a3bdc2;text-align:center;margin:16px 0 0}.map-shade{position:absolute;inset:0;background:linear-gradient(#0d1d3977,#14264035 30%,#14243de0);z-index:-1}.dungeon-map{position:absolute;inset:105px 4% 240px}.map-path{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.map-path polyline{fill:none;stroke:#a5b7ba80;stroke-width:1.1;stroke-dasharray:1.5 1.1;vector-effect:non-scaling-stroke;stroke-width:5px}.map-path polyline.completed-path{stroke:#ffc978;stroke-width:5px;stroke-dasharray:none}.room-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%)!important;display:flex;flex-direction:column;align-items:center;background:transparent;border:0;padding:0;min-width:70px;text-shadow:0 2px 3px #152638}.node-art{display:grid;place-items:center;width:64px;height:64px;background:linear-gradient(#27455b,#142c43);border:2px solid #a7c9c8;box-shadow:0 0 0 3px #183149,0 5px #172d40,inset 0 0 0 3px #3c5b70}.node-art .pixel-icon{width:42px;height:42px}.room-node b{font-size:13px;background:#12243cdd;border:1px solid #788e9b;padding:4px 12px;margin-top:6px;color:#e2e8dc;white-space:nowrap}.node-number{position:absolute;top:-9px;left:2px;z-index:1;background:#182b43;color:#d2dde0;width:21px;height:21px;border:1px solid #8ca2ab;font:600 15px Nunito Sans,monospace;display:grid;place-content:center}.room-node.current .node-art{border-color:#ffdf8e;box-shadow:0 0 0 3px #9b753d,0 0 22px #ffd85c80,inset 0 0 0 3px #526663}.room-node.current b{border-color:#e8c06d;color:#ffe29c}.room-node small{position:absolute;top:-29px;font:600 11px Nunito Sans,monospace;color:#ffe593;white-space:nowrap;letter-spacing:1px}.room-node.locked{filter:saturate(.55) brightness(.66)}.room-node.cleared .node-art{border-color:#8acaab;background:#2e5d64}.room-node.boss .node-art{background:#703b5d;border-color:#d287b7}.room-node.boss .node-art .pixel-icon{width:49px;height:49px}.room-detail{position:absolute;bottom:75px;left:7%;right:7%;display:flex;align-items:center;gap:24px;min-height:133px;padding:23px 28px}.room-detail>div:first-child{flex:1}.eyebrow{font:600 13px Nunito Sans,monospace;letter-spacing:2px;color:#d3b77e}.room-detail h2{font:700 26px Cinzel,serif;color:#ffe1a8;margin:6px 0}.room-detail p{font-size:14px;color:#c2d0ce;margin:0;line-height:1.6}.room-detail .primary{width:230px;flex:none}.map-hero-health{display:flex;align-items:center;gap:8px;white-space:nowrap}.map-hero-health b{font:600 25px Nunito Sans,monospace}.map-hero-health small{font-size:16px;color:#afc9c5}.map-footer{position:absolute;bottom:23px;left:7%;right:7%;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#b8ceca}.text-link{border:0;background:transparent;color:#e0c58c;text-decoration:underline;text-underline-offset:4px;font-size:14px;padding:7px}.battle-shade{position:absolute;inset:0;background:linear-gradient(#15244355,transparent 22%,#0b1a3344 46%,#0b1d38a3);z-index:-1}.battle-header{position:absolute;top:0;left:0;right:0;height:67px;display:flex;align-items:center;justify-content:space-between;padding:10px 3%;gap:20px;background:linear-gradient(#132238ed,#13223855);z-index:5}.battle-location{text-align:center}.battle-location small{font:500 11px Nunito Sans,monospace;color:#bdd6e3;letter-spacing:2px}.battle-location h1{font:700 24px Cinzel,serif;margin:3px 0;color:#ffdda4;text-shadow:0 2px #112238}.room-counter{font:600 18px Nunito Sans,monospace;color:#ffe3a9}.room-counter small{font-size:13px;color:#b4cdda}.combat-stage{position:absolute;top:65px;left:50%;transform:translate(-50%);width:calc(var(--board-size) + 160px);height:148px;display:flex;justify-content:space-between}.fighter{position:relative;width:42%;height:100%}.battle-hero,.battle-enemy{width:166px;height:166px;left:50%;transform:translate(-50%);bottom:32px}.battle-enemy{width:172px;height:172px}.fighter-vitals{position:absolute;left:0;right:0;bottom:0;text-shadow:0 2px #121c30}.fighter-vitals>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:5px;white-space:nowrap}.fighter-vitals b{font-size:13px;font-weight:900;color:#f8e5bb}.fighter-vitals span{font:600 16px Nunito Sans,monospace;color:#e7f4e6}.hp-bar{height:11px;background:#152338;border:1px solid #dad39b;box-shadow:0 0 0 2px #122038;overflow:hidden}.hp-bar i{display:block;height:100%;background:linear-gradient(#b1f4a8 0 25%,#6cc97d 26% 65%,#3e9069 66%);transition:width .25s}.hp-bar.enemy i{background:linear-gradient(#ffb3a5 0 25%,#dc6d6a 26% 65%,#99475a 66%)}.enemy-intent,.shield-status{font-size:11px;position:absolute;top:100%;margin-top:5px;color:#d7d3bb}.enemy-intent b{font-size:12px;color:#ffda8f}.enemy-intent em{font-style:normal;color:#cba993}.shield-status{color:#a1e5f4}.battle-versus{position:absolute;top:63px;left:50%;transform:translate(-50%);color:#efd092;text-shadow:0 0 25px #ad93e8;font-size:24px}.board-group{position:absolute;left:50%;transform:translate(-50%);top:241px;width:var(--board-size)}.board-trim{position:relative;background:#132238;border:3px solid #c8a870;padding:6px;box-shadow:0 0 0 3px #192236,0 0 0 4px #8d8664,inset 0 0 0 2px #40566a,0 12px 30px #12223c8c}.board-gem{position:absolute;bottom:-13px;left:50%;transform:translate(-50%);color:#ffe1a3;background:#223347;font-size:20px;line-height:20px;padding:0 9px;text-shadow:0 0 10px #ffcc87}.board-trim:before,.board-trim:after{content:"";position:absolute;inset:-5px auto auto -5px;width:9px;height:9px;background:#f7d68e;border:2px solid #6f6346}.board-trim:after{inset:auto -5px -5px auto}#crystal-board{width:100%;aspect-ratio:1;touch-action:none;position:relative;z-index:3}.battle-hint{text-align:center;font-size:12px;color:#d7e5df;text-shadow:0 2px #17283c;margin:16px -70px 8px;min-height:17px}.piece-tray{display:flex;gap:12px;height:75px}.piece-slot{flex:1;position:relative;min-width:0;border:2px solid #7d97ad;background:linear-gradient(#223b52d9,#142b43e3);box-shadow:inset 0 0 0 2px #31485d,0 4px #14223b80;padding:6px;touch-action:none}.piece-slot.selected{border-color:#ffda87;background:#385464;box-shadow:0 0 14px #75e4da5c,inset 0 0 0 2px #536c73}.piece-slot canvas{width:100%;height:100%;object-fit:contain;pointer-events:none}.piece-slot small{position:absolute;bottom:3px;left:7px;font:600 11px Nunito Sans,monospace;color:#94aebb}.piece-slot.used{opacity:.3;border-style:dashed}.piece-slot.used small{font-size:25px;inset:0;display:grid;place-items:center}.spell-dock{position:absolute;left:calc(50% + var(--board-size) / 2 + 45px);top:350px;display:grid;gap:16px;width:180px}.spell-button{position:relative;overflow:hidden;display:flex;gap:12px;align-items:center;min-height:80px;padding:12px;border:2px solid #7d9cb0;background:#162b45ed;text-align:left;box-shadow:inset 0 0 0 2px #30465d,0 4px #10203a80}.spell-button>.pixel-icon,.spell-button>span:not(.spell-charge){position:relative;z-index:1}.spell-button .pixel-icon{width:40px;height:40px}.spell-button b{display:block;font-size:13px;color:#dfdbc5}.spell-button small{display:block;font:600 17px Nunito Sans,monospace;color:#94cfda;margin-top:5px}.spell-charge{position:absolute;left:0;bottom:0;right:0;background:linear-gradient(#5e8d9660,#65ccd232);pointer-events:none}.spell-button.ready{border-color:#f4da89;box-shadow:0 0 0 2px #967552,0 0 20px #e9c86a35}.spell-button.ready small{color:#ffe693}.spell-button:disabled{filter:saturate(.7)}.power-tip{position:absolute;right:calc(50% + var(--board-size) / 2 + 36px);top:370px;width:173px;text-align:center;color:#c8e0e0}.power-tip .pixel-icon{width:41px;height:41px;filter:drop-shadow(0 0 16px #5ccbfc55);margin-bottom:8px}.power-tip b{display:block;font:600 17px Nunito Sans,monospace;color:#f4dda9}.power-tip small{display:block;font-size:12px;line-height:1.6;margin-top:6px}.battle-help{position:absolute;right:3%;bottom:25px;width:36px;height:36px;font-size:22px}#drag-piece{position:fixed;display:none;z-index:45;image-rendering:auto;pointer-events:none;filter:drop-shadow(0 7px 3px #10233baa);opacity:.92}#combat-toast{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%) scale(.95);z-index:20;text-align:center;pointer-events:none;opacity:0;transition:opacity .12s,transform .12s;padding:20px 40px;background:radial-gradient(#173149e8,transparent 70%);white-space:nowrap}#combat-toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}#combat-toast b{font:700 clamp(27px,3.4vw,45px) "Nunito Sans",monospace;color:#ffdc86;text-shadow:0 3px #5f4332,0 0 5px #11263c;display:block}#combat-toast small{font:600 17px Nunito Sans,monospace;color:#e2faff;display:block;margin-top:8px;text-shadow:0 2px #10283e}.reward-shade{position:absolute;inset:0;background:#111e38ad;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:-1}.reward-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(920px,88vw);max-height:90dvh;overflow-y:auto;text-align:center;padding:30px 36px}.reward-emblem{margin:auto auto 15px;display:grid;place-items:center;width:86px;height:86px;background:radial-gradient(#f2d69744,transparent 70%)}.reward-emblem .pixel-icon{width:78px;height:78px;filter:drop-shadow(0 0 18px #a1dcf077)}.reward-panel h1{font:800 35px Cinzel,serif;color:#ffe5aa;margin:10px 0}.reward-panel>p:not(.eyebrow){font-size:15px;color:#bdd2d1;margin:14px 0 25px}.reward-panel>.game-button{max-width:330px;margin:20px auto 0}.reward-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0 22px}.reward-card{position:relative;padding:26px 18px 16px;min-height:270px;background:linear-gradient(#243f55,#192c45);border:2px solid #82bccd;text-align:center;box-shadow:inset 0 0 0 3px #304b61}.reward-card.epic{border-color:#bd98ec;background:linear-gradient(#4b4163,#272c49)}.reward-card>.pixel-icon{display:block;width:75px;height:75px;margin:14px auto 9px}.rarity-label{position:absolute;top:10px;left:0;right:0;text-align:center;font:600 11px Nunito Sans,monospace;letter-spacing:2px;color:#9ee6f1}.epic .rarity-label{color:#d6b2ff}.reward-card h2{font:700 19px Cinzel,serif;color:#f8dfaa;margin:12px 0}.reward-card p{font-size:13px;line-height:1.65;color:#c4d5d8;margin:0 0 18px;min-height:60px}.take-label{display:block;font:600 17px Nunito Sans,monospace;color:#ffdda2;border-top:1px solid #a1a88a66;padding-top:11px}.reward-note{font-size:12px;color:#91b1b9}.journey-stats{display:flex;justify-content:center;gap:42px;margin:30px auto;color:#adc7cb}.journey-stats span{font-size:13px}.journey-stats b{display:block;font:600 44px Nunito Sans,monospace;color:#ffdda1;margin-bottom:5px}.collection-panel{position:absolute;inset:120px 8% 5%;overflow-y:auto;scrollbar-width:thin}.collection-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.collection-card{display:flex;align-items:center;text-align:center;flex-direction:column;padding:16px 12px;background:#192d43;border:1px solid #57758a;min-height:170px}.collection-card .pixel-icon{width:53px;height:53px;margin-bottom:12px}.collection-card b{font-size:14px;color:#e8d6ab}.collection-card small{font-size:12px;line-height:1.5;color:#abc0c5;margin-top:7px}.collection-card.locked{opacity:.4;filter:saturate(0)}.settings-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-45%);width:min(510px,90vw);max-height:80%;overflow-y:auto}.setting-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:25px;text-align:left;border:1px solid #647987;background:#1a2c42;padding:18px 15px;margin-bottom:15px}.setting-row b{font-size:16px;display:block}.setting-row small{font-size:12px;display:block;margin-top:5px;color:#a9c1c7}.setting-row em{font:600 20px Nunito Sans,monospace;color:#ffda8b;font-style:normal}.settings-panel>.game-button{margin-top:17px}.settings-studio{text-align:center;margin-top:28px;font:600 14px Nunito Sans,monospace;letter-spacing:2px;color:#d5c493}.settings-studio small{font:500 12px Nunito Sans,sans-serif;letter-spacing:0;color:#8baeba;display:block;margin-top:4px}#game-dialog{color:#f1e6c9;max-width:480px;width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;border:2px solid #e0c183;background:linear-gradient(135deg,#293e53,#18283f);box-shadow:0 0 0 4px #19273a,inset 0 0 0 2px #5f6b6e;padding:30px;text-align:center}#game-dialog::backdrop{background:#0d1b32ba;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#game-dialog h2{font:800 29px Cinzel,serif;color:#ffe1a4;margin:12px 0 20px}#game-dialog p{font-size:14px;line-height:1.7;color:#c5d7d7}#game-dialog .game-button{margin-top:16px}#game-dialog .help-list{text-align:left;display:grid;gap:15px}#game-dialog .help-list b{color:#ffe1a1}#game-dialog .help-colors{display:flex;align-items:center;justify-content:center;gap:8px}#game-dialog .help-colors .pixel-icon{width:38px;height:38px}.help-key{font-size:12px!important;color:#8faeba!important}#notice{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:100;background:#193044;color:#ffe4aa;border:1px solid #bea277;padding:12px 20px;box-shadow:0 4px 12px #10223799;font-size:14px;max-width:90vw;text-align:center;pointer-events:none}#notice:empty{display:none}.screen-loading{display:grid;place-items:center;height:100dvh;text-align:center;background:#182a40}.screen-loading h1{font:800 48px Cinzel,serif;color:#ffe19a}.screen-loading p{font:600 18px Nunito Sans,monospace;color:#b8d9dd}@media(min-height:900px)and (min-width:900px){.board-group{top:28dvh}.combat-stage{top:10dvh;height:16dvh}.battle-hero,.battle-enemy{width:210px;height:210px}.spell-dock{top:45dvh}.power-tip{top:46dvh}.piece-tray{height:88px}}@media(max-width:1050px){.spell-dock{width:140px;left:calc(50% + var(--board-size) / 2 + 25px)}.spell-button{gap:8px;padding:9px}.spell-button .pixel-icon{width:32px;height:32px}.power-tip{right:calc(50% + var(--board-size) / 2 + 25px);width:135px}.collection-grid{grid-template-columns:repeat(4,1fr)}.room-detail{gap:16px;padding:20px}.room-detail .primary{width:200px}.room-detail h2{font-size:23px}.map-hero-health{display:none}.creator-panel{padding:20px}.swatches{gap:8px}.hair-option canvas{height:50px}.armory-panel{padding:20px}.gear-slot b{font-size:11px}.game-button{font-size:17px}}@media(max-width:700px),(orientation:portrait){:root{--board-size: min( calc(100vw - 36px) , calc(100dvh - 423px) , 470px)}.screen-header{height:84px;padding:12px 16px;gap:14px}.screen-header h1{font-size:23px}.screen-header p{font-size:11px;margin-top:3px}.screen-header .back-button{width:37px;min-height:36px}.screen-header .round-button{width:36px;height:36px}.screen-header .round-button .pixel-icon{width:23px;height:23px}.pixel-panel{padding:19px}.profile-plaque{top:15px;right:15px;min-width:170px;height:54px;gap:8px;padding:4px 8px 4px 3px}.portrait{width:43px;height:43px}.profile-plaque b{font-size:13px}.profile-plaque small{font-size:10px}.tiny-gem{font-size:23px}.title-lockup{top:11%;left:5%;width:90%}.title-lockup h1{font-size:clamp(61px,12vw,100px)}.title-lockup p{font-size:13px}.logo-crystal{width:55px;height:55px;margin-bottom:-21px}.logo-rule{margin-top:12px}.home-hero{left:7%;top:34%;width:52vw;height:52vw;max-width:310px;max-height:310px}.home-caption{left:8%;bottom:11%}.home-caption span{font-size:15px}.home-caption b{font-size:17px}.home-menu{top:38%;right:6%;width:45%;gap:11px}.home-menu .game-button{min-height:49px;font-size:14px;padding:8px 12px;gap:9px}.home-menu .game-button .pixel-icon{width:25px;height:25px}.home-menu .game-button.large{min-height:62px;font-size:24px}.home-menu .game-button:not(.primary){justify-content:flex-start}.home-progress{bottom:3%;right:4%;font-size:11px;padding:6px 9px;gap:5px}.home-progress b{margin-left:6px}.home-progress .pixel-icon{width:20px;height:20px}.studio-mark{bottom:4%;left:5%;font-size:8px;letter-spacing:1px}.studio-mark>span{display:none}.home-shade{background:linear-gradient(transparent 30%,#1c354322 50%,#172b4799)}.hero-stage,.armory-stage{top:90px;left:0;width:100%;height:230px}.creator-hero,.armory-hero{width:225px;height:225px;bottom:5px;left:50%}.pedestal-label,.hero-nameplate{bottom:0;left:50%;font-size:19px}.pedestal-label b{font-size:21px}.pedestal-label small{display:none}.creator-panel{inset:335px 18px 20px;width:auto;max-height:none;overflow-y:auto;padding:16px}.creator-panel .panel-heading{font-size:16px;margin-bottom:12px;padding-bottom:10px}.creator-panel .option-label{margin-top:14px}.hair-option canvas{height:55px}.hair-option small{font-size:10px}.swatch{width:36px;height:29px}.creator-panel>.primary{min-height:48px;font-size:16px;margin-top:20px}.name-label,.option-label{font-size:13px}.creator-panel input{height:38px;font-size:16px}.armory-stage{height:240px}.armory-hero{left:32%;bottom:22px}.hero-nameplate{left:32%;bottom:8px;font-size:18px}.stat-bar{left:64%;right:16px;bottom:26px;grid-template-columns:repeat(2,1fr);gap:10px;padding:10px 4px}.stat-bar .pixel-icon{width:23px;height:23px}.stat-bar b{font-size:20px}.stat-bar small{font-size:10px}.armory-panel{inset:340px 18px 20px;width:auto;max-height:none;padding:17px}.panel-heading{font-size:17px}.gear-slots{gap:8px}.gear-slot{min-height:94px;gap:4px;padding:7px 4px}.gear-slot .pixel-icon{width:35px;height:35px}.gear-slot small{font-size:11px}.gear-slot b{font-size:10px}.inventory-item{gap:9px;padding:7px}.inventory-item b{font-size:13px}.inventory-item small{font-size:11px}.inventory-item em{font-size:10px}.inventory-list .item-icon{width:40px;height:40px}.armory-footer{margin-top:18px}.dungeon-map{inset:109px 5% 256px}.node-art{width:44px;height:44px;border-width:1px;box-shadow:0 0 0 2px #183149,inset 0 0 0 2px #3c5b70}.node-art .pixel-icon{width:33px;height:33px}.room-node.boss .node-art .pixel-icon{width:38px;height:38px}.room-node{min-width:50px}.room-node b{font-size:10px;margin-top:5px;padding:3px 5px}.node-number{width:16px;height:16px;left:0;top:-7px;font-size:11px}.room-node small{font-size:8px;top:-22px;letter-spacing:0}.map-path polyline{stroke-width:3px}.map-path polyline.completed-path{stroke-width:3px}.room-detail{left:18px;right:18px;bottom:60px;min-height:150px;display:block;padding:17px}.room-detail h2{font-size:21px;margin:4px 0}.room-detail p{font-size:12px;line-height:1.5}.room-detail .primary{width:100%;min-height:46px;font-size:16px;margin-top:16px}.room-detail .eyebrow{font-size:11px}.map-footer{left:20px;right:20px;bottom:14px;font-size:11px}.map-footer .text-link{font-size:12px}.battle-header{height:57px;padding:8px 14px;gap:8px}.battle-header>.round-button{width:34px;height:34px;font-size:21px}.battle-location small{font-size:9px;letter-spacing:1px}.battle-location h1{font-size:16px}.room-counter{font-size:12px}.room-counter small{font-size:10px}.combat-stage{top:73px;width:calc(100% - 30px);max-width:520px;height:132px}.battle-hero,.battle-enemy{width:151px;height:151px;bottom:26px}.fighter{width:43%}.fighter-vitals b{font-size:10px;white-space:nowrap}.fighter-vitals span{font-size:11px}.fighter-vitals>div:first-child{gap:4px;margin-bottom:4px}.hp-bar{height:8px}.enemy-intent,.shield-status{font-size:9px;white-space:nowrap;left:0;margin-top:4px}.enemy-intent b{font-size:10px}.enemy-intent em{display:none}.battle-versus{top:58px;font-size:19px}.board-group{top:238px}.board-trim{padding:4px;border-width:2px;box-shadow:0 0 0 2px #142438,0 0 0 3px #827b64}.battle-hint{font-size:10px;margin:14px -12px 7px;min-height:13px}.piece-tray{gap:9px;height:65px}.piece-slot{padding:5px}.piece-slot small{display:none}.piece-slot.used small{display:grid}.spell-dock{left:50%;transform:translate(-50%);top:calc(238px + var(--board-size) + 112px);display:flex;gap:12px;width:var(--board-size)}.spell-button{min-height:53px;height:53px;flex:1;gap:9px;padding:6px 10px}.spell-button .pixel-icon{width:29px;height:29px}.spell-button b{font-size:11px}.spell-button small{font-size:14px;margin-top:2px}.power-tip{display:none}.battle-help{right:12px;bottom:13px;width:28px;height:28px;font-size:17px}#combat-toast{top:38%;padding:14px 22px}#combat-toast b{font-size:28px}#combat-toast small{font-size:14px}.reward-panel{width:calc(100vw - 34px);padding:22px 18px;max-height:91dvh}.reward-emblem{width:65px;height:65px;margin-bottom:10px}.reward-emblem .pixel-icon{width:62px;height:62px}.reward-panel h1{font-size:25px;margin:8px 0}.reward-panel>p:not(.eyebrow){font-size:13px;margin:12px 0 18px}.reward-choices{grid-template-columns:1fr;gap:12px;margin:20px 0 16px}.reward-card{display:grid;grid-template-columns:60px 1fr;align-items:center;text-align:left;gap:0 14px;padding:20px 14px 12px;min-height:121px}.reward-card>.pixel-icon{width:52px;height:52px;grid-column:1;grid-row:1/4;margin:8px 0}.reward-card h2{font-size:17px;grid-column:2;margin:7px 0}.reward-card p{font-size:11px;line-height:1.5;min-height:0;margin:0 0 7px;grid-column:2}.rarity-label{text-align:left;top:7px;left:89px;font-size:9px}.take-label{font-size:14px;padding-top:5px;grid-column:2}.reward-note{font-size:11px}.journey-stats{gap:25px;margin:25px auto}.journey-stats span{font-size:11px}.journey-stats b{font-size:35px}.collection-panel{inset:108px 18px 20px;padding:17px}.collection-grid{grid-template-columns:repeat(2,1fr);gap:11px}.collection-card{min-height:170px;padding:13px 8px}.collection-card b{font-size:12px}.collection-card small{font-size:11px}.collection-card .pixel-icon{width:43px;height:43px}.settings-panel{padding:22px;max-height:76%}.setting-row{padding:15px 12px;gap:10px}.setting-row b{font-size:14px}.setting-row small{font-size:11px}.settings-panel .panel-heading{font-size:16px}}@media(max-height:740px)and (orientation:portrait){:root{--board-size: min( calc(100vw - 38px) , calc(100dvh - 357px) )}.combat-stage{top:62px;height:102px}.battle-hero,.battle-enemy{width:121px;height:121px;bottom:24px}.battle-versus{top:36px}.board-group{top:195px}.piece-tray{height:57px}.spell-dock{top:calc(195px + var(--board-size) + 102px)}.spell-button{min-height:47px;height:47px}.spell-button .pixel-icon{width:25px;height:25px}.battle-help{bottom:8px}.home-caption{display:none}.home-menu{top:36%;gap:8px}.home-menu .game-button{min-height:43px}.home-menu .game-button.large{min-height:53px}.title-lockup{top:11%}.hero-stage,.armory-stage{height:175px}.creator-hero,.armory-hero{width:170px;height:170px}.creator-panel{top:270px}.armory-panel{top:285px}.stat-bar{bottom:5px;gap:5px}.armory-hero{bottom:8px}.hero-nameplate{bottom:0}.dungeon-map{bottom:246px}}@media(max-height:620px)and (orientation:landscape){:root{--board-size: min( calc(100dvh - 151px) , 43vw)}.home-menu{top:24%;gap:8px}.home-menu .game-button{min-height:41px;font-size:15px;padding:5px 15px}.home-menu .game-button.large{min-height:50px;font-size:22px}.home-menu .pixel-icon{width:25px;height:25px}.profile-plaque{top:12px;height:50px;min-width:195px}.portrait{width:42px;height:42px}.profile-plaque b{font-size:13px}.profile-plaque small{font-size:10px}.title-lockup{top:3%;width:56%}.title-lockup h1{font-size:67px}.logo-crystal{height:48px;width:48px;margin-bottom:-20px}.title-lockup p{font-size:12px}.home-hero{top:34%;height:53vh;width:53vh;left:16%}.home-caption{display:none}.home-progress{bottom:5%;font-size:11px;padding:5px 10px}.studio-mark{bottom:20px;font-size:9px}.screen-header{height:70px}.screen-header h1{font-size:25px}.screen-header p{font-size:12px}.hero-stage,.armory-stage{top:15%;height:81%}.creator-panel,.armory-panel{top:20%;max-height:75%}.creator-hero,.armory-hero{width:53vh;height:53vh}.creator-hero{bottom:17%}.armory-hero{bottom:25%}.pedestal-label{bottom:5%}.stat-bar{padding:8px 3px;bottom:0}.stat-bar .pixel-icon{width:22px;height:22px}.stat-bar b{font-size:19px}.stat-bar small{font-size:10px}.hero-nameplate{bottom:23%;font-size:18px}.dungeon-map{top:78px;bottom:166px}.node-art{width:43px;height:43px}.node-art .pixel-icon{width:31px;height:31px}.room-node b{font-size:10px;margin-top:4px;padding:2px 7px}.room-node small{font-size:9px;top:-23px}.room-detail{bottom:45px;min-height:95px;padding:14px 20px}.room-detail h2{font-size:20px}.room-detail p{font-size:11px}.room-detail .primary{min-height:48px;font-size:15px;width:180px}.map-footer{bottom:8px;font-size:11px}.map-footer .text-link{font-size:11px}.combat-stage{top:65px;left:0;transform:none;width:100%;height:calc(100dvh - 115px)}.fighter{width:23%;margin:0 1%}.battle-hero,.battle-enemy{width:min(25vw,47vh);height:min(25vw,47vh);bottom:62px}.fighter-vitals{bottom:26px;padding:0 8px}.fighter-vitals b{font-size:10px}.fighter-vitals span{font-size:11px}.enemy-intent{font-size:10px;left:8px}.enemy-intent em{display:none}.hp-bar{height:8px}.battle-versus{display:none}.board-group{top:69px}.battle-hint{margin:11px -30px 5px;font-size:10px}.piece-tray{height:47px;gap:8px}.piece-slot small{display:none}.spell-dock{inset:auto 1.5% 16px auto;display:flex;width:22%;gap:8px}.spell-button{flex:1;min-height:48px;height:48px;padding:6px;justify-content:center}.spell-button .pixel-icon{width:27px;height:27px}.spell-button b{display:none}.spell-button small{font-size:12px;margin:0}.spell-button>span:not(.spell-charge){min-width:20px}.power-tip{inset:auto auto 15px 2%;width:20%;display:flex;gap:5px;align-items:center;text-align:left}.power-tip .pixel-icon{width:25px;height:25px;margin:0}.power-tip b{font-size:12px}.power-tip small{font-size:9px;margin-top:2px}.battle-header{height:55px}.battle-location h1{font-size:17px}.battle-location small{font-size:9px}.battle-header .round-button{height:32px;width:32px}.room-counter{font-size:14px}.battle-help{display:none}.reward-panel{padding:20px 26px}.reward-emblem{display:none}.reward-panel h1{font-size:26px}.reward-panel>p:not(.eyebrow){font-size:12px;margin:9px 0}.reward-choices{margin:16px 0}.reward-card{min-height:218px;padding:20px 12px 12px}.reward-card>.pixel-icon{width:47px;height:47px;margin:10px auto}.reward-card h2{font-size:16px}.reward-card p{font-size:11px;min-height:45px;margin-bottom:8px}.collection-panel{top:85px;bottom:16px}.settings-panel{top:53%;max-height:75%}}@media(prefers-reduced-motion:reduce){button,#combat-toast,.hp-bar i{transition:none!important}}.board-trim{background:transparent}.title-lockup p{display:inline-block;padding:5px 13px;background:#183046ba;border-block:1px solid #c6d4bc66}.battle-shade{background:transparent}@media(min-width:701px)and (orientation:landscape)and (min-height:621px)and (max-height:899px){.combat-stage{height:163px}.battle-hero,.battle-enemy{width:128px;height:128px}.board-group{top:256px}}@media(min-width:701px)and (orientation:landscape)and (max-height:820px){.creator-panel .panel-heading{padding-bottom:11px;margin-bottom:13px}.creator-panel .option-label{margin-top:10px;margin-bottom:7px}.creator-panel .hair-option canvas{height:48px}.creator-panel>.primary{margin-top:16px}.creator-panel{padding:20px}.creator-panel .swatch{height:28px}}@media(max-width:700px),(orientation:portrait){.battle-hero,.battle-enemy{width:126px;height:126px}.home-hero{left:3%;width:50vw;height:50vw}}@media(max-height:740px)and (orientation:portrait){.battle-header{height:43px}.battle-location h1{font-size:14px}.battle-location small{font-size:8px}.combat-stage{top:48px;height:115px}.battle-hero,.battle-enemy{width:92px;height:92px;bottom:26px}}@media(min-height:900px)and (min-width:900px)and (orientation:landscape){.board-group{top:32dvh}.combat-stage{top:10dvh;height:20dvh}.battle-hero,.battle-enemy{width:min(18dvh,180px);height:min(18dvh,180px)}}.game-button{border-radius:9px;border:1px solid #c7a466;background:linear-gradient(110deg,#162b43f5,#253a54ed);box-shadow:inset 0 1px #ffe9bb55,inset 0 -4px #06142388,0 5px 15px #030a174f;text-shadow:0 2px 2px #0008}.game-button:before,.game-button:after{display:none}.game-button.primary{background:linear-gradient(155deg,#ffe4a0,#f7be52 55%,#b86c2e);border-color:#fff0b3;text-shadow:0 1px 1px #fff7;box-shadow:inset 0 0 0 3px #d18b3e,inset 0 5px 8px #ffedac,0 5px 22px #0006}.pixel-panel{border:1px solid #b59764;border-radius:14px;background:linear-gradient(135deg,#152840f5,#142034f7);box-shadow:inset 0 1px #f2da8b50,0 15px 65px #02091788}.pixel-panel:before,.pixel-panel:after{display:none}.pixel-icon{image-rendering:auto;filter:drop-shadow(0 2px 3px #0008)}.home-shade{background:linear-gradient(90deg,#1024330a 32%,#08203b30 60%,#0c20395c),linear-gradient(0deg,#07162abf,transparent 42%)}.title-lockup{top:13%;left:7%;width:43%;text-align:center}.title-lockup h1{font-size:clamp(55px,7.2vw,125px);letter-spacing:-5px;text-shadow:0 3px #86592f,0 7px #392b2b,3px 8px 2px #081324,-3px -2px 0 #fff1aa}.title-lockup p{font-family:Nunito Sans,sans-serif;font-weight:900;letter-spacing:3px;border-radius:5px}.logo-crystal{position:absolute;width:90px;height:90px;top:0;left:50%;transform:translate(-50%,-85%);margin:0}.home-hero{left:12%;top:27%;width:min(40vw,42dvh);height:min(40vw,42dvh)}.home-caption{left:7%;bottom:14%;max-width:46%}.home-caption span{font-family:Nunito Sans,sans-serif;font-size:16px;color:#e7f5ee}.home-caption b{font-size:clamp(18px,2.3vw,36px);text-shadow:0 3px 10px #000;line-height:1.3}.home-menu{right:7%;top:26%;width:36%;gap:13px}.mode-label{font-size:12px;font-weight:900;letter-spacing:3px;color:#e3efff;text-shadow:0 2px 8px #041528}.home-menu .mode-button{min-height:95px;display:flex;align-items:center;gap:16px;padding:14px 18px;text-align:left}.home-menu .mode-button>.pixel-icon{width:48px;height:48px;flex:none}.mode-button>span{flex:1;display:flex;flex-direction:column;gap:4px}.mode-button b{font-family:Cinzel,serif;font-size:clamp(23px,2.1vw,34px);line-height:1.05}.mode-button small{font-family:Nunito Sans,sans-serif;font-weight:700;font-size:12px;letter-spacing:0;text-transform:none}.mode-button em{font-style:normal;line-height:1.1;font-family:Cinzel,serif;font-size:31px;text-align:center}.mode-button em small{font-size:9px;letter-spacing:1px}.home-menu .infinite-button{background:linear-gradient(130deg,#403162,#192a4b);border-color:#c3a4f7;color:#f4e8ff}.home-secondary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-secondary .game-button{height:57px;font-size:16px;gap:10px;padding:8px}.home-secondary .game-button .pixel-icon{width:27px;height:27px}.home-progress{right:7%;bottom:8%;left:auto;width:36%;display:flex;gap:17px;justify-content:space-between;border-radius:8px;font-size:12px;padding:12px 15px;background:#0b1b31b3}.home-progress>span{display:flex;flex-direction:column;gap:2px;color:#c5d6e4}.home-progress b{font-size:18px;color:#ffe1a1}.profile-plaque{border-radius:7px;background:#10253cd9}.portrait{border-radius:5px;object-fit:contain}.screen-header{background:linear-gradient(180deg,#101e35e6,#101e3540);border-bottom:1px solid #c7a56d44}.screen-header>div{flex:1;min-width:0}.screen-header>.game-button:last-child:not(.back-button){width:auto;flex:none;min-width:85px;padding:8px 18px;font-size:14px;height:43px}.board-trim{border-radius:9px;box-shadow:0 12px 35px #020814b3,inset 0 0 0 2px #ffe3a144;border:2px solid #cbac72}.piece-slot{border-radius:8px;border-width:1px;background:linear-gradient(145deg,#27415ddb,#11243dee);box-shadow:inset 0 1px #ffe6a350,0 5px 10px #0006}.spell-button{border-radius:9px;border-width:1px}.hp-bar{border-radius:5px;overflow:hidden}.route-shell{position:absolute;left:5%;top:108px;bottom:38px;width:58%;border:1px solid #91b3d454;border-radius:14px;background:linear-gradient(90deg,#07172b8c,#11273b59);overflow:hidden;pointer-events:auto}.route-banner{height:49px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#102439e6;border-bottom:1px solid #b5cdea33;font-size:14px}.route-banner span{color:#b6cce1;font-size:12px}.route-scroll{height:calc(100% - 49px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#aa9b78 #17334b}.branch-map{position:relative;height:1510px;min-width:300px}.branch-lines{position:absolute;inset:0;width:100%;height:1510px;pointer-events:none;overflow:visible}.branch-lines line{stroke:#71829d;stroke-width:2;vector-effect:non-scaling-stroke;opacity:.38;stroke-dasharray:6 7}.branch-lines .traveled{stroke:#62d5d6;opacity:.9;stroke-width:4;stroke-dasharray:none}.branch-lines .open-path{stroke:#e4bc76;opacity:.9;stroke-width:3;stroke-dasharray:5 6}.depth-mark{position:absolute;left:3%;right:3%;height:1px;border-top:1px solid #adc3db15;color:#a8bcd2;font-size:10px;font-weight:900;letter-spacing:2px;pointer-events:none}.depth-mark>span{display:inline-block;margin-right:12px;color:#7894b4;font-size:12px}.branch-map .room-node{position:absolute;transform:translate(-50%,-28px);width:85px;height:94px;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;opacity:1}.branch-map .room-node .node-art{width:62px;height:62px;transform:none;border-radius:50%;background:radial-gradient(circle at 40% 28%,#456c93,#172945 76%);border:2px solid #7487a4;box-shadow:0 6px 16px #0008,inset 0 0 0 3px #08182b80}.branch-map .room-node .node-art .pixel-icon{transform:none;width:39px;height:39px}.branch-map .room-node b{position:static;min-width:72px;transform:none;font-family:Nunito Sans,sans-serif;font-size:12px;padding:2px 7px;border:0;border-radius:5px;background:#101e32d9;line-height:1.2}.branch-map .room-node.current .node-art{border-color:#f6d58a;background:radial-gradient(circle at 35% 20%,#567582,#203656);box-shadow:0 0 16px #ffda7155;animation:none}.branch-map .room-node.selected .node-art{border-color:#fff0ae;box-shadow:0 0 0 5px #e6b4594d,0 0 30px #ffe49d55}.branch-map .room-node.locked{opacity:.58;filter:saturate(.65)}.branch-map .room-node.cleared .node-art{border-color:#79cbb1;background:#184c4b}.branch-map .room-node.rest .node-art{background:radial-gradient(circle,#418860,#152e2f)}.branch-map .room-node.elite .node-art,.branch-map .room-node.boss .node-art{background:radial-gradient(circle,#843c58,#281c3b);border-color:#ce6c88}.branch-map .room-node.boss .node-art{width:67px;height:67px}.route-detail{position:absolute;right:5%;top:50%;transform:translateY(-43%);width:29%;padding:25px;text-align:center}.route-detail h2{font:700 clamp(22px,2.4vw,32px)/1.2 "Cinzel",serif;margin:15px 0 10px}.route-detail p{font-size:15px;line-height:1.6;color:#bacbdc;margin:10px 0 20px}.route-emblem{width:96px;height:96px;margin:16px auto 0;display:grid;place-items:center;background:radial-gradient(circle,#43537588,transparent 70%)}.route-emblem .pixel-icon{width:80px;height:80px}.danger-stats{display:flex;gap:10px;justify-content:center;padding:12px 0;border-top:1px solid #dac58b33;border-bottom:1px solid #dac58b33}.danger-stats span{display:flex;flex:1;flex-direction:column;color:#a5bad1;font-size:11px}.danger-stats b{font-size:24px;color:#ffe5b3}.route-health{display:flex;align-items:center;gap:10px;justify-content:center;padding:18px 0}.route-health .pixel-icon{width:26px;height:26px}.route-health span{font-size:9px;color:#8ca8c1;max-width:35px}.route-detail>.game-button{width:100%;min-height:55px}.route-legend{display:flex;justify-content:center;gap:10px;font-size:10px;color:#a8bed6;margin-top:20px}.route-detail>.quiet-note{display:block;margin:12px 0 0;font-size:11px}.compact-result{max-width:660px}.reward-emblem{border-radius:50%}.reward-card,.gear-slot,.hair-option,.inventory-item{border-radius:8px}.reward-card{background:linear-gradient(150deg,#294564dd,#182b45ed)}@media(min-width:701px)and (max-width:1000px)and (min-height:621px){.route-shell{left:3%;width:94%;top:93px;bottom:222px}.route-banner{height:40px;padding:0 15px;font-size:13px}.route-scroll{height:calc(100% - 40px)}.route-detail{inset:auto 3% 12px;transform:none;width:auto;padding:14px 20px;display:grid;grid-template-columns:1fr 210px;column-gap:24px;text-align:left;min-height:192px}.route-detail>.eyebrow{grid-column:1;font-size:11px}.route-emblem{display:none}.route-detail h2{font-size:24px;margin:6px 0;grid-column:1}.route-detail p{font-size:13px;line-height:1.4;margin:3px 0;grid-column:1}.danger-stats{grid-column:2;grid-row:1/4;align-self:center;padding:8px 0}.route-health{grid-column:1;padding:8px 0;justify-content:start;font-size:13px}.route-detail>.game-button{grid-column:2;grid-row:4;min-height:43px;font-size:14px;padding:8px}.route-legend,.route-detail>.quiet-note{display:none}}@media(max-width:700px),(orientation:portrait){.title-lockup{top:15%;left:3%;width:54%}.title-lockup h1{font-size:clamp(39px,7.6vw,76px);letter-spacing:-3px}.title-lockup p{font-size:9px;letter-spacing:1px;padding:6px}.logo-crystal{width:65px;height:65px;top:-45px}.home-hero{left:3%;top:28%;width:52vw;height:52vw}.home-caption{left:5%;bottom:23%;max-width:48%}.home-caption span{font-size:11px}.home-caption b{font-size:16px}.home-menu{right:4%;top:30%;width:43%;gap:10px}.mode-label{font-size:8px;letter-spacing:1px}.home-menu .mode-button{min-height:85px;height:auto;padding:11px;gap:6px}.home-menu .mode-button>.pixel-icon{width:27px;height:27px}.mode-button b{font-size:18px}.mode-button small{font-size:9px;line-height:1.3}.mode-button em{display:none}.home-secondary{grid-template-columns:1fr;gap:7px}.home-secondary .game-button{height:43px;font-size:13px}.home-secondary .game-button .pixel-icon{width:23px;height:23px}.home-progress{right:4%;bottom:8%;width:92%;padding:11px 15px;font-size:10px}.home-progress b{font-size:16px}.studio-mark{bottom:2.5%}.route-shell{left:3%;width:94%;top:80px;bottom:228px}.route-banner{height:40px;padding:0 12px;font-size:12px}.route-banner span{font-size:10px}.route-scroll{height:calc(100% - 40px)}.route-detail{inset:auto 3% 12px;transform:none;width:auto;padding:12px 14px;display:grid;grid-template-columns:1fr 135px;column-gap:12px;text-align:left;min-height:194px}.route-detail>.eyebrow{grid-column:1;font-size:10px}.route-emblem{display:none}.route-detail h2{font-size:19px;margin:6px 0;grid-column:1}.route-detail p{font-size:12px;line-height:1.35;margin:3px 0;grid-column:1}.danger-stats{grid-column:2;grid-row:1/4;align-self:center;padding:8px 0}.danger-stats b{font-size:20px}.danger-stats span{font-size:9px}.route-health{grid-column:1;padding:8px 0;justify-content:start;font-size:12px}.route-detail>.game-button{grid-column:2;grid-row:4;min-height:42px;font-size:12px;padding:7px}.route-detail>.game-button .pixel-icon{width:20px;height:20px}.route-legend,.route-detail>.quiet-note{display:none}}@media(max-height:720px)and (orientation:portrait){.home-menu{top:24%}.home-menu .mode-button{min-height:74px;padding:8px}.home-secondary .game-button{height:37px}.home-caption{bottom:24%}.home-progress{bottom:7%}.route-shell{top:63px;bottom:216px}.route-detail{min-height:186px}.route-detail h2{font-size:17px}}@media(max-height:620px)and (orientation:landscape){.title-lockup{top:17%;width:44%}.title-lockup h1{font-size:65px}.title-lockup p{font-size:10px}.logo-crystal{width:70px;height:70px;top:-47px}.home-menu{top:12%;width:38%;right:5%;gap:8px}.home-menu .mode-button{min-height:63px;padding:8px 12px}.mode-button b{font-size:22px}.mode-button small{font-size:10px}.home-menu .mode-button>.pixel-icon{width:34px;height:34px}.home-secondary .game-button{height:39px;font-size:13px}.home-progress{width:38%;right:5%;bottom:5%;padding:6px 12px;font-size:9px}.home-progress b{font-size:13px}.home-caption{bottom:12%}.home-caption b{font-size:20px}.home-hero{width:55dvh;height:55dvh;left:16%}.profile-plaque{display:none}.studio-mark{bottom:3%;font-size:9px}.route-shell{top:66px;bottom:14px;left:3%;width:56%}.route-detail{right:3%;width:35%;top:58%;padding:13px;transform:translateY(-50%)}.route-emblem,.route-legend,.route-detail>.quiet-note{display:none}.route-detail h2{font-size:22px;margin:8px 0}.route-detail p{font-size:12px;line-height:1.4;margin:7px 0}.route-health{padding:8px 0}.route-detail>.game-button{min-height:42px}.danger-stats{padding:6px}.danger-stats b{font-size:18px}}@media(max-width:1000px)and (min-height:621px){.screen-map .screen-header{height:81px}.screen-map .screen-header h1{font-size:clamp(16px,2.8vw,25px);white-space:nowrap;letter-spacing:-.5px}.screen-map .screen-header p{font-size:10px}.screen-map .route-shell{top:92px}}@media(max-width:700px),(orientation:portrait){.screen-battle .battle-help{display:none}}@media(max-height:620px)and (orientation:landscape){.screen-battle .spell-dock{bottom:4px}}.screen-battle .battle-layout{--board-size: min(55dvh, calc(100vw - 460px) , calc(100dvh - 340px) , 560px);position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) var(--board-size) minmax(0,1fr);grid-template-rows:56px 140px 28px minmax(0,1fr);grid-template-areas:"header header header" ". duel ." ". feedback ." "power puzzle spells";padding-bottom:12px}.screen-battle .battle-header{grid-area:header;position:relative;inset:auto;height:56px;padding:6px 3%;gap:12px}.screen-battle .battle-location h1{font-size:clamp(15px,2vw,24px)}.screen-battle .combat-stage{grid-area:duel;position:relative;inset:auto;transform:none;width:calc(100% + 100px);height:100%;justify-self:center}.screen-battle .fighter{width:43%;height:100%}.screen-battle .battle-hero,.screen-battle .battle-enemy{inset:auto auto 52px 50%;width:95px;height:95px;transform:translate(-50%)}.screen-battle .fighter-vitals{inset:auto 0 0;height:48px}.screen-battle .fighter-vitals>div:first-child{margin-bottom:4px}.screen-battle .fighter-vitals b{font-size:12px}.screen-battle .fighter-vitals span{font-size:14px}.screen-battle .enemy-intent,.screen-battle .shield-status{position:static;display:block;margin-top:5px;font-size:10px;white-space:nowrap}.screen-battle .battle-versus{top:63px}.screen-battle .board-group{grid-area:puzzle;position:relative;inset:auto;transform:none;width:100%;align-self:start}.screen-battle .board-trim{padding:4px;border-width:2px}.screen-battle .board-gem{display:none}.screen-battle .battle-hint{margin:5px 0;min-height:16px;height:16px;font-size:11px;line-height:16px;white-space:nowrap}.screen-battle .piece-tray{height:64px;gap:10px}.screen-battle .piece-slot{padding:5px}.screen-battle .spell-dock{grid-area:spells;transform:none;position:relative;inset:auto;width:min(180px,calc(100% - 42px));margin:22px 0 0 28px;align-self:start;gap:12px}.screen-battle .spell-button{min-height:76px;padding:10px;gap:9px}.screen-battle .power-tip{grid-area:power;position:relative;inset:auto;width:min(173px,calc(100% - 42px));margin:45px 28px 0 0;justify-self:end;align-self:start}.screen-battle .battle-help{top:10px;right:12px;bottom:auto;display:none}.screen-battle #combat-toast,.screen-battle #combat-toast.show{grid-area:feedback;position:relative;inset:auto;transform:none;align-self:center;width:100%;height:26px;line-height:26px;padding:0 3px;background:none;text-shadow:0 2px 4px #081323;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;z-index:auto}.screen-battle #combat-toast b,.screen-battle #combat-toast small{display:inline;font:800 12px/26px Nunito Sans,sans-serif;letter-spacing:0}.screen-battle #combat-toast small:before{content:" · "}.screen-battle #combat-toast small:empty{display:none}body:has(.screen-battle) #notice{display:none}@media(max-width:1000px),(orientation:portrait){.screen-battle .battle-layout{--duel-height: clamp(120px, 20dvh, 160px);--board-size: min( calc(100vw - 28px) , calc(100dvh - var(--duel-height) - 240px), 470px);grid-template-columns:minmax(0,1fr) var(--board-size) minmax(0,1fr);grid-template-rows:50px var(--duel-height) 28px min-content 60px;grid-template-areas:"header header header" ". duel ." ". feedback ." ". puzzle ." ". spells ."}.screen-battle .battle-header{height:50px}.screen-battle .battle-location small{font-size:8px;letter-spacing:1px}.screen-battle .battle-location h1{font-size:clamp(13px,3.5vw,20px);margin:2px 0}.screen-battle .room-counter{font-size:11px;white-space:nowrap}.screen-battle .room-counter small{font-size:9px}.screen-battle .combat-stage{width:100%}.screen-battle .fighter{width:46%}.screen-battle .battle-hero,.screen-battle .battle-enemy{width:calc(var(--duel-height) - 50px);height:calc(var(--duel-height) - 50px);bottom:48px}.screen-battle .fighter-vitals b{font-size:10px}.screen-battle .fighter-vitals span{font-size:11px}.screen-battle .enemy-intent{font-size:9px}.screen-battle .enemy-intent em{display:none}.screen-battle .battle-versus{top:30px;font-size:19px}.screen-battle .spell-dock{width:100%;margin:8px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.screen-battle .spell-button{min-height:48px;height:48px;padding:5px 8px}.screen-battle .spell-button .pixel-icon{width:32px;height:32px}.screen-battle .spell-button b{display:block;font-size:11px}.screen-battle .spell-button small{font-size:11px;margin-top:2px}.screen-battle .power-tip{display:none}}@media(max-height:620px)and (orientation:landscape){.screen-battle .battle-layout{--board-size: min( calc(100dvh - 148px) , 43vw, 460px);grid-template-columns:minmax(0,1fr) var(--board-size) minmax(0,1fr);grid-template-rows:44px 26px minmax(0,1fr) 62px;grid-template-areas:"header header header" ". feedback ." "hero puzzle enemy" "spellleft puzzle spellright";padding:0 16px 8px;column-gap:20px}.screen-battle .battle-header{height:44px;padding:3px 0}.screen-battle .combat-stage,.screen-battle .spell-dock{display:contents}.screen-battle .hero-fighter{grid-area:hero}.screen-battle .enemy-fighter{grid-area:enemy}.screen-battle .fighter{width:100%;height:min(100%,195px);align-self:center}.screen-battle .battle-hero,.screen-battle .battle-enemy{width:min(24vw,36dvh);height:min(24vw,36dvh);bottom:50px}.screen-battle .battle-versus{display:none}.screen-battle .fighter-vitals{height:46px}.screen-battle .enemy-intent em{display:inline}.screen-battle .spell-button:first-child{grid-area:spellleft}.screen-battle .spell-button:last-child{grid-area:spellright}.screen-battle .spell-button{width:100%;height:48px;align-self:end}.screen-battle .board-group{align-self:start}.screen-battle .piece-tray{height:52px;gap:7px}.screen-battle .battle-hint{height:14px;min-height:14px;line-height:14px;margin:3px 0;font-size:9px}}.title-lockup .brand-title{margin:0;line-height:0;letter-spacing:0;filter:drop-shadow(0 7px 4px #10203b75)}.brand-title img{display:block;width:100%;height:auto;max-width:72dvh;margin:0 auto}.title-lockup{top:3%}.title-lockup p{margin-top:2px;font-size:clamp(9px,1.2vw,15px)}.game-button{border:2px solid #bc9456;border-radius:5px 13px;background:linear-gradient(105deg,#1a3551,#15233bdc 65%,#2c4157);box-shadow:inset 0 0 0 2px #0c192a,inset 0 0 0 3px #9d865044,0 4px #091629b3,0 7px 20px #04101f66;transition:filter .15s,transform .15s,box-shadow .15s}.game-button:hover:not(:disabled){filter:brightness(1.16);transform:translateY(-2px)}.game-button:active:not(:disabled){transform:translateY(1px)}.game-button.primary{color:#3a261d;border:2px solid #ffdf83;background:linear-gradient(110deg,#f7d88b,#ffe6a0 40%,#e9af46);box-shadow:inset 0 0 0 2px #8b5125,inset 0 0 0 4px #efc775,inset 0 -7px #bb7b303d,0 4px #513723,0 8px 20px #05152280}.game-button .pixel-icon{width:32px;height:32px;flex:none}.home-secondary .game-button .pixel-icon{width:35px;height:35px}.home-menu .mode-button>.pixel-icon{width:58px;height:58px}.round-button,.choice-chip{border-radius:6px;border-color:#c3a268;box-shadow:inset 0 0 0 2px #112033,0 3px 8px #06122270}.round-button .pixel-icon,.back-button .pixel-icon{width:28px;height:28px}.spell-button.ready{background:linear-gradient(125deg,#365875,#213251);border-color:#ffe09a}@media(max-width:700px),(orientation:portrait){.title-lockup{top:13%;left:4%;width:53%}.home-menu .mode-button>.pixel-icon{width:32px;height:32px}.home-secondary .game-button .pixel-icon{width:27px;height:27px}}@media(max-height:620px)and (orientation:landscape){.title-lockup{top:3%}.home-hero{width:40dvh;height:40dvh}.home-menu .mode-button>.pixel-icon{width:39px;height:39px}.home-secondary .game-button .pixel-icon{width:27px;height:27px}}.screen-battle .board-trim{background:transparent;box-shadow:0 8px 28px #020911a0,inset 0 0 0 1px #aac7d250;transition:box-shadow .15s}.screen-battle .board-trim.will-break{box-shadow:0 0 0 1px #b8ffff,0 0 26px #5febed65,inset 0 0 10px #afffff70}.screen-battle .piece-slot{background:linear-gradient(145deg,#233b52,#0d1b2e);border:1px solid #607892;border-radius:9px;box-shadow:inset 0 1px #b8dcec38,0 4px 8px #01081170;transition:transform .13s,background .13s,box-shadow .13s}.screen-battle .piece-slot:not(:disabled):hover{background:linear-gradient(145deg,#365976,#142e44);transform:translateY(-3px)}.screen-battle .piece-slot.selected{border-color:#c3ffff;background:linear-gradient(145deg,#325971,#17384b);box-shadow:0 0 13px #66f3ff70,inset 0 0 0 1px #b5ffff;transform:translateY(-3px)}.screen-battle .piece-slot.used{opacity:.35;box-shadow:inset 0 2px 12px #020b18}.screen-battle .piece-slot canvas{filter:drop-shadow(0 3px 2px #010916aa)}.screen-battle .battle-hint{color:#c9e7f1;font-weight:700;letter-spacing:.15px}#drag-piece{z-index:100;pointer-events:none;opacity:.96;filter:drop-shadow(0 9px 4px #01091490) drop-shadow(0 0 5px #d4ffff66);transform:scale(1.045);transform-origin:center}#drag-piece.landing{opacity:.48}#drag-piece.invalid{filter:drop-shadow(0 6px 4px #01091490) sepia(.35) saturate(.65);opacity:.75}@media(prefers-reduced-motion:reduce){.screen-battle .piece-slot{transition:none}.screen-battle .piece-slot.selected,.screen-battle .piece-slot:not(:disabled):hover{transform:none}}.piece-slot.arrive{animation:piece-arrival .25s cubic-bezier(.2,.7,.2,1) both}.piece-slot.arrive:nth-child(2){animation-delay:.04s}.piece-slot.arrive:nth-child(3){animation-delay:.08s}@keyframes piece-arrival{0%{opacity:0;transform:translateY(7px) scale(.92)}to{opacity:1;transform:none}}body.reduced-motion .piece-slot{animation:none;transition:none}body.reduced-motion .piece-slot.selected,body.reduced-motion .piece-slot:hover{transform:none}.title-lockup .brand-title{aspect-ratio:3.65;overflow:hidden;border:1px solid #baa37980;border-radius:8px;background:#10253b;box-shadow:0 7px 16px #08152177,inset 0 0 0 3px #071627}.brand-title img{width:100%;height:100%;max-width:none;object-fit:cover}.screen-home .title-lockup{top:10%}.screen-battle .battle-hint{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.screen-battle .piece-tray{margin-top:12px}.screen-battle .power-tip{display:none}.screen-battle #combat-toast,.screen-battle #combat-toast.show{grid-area:power;justify-self:end;align-self:start;width:min(190px,calc(100% - 34px));height:auto;margin:24px 22px 0 0;padding:12px;white-space:normal;text-align:left;line-height:1.4;border-left:3px solid #d9bb76;background:linear-gradient(90deg,#102237ed,#10223755)}.screen-battle #combat-toast b,.screen-battle #combat-toast small{display:block;font:700 14px/1.4 Nunito Sans,sans-serif}.screen-battle #combat-toast small{margin-top:3px;font-size:12px}#notice{inset:86px 16px auto auto;transform:none;width:max-content;max-width:min(290px,calc(100vw - 32px));text-align:left;border:0;border-left:3px solid #d9bb76;padding:10px 14px;border-radius:3px}.reward-sidebar{max-height:calc(100dvh - 130px);overflow:auto}.reward-sidebar h2{font-size:25px}.side-reward-choices{display:grid;gap:10px;margin-top:16px}.side-reward{display:flex;align-items:center;gap:12px;width:100%;padding:14px 10px;background:#132b40;border:1px solid #9c855c;border-radius:7px;color:#f2e4c9;text-align:left;cursor:pointer}.side-reward:hover,.side-reward:focus-visible{border-color:#ffe5a0;background:#25445e;outline:2px solid #f1cd82;outline-offset:2px}.side-reward>.pixel-icon{width:50px;height:50px;flex:none}.side-reward b,.side-reward small,.side-reward em{display:block}.side-reward b{font:700 16px/1.2 Nunito Sans,sans-serif}.side-reward small{margin-top:5px;color:#bfced7;font:13px/1.35 Nunito Sans,sans-serif}.side-reward em{margin-top:6px;color:#efd28d;font:700 11px/1.2 Nunito Sans,sans-serif;text-transform:uppercase;font-style:normal}@media(max-width:1000px),(orientation:portrait){.screen-home .title-lockup{top:15%}.screen-battle #combat-toast,.screen-battle #combat-toast.show{grid-area:feedback;justify-self:end;align-self:center;width:max-content;max-width:100%;height:26px;margin:0;padding:0 8px;white-space:nowrap;border-left-width:2px}.screen-battle #combat-toast b,.screen-battle #combat-toast small{display:inline;font-size:11px;line-height:26px}.screen-battle #combat-toast small:not(:empty):before{content:" · "}.screen-reward:has(.reward-sidebar) .route-shell{inset:90px auto 12px 3%;width:37%}.screen-reward:has(.reward-sidebar) .route-banner{padding:0 10px;font-size:12px}.screen-reward:has(.reward-sidebar) .route-banner span{display:none}.screen-reward .reward-sidebar{display:block;inset:90px 3% auto auto;transform:none;width:54%;max-height:calc(100dvh - 108px);padding:14px}.reward-sidebar h2{font-size:20px}.reward-sidebar>p{display:block;margin:8px 0;font-size:13px}.side-reward{gap:7px;padding:12px 8px}.side-reward>.pixel-icon{width:34px;height:34px}.side-reward b{font-size:14px}.side-reward small{font-size:12px}.side-reward-choices{gap:8px}}@media(max-height:620px)and (orientation:landscape){.screen-home .title-lockup{top:6%}.screen-battle #combat-toast,.screen-battle #combat-toast.show{grid-area:feedback;margin:0;padding:0 8px;height:26px;width:max-content;max-width:100%}.screen-battle #combat-toast b,.screen-battle #combat-toast small{display:inline;font-size:11px;line-height:26px}.screen-battle .piece-tray{margin-top:8px}.reward-sidebar{top:76px;transform:none;max-height:calc(100dvh - 88px);padding:12px}.side-reward{padding:8px}.side-reward-choices{margin-top:8px;gap:6px}}.music-volume-row{display:grid;gap:12px;padding:12px 4px 20px;color:#d3dfeb;font-size:14px}.music-volume-row>span{display:flex;justify-content:space-between}.music-volume-row output{color:#efd39b}.music-volume-row input{width:100%;accent-color:#e8bc66;cursor:pointer}.build-strip{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0;color:#f3d499;font-size:12px}.build-strip span{padding:6px 9px;border:1px solid #766447;background:#14273de8;border-radius:5px}.comparison{display:flex;gap:9px;flex-wrap:wrap;color:#afc8dd;font-size:11px;margin-top:5px}.comparison .gain{color:#93e9a2}.comparison .loss{color:#ffb7aa}.rpg-journal{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.rpg-journal article{flex:1;min-width:120px;border:1px solid #675a49;background:#12263f;padding:12px;border-radius:8px}.rpg-journal article b{display:block;color:#f4d99e;margin-bottom:5px}.rpg-journal article small{color:#adbfce;line-height:1.5}.event-choices{display:grid;gap:12px;margin:18px 0}.event-choices .game-button{white-space:normal;min-height:54px}.reward-sidebar .discovery-label{color:#d5a0ff;letter-spacing:2px}.reward-sidebar .xp-gain{color:#99eab3;font-size:12px;margin-bottom:10px}.screen-armory .hero-nameplate{display:grid;gap:5px}.screen-armory .hero-nameplate small{font:12px sans-serif;color:#c6daed}.screen-armory .inventory-item{min-height:88px}.screen-armory .inventory-item>span:nth-child(2){flex:1;min-width:0}.screen-armory .inventory-item small{line-height:1.35}.screen-armory .inventory-list{min-height:95px}.screen-home .profile-plaque small{font-size:11px}.route-detail .rpg-route-note{padding:10px;border-left:2px solid #ad8cf3;background:#23324b8f;color:#d5c4ed;font-size:12px}.rpg-result-hero{width:110px;height:120px;object-fit:contain;display:block;margin:0 auto -8px}.screen-reward .reward-panel:has(.rpg-result-hero){max-width:760px;padding:24px 30px}.screen-reward .reward-panel:has(.rpg-result-hero) .reward-emblem{display:none}.screen-reward .reward-panel:has(.rpg-result-hero) .eyebrow{margin:0 0 4px}.screen-reward .reward-panel:has(.rpg-result-hero) h1{margin:12px 0}.screen-reward .reward-panel:has(.rpg-result-hero) .build-strip{justify-content:center}.screen-reward .reward-panel:has(.rpg-result-hero) .journey-stats{margin:18px 0}@media(max-width:600px){.rpg-journal article{min-width:110px}.comparison{gap:6px}.screen-armory .inventory-item{padding:8px}.build-strip{font-size:10px;gap:5px}}.fullscreen-toggle{position:fixed;z-index:70;right:14px;top:10px;width:40px;height:40px;padding:8px;color:#f6dc9f;background:#152c43e8;cursor:pointer}.fullscreen-toggle svg{width:100%;height:100%;display:block;stroke:currentColor;fill:none;stroke-width:2}.screen-home .profile-plaque{right:74px}.screen-header{padding-right:72px}.screen-battle .battle-layout{--duel-height:42dvh;--board-size:min( calc(58dvh - 88px) , calc(100vw - 440px) , 500px);grid-template-columns:minmax(12px,1fr) 156px var(--board-size) 156px minmax(12px,1fr);grid-template-rows:56px var(--duel-height) minmax(0,1fr);grid-template-areas:"header header header header header" "duel duel duel duel duel" ". spells puzzle puzzle .";column-gap:24px;row-gap:0;padding:0 0 14px}.screen-battle .battle-header{padding:6px 76px 6px 24px}.screen-battle .combat-stage{display:flex;width:min(920px,90vw);height:100%;align-self:start;justify-self:center}.screen-battle .fighter{width:35%;height:100%;align-self:auto}.screen-battle .battle-hero,.screen-battle .battle-enemy{width:min(calc(var(--duel-height) - 72px),30vw);height:min(calc(var(--duel-height) - 72px),30vw);bottom:72px}.screen-battle .fighter-vitals{height:64px;padding:8px 12px 0;border-top:1px solid #cfb37466;border-radius:8px;background:linear-gradient(#0b1c30ed,#0b1c3033)}.screen-battle .fighter-vitals b,.screen-battle .fighter-vitals span{font-size:14px}.screen-battle .enemy-intent,.screen-battle .shield-status{font-size:12px;margin-top:6px}.screen-battle .enemy-intent b{font-size:12px}.screen-battle .enemy-intent em{display:inline;font-size:11px}.screen-battle .battle-versus{top:40%;opacity:.7}.screen-battle .combat-stage[data-action-phase=windup] .enemy-intent{color:#ffe6ae;text-shadow:0 0 12px #ffb642}.screen-battle .combat-stage[data-action-phase=strike] .enemy-vitals{border-top-color:#ffe9c0}.screen-battle .board-group{display:grid;grid-template-columns:var(--board-size) 156px;gap:24px;width:100%;padding-top:14px;align-items:start}.screen-battle .piece-tray{height:var(--board-size);margin:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:12px}.screen-battle .piece-slot{min-height:0;padding:8px 16px}.screen-battle .spell-dock{display:grid;grid-template-columns:1fr;position:relative;inset:auto;width:100%;margin:14px 0 0;gap:12px;align-self:start}.screen-battle .spell-button{width:100%;min-height:86px;height:auto;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 6px}.screen-battle .spell-button .pixel-icon{width:38px;height:38px}.screen-battle .spell-button b{font-size:14px}.screen-battle .spell-button small{font-size:12px}.screen-battle #combat-toast,.screen-battle #combat-toast.show{grid-area:duel;align-self:center;justify-self:center;width:max-content;max-width:26vw;padding:8px;margin:0;text-align:center;background:#0d1d326b;border:0;border-radius:8px;height:auto;white-space:normal}.screen-battle #combat-toast:not(.show){visibility:hidden}.screen-battle #combat-toast b,.screen-battle #combat-toast small{display:block;line-height:1.4;font-size:12px}.screen-battle #combat-toast small:before{content:none}@media(max-width:700px),(orientation:portrait){.fullscreen-toggle{width:34px;height:34px;right:8px;top:8px;padding:6px}.screen-battle .battle-layout{--duel-height:min(45dvh, calc(100dvh - 440px) );--board-size:min( calc(100vw - 116px) ,calc(100dvh - var(--duel-height) - 132px),470px);grid-template-columns:minmax(8px,1fr) var(--board-size) 76px minmax(8px,1fr);grid-template-rows:50px var(--duel-height) min-content 64px;grid-template-areas:"header header header header" "duel duel duel duel" ". puzzle puzzle ." ". spells spells .";column-gap:8px;padding-bottom:8px}.screen-battle .battle-header{padding:4px 50px 4px 10px;gap:8px}.screen-battle .battle-location h1{font-size:14px}.screen-battle .battle-location small{font-size:8px}.screen-battle .battle-location{min-width:0;flex:1}.screen-battle .battle-location small{letter-spacing:.3px}.screen-battle .room-counter{font-size:10px}.screen-battle .room-counter small{display:block;font-size:9px}.screen-battle .combat-stage{width:calc(100vw - 24px)}.screen-battle .fighter{width:46%}.screen-battle .battle-hero,.screen-battle .battle-enemy{width:min(calc(var(--duel-height) - 72px),43vw);height:min(calc(var(--duel-height) - 72px),43vw)}.screen-battle .fighter-vitals{padding:8px 5px 0}.screen-battle .fighter-vitals b,.screen-battle .fighter-vitals span{font-size:11px}.screen-battle .enemy-intent,.screen-battle .enemy-intent b{font-size:10px}.screen-battle .enemy-intent em{display:none}.screen-battle .board-group{grid-template-columns:var(--board-size) 76px;gap:8px;padding-top:12px}.screen-battle .piece-tray{gap:8px}.screen-battle .piece-slot{padding:5px}.screen-battle .spell-dock{display:grid;grid-template-columns:1fr 1fr;margin:10px 0 0;gap:8px}.screen-battle .spell-button{flex-direction:row;min-height:50px;height:50px;padding:5px;gap:6px}.screen-battle .spell-button .pixel-icon{width:30px;height:30px}.screen-battle .spell-button b{font-size:12px}.screen-battle #combat-toast,.screen-battle #combat-toast.show{align-self:start;max-width:70vw;margin-top:4px;padding:4px 8px}}@media(max-height:620px)and (orientation:landscape){.screen-battle .battle-layout{--duel-height: calc(100dvh - 116px) ;--board-size:min( calc(100dvh - 68px) , calc(58vw - 116px) );grid-template-columns:40vw var(--board-size) 64px minmax(0,1fr);grid-template-rows:42px minmax(0,1fr) 66px;grid-template-areas:"header header header header" "duel puzzle puzzle ." "spells puzzle puzzle .";column-gap:12px;padding:0 12px 8px}.screen-battle .battle-header{height:42px;padding-top:3px;padding-bottom:3px}.screen-battle .combat-stage{display:flex;width:100%}.screen-battle .fighter{width:46%;height:100%}.screen-battle .battle-hero,.screen-battle .battle-enemy{width:min(20vw,calc(var(--duel-height) - 50px));height:min(20vw,calc(var(--duel-height) - 50px));bottom:50px}.screen-battle .fighter-vitals{height:48px;padding:4px 8px 0}.screen-battle .fighter-vitals b,.screen-battle .fighter-vitals span{font-size:11px}.screen-battle .enemy-intent,.screen-battle .enemy-intent b{font-size:10px;margin-top:4px}.screen-battle .enemy-intent em{display:none}.screen-battle .board-group{grid-template-columns:var(--board-size) 64px;gap:12px;padding-top:8px}.screen-battle .piece-tray{height:var(--board-size);gap:5px}.screen-battle .piece-slot{padding:3px}.screen-battle .spell-dock{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.screen-battle .spell-button{grid-area:auto!important;min-height:50px;height:50px;flex-direction:row;padding:5px;gap:5px;align-self:auto}.screen-battle .spell-button .pixel-icon{width:28px;height:28px}.screen-battle .spell-button b{font-size:11px}}
