:root{--bone: #ebe3cf;--bone-dim: #b7ab8c;--tomb: #3b2a4f;--tomb-deep: #241a30;--abyss: #14101c;--torch: #f08a3c;--torch-hi: #ffb977;--torch-lo: #b4531a;--moss: #6a8f5a;--blood: #a83a3a;--gold: #e0b44c;--gold-hi: #fff1b0;--gold-lo: #8a5f14;--muted: #b9a9d6;--stone-hi: #5a4478;--stone: #3b2a4f;--stone-lo: #221730;--panel: rgba(36, 26, 48, .9);--line: rgba(235, 227, 207, .22);--radius: 14px;--radius-lg: 22px;--pill: 999px;--glass: rgba(22, 17, 30, .58);--glass-hi: rgba(255, 255, 255, .06);--glass-line: rgba(235, 227, 207, .13);--glass-line-hi: rgba(235, 227, 207, .26);--accent: #f08a3c;--accent-hi: #ffc27a;--accent-lo: #d9601f;--accent-ink: #1c0d05;--accent-glow: rgba(240, 138, 60, .38);--shadow-soft: 0 12px 32px rgba(0, 0, 0, .42);--ease-spring: cubic-bezier(.2, .9, .25, 1.15);--font-ko: "Black Han Sans", "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;--font-en: "Cinzel", Georgia, serif;--font-body: "Noto Sans KR", "Apple SD Gothic Neo", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;width:100%;height:100%;height:100svh;height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none;background:var(--abyss);color:var(--bone);font-family:var(--font-body)}#app{position:fixed;inset:0;width:100%;height:100%;height:100dvh;touch-action:none;overflow:hidden}#gl{display:block;width:100%;height:100%;touch-action:none}#ui{position:absolute;inset:0;pointer-events:none}.overlay,.overlay *,.hud button,.pad button{touch-action:manipulation}#boot{position:absolute;inset:0;display:grid;place-items:center;color:var(--torch);letter-spacing:.32em;font-family:var(--font-en);font-size:13px}.boot-error{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:min(360px,84vw);padding:0 16px;letter-spacing:0;font-family:var(--font-body);font-size:15px;line-height:1.55;text-align:center;color:var(--bone)}.boot-error button{pointer-events:auto}.hidden{display:none!important}h1,h2,.display{font-family:var(--font-ko);font-weight:400;margin:0}html[data-locale=en] h1,html[data-locale=en] h2,html[data-locale=en] .display{font-family:var(--font-en);font-weight:700;letter-spacing:.06em}.ico{display:inline-flex;width:1.15em;height:1.15em;flex:none}.ico svg{width:100%;height:100%;display:block}.btn{pointer-events:auto;cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:0 22px;border-radius:var(--pill);border:1px solid var(--glass-line);font-family:var(--font-body);font-weight:700;font-size:15px;letter-spacing:.04em;line-height:1;color:var(--bone);background:var(--glass);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow-soft);transition:transform .16s var(--ease-spring),background .16s,border-color .16s,box-shadow .16s}.btn:hover{background:#ffffff17;border-color:var(--glass-line-hi)}.btn:active,.btn.pressed{transform:scale(.95);background:#ffffff1f}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn .lbl{position:relative;top:.04em}html[data-locale=en] .btn.big .lbl,html[data-locale=en] .btn.torch .lbl{font-family:var(--font-en)}html[data-locale=ko] .btn.big .lbl{font-family:var(--font-ko);font-weight:400;letter-spacing:.12em;font-size:1.25em}.btn.torch{color:var(--accent-ink);border-color:#ffffff2e;background:linear-gradient(135deg,var(--accent-hi) 0%,var(--accent) 55%,var(--accent-lo) 100%);box-shadow:inset 0 1px #fff6,0 10px 28px var(--accent-glow)}.btn.torch:hover{filter:brightness(1.06)}.btn.torch:active,.btn.torch.pressed{box-shadow:inset 0 1px #ffffff4d,0 6px 16px var(--accent-glow)}.btn.big{min-height:62px;min-width:240px;padding:0 34px;font-size:18px;border-radius:var(--radius-lg);animation:ember 2.8s ease-in-out infinite}.btn.big .ico{width:1.3em;height:1.3em}@keyframes ember{0%,to{box-shadow:inset 0 1px #fff6,0 10px 28px var(--accent-glow)}50%{box-shadow:inset 0 1px #fff6,0 14px 44px #f08a3c99}}.btn.wide{min-width:220px}.btn.chip{min-height:40px;padding:0 14px;font-size:13px;letter-spacing:.03em;font-weight:600}.btn.chip.active{border-color:var(--accent);color:var(--accent-hi);box-shadow:inset 0 1px 0 var(--glass-hi),0 0 0 1px #f08a3c33,0 6px 18px var(--accent-glow)}.btn.chip .lbl{white-space:nowrap}.seg{pointer-events:auto;display:inline-flex;padding:4px;gap:2px;border-radius:var(--pill);border:1px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:inset 0 1px 0 var(--glass-hi)}.seg-btn{pointer-events:auto;cursor:pointer;min-height:36px;min-width:58px;padding:0 14px;border:0;border-radius:var(--pill);background:transparent;color:var(--muted);font-family:var(--font-body);font-weight:600;font-size:13px;letter-spacing:.02em;transition:background .16s,color .16s,box-shadow .16s,transform .16s var(--ease-spring)}.seg-btn:hover{color:var(--bone)}.seg-btn:active{transform:scale(.95)}.seg-btn.active{color:var(--accent-ink);background:linear-gradient(135deg,var(--accent-hi),var(--accent));box-shadow:0 4px 14px var(--accent-glow)}.plaque{position:relative;background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--radius);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow-soft)}.plaque-mini{position:relative;padding:7px 18px;border-radius:var(--pill);border:1px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:inset 0 1px 0 var(--glass-hi),0 6px 18px #00000059;font-family:var(--font-ko);font-size:15px;letter-spacing:.1em}html[data-locale=en] .plaque-mini{font-family:var(--font-en);font-weight:700}.overlay{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;pointer-events:auto;overflow-y:auto;padding:max(20px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.title{justify-content:space-between;gap:0;padding-bottom:max(18px,env(safe-area-inset-bottom,0px));background:linear-gradient(to bottom,rgba(20,16,28,.6),transparent 24%,transparent 58%,rgba(20,16,28,.94) 88%),radial-gradient(ellipse at 50% 38%,#14101c1a,#14101c99 80%)}.title-top{align-self:flex-end;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.title-center{display:flex;flex-direction:column;align-items:center;gap:12px;margin:auto 0 14px}.logo{width:min(250px,52vw);filter:drop-shadow(0 14px 30px rgba(0,0,0,.7)) drop-shadow(0 0 40px rgba(240,138,60,.22));animation:hover 5s ease-in-out infinite}.logo svg{width:100%;height:auto;display:block}@keyframes hover{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.tagline{margin:-6px 0 0;color:var(--bone);font-size:14px;letter-spacing:.1em;text-align:center;text-shadow:0 2px 6px rgba(0,0,0,.8);opacity:.9}html[data-locale=en] .tagline{font-family:var(--font-en);font-size:13px;letter-spacing:.12em}.hero-picker{position:relative;width:100%;max-width:760px;display:flex;flex-direction:column;align-items:center;gap:8px}.swipe-hint{margin:0;font-size:11px;letter-spacing:.14em;color:#b9a9d6b3;text-transform:uppercase}.hero-row{display:flex;gap:10px;width:100%;overflow-x:auto;overflow-y:hidden;padding:8px 0 10px;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.hero-row::-webkit-scrollbar{display:none}.hero-row:before,.hero-row:after{content:"";flex:0 0 calc(50% - var(--card-w) / 2 - 5px)}.hero-picker{--card-w: 176px}.hero-card{pointer-events:auto;cursor:pointer;flex:0 0 var(--card-w);scroll-snap-align:center;display:flex;flex-direction:column;gap:10px;padding:14px 15px 13px;border:1px solid var(--glass-line);border-radius:20px;background:var(--glass);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow-soft);color:var(--bone);font-family:var(--font-body);text-align:left;opacity:.6;transform:scale(.95);transition:opacity .2s,transform .22s var(--ease-spring),border-color .2s,box-shadow .2s}.hero-card.active{opacity:1;transform:scale(1);border-color:#f08a3cb3;box-shadow:inset 0 1px #ffffff1a,0 0 0 1px #f08a3c33,0 0 32px #f08a3c38,var(--shadow-soft)}.hero-card:active{transform:scale(.97)}.hero-card.locked{cursor:default;filter:grayscale(.85);opacity:.45}.hero-card.locked.active,.hero-card.locked:active{transform:scale(.95);border-color:var(--glass-line);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow-soft)}.hero-lock{display:none;position:absolute;top:-11px;left:50%;transform:translate(-50%);z-index:1;align-items:center;gap:4px;padding:3px 9px 3px 7px;border-radius:var(--pill);border:1px solid var(--glass-line-hi);background:#14101cd9;color:var(--gold);font-size:10px;letter-spacing:.04em;white-space:nowrap}.hero-lock .ico{width:12px;height:12px}.hero-card{position:relative}.hero-card.locked .hero-lock{display:inline-flex}.hero-card-top{display:flex;align-items:center;gap:10px}.hero-badge{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:14px;border:1px solid var(--glass-line);background:#ffffff0f;color:var(--gold);box-shadow:inset 0 1px 0 var(--glass-hi);transition:background .2s,color .2s,border-color .2s}.hero-badge .ico{width:20px;height:20px}.hero-card.active .hero-badge{color:var(--accent-ink);border-color:transparent;background:linear-gradient(135deg,var(--accent-hi),var(--accent));box-shadow:0 6px 16px var(--accent-glow)}.hero-card-title{display:flex;flex-direction:column;gap:2px;min-width:0}.hero-card-name{font-family:var(--font-ko);font-size:19px;letter-spacing:.05em;line-height:1.1}html[data-locale=en] .hero-card-name{font-family:var(--font-en);font-weight:700;font-size:15px}.hero-card-blurb{font-size:11px;color:var(--bone-dim);line-height:1.3}.hero-bars{display:flex;flex-direction:column;gap:5px}.hero-bar{position:relative;display:block;height:5px;border-radius:var(--pill);background:#ffffff17;overflow:hidden}.hero-bar i{display:block;height:100%;border-radius:var(--pill);background:linear-gradient(to right,#c94a4a,#ff8a7a)}.hero-bar.speed i{background:linear-gradient(to right,#5f9a4e,#b6ef9d)}.hero-bar em{position:absolute;right:0;top:-13px;font-style:normal;font-size:9px;letter-spacing:.06em;color:#b9a9d6cc}.hero-card-skill{display:flex;flex-direction:column;gap:2px;padding-top:8px;border-top:1px solid rgba(235,227,207,.1);font-size:10.5px;color:var(--bone-dim);line-height:1.35}.hero-card-skill b{font-size:12px;color:var(--gold);letter-spacing:.04em}.hero-card-skill.second{padding-top:6px;border-top-style:dashed}.hero-card-skill.second b{color:#9ec48a}.hero-dots{display:flex;gap:6px}.hero-dot{pointer-events:auto;cursor:pointer;width:8px;height:8px;padding:0;border:0;border-radius:var(--pill);background:#ebe3cf47;transition:width .22s var(--ease-spring),background .16s}.hero-dot.active{width:24px;background:linear-gradient(90deg,var(--accent-hi),var(--accent));box-shadow:0 0 10px var(--accent-glow)}.hero-arrow{pointer-events:auto;cursor:pointer;position:absolute;top:50%;z-index:1;width:36px;height:36px;margin-top:-26px;border:1px solid var(--glass-line);border-radius:50%;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--bone);font-size:24px;line-height:1;display:none}.hero-arrow.prev{left:4px}.hero-arrow.next{right:4px}@media(min-width:900px){.scenario-row{flex-wrap:wrap;justify-content:center;overflow-x:visible}}@media(min-width:1560px){.hero-picker{max-width:1520px}.hero-row{justify-content:center;scroll-snap-type:none;overflow-x:hidden}.hero-row:before,.hero-row:after{display:none}.hero-dots,.swipe-hint{display:none}}@media(hover:hover)and (min-width:641px)and (max-width:1559px){.hero-arrow{display:grid;place-items:center}.swipe-hint{display:none}}@media(max-height:900px)and (min-width:641px){.logo{width:min(250px,52vw,24vh)}.title-center{gap:4px;margin-bottom:8px}.tagline{display:none}.hero-card{padding:9px 11px;gap:7px}.hero-card-skill{padding-top:5px;font-size:10px}.hero-card-skill.second{padding-top:4px}.hero-row{padding:4px 0 6px}.scenario-picker{gap:3px;margin-top:0}.scenario-row{padding-bottom:1px}.title-bottom{margin-top:4px;gap:6px}}.title{overflow-y:auto}.title-bottom{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(420px,100%);margin-top:12px}.title-bottom .btn.big{width:100%;min-height:60px}.btn.chip.icon-only .lbl{display:inline}@media(max-width:640px){.title-top{gap:6px}.btn.chip.icon-only{padding:0 11px}.btn.chip.icon-only .lbl{display:none}.hero-picker{--card-w: min(208px, 62vw)}.logo{width:min(200px,46vw)}.title-center{margin-bottom:6px}}.title-foot{margin:0;color:#b9a9d699;font-size:11px;letter-spacing:.08em;text-align:center}.view-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.view-label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;letter-spacing:.08em}.scenario-picker{width:100%;max-width:760px;display:flex;flex-direction:column;align-items:center;gap:5px;margin-top:2px}.scenario-label{margin:0;font-size:11px;letter-spacing:.14em;color:#b9a9d6b3;text-transform:uppercase}.scenario-row{display:flex;gap:7px;max-width:100%;padding:1px 12px 3px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scenario-row::-webkit-scrollbar{display:none}.scenario-chip{pointer-events:auto;cursor:pointer;flex:0 0 auto;min-height:38px;padding:6px 15px;border:1px solid var(--glass-line);border-radius:var(--pill);background:var(--glass);backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);color:#ebe3cfbd;font:inherit;font-size:13px;font-weight:600;white-space:nowrap;transition:border-color .16s,background .16s,color .16s,transform .16s var(--ease-spring)}.scenario-chip[hidden]{display:none!important}.scenario-chip.hero-own{display:inline-flex;align-items:center;gap:5px;border-color:#e0b44c73}.scenario-chip.hero-own .ico{width:14px;height:14px;color:var(--gold)}.scenario-chip.hero-own.active .ico{color:var(--accent-ink)}.scenario-chip:active{transform:scale(.95)}.scenario-chip.active{border-color:transparent;background:linear-gradient(135deg,var(--accent-hi),var(--accent));color:var(--accent-ink);box-shadow:0 6px 18px var(--accent-glow)}.difficulty-line{display:flex;align-items:center;gap:10px;margin-top:2px}.difficulty-line .scenario-label{margin:0}.difficulty-chip{min-height:36px;padding:5px 13px;font-size:12.5px}.scenario-note{margin:0;min-height:15px;padding:0 14px;font-size:12px;line-height:1.3;text-align:center;color:#ebe3cf99}.scenario-grade{display:inline-block;margin-right:6px;padding:1px 7px;border:1px solid currentColor;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;vertical-align:1px}.scenario-grade[data-grade=gentle]{color:#7ad8a0}.scenario-grade[data-grade=even]{color:#8fb6e0}.scenario-grade[data-grade=rough]{color:#e8c05a}.scenario-grade[data-grade=harsh]{color:#e8756a}.scenario-chip[data-grade=rough]:after,.scenario-chip[data-grade=harsh]:after{content:"";display:inline-block;width:5px;height:5px;margin-left:5px;border-radius:50%;vertical-align:2px;background:#e8c05a}.scenario-chip[data-grade=harsh]:after{background:#e8756a}.hud{position:absolute;top:max(12px,env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));display:grid;grid-template-columns:1fr auto 1fr;align-items:start;pointer-events:none}.hud-left{display:flex;flex-direction:column;gap:6px;width:min(230px,44vw)}.hp{display:flex;align-items:center;gap:6px;color:var(--bone)}.hp>.ico{width:24px;height:24px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.7))}.hp-bar{position:relative;flex:1;height:18px;border:1px solid var(--glass-line);border-radius:var(--pill);background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 var(--glass-hi),0 6px 16px #00000059;overflow:hidden}.hp-fill{height:100%;border-radius:var(--pill);background:linear-gradient(90deg,#c73a3a,#ff6b5c);box-shadow:0 0 12px #ff6b5c73;transition:width .2s var(--ease-spring)}.hp-shield{position:absolute;left:0;top:0;height:100%;background:repeating-linear-gradient(135deg,#ebe3cf8c 0 4px,#ebe3cf40 4px 8px);pointer-events:none}.hp-text{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--bone);text-shadow:0 1px 0 rgba(0,0,0,.8)}.wallet{display:flex;gap:10px;padding-left:30px}.stat{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:2px 10px 2px 6px;border:1px solid var(--glass-line);border-radius:var(--pill);background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:12px;font-weight:700;color:var(--gold);text-shadow:0 1px 0 rgba(0,0,0,.7)}.stat .ico{width:16px;height:16px}.stat.keys{color:var(--bone-dim)}.hud-center{justify-self:center}.hud-pause{justify-self:end}.hud-center{display:flex;flex-direction:column;align-items:center;gap:6px}.wave-line{min-height:16px;font-size:12px;letter-spacing:.1em;color:var(--muted);text-shadow:0 1px 0 rgba(0,0,0,.8)}#ui:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 #a83a3a00;transition:box-shadow .25s ease-out}#ui.hurt:after{box-shadow:inset 0 0 90px 30px #a83a3a8c;transition:none}#ui.low-hp:not(.hurt):after{animation:low-hp 1.1s ease-in-out infinite}@keyframes low-hp{0%,to{box-shadow:inset 0 0 60px 12px #a83a3a2e}50%{box-shadow:inset 0 0 110px 34px #a83a3a80}}.dmg-layer{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.dmg{position:absolute;left:0;top:0;font-family:var(--font-en);font-weight:700;font-size:22px;letter-spacing:.02em;color:var(--bone);text-shadow:0 2px 0 rgba(0,0,0,.85),0 0 8px rgba(0,0,0,.6);will-change:transform,opacity}.dmg-hit{color:#fff1b0}.dmg-blocked{color:#c8ccd6bf;font-size:17px}.dmg-hurt{color:#ff6b5c;font-size:26px}.dmg-heal{color:#9ee08a}.boss-bar{display:flex;flex-direction:column;align-items:center;gap:4px;width:min(360px,60vw)}.boss-name{font-family:var(--font-ko);font-size:16px;letter-spacing:.14em;color:var(--gold);text-shadow:0 2px 0 rgba(0,0,0,.7)}html[data-locale=en] .boss-name{font-family:var(--font-en);font-weight:700}.boss-track{display:block;width:100%;height:10px;border:1px solid var(--glass-line);border-radius:var(--pill);background:var(--glass);overflow:hidden;box-shadow:inset 0 1px 0 var(--glass-hi)}.boss-track i{display:block;height:100%;border-radius:var(--pill);background:linear-gradient(90deg,#c73a3a,#ff6b5c);box-shadow:0 0 12px #ff6b5c80;transition:width .12s}.hud-relics{display:flex;flex-wrap:nowrap;gap:4px;padding-left:30px;overflow:hidden;white-space:nowrap}.relic-chip{display:inline-block;padding:3px 9px;border:1px solid var(--glass-line);border-radius:var(--pill);background:var(--glass);color:var(--bone-dim);font-size:12px;letter-spacing:.04em;text-shadow:0 1px 0 rgba(0,0,0,.7)}.relic-chip.mini{font-size:10px;padding:1px 5px}.relic-chip.rare{color:#9fc3ff;border-color:#4c9cf073}.relic-chip.weapon{color:var(--accent-hi);border-color:#f08a3c80}.relic-chip.legendary{color:var(--gold);border-color:#e0b44c80}.prompt{z-index:5;pointer-events:auto;cursor:pointer;position:fixed;left:50%;bottom:calc(max(24px,env(safe-area-inset-bottom,0px)) + 215px);transform:translate(-50%);display:flex;align-items:center;gap:14px;width:min(360px,88vw);padding:12px 14px 12px 18px;border:1px solid rgba(224,180,76,.4);border-radius:18px;background:var(--glass);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);color:var(--bone);font-family:var(--font-body);text-align:left;box-shadow:inset 0 1px 0 var(--glass-hi),0 0 24px #e0b44c2e,var(--shadow-soft);transition:transform .16s var(--ease-spring)}#ui:not(.touch) .prompt{bottom:36px}.prompt-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.prompt-text b{font-family:var(--font-ko);font-weight:400;font-size:17px;letter-spacing:.05em;color:var(--gold)}.prompt-text span{font-size:11px;color:var(--bone-dim);line-height:1.3}.prompt-buy{display:flex;flex-direction:column;align-items:center;gap:4px;flex:none}.prompt-buy i{font-style:normal;font-weight:700;font-size:14px;color:var(--gold)}.prompt-buy em{font-style:normal;font-size:11px;letter-spacing:.1em;padding:6px 12px;border-radius:var(--pill);background:linear-gradient(135deg,var(--accent-hi),var(--accent));color:var(--accent-ink);font-weight:700;box-shadow:0 4px 12px var(--accent-glow)}.prompt.cant .prompt-buy i{color:#d25a5a}.prompt.cant .prompt-buy em{background:var(--stone-lo);color:var(--muted)}.prompt.pressed{transform:translate(-50%) scale(.97)}.pad{position:absolute;inset:0;z-index:2;pointer-events:none}.stick-zone{pointer-events:auto;touch-action:none;position:absolute;left:0;top:0;width:50%;height:100%}.stick{pointer-events:none;position:absolute;left:max(18px,env(safe-area-inset-left,0px));bottom:max(22px,env(safe-area-inset-bottom,0px));opacity:.5;transition:opacity .12s;width:116px;height:116px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:radial-gradient(circle at 50% 45%,#ffffff14,#14101c66 72%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 1px #ffffff1a,0 8px 24px #0006}.stick.held{opacity:1}.stick:before{content:"";position:absolute;inset:8px;border-radius:50%;background:linear-gradient(#ebe3cf99 0 0) top center / 2px 7px no-repeat,linear-gradient(#ebe3cf99 0 0) bottom center / 2px 7px no-repeat,linear-gradient(#ebe3cf99 0 0) left center / 7px 2px no-repeat,linear-gradient(#ebe3cf99 0 0) right center / 7px 2px no-repeat;opacity:.5}.knob{position:absolute;left:50%;top:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:radial-gradient(circle at 40% 35%,#ffffff,var(--bone) 55%,#cfc4a8 100%);box-shadow:inset 0 -2px #0000001f,0 6px 16px #00000080}.pad-btn{pointer-events:auto;touch-action:none;cursor:pointer;position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.16);color:var(--bone);font-family:var(--font-body);font-weight:700;letter-spacing:.06em;text-shadow:0 1px 0 rgba(0,0,0,.6);background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.1),transparent 60%),var(--glass);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:inset 0 1px #ffffff1f,0 10px 26px #00000073;transition:transform .14s var(--ease-spring),box-shadow .14s,filter .14s}.pad-btn .ring{position:absolute;inset:4px;border-radius:50%;border:2px solid rgba(235,227,207,.32);pointer-events:none}.pad-btn:active,.pad-btn.pressed{transform:scale(.9);box-shadow:inset 0 1px #ffffff14,0 4px 12px #0006}.pad-btn .lbl{font-size:10px}.dash-btn{right:max(18px,env(safe-area-inset-right,0px));bottom:max(24px,env(safe-area-inset-bottom,0px));width:92px;height:92px;color:var(--accent-ink);text-shadow:0 1px 0 rgba(255,236,200,.45);border-color:#ffffff47;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.35),transparent 58%),linear-gradient(145deg,var(--accent-hi),var(--accent) 55%,var(--accent-lo));box-shadow:inset 0 1px #ffffff73,0 10px 28px var(--accent-glow),0 10px 26px #0006}.dash-btn .ring{border-color:#fff1b080}.dash-btn .ico{width:34px;height:34px}.dash-btn:active,.dash-btn.pressed{box-shadow:inset 0 1px #ffffff4d,0 4px 14px var(--accent-glow)}.skill-btn{right:max(32px,env(safe-area-inset-right,0px));bottom:calc(max(24px,env(safe-area-inset-bottom,0px)) + 108px);width:70px;height:70px;color:var(--gold)}.skill-btn .ico{width:28px;height:28px}.skill2-btn{right:calc(max(32px,env(safe-area-inset-right,0px)) + 78px);bottom:calc(max(24px,env(safe-area-inset-bottom,0px)) + 78px);width:62px;height:62px;color:#b6ef9d}.skill2-btn .ico{width:25px;height:25px}.skill2-btn .ring{border-color:#b6ef9d73}.attack-btn{display:none;right:calc(max(18px,env(safe-area-inset-right,0px)) + 100px);bottom:max(24px,env(safe-area-inset-bottom,0px));width:78px;height:78px;color:var(--accent-ink);border-color:#ffffff47;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.35),transparent 58%),linear-gradient(145deg,#fff1b0,var(--gold) 55%,#b8862a);box-shadow:inset 0 1px #ffffff73,0 10px 26px #e0b44c59,0 10px 26px #0006}#ui.manual-attack .attack-btn{display:flex}.attack-btn .ico{width:30px;height:30px}.attack-btn .ring{border-color:#fff1b080}.pad-btn .ring{background:conic-gradient(rgba(20,16,28,.72) calc(var(--cd, 0) * 100%),transparent 0)}.pad-btn.cooling{filter:saturate(.55) brightness(.85)}.skill-btn .ring{border-color:#e0b44c8c}.pause{background:#0e0a148c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.panel{position:relative;width:min(360px,100%);padding:22px 22px 24px;display:flex;flex-direction:column;align-items:center;gap:14px;border:1px solid var(--glass-line);border-radius:var(--radius-lg);background:linear-gradient(160deg,rgba(255,255,255,.07),transparent 42%),#1e162ac7;backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35);box-shadow:inset 0 1px #ffffff1f,0 24px 60px #0009;animation:panel-in .28s var(--ease-spring) both;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}@keyframes panel-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}.badge{width:96px;overflow:hidden}.badge svg{width:96px;height:auto;display:block;clip-path:inset(0 0 30% 0);margin-bottom:-36px}.panel h2{font-size:26px;letter-spacing:.08em;text-shadow:0 2px 0 rgba(0,0,0,.5)}.row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.relic-list{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;max-height:96px;overflow-y:auto;padding:8px 2px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);width:100%}#result.won h2{color:var(--gold)}#result:not(.won) h2{color:#d25a5a}.result-rows{width:100%;margin:0;display:flex;flex-direction:column;gap:6px;padding:10px 6px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.result-row{display:flex;justify-content:space-between;font-size:14px}.result-row dt{color:var(--muted);letter-spacing:.08em}.result-row dd{margin:0;color:var(--bone);font-weight:700}.codex-panel{max-height:min(86vh,720px);overflow-y:auto;gap:10px}.codex-head{margin:4px 0 0;align-self:flex-start;font-family:var(--font-ko);font-weight:400;font-size:15px;letter-spacing:.1em;color:var(--gold)}html[data-locale=en] .codex-head{font-family:var(--font-en);font-weight:700}.codex-grid{display:flex;flex-wrap:wrap;gap:5px;width:100%}.relic-chip.unknown{color:#b9a9d673;border-style:dashed}.result-record{white-space:pre-line;text-align:center;line-height:1.6;margin:-6px 0 0;font-size:12px;letter-spacing:.12em;color:var(--gold);text-shadow:0 0 10px rgba(224,180,76,.5)}.howto-panel{gap:16px}.howto-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;width:100%}.howto-rows li{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.4;color:var(--bone)}.howto-rows li .ico{flex:0 0 22px;width:22px;height:22px;color:var(--gold)}.panel .version{margin:-4px 0 0;font-size:11px;letter-spacing:.12em;color:var(--muted);opacity:.8}.fade{position:absolute;inset:0;z-index:7;background:var(--abyss);opacity:0;pointer-events:none;transition:opacity .26s ease-in-out}.fade.on{opacity:1;pointer-events:auto}.toast{position:absolute;z-index:3;left:50%;top:34%;transform:translate(-50%);padding:9px 20px;border:1px solid rgba(224,180,76,.35);border-radius:var(--pill);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-soft);color:var(--gold);font-family:var(--font-ko);font-size:18px;letter-spacing:.08em;text-shadow:0 2px 0 rgba(0,0,0,.6);pointer-events:none}html[data-locale=en] .toast{font-family:var(--font-en);font-weight:700}.toast.pop{animation:toast-pop 1.6s ease-out forwards}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%,10px) scale(.9)}12%{opacity:1;transform:translate(-50%) scale(1.04)}75%{opacity:1;transform:translate(-50%,-6px) scale(1)}to{opacity:0;transform:translate(-50%,-18px) scale(1)}}.wide-panel{width:min(560px,100%)}.reward-sub{margin:-6px 0 0;color:var(--muted);font-size:13px;letter-spacing:.08em}.cards{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;width:100%}.card{pointer-events:auto;cursor:pointer;flex:1 1 150px;max-width:172px;min-height:150px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px 14px;border-radius:20px;color:var(--bone);font-family:var(--font-body);text-align:center;transition:transform .18s var(--ease-spring),filter .12s,border-color .16s}.card:hover{filter:brightness(1.12);transform:translateY(-3px);border-color:var(--glass-line-hi)}.card:active{transform:scale(.97)}.card-ico{width:34px;height:34px;color:var(--gold)}.card-ico svg{width:100%;height:100%}.card-rarity{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.card-name{font-family:var(--font-ko);font-size:17px;letter-spacing:.04em}html[data-locale=en] .card-name{font-family:var(--font-en);font-weight:700;font-size:14px}.card-blurb{font-size:12px;color:var(--bone-dim);line-height:1.35}.card-price{margin-top:auto;padding-top:6px;font-weight:700;color:var(--gold)}.card.rarity-rare{border-color:#4c9cf0}.card.rarity-rare .card-rarity{color:#7fb8ff}.card.rarity-legendary{border-color:var(--gold);box-shadow:inset 0 1px #ffffff24,0 0 18px #e0b44c59}.card.rarity-legendary .card-rarity{color:var(--gold)}.card.rarity-blessing{border-color:var(--moss)}.card.rarity-blessing .card-ico{color:var(--moss)}.card.sold,.card.cant{filter:saturate(.4) brightness(.7);cursor:default}.card.sold:hover,.card.cant:hover{transform:none}@media(max-width:640px){.scenario-chip{min-height:36px;padding:5px 12px;font-size:12px}.scenario-note{font-size:11px}.hud-left{width:min(150px,38vw)}.boss-bar{width:min(360px,calc(100vw - 230px))}.hp-bar{height:18px}.wallet{padding-left:0}.plaque-mini{padding:5px 12px;font-size:13px}.hud-pause{padding:0 10px}.hud-pause .lbl{display:none}.stick{width:104px;height:104px;bottom:max(14px,env(safe-area-inset-bottom,0px))}.dash-btn{width:84px;height:84px}.attack-btn{width:70px;height:70px;right:calc(max(18px,env(safe-area-inset-right,0px)) + 92px)}.skill2-btn{width:56px;height:56px;right:calc(max(32px,env(safe-area-inset-right,0px)) + 70px);bottom:calc(max(24px,env(safe-area-inset-bottom,0px)) + 72px)}.skill-btn{width:64px;height:64px;bottom:calc(max(24px,env(safe-area-inset-bottom,0px)) + 100px)}}
