.boss-combat-layer{position:absolute;z-index:19;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgb(4 5 8 / 68%),transparent 25%)}.boss-combat-layer .combat-dialogue-panel,.boss-combat-layer button{pointer-events:auto}.boss-support-layer{z-index:24;overflow:hidden;background:transparent}.boss-support-visual{position:absolute;z-index:1;top:clamp(42px,9vh,96px);right:clamp(24px,5vw,84px);width:min(39vw,550px);pointer-events:none}.boss-support-visual img{display:block;width:100%;height:auto;max-height:38vh;object-fit:contain;object-position:right top;will-change:transform}.boss-support-visual img.is-entering{transform:translate3d(115%,0,0);transition:transform .35s cubic-bezier(.16,1,.3,1)}.boss-support-visual img.is-entering.is-active{transform:translateZ(0)}.boss-support-visual img.is-exiting{animation:boss-support-exit .35s cubic-bezier(.7,0,.84,0) both}.boss-support-layer .combat-dialogue-panel{z-index:2}@keyframes boss-support-exit{0%{transform:translateZ(0)}to{transform:translate3d(115%,0,0)}}.boss-combat-hud{position:absolute;top:max(1rem,env(safe-area-inset-top));left:max(1.5rem,env(safe-area-inset-left));padding:.65rem .85rem;border-left:3px solid #d7b65f;color:#f4ead1;background:linear-gradient(90deg,rgb(9 11 16 / 88%),transparent)}.boss-combat-hud h1{margin:.3rem 0 0;font-size:clamp(1.4rem,4vw,2.2rem);text-shadow:0 2px 10px #000}.boss-combat-hud small{color:#b9b3a7}.boss-dodge-panel{display:grid;gap:.75rem}.boss-dodge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.boss-dodge-button{display:grid;min-height:3.5rem;place-items:center;gap:.15rem}.boss-dodge-button.is-selected{outline:3px solid #ffe27a;outline-offset:2px}.boss-dodge-button.is-attack{color:#fff;background:#a72f2f}.boss-dodge-button.is-survive{color:#fff;background:#171717}.boss-dodge-button.is-heal{color:#fff;background:#267a42}@media(max-width:680px){.boss-dodge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ending-sequence-screen,.ending-credits{position:fixed;z-index:1000;inset:0;overflow:hidden;color:#fff;background:#000}.ending-sequence-screen[data-phase=CORE_BREAK_IN]{animation:ending-fade-in .4s ease-in-out both}.ending-fullscreen-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}.ending-core-image{position:absolute;top:50%;left:50%;width:min(82vw,1100px);max-height:82vh;object-fit:contain;transform:translate(-50%,-50%)}.is-fading-in{animation:ending-fade-in .4s ease-in-out both}.is-fading-out{animation:ending-fade-out .4s ease-in-out both}@keyframes ending-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ending-fade-out{0%{opacity:1}to{opacity:0}}.ending-story-dialogue{animation:ending-fade-in .4s ease-in-out both}.ending-credits{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ending-credits-left{position:relative;overflow:hidden;border-right:1px solid rgb(255 255 255 / 12%);background:radial-gradient(circle at 50% 45%,#171522,#020203 72%)}.ending-credits-track{position:absolute;top:0;right:0;left:0;padding:0 clamp(24px,6vw,96px);text-align:center;will-change:transform}.ending-credit-section{display:grid;min-height:74vh;place-content:center;gap:18px;padding:8vh 0}.ending-credit-section h1,.ending-credit-section h2,.ending-credit-section h3,.ending-credit-section p{margin:0}.ending-credit-section h1{color:#f2d58a;font-size:clamp(2rem,4.4vw,4.8rem);letter-spacing:.08em}.ending-credit-section h2{color:#e8c56f;font-size:clamp(1.45rem,3vw,2.8rem);letter-spacing:.05em}.ending-credit-section h3{font-size:clamp(1.15rem,2.2vw,2rem)}.ending-credit-section p,.ending-credit-section strong{font-size:clamp(.95rem,1.7vw,1.35rem);line-height:1.8}.ending-credit-section strong{color:#fff3ca}.ending-credit-section.is-final{min-height:100vh}.ending-credits-right{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 50%,#201b2a,#050506 70%)}.ending-credits-right img{position:absolute;inset:5% 4%;width:92%;height:90%;object-fit:contain;opacity:0;transition:opacity .18s linear}@media(max-width:720px){.ending-credits{grid-template-columns:55% 45%}.ending-credits-track{padding-inline:18px}}:root{color:#f3ead7;background:#12141b;font-family:Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}button{min-height:46px;padding:.75rem 1.2rem;border:1px solid rgba(244,216,153,.58);border-radius:.6rem;color:#fff8e8;background:#3d2d23e6;font:inherit;font-weight:700;cursor:pointer;transition:transform .14s ease,background .14s ease}button:hover{transform:translateY(-2px);background:#5c412bf2}button:focus-visible{outline:3px solid #f4c96b;outline-offset:3px}.game-screen,.error-screen{display:grid;min-height:100vh;place-items:center;padding:1.5rem;overflow:hidden}.title-screen{position:relative;display:block;width:100%;height:100svh;min-height:360px;padding:0;overflow:visible;background-color:#071d24}.title-background{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;-webkit-user-select:none;user-select:none;pointer-events:none}.title-settings-button{position:absolute;z-index:2;top:clamp(.75rem,2vw,1.5rem);right:clamp(.75rem,2vw,1.5rem);min-width:5.5rem;background:#231c17d1;box-shadow:0 .35rem 1rem #00000059;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.title-debug-floor-jump{position:absolute;z-index:6;top:10px;left:10px;display:grid;gap:4px;justify-items:start}.title-debug-toggle{padding:3px 6px;border:1px solid rgba(255,255,255,.45);border-radius:3px;background:#0009;color:#ddd;font-size:9px}.title-debug-panel{display:grid;gap:3px;padding:5px;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:#000000c7}.title-debug-panel button{min-width:74px;padding:4px 6px;border:1px solid rgba(255,255,255,.25);background:#272727;color:#eee;font-size:11px;text-align:left}.title-primary-controls{position:absolute;z-index:2;right:50%;bottom:max(1.25rem,env(safe-area-inset-bottom));width:min(34rem,calc(100% - 2rem));transform:translate(50%);text-align:center}.title-unit-label{margin:0 0 clamp(.45rem,1.2vh,.75rem);color:#fff4d6;font-size:clamp(.72rem,1.35vw,.92rem);font-weight:700;letter-spacing:.06em;text-shadow:0 2px 3px rgba(0,0,0,.95),0 0 8px rgba(0,0,0,.75)}.title-primary-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.6rem,1.5vw,1rem)}.title-primary-buttons button{width:100%;min-height:clamp(2.8rem,6vh,3.4rem);padding:.65rem 1rem;border-color:#ffde90c7;color:#fff8e8;background:linear-gradient(180deg,#5e422af0,#34241bf5);box-shadow:0 .35rem #18100ddb,0 .7rem 1.4rem #0000006b;text-shadow:0 2px 2px rgba(0,0,0,.85)}.title-primary-buttons button:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.58}@media(max-width:520px),(max-height:520px){.title-settings-button{min-width:auto;min-height:2.35rem;padding:.45rem .8rem}.title-primary-controls{bottom:max(.75rem,env(safe-area-inset-bottom))}}@media(max-width:420px){.title-primary-buttons{gap:.5rem}.title-primary-buttons button{padding-inline:.5rem;font-size:.88rem}}.base-camp-screen{position:relative;display:block;width:100%;height:100svh;min-height:360px;padding:0;background:#162738}.base-camp-viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;background:#70b9eb}.base-camp-world-transform{position:absolute;top:0;left:0;width:1672px;height:941px;transform-origin:0 0;will-change:transform}.base-camp-world,.base-camp-layer{position:absolute;top:0;left:0}.base-camp-world{position:absolute;top:0;left:0;width:1672px;height:941px;overflow:hidden;transform-origin:0 0;image-rendering:pixelated;image-rendering:crisp-edges}.base-camp-layer{width:1672px;height:941px}.base-camp-layer img{position:absolute;top:0;left:0;display:block;width:1672px;height:941px;max-width:none;visibility:visible;opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;image-rendering:pixelated;image-rendering:crisp-edges}.npc-layer{pointer-events:none}.base-camp-npc-art-container,.base-camp-npc-interaction{position:absolute;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;transform:none;transform-origin:center bottom;pointer-events:auto}.base-camp-npc-art-container{pointer-events:none}.base-camp-npc-art-container.is-selected{filter:brightness(1.08) drop-shadow(0 0 3px #fff4b2) drop-shadow(0 0 8px rgba(255,211,78,.9))}.base-camp-npc-art-container.is-interaction-highlighted{filter:drop-shadow(1px 0 0 rgba(255,255,255,.98)) drop-shadow(-1px 0 0 rgba(255,255,255,.98)) drop-shadow(0 1px 0 rgba(255,255,255,.98)) drop-shadow(0 -1px 0 rgba(255,255,255,.98)) drop-shadow(1px 1px 0 rgba(255,255,255,.92)) drop-shadow(-1px 1px 0 rgba(255,255,255,.92)) drop-shadow(1px -1px 0 rgba(255,255,255,.92)) drop-shadow(-1px -1px 0 rgba(255,255,255,.92))}.base-camp-npc-interaction{z-index:1;appearance:none;-webkit-appearance:none;color:inherit;background-color:transparent}.base-camp-npc-interaction:hover,.base-camp-npc-interaction:focus-visible,.base-camp-npc-interaction.is-selected{transform:none;border:0;background:transparent;box-shadow:none}.base-camp-npc-interaction:focus-visible{outline:none}.base-camp-npc-interaction:disabled{cursor:default;opacity:1}.base-camp-npc-art,.base-camp-npc-art img,.base-camp-npc-blink{position:absolute;inset:0;display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}.base-camp-npc-art{overflow:hidden;pointer-events:none}.base-camp-npc-art img{object-fit:fill}.base-camp-npc-blink{background-repeat:no-repeat;opacity:0;transform-origin:top left}.base-camp-npc-blink.is-visible{opacity:1}.base-camp-npc-name-tag{position:absolute;top:-3.65rem;left:50%;display:grid;min-width:max-content;gap:.08rem;padding:0;border:0;border-radius:0;color:#fff5d5;background:transparent;box-shadow:none;outline:none;line-height:1.25;text-align:center;text-shadow:-1px -1px 0 rgba(0,0,0,.9),1px -1px 0 rgba(0,0,0,.9),-1px 1px 0 rgba(0,0,0,.9),1px 1px 0 rgba(0,0,0,.9);transform:translate(-50%);pointer-events:none}.base-camp-npc-name-tag small{color:#e6c873;font-size:.64rem;font-weight:600}.base-camp-npc-name-tag strong{font-size:.9rem;letter-spacing:.02em}.base-camp-npc-quest-marker{position:absolute;top:-7.6rem;left:50%;display:grid;width:3rem;height:3.4rem;place-items:center;padding:0;border:0;color:#ffd84d;background:transparent;box-shadow:none;font-size:2.8rem;font-weight:1000;line-height:1;text-shadow:-1px -1px 0 rgba(0,0,0,.95),1px -1px 0 rgba(0,0,0,.95),-1px 1px 0 rgba(0,0,0,.95),1px 1px 0 rgba(0,0,0,.95),0 2px 4px rgba(0,0,0,.75);transform:translate(-50%);animation:npc-quest-marker-float 1.6s ease-in-out infinite alternate;pointer-events:none}.base-camp-npc-quest-marker.is-readyToComplete{color:#7de8ff}@keyframes npc-quest-marker-float{0%{transform:translate(-50%,1px)}to{transform:translate(-50%,-2px)}}.interaction-layer{pointer-events:none}.base-camp-interaction-region{pointer-events:auto}.dungeon-entrance-button-layer{pointer-events:none}.dungeon-entrance-highlight-crop{position:absolute;transition:filter .12s ease}.dungeon-entrance-highlight-viewport{position:absolute;inset:0;overflow:hidden}.dungeon-entrance-highlight-viewport img{position:absolute;display:block;max-width:none}.dungeon-entrance-button-layer.is-highlighted .dungeon-entrance-highlight-crop{filter:drop-shadow(1px 0 0 rgba(255,255,255,.95)) drop-shadow(-1px 0 0 rgba(255,255,255,.95)) drop-shadow(0 1px 0 rgba(255,255,255,.95)) drop-shadow(0 -1px 0 rgba(255,255,255,.95)) drop-shadow(1px 1px 0 rgba(255,255,255,.95)) drop-shadow(-1px 1px 0 rgba(255,255,255,.95)) drop-shadow(1px -1px 0 rgba(255,255,255,.95)) drop-shadow(-1px -1px 0 rgba(255,255,255,.95))}.dungeon-entrance-button{position:absolute;min-height:0;padding:0;border:0;border-radius:0;appearance:none;-webkit-appearance:none;color:#fff5d5;background:transparent;box-shadow:none;transform:none;pointer-events:auto}.dungeon-entrance-button:hover,.dungeon-entrance-button:focus-visible,.dungeon-entrance-button.is-selected{border:0;background:transparent;box-shadow:none;outline:none;transform:none}.dungeon-entrance-button:disabled{cursor:default;opacity:1;pointer-events:none}.dungeon-entrance-label{position:absolute;top:-1.7rem;left:50%;width:max-content;padding:0;border:0;color:#fff5d5;background:transparent;box-shadow:none;font-size:.9rem;font-weight:800;line-height:1.2;text-shadow:-1px -1px 0 rgba(0,0,0,.9),1px -1px 0 rgba(0,0,0,.9),-1px 1px 0 rgba(0,0,0,.9),1px 1px 0 rgba(0,0,0,.9);transform:translate(-50%);pointer-events:none}.base-camp-interaction-region.region-questNpc01{visibility:hidden;pointer-events:none}.highlight-layer{pointer-events:none}.base-camp-target-highlight{position:absolute;border:6px solid rgba(255,235,116,.96);border-radius:1rem;box-shadow:0 0 0 5px #53340c80,0 0 28px 12px #ffdc4fad,inset 0 0 24px #ffef8747;animation:base-camp-highlight-pulse .9s ease-in-out infinite alternate;pointer-events:none}.base-camp-layer-debug{position:absolute;top:72px;left:12px;display:grid;gap:2px;padding:.4rem .5rem;color:#eaf8ff;background:#050f18c2;font-size:11px;line-height:1.2;pointer-events:none}.base-camp-interaction-region{position:absolute;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.base-camp-interaction-region:hover,.base-camp-interaction-region.is-selected{transform:none;border:0;background:transparent;box-shadow:none}.base-camp-interaction-region:disabled{visibility:hidden}.base-camp-dev-marker{position:absolute;display:grid;width:max-content;padding:.35rem .5rem;border:2px dashed #fff09a;color:#fff7c8;background:#14171cc7;font-size:.72rem;line-height:1.1;transform:translate(-50%,-50%)}.base-camp-dev-marker small{margin-top:.15rem;color:#ffd64f;font-size:.66rem}.base-camp-highlight-label{position:absolute;top:455px;left:836px;padding:.45rem .65rem;border:2px solid #fff0a3;color:#fff8d6;background:#101217c7;font-size:.75rem;font-weight:800;transform:translate(-50%)}.base-camp-focus-preview{position:absolute;z-index:65;width:22px;height:22px;border:3px solid #52f7ff;border-radius:50%;box-shadow:0 0 0 3px #02161bb8,0 0 18px #52f7ff;pointer-events:none;transform:translate(-50%,-50%)}.base-camp-focus-preview:before,.base-camp-focus-preview:after{position:absolute;content:"";background:#52f7ff}.base-camp-focus-preview:before{top:8px;left:-10px;width:36px;height:2px}.base-camp-focus-preview:after{top:-10px;left:8px;width:2px;height:36px}.base-camp-focus-dev-tool{position:absolute;top:5.5rem;right:max(.75rem,env(safe-area-inset-right));z-index:80;width:min(390px,calc(100% - 1.5rem));max-height:calc(100% - 11rem);overflow:auto;padding:.65rem;border:1px solid rgba(82,247,255,.72);color:#e9fdff;background:#040d13e6;box-shadow:0 8px 28px #0000006b;font:11px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace}.base-camp-focus-dev-tool>strong{display:block;margin-bottom:.5rem;color:#52f7ff}.base-camp-focus-dev-grid{display:grid;grid-template-columns:7.5rem 1fr;gap:.15rem .5rem}.base-camp-focus-dev-grid span{color:#9bbbc2}.base-camp-focus-dev-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.6rem}.base-camp-focus-dev-fields label{display:grid;gap:.15rem;color:#9bbbc2}.base-camp-focus-dev-fields input,.base-camp-focus-dev-tool textarea{min-width:0;padding:.3rem;border:1px solid #43636b;color:#fff;background:#0c2028;font:inherit}.base-camp-focus-dev-buttons{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.55rem}.base-camp-focus-dev-buttons button{min-height:28px;padding:.25rem .4rem;border-radius:.25rem;font-size:10px}.base-camp-focus-copy-status{display:block;margin-top:.45rem;color:#ffe57a}.base-camp-focus-dev-tool textarea{width:100%;min-height:8rem;margin-top:.4rem;resize:vertical}.base-camp-hud,.base-camp-dev-controls,.base-camp-zoom-controls{position:absolute;z-index:20;border:1px dashed rgba(255,231,147,.66);color:#fff4cc;background:#0a0f14c2;box-shadow:0 6px 22px #0000003d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.base-camp-hud{top:max(.75rem,env(safe-area-inset-top));left:max(.75rem,env(safe-area-inset-left));padding:.65rem .75rem}.base-camp-dev-status{display:flex;gap:.65rem;margin-top:.3rem;font-size:.68rem}.base-camp-dev-controls{right:max(.75rem,env(safe-area-inset-right));bottom:max(.75rem,env(safe-area-inset-bottom));max-width:min(38rem,calc(100% - 1.5rem));padding:.55rem}.base-camp-dev-controls>span,.base-camp-zoom-controls>span{display:block;margin-bottom:.35rem;color:#ffdb62;font-size:.62rem;font-weight:800;letter-spacing:.08em}.base-camp-dev-controls>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.base-camp-dev-controls>div+div{margin-top:.35rem}.base-camp-dev-controls button,.base-camp-zoom-controls button{min-height:32px;padding:.35rem .55rem;border-radius:.3rem;font-size:.68rem}.base-camp-zoom-controls{top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));display:grid;grid-template-columns:auto auto auto;align-items:center;gap:.35rem;padding:.45rem .55rem}.base-camp-zoom-controls>span{grid-column:1 / -1}.base-camp-zoom-controls output{min-width:2.8rem;text-align:center;font-size:.72rem;font-weight:800}.dungeon-screen{position:relative;display:block;padding:0;background:#090b10}.dungeon-minimap{position:absolute;z-index:18;top:max(16px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));width:clamp(142px,17vw,190px);padding:7px;border:3px solid #c9a96e;border-radius:8px;color:#f8efdc;background:#111114e6;box-shadow:4px 5px #00000073;pointer-events:none}.dungeon-minimap-title{padding:1px 4px 5px;color:#e9c978;font-size:.68rem;font-weight:900;letter-spacing:.18em}.dungeon-minimap svg{display:block;width:100%;aspect-ratio:1;border:1px solid rgba(233,201,120,.35);background:#05070ab3}.dungeon-minimap-connections line{stroke:#756b5e;stroke-width:3;stroke-linecap:square}.dungeon-minimap-room rect{fill:#34343b;stroke:#77716a;stroke-width:2}.dungeon-minimap-room.is-resolved rect{fill:#d9c38f;stroke:#fff0bd}.dungeon-minimap-room.is-current rect{fill:#5fd5e8;stroke:#e8fdff;stroke-width:3}.dungeon-minimap-room.is-current{filter:drop-shadow(0 0 5px #71e8fa)}.dungeon-minimap-room.is-final rect{fill:#8f6737;stroke:#ffd36e}.dungeon-minimap-room.is-final.is-locked{opacity:.52;filter:grayscale(.7)}.dungeon-minimap-room text{fill:#fff4c4;font-size:9px;font-weight:900}@media(max-width:720px),(max-height:560px){.dungeon-minimap{width:124px;top:10px;right:10px}}.dungeon-scene{width:100%;height:100vh}.dungeon-scene canvas{display:block;width:100%;height:100%}.dungeon-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(1rem,3vw,2rem);pointer-events:none;background:linear-gradient(to bottom,rgba(4,5,8,.68),transparent 25%,transparent 72%,rgba(4,5,8,.34))}.dungeon-overlay h1{margin:.3rem 0 0;font-size:clamp(1.4rem,4vw,2.2rem);text-shadow:0 2px 10px #000}.dungeon-navigation{pointer-events:auto}.dungeon-controls{display:flex;flex-direction:column;gap:.75rem;align-items:center;pointer-events:auto}.combat-hud{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.monster-status-hud{min-width:10rem;padding:.65rem .85rem;border-left:3px solid #d7b65f;background:linear-gradient(90deg,rgba(9,11,16,.88),transparent)}.monster-status-hud small{color:#b9b3a7;font-size:.68rem}.player-hp-track{flex:1 1 auto;height:.8rem;overflow:hidden;border:2px solid #17130e;background:#302b29;box-shadow:inset 0 1px 3px #050505}.player-hp-fill{height:100%;background:linear-gradient(to bottom,#ef765b 0 35%,#b83535 36% 100%);box-shadow:inset 0 0 0 1px #ffc2994d;transition:width .22s ease-out}.combat-message{max-width:62ch;margin:0;color:#fff2ca;font-size:clamp(1rem,2.2vw,1.25rem);line-height:1.55}.developer-combat-controls{display:grid;gap:.4rem;padding:.55rem;border-top:1px dashed rgba(233,201,120,.35);border-right:0;border-bottom:0;border-left:0;border-radius:.5rem;background:#090b10c7;text-align:center}.developer-combat-controls>summary{color:#e9c978;font-size:.68rem;font-weight:800;cursor:pointer}.developer-combat-controls button{min-height:34px;padding:.35rem .55rem;font-size:.68rem}.combat-floating-text{position:absolute;top:43%;left:50%;z-index:8;color:#fff3af;font-size:clamp(2rem,7vw,4rem);text-shadow:0 3px 0 #4b2b16,0 0 18px rgba(255,219,105,.8);pointer-events:none;transform:translate(-50%,-50%);animation:combat-text-pop .3s ease-out both}.combat-floating-text.is-miss{color:#e8edf4;text-shadow:0 3px 0 #252d39,0 0 16px rgba(202,217,236,.7)}.combat-floating-text.is-critical{color:#ffe27a;font-size:clamp(1.7rem,5vw,3.5rem);text-shadow:0 3px 0 #6b3600,0 0 12px rgb(255 197 61 / 75%);animation:combat-critical-pop .48s cubic-bezier(.2,.9,.25,1.25) both}.combat-floating-text.is--7{top:28%;color:#ff8a80;text-shadow:0 3px 0 #591e1e,0 0 18px rgba(255,72,72,.76)}.combat-floating-text.is-heal{top:28%;color:#8ff0a4;text-shadow:0 3px 0 #174d2a,0 0 18px rgba(77,224,126,.72)}.combat-damage-flash{position:absolute;inset:0;z-index:7;background:#ff483838;opacity:0;pointer-events:none;transition:opacity 80ms linear}.combat-damage-flash.is-active{opacity:1}.combat-critical-accent{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 38%,rgb(255 213 91 / 18%),transparent 28%),linear-gradient(115deg,transparent 42%,rgb(255 226 128 / 16%) 49%,transparent 56%)}.combat-critical-accent.is-active{animation:combat-critical-accent .43s ease-out both}.dungeon-screen.is-critical-impact .dungeon-scene{animation:combat-critical-shake .26s ease-out both}.monster-stun-indicator{position:absolute;z-index:21;top:18%;left:50%;display:grid;justify-items:center;gap:.15rem;color:#ffe27a;text-shadow:0 2px 0 #603600,0 0 7px rgb(255 211 85 / 65%);transform:translate(-50%);pointer-events:none;animation:monster-stun-bob .7s ease-in-out infinite alternate}.monster-stun-indicator strong{padding:.12rem .45rem;border:2px solid #ffe27a;background:#291807db;font-size:.75rem}.combat-dialogue-panel{position:absolute;z-index:20;right:max(10%,env(safe-area-inset-right));bottom:max(2.2vh,env(safe-area-inset-bottom));left:max(10%,env(safe-area-inset-left));display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(80%,980px);min-height:clamp(8.5rem,20vh,11.5rem);max-height:36vh;margin-inline:auto;overflow:hidden;border:2px solid #9a7d3e;border-radius:.35rem;color:#f4ead1;background:linear-gradient(145deg,#221f1df7,#0a0d12f7);box-shadow:inset 0 0 0 2px #0a0805e6,0 16px 46px #0000008c}.combat-dialogue-panel.is-question,.combat-dialogue-panel.is-review{height:min(68vh,44rem);max-height:calc(100svh - 4rem)}.combat-dialogue-panel.is-question:has(.question-header-prompt.has-quote),.combat-dialogue-panel.is-review:has(.question-header-prompt.has-quote){height:min(72vh,47rem);max-height:calc(100svh - 4rem)}.combat-dialogue-panel.is-review{height:min(68vh,44rem)}.combat-dialogue-label{width:fit-content;margin:0 0 -1px .8rem;padding:.3rem .75rem;border-right:1px solid rgba(233,201,120,.4);border-bottom:1px solid rgba(233,201,120,.4);border-left:1px solid rgba(233,201,120,.4);color:#e9c978;background:#191716;font-size:.66rem;font-weight:900;letter-spacing:.18em}.combat-dialogue-content{min-height:0;overflow:hidden;padding:clamp(.8rem,2vw,1.2rem)}.combat-dialogue-status{min-width:0;border-top:1px solid rgba(233,201,120,.35);background:linear-gradient(90deg,#26211bfa,#090b10fa)}.combat-status-bar{display:grid;grid-template-columns:auto minmax(12rem,1fr) auto;align-items:center;min-height:2.65rem;gap:clamp(.65rem,2vw,1.25rem);padding:.42rem clamp(.7rem,2vw,1rem);color:#f4ead1;font-size:.74rem;font-weight:800}.combat-status-bar.player-status-bar{grid-template-columns:minmax(12rem,1fr) auto}.player-status-bar:not(:has(.combat-status-question)){grid-template-columns:minmax(12rem,1fr)}.dungeon-movement-status{width:min(100%,52rem);margin-top:.75rem;border:1px solid rgba(233,201,120,.35);border-radius:.35rem;background:#0c0e13eb}.combat-status-gold{padding-right:.8rem;border-right:1px solid rgba(233,201,120,.3);color:#f3d577;white-space:nowrap}.utility-button-row{position:fixed;top:max(18px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));z-index:35;display:flex;gap:12px}.inventory-open-button,.achievement-open-button{position:relative;width:58px;height:58px;padding:8px;border:3px solid #21180f;outline:2px solid #d2ad64;background:linear-gradient(#4d3a24,#251a11);color:#fff0c7;font:700 15px/1.2 inherit;text-shadow:2px 2px #000;box-shadow:0 4px #120c08}.inventory-open-button>img,.achievement-open-button>img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.achievement-open-button>img{filter:brightness(0) invert(1)}.dungeon-floor-intro{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#02030547;pointer-events:all;animation:dungeon-floor-intro-curtain 3.2s ease-in-out both}.dungeon-floor-intro-title{display:grid;justify-items:center;gap:.7rem;width:min(88vw,760px);color:#ffe3a1;text-align:center;text-shadow:0 3px 0 #3b2109,0 0 18px rgba(255,195,75,.7)}.dungeon-floor-intro-title h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5.8vw,4.7rem);letter-spacing:.11em}.dungeon-floor-intro-title p{margin:0;color:#f8d787;font-size:clamp(.95rem,2.25vw,1.45rem);font-weight:900;letter-spacing:.14em}.dungeon-floor-intro-title>span{width:100%;height:2px;background:linear-gradient(90deg,transparent,#d9a848 20%,#fff0b2 50%,#d9a848 80%,transparent);box-shadow:0 0 8px #ffd268a6}@keyframes dungeon-floor-intro-curtain{0%{opacity:0}18.75%,81.25%{opacity:1}to{opacity:0}}.achievement-backdrop{z-index:100}.achievement-popup{width:min(92vw,820px);max-height:min(86vh,680px);overflow:hidden;border:4px solid #271b12;outline:3px solid #c89e58;background:linear-gradient(#493a32,#29221f);color:#f7ead6;box-shadow:0 12px #00000073}.achievement-popup-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:3px solid #1e1713;background:linear-gradient(#5b493c,#3e322c)}.achievement-popup-header h2{margin:2px 0 0;color:#ffe3a1}.achievement-close-button{display:grid;place-items:center;width:42px;height:42px;padding:0 0 3px;border:2px solid #21160f;background:#805139;color:#fff;font-size:1.6rem;line-height:1;text-align:center}.achievement-list{display:grid;gap:8px;max-height:min(58vh,470px);padding:12px;overflow-y:auto}.achievement-card{display:grid;grid-template-columns:54px minmax(0,1fr) 92px 112px;align-items:center;gap:12px;min-height:112px;padding:12px;border:2px solid #211a16;background:linear-gradient(90deg,#463b35,#362e2a);box-shadow:inset 0 1px #ffffff17}.achievement-card.is-received{opacity:.8}.achievement-floor-medal{display:grid;place-items:center;width:48px;height:48px;border:3px solid #6d4b23;border-radius:50%;background:radial-gradient(circle,#f5d27b,#a36d25 70%);color:#fff4c8;font-size:1.25rem;text-shadow:1px 2px #6d4518}.achievement-card-copy{display:grid;gap:5px}.achievement-card-copy small{color:#cdbda8}.achievement-card-copy strong{color:#fff4df;font-size:1rem}.achievement-card-copy span{color:#d7c9b8;font-size:.78rem}.achievement-card-copy b{color:#9bcf8b;font-size:.8rem}.achievement-card-copy b.is-ready{color:#69e583}.achievement-reward{display:grid;justify-items:center;gap:5px;font-size:.68rem;color:#e8c779}.achievement-reward img{width:54px;height:54px;padding:3px;object-fit:contain;border:2px solid #b38342;background:#241e20;image-rendering:pixelated}.achievement-reward-unknown{display:grid;place-items:center;width:56px;height:56px;border:2px solid rgba(232,199,121,.55);border-radius:8px;background:#0f0d0ab8;color:#e8c779;font-family:"Press Start 2P",monospace;font-size:1.65rem;line-height:1}.achievement-card-action{display:grid;gap:8px;text-align:center}.achievement-state{color:#e2cfb2;font-size:.75rem;font-weight:900}.achievement-card-action button,.achievement-popup footer button{min-height:40px;border:2px solid #2a180e;background:linear-gradient(#a46742,#6e3f29);color:#fff2d8;font-weight:900}.achievement-card-action button:disabled{opacity:.48;filter:grayscale(1)}.achievement-popup footer{display:flex;justify-content:center;padding:12px 20px 16px;border-top:2px solid #1f1814}.achievement-popup footer button{min-width:128px}@media(max-width:640px){.achievement-card{grid-template-columns:44px minmax(0,1fr) 74px}.achievement-card-action{grid-column:2 / -1;grid-template-columns:1fr 100px;align-items:center}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pixel-popup-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px;background:#070503b8}.pixel-rpg-popup{width:min(620px,94vw);max-height:min(760px,88vh);display:flex;flex-direction:column;color:#302214;background:#e7d2a0;border:6px solid #2a1b10;outline:3px solid #b98b4d;box-shadow:inset 0 0 0 3px #6e4d2c,0 12px #00000059}.pixel-rpg-popup>header{position:relative;padding:18px 58px 12px 22px;border-bottom:4px double #6e4d2c;background:linear-gradient(#f0dfb5,#d7bb7f)}.pixel-rpg-popup header p,.pixel-rpg-popup header h2{margin:0}.pixel-rpg-popup header button{position:absolute;top:12px;right:14px;width:38px;height:38px;border:3px solid #3c2918;background:#8c5b32;color:#fff1cf;font-size:24px}.pixel-rpg-popup header .pixel-popup-close-button{display:grid;place-items:center;padding:0 0 3px;line-height:1;text-align:center}.inventory-scroll{overflow:auto;padding:14px;min-height:292px}.inventory-grid{display:grid;grid-template-columns:repeat(8,56px);grid-auto-rows:56px;gap:6px;width:max-content;min-width:100%;align-content:start}.inventory-slot{position:relative;display:grid;place-items:center;width:56px;height:56px;padding:3px;color:#2b1c10;border:2px solid #765330;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%),#d6bd88;box-shadow:inset 0 0 0 2px #4d311b33;touch-action:manipulation;-webkit-touch-callout:none}.inventory-slot.is-empty{opacity:.62;background:#c4aa74}.inventory-slot:focus-visible{outline:3px solid #fff0b0;outline-offset:-4px}.item-icon{display:grid;place-items:center;width:54px;height:54px}.item-icon-image{display:block;width:48px;height:48px;object-fit:contain;image-rendering:pixelated;pointer-events:none}.inventory-equipped-mark,.inventory-stack-count{position:absolute;z-index:1;color:#fff7d9;background:#1d140ce0;text-shadow:1px 1px #000}.inventory-equipped-mark{top:2px;left:3px;min-width:17px;color:#b9ff9f;font-size:14px;line-height:17px}.inventory-stack-count{right:3px;bottom:2px;padding:0 3px;font-size:13px;line-height:17px}.item-tooltip-overlay{position:fixed;z-index:120;width:max-content;max-width:320px;padding:9px 12px;color:#fff0cf;background:#24180f;border:2px solid #d0a45e;box-shadow:3px 3px #000;pointer-events:none;transform:translateY(-100%)}.rarity-uncommon{box-shadow:inset 0 0 0 3px #4a8060}.inventory-gold{display:flex;justify-content:flex-end;align-items:baseline;gap:10px;padding:10px 18px;border-top:3px solid #765330;background:#d3b679}.inventory-gold span{font-size:11px;letter-spacing:.12em}.inventory-gold strong{font-size:16px}.shop-products{overflow-y:auto;padding:14px}.shop-products article{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:12px;padding:13px;margin-bottom:11px;border:3px solid #765330;background:#f3e4bc}.shop-products .item-icon-image{width:50px;height:50px}.shop-products article p{margin:4px 0;font-size:13px}.shop-products article button{min-width:76px;padding:10px;border:3px solid #382514;background:#76502d;color:#fff0cf}.shop-products article button:disabled{filter:grayscale(1);opacity:.55}.shop-message{min-height:20px;margin:0;padding:8px 18px;color:#4d311b}.empty-popup-message{text-align:center;padding:60px 12px}.combat-item-panel .item-icon-image{width:42px;height:42px;margin:0 auto 3px}.player-name-body{display:grid;gap:12px;padding:24px}.player-name-body input{padding:14px;border:3px solid #765330;background:#fff4d4;color:#2b1c10;font:700 18px inherit}.player-name-body small{text-align:right}.quest-reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px}.quest-reward-grid article{display:grid;justify-items:center;gap:8px;padding:16px;border:3px solid #765330;background:#f3e4bc;text-align:center}.quest-reward-grid article.is-locked{filter:grayscale(1);opacity:.7}.reward-icon{display:grid;place-items:center;width:58px;height:58px;border:2px solid #765330;background:#d3b679}.reward-icon .item-icon-image{width:50px;height:50px}.reward-condition-failed{color:#b51f19!important;font-weight:900}.quest-reward-actions{display:flex;justify-content:center;gap:12px;padding:16px 20px 20px}.quest-reward-actions button{min-width:120px;padding:11px 16px;border:3px solid #382514;background:#76502d;color:#fff0cf}.quest-reward-actions button:disabled{filter:grayscale(1);opacity:.55}.quest-story-overlay{position:fixed;inset:0;z-index:140;background:#000}.quest-story-overlay .story-player{min-height:100%}@media(max-width:600px){.quest-reward-grid{grid-template-columns:1fr}.pixel-rpg-popup{max-height:92vh}.shop-products article{grid-template-columns:46px 1fr}.shop-products article button{grid-column:2}}.combat-status-hp,.combat-status-question{display:flex;align-items:center;min-width:0;gap:.55rem}.combat-status-hp>span,.combat-status-question>span{color:#d5bb70;font-size:.66rem;letter-spacing:.12em}.combat-status-hp>strong{min-width:4.25rem;text-align:right;white-space:nowrap}.combat-status-question{justify-content:flex-end;white-space:nowrap}.combat-dialogue-panel.is-message .combat-dialogue-content,.combat-dialogue-panel.is-command .combat-dialogue-content{overflow-y:auto;overscroll-behavior:contain}.combat-dialogue-panel.is-result{max-height:min(calc(100svh - 1rem),28rem)}.combat-dialogue-panel.is-result .combat-dialogue-content{overflow:hidden}.combat-message-layout{display:grid;height:100%;min-height:0;align-content:center;gap:.85rem}.combat-message-next{min-width:8rem;justify-self:end}.combat-command-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.combat-command-buttons button{min-height:3.2rem}.combat-command-buttons button small{display:block;margin-top:.12rem;font-size:.58rem;font-weight:500}.combat-command-buttons button:disabled{cursor:not-allowed;opacity:.42}.combat-item-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:.65rem}.combat-item-panel button{display:grid;min-height:3.8rem;align-content:center;gap:.12rem}.combat-item-panel button span,.combat-item-panel button small{font-size:.68rem}.combat-item-panel button:disabled{cursor:not-allowed;opacity:.42}.combat-item-confirm{display:grid;gap:.65rem}.combat-item-confirm p{margin:0;color:#f7e9bd}.combat-item-confirm>div{display:flex;justify-content:flex-end;gap:.55rem}.question-screen.is-embedded{display:block;width:100%;height:100%;min-height:0;padding:0;background:transparent}.question-screen.is-embedded .question-card{width:100%;height:100%;border:0;border-radius:0;background:transparent;box-shadow:none}.question-screen.is-embedded .question-header,.question-screen.is-embedded .question-footer{padding:.45rem .65rem;background:#0000002e}.question-screen.is-embedded .question-header .eyebrow{display:none}.question-screen.is-embedded .question-header{min-height:3.25rem}.question-screen.is-embedded .question-header-labels{min-width:5.5rem}.question-screen.is-embedded .question-header-prompt{font-size:clamp(.84rem,1.65vw,1.02rem);line-height:1.35}.question-screen.is-embedded .question-scroll-area{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.question-screen.is-embedded .question-scroll-area{padding:.65rem}.question-screen.is-embedded .question-options{gap:.45rem}.question-screen.is-embedded .question-option{min-height:2.65rem;padding:.45rem .65rem;font-size:.85rem}.question-screen.is-embedded .question-footer span{font-size:.68rem}.question-screen.is-embedded .question-footer.is-review{gap:.7rem;min-height:4.2rem;align-items:stretch}.question-screen.is-embedded .question-review-explanation{max-height:4.8rem}.question-screen.is-embedded .question-footer button{min-width:7.5rem}.combat-result-overlay{position:absolute;inset:0;z-index:30;display:grid;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));place-items:center;background:#05070ad1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.combat-result-card{width:100%;padding:0;text-align:center}.combat-result-card h2{margin:.25rem 0 .65rem;color:#f5d987;font-size:clamp(1.7rem,5vw,2.8rem)}.combat-result-card dl{display:grid;gap:.35rem;margin:0 0 .65rem}.combat-result-card dl div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem .65rem;border-radius:.45rem;background:#ffffff0e}.combat-result-card dt{color:#c8c4ba}.combat-result-card dd{margin:0;color:#fff1bd;font-weight:800}@keyframes combat-text-pop{0%{opacity:0;transform:translate(-50%,-35%) scale(.75)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes combat-critical-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.55) rotate(-4deg)}55%{opacity:1;transform:translate(-50%,-50%) scale(1.16) rotate(2deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}@keyframes combat-critical-accent{0%{opacity:0;transform:translate(0)}24%{opacity:1;transform:translate(-3px)}48%{opacity:.72;transform:translate(3px)}to{opacity:0;transform:translate(0)}}@keyframes combat-critical-shake{0%,to{transform:translate(0)}28%{transform:translate(-4px,2px)}52%{transform:translate(4px,-2px)}76%{transform:translate(-2px,1px)}}@keyframes monster-stun-bob{0%{transform:translate(-50%,-2px) rotate(-2deg)}to{transform:translate(-50%,4px) rotate(2deg)}}@media(prefers-reduced-motion:reduce){.combat-floating-text.is-critical,.combat-critical-accent.is-active,.dungeon-screen.is-critical-impact .dungeon-scene,.monster-stun-indicator{animation-duration:1ms;animation-iteration-count:1}}.dungeon-four-story{position:absolute;z-index:130;inset:0;overflow:hidden;background:#000}.dungeon-four-story-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.dungeon-four-story-image.is-fading-in{animation:dungeon-four-story-fade-in .7s ease both}.dungeon-four-story-image.is-fading-out{animation:dungeon-four-story-fade-out .7s ease both}@keyframes dungeon-four-story-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dungeon-four-story-fade-out{0%{opacity:1}to{opacity:0}}@media(max-width:1100px),(max-height:800px){.combat-dialogue-panel.is-question,.combat-dialogue-panel.is-review,.combat-dialogue-panel.is-question:has(.question-header-prompt.has-quote),.combat-dialogue-panel.is-review:has(.question-header-prompt.has-quote){right:max(.75rem,env(safe-area-inset-right));left:max(.75rem,env(safe-area-inset-left));width:auto;height:min(76svh,47rem);max-height:calc(100svh - 1.5rem)}.question-screen.is-embedded .question-scroll-area{overflow-y:auto;touch-action:pan-y}.question-screen.is-embedded .question-option,.question-screen.is-embedded .question-short-answer input{min-height:48px}}@media(max-width:720px){.dungeon-overlay{padding:.65rem}.monster-status-hud{min-width:0;padding:.45rem .55rem}.monster-status-hud h1{font-size:1.15rem}.combat-dialogue-panel{right:max(.5rem,env(safe-area-inset-right));left:max(.5rem,env(safe-area-inset-left));width:auto;max-height:38vh}.combat-dialogue-panel.is-question,.combat-dialogue-panel.is-review{height:min(72vh,44rem);max-height:calc(100svh - 2rem)}.question-screen.is-embedded .question-options{grid-template-columns:1fr}.question-screen.is-embedded .question-true-false{grid-template-columns:repeat(2,minmax(0,1fr))}.combat-status-bar{grid-template-columns:auto minmax(0,1fr);row-gap:.3rem}.combat-status-question{grid-column:1 / -1;justify-content:space-between;padding-top:.25rem;border-top:1px solid rgba(233,201,120,.2)}}@media(max-height:560px)and (orientation:landscape){.combat-hud{gap:.45rem}.monster-status-hud{padding-block:.35rem}.monster-status-hud small{display:none}.combat-dialogue-panel{bottom:max(.35rem,env(safe-area-inset-bottom));min-height:7rem;max-height:40vh}.combat-dialogue-panel.is-question,.combat-dialogue-panel.is-review{height:min(76vh,32rem);max-height:calc(100svh - .7rem)}.combat-dialogue-content{padding:.4rem .55rem}.combat-dialogue-label{padding-block:.18rem}.question-screen.is-embedded .question-header,.question-screen.is-embedded .question-footer{padding:.3rem .5rem}.question-screen.is-embedded .question-scroll-area{padding:.4rem .55rem}.question-screen.is-embedded .question-option{min-height:2.25rem}.question-screen.is-embedded .question-footer.is-review{min-height:3.35rem}.question-screen.is-embedded .question-review-explanation{max-height:3.35rem}.combat-status-bar{min-height:2.1rem;padding-block:.25rem}}.developer-attack-controls{display:flex;flex-direction:column;gap:.45rem;align-items:center;padding:.65rem .85rem;border:1px dashed rgba(233,201,120,.62);border-radius:.65rem;background:#090b10c7}.developer-attack-controls>span{color:#e9c978;font-size:.72rem;font-weight:800;letter-spacing:.08em}.developer-attack-controls button:disabled{cursor:not-allowed;opacity:.48}.screen-panel{width:min(680px,100%);padding:clamp(1.5rem,5vw,3.5rem);border:1px solid rgba(245,218,166,.34);border-radius:1rem;text-align:center;background:#111218c7;box-shadow:0 24px 80px #00000061;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.title-panel h1{margin-bottom:.25rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.25rem,7vw,4.8rem);letter-spacing:.02em}.screen-panel h1{margin-top:.25rem}.eyebrow{margin:0;color:#e9c978;font-size:.78rem;font-weight:800;letter-spacing:.2em}.korean-title{margin:0;color:#e8c97c;font-weight:700;letter-spacing:.12em}.screen-description{max-width:34rem;margin:1.5rem auto;color:#d7d4cc;line-height:1.7}.button-group{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.placeholder-note,.tech-status{margin:1.35rem 0 0;color:#aaa89f;font-size:.85rem}.question-screen{height:100svh;min-height:360px;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));background:radial-gradient(circle at 50% 8%,rgba(222,174,83,.16),transparent 34%),linear-gradient(145deg,#15211f,#111720 55%,#0d1016)}.question-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(900px,100%);height:min(880px,100%);min-height:0;overflow:hidden;border:1px solid rgba(245,218,166,.42);border-radius:1rem;background:#111319f0;box-shadow:0 24px 80px #0000006b}.question-header,.question-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(.75rem,2vw,1.15rem) clamp(1rem,3vw,1.7rem);background:#231f1ccc}.question-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;border-bottom:1px solid rgba(245,218,166,.2)}.question-header-labels{display:flex;align-items:center;gap:.75rem}.question-header-prompt{min-width:0;max-height:4.2em;margin:0;overflow-y:auto;color:#fff8e8;font-size:clamp(.95rem,2.1vw,1.35rem);line-height:1.4;overflow-wrap:anywhere;scrollbar-width:thin}.question-header-prompt.has-quote{max-height:none;overflow:visible}.question-prompt-instruction,.question-prompt-quote{display:block;white-space:pre-line}.question-prompt-quote{margin-top:.28rem;padding-left:.7rem;border-left:2px solid rgba(233,201,120,.42);color:#dfd4bd;font-size:.94em;font-weight:550}.question-progress{white-space:nowrap;color:#f5d987}.question-type{padding:.25rem .55rem;border:1px solid rgba(233,201,120,.45);border-radius:999px;color:#e7dcc4;font-size:.72rem}.question-scroll-area{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:clamp(1rem,3.2vw,2rem);scrollbar-gutter:stable}.question-image-area{display:grid;width:min(540px,100%);min-height:8rem;max-height:34vh;margin:0 auto 1rem;place-items:center;overflow:hidden;border:1px solid rgba(216,207,187,.3);border-radius:.65rem;color:#bbb4a6;background:#07090d8a}.question-image-area img{display:block;max-width:100%;max-height:34vh;object-fit:contain}.question-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;width:min(720px,100%);margin:0 auto}.question-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:58px;gap:.7rem;text-align:left;overflow-wrap:anywhere}.question-option-marker{display:inline-grid;width:1rem;height:1rem;place-items:center;border:2px solid #c7b78f;border-radius:50%;font-size:1.05rem;font-weight:1000;line-height:1}.question-option.is-selected{border-color:#f2ca67;background:#6f4e26f0}.question-option.is-selected .question-option-marker{border-color:#fff1b4;background:#e9ba45;box-shadow:inset 0 0 0 3px #49361f}.question-option.is-correct{border-color:#71d89a;background:#225b3ed6}.question-option.is-correct .question-option-marker{border-color:transparent;color:#f6fff9;background:transparent;box-shadow:none}.question-option.is-wrong{border-color:#e37979;background:#682a2de0}.question-option.is-wrong .question-option-marker{border-color:transparent;border-radius:0;color:#fff4f4;background:transparent;box-shadow:none}.question-option.is-missed{border-style:dashed}.question-option:disabled{cursor:default;opacity:1;transform:none}.question-option small{color:#fff0b5;font-size:.68rem;white-space:nowrap}.question-true-false{grid-template-columns:repeat(2,minmax(120px,240px));justify-content:center}.question-true-false .question-option{grid-template-columns:minmax(0,1fr) auto;justify-items:center;min-height:90px;font-size:clamp(1.5rem,5vw,2.4rem);text-align:center}.question-true-false .question-option-marker{display:none}.question-true-false .question-option.is-correct .question-option-marker,.question-true-false .question-option.is-wrong .question-option-marker{display:inline-grid}.question-short-answer{display:grid;width:min(640px,100%);gap:.45rem;margin:0 auto;color:#ddd1b8;font-weight:700}.question-short-answer input{width:100%;min-height:54px;padding:.75rem .9rem;border:1px solid rgba(244,216,153,.58);border-radius:.55rem;color:#fff8e8;background:#05080cc7;font:inherit;font-size:1rem}.question-short-answer input:focus{outline:3px solid #f4c96b;outline-offset:2px}.question-short-answer input:disabled{color:#fff8e8;opacity:1}.question-explanation{max-height:min(13rem,30vh);margin-top:.8rem;overflow-y:auto;padding:.75rem;border-radius:.5rem;color:#e4ded1;background:#05080c6b}.question-explanation strong{color:#f5d987}.question-explanation p{margin:.45rem 0 0;line-height:1.65;white-space:pre-wrap}.question-footer{border-top:1px solid rgba(245,218,166,.2)}.question-footer.is-review{align-items:center}.question-review-explanation{flex:1 1 auto;min-width:0;max-height:min(9rem,18vh);overflow-y:auto;overscroll-behavior:contain;padding:.55rem .7rem;border:1px solid rgba(233,201,120,.22);border-radius:.45rem;color:#ded8ca;background:#05080c66;text-align:left;scrollbar-gutter:stable}.question-review-explanation strong{color:#e7cc82;font-size:.72rem;letter-spacing:.08em}.question-review-explanation p{margin:.25rem 0 0;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.question-footer span{color:#bcb5a8;font-size:.8rem}.question-footer button{flex:0 0 auto}.question-footer button:disabled{cursor:not-allowed;opacity:.42;transform:none}.question-compact-answer-summary{display:flex;flex-wrap:wrap;gap:.3rem 1rem;padding-bottom:.35rem;border-bottom:1px solid rgba(233,201,120,.18)}.question-compact-answer-summary span{color:#d8d0c0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.question-complete-card{width:min(600px,100%);padding:clamp(1.5rem,6vw,3.5rem);border:1px solid rgba(245,218,166,.42);border-radius:1rem;text-align:center;background:#111319f0;box-shadow:0 24px 80px #0000006b}@media(max-width:620px){.question-header{grid-template-areas:"labels progress" "prompt prompt";grid-template-columns:minmax(0,1fr) auto;gap:.45rem .75rem}.question-header-labels{grid-area:labels}.question-header-prompt{grid-area:prompt}.question-progress{grid-area:progress}.question-options{grid-template-columns:1fr}.question-true-false{grid-template-columns:repeat(2,minmax(0,1fr))}.question-footer span{display:none}.question-footer{flex-direction:column;align-items:stretch}.question-footer button,.question-footer.is-review,.question-footer.is-review button{width:100%}}@media(max-height:520px)and (orientation:landscape){.question-screen{padding:.4rem}.question-card{border-radius:.6rem}.question-header,.question-footer{padding:.45rem .75rem}.question-scroll-area{padding:.65rem .9rem}.question-header{min-height:0;padding-block:.3rem}.question-options{gap:.4rem}.question-option{min-height:44px;padding:.45rem .65rem}.question-true-false .question-option{min-height:58px}}.story-player{position:relative;width:100%;height:100svh;min-height:360px;overflow:hidden;isolation:isolate;color:#fff8e8;background:#101820}.story-player-ruins{background:#87ceeb}.story-fixed-sky{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.story-sky-scroll-track{position:absolute;inset:0 auto 0 0;display:flex;width:200%;height:100%;animation:story-sky-scroll 120s steps(600,end) infinite;will-change:transform}.story-sky-scroll-tile{display:block;flex:0 0 50%;width:50%;height:100%;object-fit:fill;image-rendering:pixelated;-webkit-user-select:none;user-select:none}@keyframes story-sky-scroll{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.story-camera{position:absolute;inset:0;z-index:0;transform-origin:center;transition-property:transform;transition-timing-function:ease-in-out}.story-player-ruins .story-camera.is-ruins-focus-left{transform-origin:27% 50%}.story-player-ruins .story-camera.is-ruins-focus-right{transform-origin:73% 50%}.story-camera.is-shaking{animation:story-camera-shake var(--story-shake-duration) ease-in-out}.story-moving-world{position:absolute;inset:0;transition:transform 2.2s ease-in}.story-ruins-background{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.story-player-ruins .story-moving-world.is-descending{transform:translateY(42vh)}.story-npc-layer{position:absolute;inset:0;z-index:8;overflow:hidden;pointer-events:none}.story-npc{position:absolute;transform:translate(-50%);transition-property:left,bottom;transition-timing-function:linear}.story-player-ruins .story-npc{transform:translate(-50%,-15px)}.story-player-airship .story-npc[data-actor-id=luna]{transform:translate(-50%,10px)}.story-player-airship .story-npc[data-actor-id=theo],.story-player-airship .story-npc[data-actor-id=kaiden]{transform:translate(-50%,clamp(10px,3.72svh,35px))}.story-npc img{width:100%;height:100%;object-fit:contain}.story-npc-falldown[data-actor-id=luna] img,.story-npc-falldown[data-actor-id=theo] img{position:absolute;bottom:0;left:50%;width:calc(100% * 600 / 380);height:calc(100% * 947 / 600);max-width:none;max-height:none;transform:translate(-50%)}.story-npc-walking{background-image:var(--story-npc-sheet);background-repeat:no-repeat;background-size:400% 100%;animation:story-npc-walk var(--story-npc-walk-duration) steps(4) infinite}.story-npc-walking .story-npc-static-frame{visibility:hidden}.story-background-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;image-rendering:pixelated}.story-illust-overlay{position:fixed;inset:0;z-index:10;box-sizing:border-box;padding:0;overflow:visible;background:#000;opacity:1;animation:story-portal-backdrop-in .4s ease-out both;pointer-events:none}.story-illust-overlay img{position:absolute;top:50%;left:50%;display:block;width:auto;height:auto;max-width:min(64.8vw,calc(100% - 2rem));max-height:min(56svh,calc(100% - 14rem));object-fit:contain;image-rendering:pixelated;opacity:0;transform:translate(-50%,-50%);transition:opacity var(--story-illust-fade) ease}.story-illust-overlay.is-visible img{opacity:1;animation:story-portal-illust-in var(--story-illust-fade) .4s ease both}@keyframes story-portal-backdrop-in{0%{background-color:transparent}to{background-color:#000}}@keyframes story-portal-illust-in{0%{opacity:0}to{opacity:1}}.intro-text-player{position:fixed;inset:0;display:grid;color:#f7edcf;background:#050505}.intro-text-advance{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:100%;padding:8vh 10vw;border:0;color:inherit;background:transparent}.intro-text-content{display:block;max-width:80vw;text-align:center}.intro-text-line{display:inline;font-size:clamp(1.25rem,2.5vw,2rem);line-height:1.8;animation:intro-text-reveal .5s ease-out both}.intro-text-caret{display:inline-block;margin-left:.35em;vertical-align:.05em;color:#e9bd45;font-size:1.35rem;opacity:0;animation:intro-caret-appear 1ms .5s forwards,intro-caret-hover .75s .5s ease-in-out infinite alternate}@keyframes story-npc-walk{0%{background-position-x:0%}to{background-position-x:133.333%}}@keyframes story-camera-shake{0%,to{margin:0}12%{margin-left:calc(var(--story-shake-amplitude) * -1)}24%{margin-left:var(--story-shake-amplitude)}36%{margin-left:calc(var(--story-shake-amplitude) * -.85)}48%{margin-left:calc(var(--story-shake-amplitude) * .8)}60%{margin-left:calc(var(--story-shake-amplitude) * -.65)}72%{margin-left:calc(var(--story-shake-amplitude) * .55)}84%{margin-left:calc(var(--story-shake-amplitude) * -.35)}}@keyframes intro-text-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-caret-hover{0%{transform:translateY(0)}to{transform:translateY(7px)}}@keyframes intro-caret-appear{to{opacity:1}}.story-base-camp-layer{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.story-base-camp-layer .base-camp-viewport{pointer-events:none}.story-background,.story-background-shade,.story-portrait-layer,.story-fade-layer{position:absolute;inset:0}.story-background{z-index:0}.story-player-ruins .story-background-layer{object-fit:fill}.story-background>img,.story-background>.story-asset-placeholder{width:100%;height:100%;object-fit:cover}.story-background-shade{z-index:3;pointer-events:none;background:linear-gradient(to bottom,rgba(6,12,14,.12),transparent 48%),linear-gradient(to top,rgba(5,8,10,.68),transparent 42%)}.story-asset-placeholder{display:grid;place-content:center;min-width:100%;min-height:100%;color:#fff8e2e6;text-align:center}.story-asset-placeholder>span{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,3.4vw,3.25rem);font-weight:800;letter-spacing:.08em;text-shadow:0 3px 18px rgba(0,0,0,.65)}.story-asset-placeholder>small{margin-top:.5rem;font-size:clamp(.7rem,1.2vw,.9rem);letter-spacing:.08em;opacity:.72}.story-portrait-layer{position:relative;width:100%;height:100%;z-index:14;pointer-events:none}.story-portrait{position:absolute;bottom:clamp(2.65rem,5.2vh,3.15rem);width:clamp(141px,16.4vw,221px);height:clamp(8.8rem,25.25vh,13.25rem);overflow:visible;transform-origin:bottom center;transition:filter .18s ease,opacity .18s ease,transform .18s ease}.story-portrait-left{left:50%;translate:-50% 0}.story-portrait-right{right:50%;translate:50% 0}.story-portrait>img,.story-portrait>.story-asset-placeholder{width:100%;height:100%;object-fit:contain;object-position:center bottom}.story-portrait .story-asset-placeholder>span{font-size:clamp(1.25rem,2.6vw,2.25rem)}.story-portrait.is-dimmed{filter:brightness(.54) saturate(.76);opacity:.86;transform:scale(.97)}.story-portrait.is-active{filter:brightness(1.06) saturate(1.02);opacity:1}.story-dialogue-box{position:absolute;right:max(3vw,env(safe-area-inset-right));bottom:max(2.2vh,env(safe-area-inset-bottom));left:max(3vw,env(safe-area-inset-left));z-index:1000;width:60%;margin-inline:auto;min-height:clamp(10rem,calc(20vh + 44px),13.25rem);padding:clamp(1.55rem,3vw,2rem) clamp(1.65rem,3.4vw,2.4rem) clamp(1.35rem,2.8vw,1.8rem);border:1px solid rgba(247,220,162,.56);border-radius:.85rem;background:#0d1016e6;box-shadow:0 20px 48px #0000006b;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.story-dialogue-layout{display:grid;grid-template-columns:clamp(9.5rem,17vw,13.5rem) minmax(0,1fr);gap:clamp(1.875rem,3vw,2.5rem);width:100%;min-height:clamp(6.6rem,15vh,9rem)}.story-dialogue-portrait-group{position:relative;min-width:0;min-height:clamp(7.25rem,16vh,9.5rem);z-index:1}.story-dialogue-content{position:relative;min-width:0;padding-top:clamp(1.35rem,2.6vh,1.75rem)}.story-dialogue-box.is-narration .story-dialogue-layout{grid-template-columns:minmax(0,1fr)}.story-dialogue-box.is-after-walk{animation:story-dialogue-fade-in .26s ease-out both}.story-player-name{color:#ffd84a;font-weight:900}@keyframes story-dialogue-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.story-player-status{position:absolute;right:0;bottom:0;left:0;border-top:1px solid rgba(233,201,120,.35);background:#0c0e13f7}.base-camp-story-overlay{position:absolute;inset:0;z-index:100;pointer-events:auto}.base-camp-story-overlay>.story-player:has(>.story-dialogue-box),.dungeon-story-overlay>.story-player:has(>.story-dialogue-box),.quest-story-overlay>.story-player:has(>.story-dialogue-box),.dungeon-four-story>.story-player:has(>.story-dialogue-box){z-index:200}.story-player-baseCampOverlay{height:100%;min-height:0;background:transparent}.story-player-baseCampOverlay .story-background-shade{background:#05080c1f}.story-player-baseCampOverlay .story-portrait{padding:2px;border:0;border-radius:0;background:transparent;box-shadow:none}.story-player-baseCampOverlay .story-portrait>img,.story-player-baseCampOverlay .story-portrait>.story-asset-placeholder{-webkit-mask-image:radial-gradient(ellipse at center,rgba(0,0,0,1) 58%,rgba(0,0,0,.92) 68%,rgba(0,0,0,.55) 82%,rgba(0,0,0,0) 100%);mask-image:radial-gradient(ellipse at center,#000 58%,#000000eb 68%,#0000008c 82%,#0000);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%}.current-quest-tracker{position:absolute;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));z-index:80;display:grid;width:min(17rem,42vw);gap:.2rem;padding:.7rem .85rem;border:2px solid rgba(225,191,107,.65);border-radius:.35rem;color:#f5ead0;background:#0f1216e6}.current-quest-tracker p{margin:0}.current-quest-tracker small{color:#ebcb70}.base-camp-main-controls{position:absolute;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:80;display:flex;gap:.5rem}.floor-list-panel{position:absolute;z-index:110;top:50%;left:50%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(28rem,calc(100% - 2rem));height:min(65vh,34rem);gap:.8rem;padding:1.2rem;border:2px solid rgba(225,191,107,.72);border-radius:.45rem;color:#f5ead0;background:#0f1216f5;box-shadow:0 22px 54px #00000080;overflow:hidden;transform:translate(-50%,-50%)}.floor-list-panel h2,.floor-list-panel p{margin:0}.floor-list{display:grid;min-height:0;gap:.55rem;padding-right:.35rem;overflow-y:auto;overscroll-behavior:contain}.floor-list>button{display:grid;gap:.2rem;text-align:left}.floor-list>button.is-locked{color:#aaa69d;border-color:#625f59;background:#353535;cursor:not-allowed}.floor-list>button small{color:inherit}.quest-detail-panel{position:absolute;z-index:110;right:max(10%,env(safe-area-inset-right));bottom:max(2.2vh,env(safe-area-inset-bottom));left:max(10%,env(safe-area-inset-left));display:grid;grid-template-rows:minmax(0,1fr) auto auto;width:min(80%,760px);max-height:72vh;margin-inline:auto;overflow:hidden;border:2px solid #9a7d3e;border-radius:.35rem;color:#f4ead1;background:linear-gradient(145deg,#221f1dfa,#0a0d12fa);box-shadow:0 18px 52px #0000009e}.quest-detail-body{overflow-y:auto;padding:1.2rem}.quest-detail-body h2{margin:.25rem 0 .8rem}.quest-detail-body dl{display:grid;gap:.45rem}.quest-detail-body dl div{display:grid;grid-template-columns:4rem 1fr}.quest-detail-body dt{color:#e7c86f;font-weight:800}.quest-detail-body dd{margin:0}.quest-detail-actions{display:flex;justify-content:flex-end;gap:.6rem;padding:.75rem 1rem;border-top:1px solid rgba(233,201,120,.35)}.quest-detail-panel footer{border-top:1px solid rgba(233,201,120,.35)}.story-dialogue-box.is-narration{border-color:#bfcfd080;background:#12181de8}.story-speaker-name{position:absolute;right:4%;bottom:0;left:4%;z-index:16;display:grid;place-items:center;min-height:clamp(2.15rem,4.5vh,2.65rem);margin:0;padding:.35rem .65rem;border:1px solid rgba(247,220,162,.58);border-radius:.45rem;color:var(--story-speaker-accent, #f5d987);background:#222027;font-size:clamp(.85rem,1.6vw,1.08rem);font-weight:800;line-height:1.2;text-align:center}.story-dialogue-text{width:min(100%,44rem);max-width:100%;margin:0;font-size:20px;font-weight:600;line-height:1.65;text-align:left;overflow-wrap:anywhere;white-space:pre-wrap}.story-dialogue-text.is-danger-emphasis{color:#ff5a52;font-weight:900}.story-dialogue-text.is-info-emphasis{color:#62b9ff;font-weight:900}.story-inline-danger{color:#ff5a52;font-weight:900}.story-next-button{position:absolute;right:clamp(.75rem,2vw,1.2rem);bottom:clamp(.75rem,2vw,1.1rem);min-width:clamp(4.2rem,9vw,6.4rem)}.story-next-button:disabled{cursor:not-allowed;opacity:.42;transform:none}.story-choice-list{position:absolute;right:max(20%,env(safe-area-inset-right));bottom:calc(max(2.2vh,env(safe-area-inset-bottom)) + clamp(10rem,calc(20vh + 44px),13.25rem) + .7rem);z-index:1001;display:grid;grid-auto-rows:1fr;width:max-content;min-width:12rem;max-width:min(30vw,30rem);gap:.6rem}.story-choice-list button{width:100%;min-height:2.75rem;white-space:normal;border:1px solid #d8b66b;border-radius:.2rem;color:#fff3d3;background:linear-gradient(#6c492e,#49301f);box-shadow:inset 0 0 0 1px #ffe09a24}.story-choice-list.has-long-label button{padding-block:.65rem;font-size:.86rem;line-height:1.35}.story-choice-list button:focus-visible{outline:3px solid #fff2ad;outline-offset:2px}.save-management-panel{position:fixed;z-index:1000;top:50%;left:50%;width:min(34rem,calc(100% - 2rem));max-height:calc(100vh - 2rem);padding:1.2rem;overflow:auto;border:2px solid #d2ad5e;color:#f7ecd3;background:#121418fa;transform:translate(-50%,-50%)}.save-management-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.save-toast{position:fixed;z-index:1100;right:1rem;bottom:1rem;max-width:24rem;padding:.7rem .9rem;border:1px solid #d2ad5e;color:#fff3d3;background:#1f1914f2}.story-fade-layer{z-index:30;pointer-events:none;opacity:0;transition-property:opacity;transition-timing-function:ease-in-out}.story-fade-layer.is-visible{opacity:1}.story-transition-fade{animation:story-fade-in .5s ease both}.story-portrait.story-transition-slideLeft{animation:story-slide-from-left .32s ease-out both}.story-portrait.story-transition-slideRight{animation:story-slide-from-right .32s ease-out both}@keyframes story-fade-in{0%{opacity:0}to{opacity:1}}@keyframes base-camp-highlight-pulse{0%{opacity:.7;filter:brightness(.95)}to{opacity:1;filter:brightness(1.25)}}@keyframes story-slide-from-left{0%{opacity:0;translate:-2.5rem 0}}@keyframes story-slide-from-right{0%{opacity:0;translate:2.5rem 0}}@media(max-aspect-ratio:4 / 3){.story-portrait{width:clamp(131px,22.6vw,191px);height:clamp(8.8rem,22.6vh,11.4rem)}.story-dialogue-box{min-height:clamp(9.75rem,calc(18vh + 44px),11.75rem)}.story-dialogue-layout{grid-template-columns:clamp(8.6rem,23vw,11.25rem) minmax(0,1fr);gap:clamp(1.875rem,4vw,2.25rem)}}@media(max-width:680px){.story-dialogue-text{width:94%;max-width:100%}.story-choice-list{right:max(3vw,env(safe-area-inset-right));bottom:calc(max(2.2vh,env(safe-area-inset-bottom)) + clamp(10rem,calc(20vh + 44px),13.25rem) + .55rem);width:max-content;min-width:min(12rem,70vw);max-width:min(47vw,22rem)}}@media(max-height:520px)and (orientation:landscape){.base-camp-hud{top:.4rem;left:.4rem;padding:.4rem .5rem}.base-camp-dev-status{gap:.35rem;font-size:.58rem}.base-camp-dev-controls{right:.4rem;bottom:.4rem;max-width:calc(100% - .8rem);padding:.35rem}.base-camp-dev-controls button,.base-camp-zoom-controls button{min-height:28px;padding:.25rem .4rem;font-size:.6rem}.base-camp-zoom-controls{top:.4rem;right:.4rem;padding:.3rem .4rem}.story-portrait{bottom:2.35rem;width:clamp(129px,22.4vw,179px);height:8.1rem}.story-dialogue-box{right:max(2vw,env(safe-area-inset-right));bottom:max(1.5vh,env(safe-area-inset-bottom));left:max(2vw,env(safe-area-inset-left));min-height:8.55rem;padding:1rem 5.2rem .85rem 1rem}.story-dialogue-layout{grid-template-columns:clamp(8rem,22vw,10rem) minmax(0,1fr);gap:clamp(1.5rem,4vw,1.875rem);min-height:6.4rem}.story-dialogue-portrait-group{min-height:6.4rem}.story-dialogue-content{padding-top:.8rem}.story-speaker-name{right:3%;bottom:0;left:3%;min-height:1.95rem;margin:0;padding:.2rem .7rem;font-size:.78rem}.story-dialogue-text{font-size:clamp(.78rem,2.2vw,.95rem);line-height:1.4}.story-next-button{right:.6rem;bottom:.6rem;min-width:4.2rem;min-height:40px;padding:.5rem .75rem}.story-portrait-caption{right:.4rem;bottom:.4rem;left:.4rem;padding:.35rem .5rem}}@media(max-width:540px){.button-group{flex-direction:column}.button-group button{width:100%}}.dungeon-movement-panel{position:absolute;z-index:20;left:50%;bottom:clamp(1rem,3vh,2.4rem);width:min(760px,calc(100% - 2rem));transform:translate(-50%);padding:clamp(1rem,2.4vw,1.5rem);border:3px solid #c9a96e;border-radius:14px;background:linear-gradient(180deg,#26201cf7,#111114fa);box-shadow:0 12px 40px #0000008c;color:#f8efdc;text-align:center}.dungeon-movement-panel h2{margin:.25rem 0 .85rem;font-size:clamp(1.05rem,2.4vw,1.35rem)}.dungeon-movement-message{min-height:1.5em;margin:.25rem 0;color:#f1d8a7}.dungeon-direction-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.65rem}.dungeon-direction-buttons button,.dungeon-reset-button{min-height:46px;border:2px solid #9e7c49;border-radius:8px;background:#4a3827;color:#fff7e7;font:inherit;font-weight:800;cursor:pointer}.dungeon-direction-buttons button:hover:not(:disabled),.dungeon-direction-buttons button:focus-visible,.dungeon-reset-button:hover:not(:disabled),.dungeon-reset-button:focus-visible{border-color:#f2ce88;background:#654b31;outline:3px solid rgba(242,206,136,.35);outline-offset:2px}.dungeon-direction-buttons button:disabled,.dungeon-reset-button:disabled{border-style:dashed;opacity:.45;cursor:wait;filter:grayscale(.75)}.dungeon-reset-button{min-height:38px;margin-top:.8rem;padding:.45rem .9rem;font-size:.82rem}.dungeon-debug{display:block;margin-top:.65rem;color:#b9b1a4;overflow-wrap:anywhere}.dungeon-room-event-image{position:absolute;inset:0;z-index:8;display:grid;place-items:center;pointer-events:none}.dungeon-room-event-image img{display:block;width:min(34vw,440px);max-height:52vh;object-fit:contain;filter:drop-shadow(0 1.2rem 1.5rem rgba(0,0,0,.65))}.dungeon-room-event-image img.is-trap{width:min(58vw,720px);max-height:64vh}.dungeon-room-event-image img.is-revealing{animation:dungeon-event-reveal .22s ease-out both}@keyframes dungeon-event-reveal{0%{opacity:0}to{opacity:1}}.dungeon-room-event-action,.dungeon-room-event-panel{position:absolute;left:50%;z-index:24;width:min(720px,calc(100% - 2rem));transform:translate(-50%);border:2px solid #c9a96e;border-radius:12px;color:#fff7e7;background:#121113f5;box-shadow:0 16px 50px #0000009e;text-align:center}.dungeon-room-event-action{top:clamp(1rem,4vh,2.5rem);padding:.8rem 1rem}.dungeon-room-event-action p{margin:0 0 .6rem}.dungeon-room-event-panel.is-question{bottom:clamp(1rem,3vh,2rem);height:min(72vh,680px);max-height:calc(100svh - 4rem);overflow:hidden}.dungeon-room-event-panel.is-question .question-screen{height:100%;min-height:0;padding:0;background:transparent}.dungeon-room-event-panel.is-result{bottom:clamp(1rem,4vh,2.5rem);padding:clamp(1rem,2.5vw,1.6rem)}.dungeon-room-event-panel.is-result h2{margin:.45rem 0 .8rem}@media(prefers-reduced-motion:reduce){.dungeon-room-event-image img.is-revealing{animation-duration:60ms}.dungeon-direction-buttons button,.dungeon-reset-button{transition:none}}.dungeon-exit-button{position:absolute;z-index:44;left:clamp(12px,2vw,28px);bottom:clamp(12px,2vw,24px);display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 13px;border:2px solid #d5c49b;border-radius:4px;color:#f8edcf;background:#14181de0;box-shadow:3px 3px #00000073}.dungeon-exit-button:disabled{opacity:.45;cursor:not-allowed}.dungeon-exit-icon{width:15px;height:17px;border:2px solid currentColor;border-right:0;position:relative}.dungeon-exit-icon:after{content:"";position:absolute;width:9px;height:9px;right:-7px;top:2px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.dungeon-modal-backdrop{position:absolute;z-index:120;inset:0;display:grid;place-items:center;padding:20px;background:#05080c8c;pointer-events:auto}.dungeon-modal-panel{width:min(520px,100%);padding:clamp(22px,4vw,36px);border:3px solid #cdbb8f;border-radius:6px;color:#fff6df;text-align:center;background:#20262d;box-shadow:0 18px 60px #00000094}.dungeon-modal-panel h2{margin:0 0 12px}.dungeon-modal-panel .button-group{justify-content:center;margin-top:22px}.dungeon-modal-panel .is-danger{border-color:#b98173;color:#ffe1d9}.has-blocking-modal>:not(.dungeon-modal-backdrop){pointer-events:none}@media(prefers-reduced-motion:reduce){.dungeon-modal-backdrop,.dungeon-modal-panel{animation:none!important;transition:none!important}}.dungeon-story-overlay{position:fixed;inset:0;z-index:95;pointer-events:auto}.dungeon-story-overlay .story-player{height:100%;min-height:0;background:transparent}.dungeon6-clue-story-overlay .story-background-shade,.dungeon7-clue-story-overlay .story-background-shade,.dungeon7-quest-story-overlay .story-background-shade{background:transparent}.dungeon6-clue-story-overlay .story-illust-overlay,.dungeon7-clue-story-overlay .story-illust-overlay,.dungeon7-quest-story-overlay .story-illust-overlay{background:transparent;animation:none}.dungeon-story-overlay .story-player[aria-label="닫힌 입구"]:has(.story-camera.is-shaking) .story-illust-overlay,.dungeon-story-overlay .story-player[aria-label="고려의 기둥"]:has(.story-camera.is-shaking) .story-illust-overlay{animation:dungeon5-gate-illust-shake 1s ease-in-out}.dungeon-story-overlay .story-player[aria-label="고려시대의 사회와 문화"]:has(.story-camera.is-shaking) .story-illust-overlay img{animation:dungeon-centered-illust-shake 1.5s ease-in-out}@keyframes dungeon-centered-illust-shake{0%,to{transform:translate(-50%,-50%) translate(0)}12%{transform:translate(-50%,-50%) translate(-12px)}24%{transform:translate(-50%,-50%) translate(12px)}36%{transform:translate(-50%,-50%) translate(-10px)}48%{transform:translate(-50%,-50%) translate(9px)}60%{transform:translate(-50%,-50%) translate(-8px)}72%{transform:translate(-50%,-50%) translate(7px)}84%{transform:translate(-50%,-50%) translate(-4px)}}@keyframes dungeon5-gate-illust-shake{0%,to{transform:translate(0)}12%{transform:translate(-12px)}24%{transform:translate(12px)}36%{transform:translate(-10px)}48%{transform:translate(9px)}60%{transform:translate(-8px)}72%{transform:translate(7px)}84%{transform:translate(-4px)}}
