:root{--ink: #0b0910;--ink-2: #14101c;--paper: #efe5cf;--paper-dim: #c3b697;--dan: #c4312f;--dan-dark: #7d1f22;--gold: #e0b451;--jade: #2e8f7d;--hex: #9a5fd6;--ghost: #8fe3d8;--font: "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:#05040a;color:var(--paper);font-family:var(--font);overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}#app{position:fixed;inset:0;overflow:hidden;display:block;background:radial-gradient(ellipse at 50% 0%,#1a1426,#05040a 70%)}#world{position:absolute;image-rendering:auto;transform-origin:top left;box-shadow:0 0 60px #000000e6}#overlay{position:absolute;inset:0;pointer-events:none}#ui{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-content:safe center;gap:18px;pointer-events:auto;background:#05040ad1;backdrop-filter:blur(6px);animation:fadeIn .24s ease both;padding:24px;text-align:center;overflow-y:auto}.screen.transparent{background:#05040a8c}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.title-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;animation:riseIn .5s ease both}.game-title{font-size:clamp(38px,9vw,86px);font-weight:900;letter-spacing:.12em;margin:0;color:var(--paper);text-shadow:0 0 28px rgba(196,49,47,.55),0 4px 0 #3a1418}.game-sub{font-size:clamp(12px,2.4vw,17px);letter-spacing:.4em;color:var(--gold);margin:0 0 6px;text-transform:none}.seal{width:62px;height:62px;border:3px solid var(--dan);border-radius:8px;display:grid;place-items:center;color:var(--dan);font-size:26px;font-weight:900;background:#c4312f14;box-shadow:0 0 22px #c4312f59;margin-bottom:8px}.divider{width:min(420px,70vw);height:2px;background:linear-gradient(90deg,transparent,var(--dan) 20%,var(--gold) 50%,var(--dan) 80%,transparent);opacity:.8;margin:6px 0 2px}.flavor{max-width:560px;font-size:14px;line-height:1.7;color:var(--paper-dim);margin:0}.menu{display:flex;flex-direction:column;gap:10px;margin-top:10px;width:min(320px,82vw)}button.btn{font-family:var(--font);font-size:16px;font-weight:700;letter-spacing:.06em;padding:13px 20px;color:var(--paper);background:linear-gradient(180deg,#281e32f2,#14101cf2);border:1px solid rgba(224,180,81,.35);border-radius:6px;cursor:pointer;transition:transform .1s ease,border-color .15s ease,background .15s ease}button.btn:hover,button.btn:focus-visible,button.btn.sel{border-color:var(--gold);background:linear-gradient(180deg,#3c2c1cf2,#1e1610f2);transform:translateY(-1px);outline:none}button.btn:active{transform:translateY(1px)}button.btn.primary{background:linear-gradient(180deg,#a8231f,#6d1416);border-color:#f0dcb480;font-size:18px}button.btn.primary:hover{background:linear-gradient(180deg,#c4312f,#8a1f22)}button.btn.ghost{background:transparent;border-color:#c8beaa40;font-size:14px;font-weight:600}button.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.load-box{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;margin:-2px 0 4px}.load-bar{width:min(260px,70vw);height:4px;background:#f0e6d226;border-radius:2px;overflow:hidden}.load-fill{height:100%;width:0;background:linear-gradient(90deg,#8a1f22,#e0b451);transition:width .2s linear}.load-note{margin:0;font-size:12px;opacity:.7}button.btn.primary:disabled{opacity:.75}.cards{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;max-width:900px}.card{width:200px;min-height:210px;padding:16px 14px;background:linear-gradient(180deg,#1e1828f5,#0e0b14f5);border:1px solid rgba(154,164,176,.35);border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;animation:riseIn .3s ease both;position:relative}.card:hover,.card:focus-visible{transform:translateY(-5px);box-shadow:0 10px 34px #0009;outline:none}.card.rare{border-color:#5a9fd6b3}.card.rare:hover{box-shadow:0 10px 34px #5a9fd647}.card.epic{border-color:#c07adbcc}.card.epic:hover{box-shadow:0 10px 34px #c07adb52}.card canvas{image-rendering:auto}.card .icon-box{width:62px;height:62px;display:grid;place-items:center;background:#00000059;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.card .rarity{font-size:11px;letter-spacing:.2em;color:var(--paper-dim)}.card .name{font-size:18px;font-weight:800;margin:0}.card .desc{font-size:13px;line-height:1.55;color:var(--paper-dim);margin:0}.card .family{font-size:11px;font-weight:700;letter-spacing:.08em;margin-top:2px}.card .synergy{font-size:12px;line-height:1.45;margin:2px 0 0;padding:4px 8px;border-left:2px solid;color:var(--paper);background:#ffffff0a;text-align:left}.pause-held{display:flex;flex-direction:column;align-items:center;gap:10px;max-height:42vh;overflow-y:auto;width:min(900px,100%);padding:4px 6px;flex:0 1 auto;min-height:140px}.pause-held .cards{gap:8px}.synergy-list{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-size:13px;font-weight:600;text-align:center}.engraving-row{color:#d9a8f0}.card .key{position:absolute;top:8px;left:8px;width:20px;height:20px;border-radius:4px;background:#ffffff14;color:var(--paper-dim);font-size:11px;font-weight:700;display:grid;place-items:center;z-index:2}.card.route .key{width:24px;height:24px;font-size:13px;background:#0e0b14e0;color:var(--gold);border:1px solid rgba(224,180,81,.55);box-shadow:0 1px 6px #000000b3}.card .glyph{font-size:34px;line-height:1}.heading{font-size:clamp(22px,4vw,34px);font-weight:900;margin:0;letter-spacing:.06em}.subheading{font-size:14px;color:var(--paper-dim);margin:0;letter-spacing:.1em}.stat-row{display:flex;gap:26px;flex-wrap:wrap;justify-content:center;margin-top:4px}.stat{display:flex;flex-direction:column;gap:2px}.stat .v{font-size:24px;font-weight:800;color:var(--gold)}.stat .k{font-size:12px;color:var(--paper-dim);letter-spacing:.14em}.shop-list{display:flex;flex-direction:column;gap:8px;width:min(560px,92vw)}.shop-row{display:flex;align-items:center;gap:14px;padding:12px 14px;background:#14101ce6;border:1px solid rgba(255,255,255,.08);border-radius:6px;text-align:left}.shop-row .info{flex:1}.shop-row .nm{font-size:15px;font-weight:700}.shop-row .ds{font-size:12px;color:var(--paper-dim);margin-top:2px}.shop-row .lv{font-size:12px;color:var(--ghost);letter-spacing:.1em}.shop-row.sel{border-color:var(--gold);background:#302418eb}.shop-row .key{flex:none;width:20px;height:20px;border-radius:4px;background:#ffffff14;color:var(--paper-dim);font-size:11px;font-weight:700;display:grid;place-items:center}.key-hint{margin-left:8px;font-size:10px;opacity:.6;letter-spacing:.04em}.pips{display:flex;gap:3px;margin-top:5px}.pip{width:16px;height:5px;border-radius:2px;background:#ffffff24}.pip.on{background:var(--gold)}.souls-badge{display:inline-flex;align-items:center;gap:8px;font-size:18px;font-weight:800;color:var(--ghost);padding:6px 14px;border-radius:999px;background:#8fe3d81a;border:1px solid rgba(143,227,216,.3)}.banner{position:absolute;top:19%;left:50%;transform:translate(-50%);text-align:center;pointer-events:none;animation:bannerIn .4s ease both}.banner .bt{font-size:clamp(24px,5vw,42px);font-weight:900;letter-spacing:.1em;text-shadow:0 2px 20px rgba(0,0,0,.9)}.banner .bs{font-size:14px;color:var(--paper-dim);letter-spacing:.22em;margin-top:4px}.banner.out{animation:bannerOut .45s ease both}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%) translateY(-16px) scale(.95)}to{opacity:1;transform:translate(-50%)}}@keyframes bannerOut{to{opacity:0;transform:translate(-50%) translateY(-10px)}}.chapter-card{display:flex;flex-direction:column;align-items:center;gap:10px;animation:riseIn .6s ease both}.chapter-card .ch{font-size:15px;letter-spacing:.5em;color:var(--dan);font-weight:700}.chapter-card .nm{font-size:clamp(26px,6vw,52px);font-weight:900;letter-spacing:.08em;margin:0}.chapter-card .fl{font-size:14px;color:var(--paper-dim);max-width:520px;line-height:1.8}.keys{display:grid;grid-template-columns:auto auto;gap:7px 18px;font-size:13px;color:var(--paper-dim)}.keys b{color:var(--paper);font-weight:700}.kbd{display:inline-block;padding:2px 7px;border-radius:4px;background:#ffffff17;border:1px solid rgba(255,255,255,.14);font-size:12px;font-weight:700;color:var(--paper)}#touch{position:absolute;pointer-events:none;display:none;inset:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}#touch.on{display:block}.stick-zone{position:absolute;left:0;bottom:0;width:44%;height:62%;pointer-events:auto}.stick-base{position:absolute;width:112px;height:112px;border-radius:50%;border:1.5px solid rgba(240,230,210,.3);background:transparent;transform:translate(-50%,-50%);opacity:0;transition:opacity .15s}.stick-knob{position:absolute;width:50px;height:50px;border-radius:50%;background:#f0e6d21f;border:1.5px solid rgba(240,230,210,.45);transform:translate(-50%,-50%);opacity:0;transition:opacity .15s}.stick-zone.active .stick-base,.stick-zone.active .stick-knob{opacity:1}.pad{position:absolute;inset:0;pointer-events:none}.tbtn{position:absolute;border-radius:50%;padding:0;width:62px;height:62px;border:1.5px solid rgba(240,230,210,.3);background:transparent;color:#f0e6d280;font-family:var(--font);font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.45);display:grid;place-items:center;pointer-events:auto;font-size:13px;letter-spacing:.02em;transition:transform .06s,background .06s}.stick-zone,.pad,.tbtn,.corner-btns,.icon-btn{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}.tbtn-use{display:none;border-color:#e0c478d9;background:#e0c47838;color:#f6e7bd;animation:use-in .18s ease-out}.tbtn-use.on{display:grid}@keyframes use-in{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.tbtn[data-action=special]{background:conic-gradient(rgba(143,227,216,.28) var(--ki, 0deg),transparent 0)}.tbtn[data-action=special].ready{background:#e0b45166;border:2px solid #ffd27a;color:#fff4dc;animation:ki-ready 1s ease-in-out infinite alternate}@keyframes ki-ready{0%{box-shadow:0 0 6px #ffc85a80}to{box-shadow:0 0 22px #ffc85af2}}.tbtn:active,.tbtn.down{background:#f0e6d229;border-color:#f0e6d299;color:#f0e6d2d9;transform:scale(.93)}.screen.touch-edit{padding:0;justify-content:flex-start;background:#05040ab8}.te-stage{position:absolute;inset:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.te-stick{position:absolute;left:0;bottom:0;width:44%;height:62%;border:1px dashed rgba(240,230,210,.25);border-radius:0 14px 0 0;display:grid;place-items:center;color:#f0e6d259;font-size:13px;letter-spacing:.1em}.te-btn{cursor:grab;touch-action:none}.te-btn.down{cursor:grabbing;transform:scale(1.06)}.te-bar{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2;max-width:calc(100% - 100px)}.te-hint{font-size:13px;color:var(--paper-dim);letter-spacing:.08em}.te-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;align-items:center}.te-row button.btn{padding:8px 14px;font-size:14px}.te-step{display:flex;align-items:center;gap:6px;padding:3px 6px;background:#14101ce6;border:1px solid rgba(224,180,81,.25);border-radius:6px}.te-step .nm{font-size:13px;color:var(--paper-dim);margin:0 2px}.te-step .val{font-size:13px;min-width:38px;text-align:center;font-variant-numeric:tabular-nums}.te-step button.btn{padding:4px 11px;font-size:16px}.screen.arming .card,.screen.arming button.btn{pointer-events:none;opacity:.45;filter:saturate(.5)}.screen .card,.screen button.btn{transition:opacity .25s ease,filter .25s ease,transform .1s ease}button.btn.ghost.confirm{border-color:var(--dan);color:#ffb3a8;background:#7d1f2259}.menu-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.screen.loading{background:#07060b}.loading-seal{width:52px;height:52px;border:3px solid var(--dan);border-radius:8px;display:grid;place-items:center;color:var(--dan);font-size:22px;font-weight:900;animation:seal-breathe 1.4s ease-in-out infinite}@keyframes seal-breathe{50%{opacity:.35;transform:scale(.94)}}.corner-btns{position:absolute;top:max(8px,env(safe-area-inset-top,0px));right:max(8px,env(safe-area-inset-right,0px));display:flex;gap:6px;pointer-events:auto;z-index:5}.full-hint{position:absolute;z-index:30;top:max(56px,calc(env(safe-area-inset-top,0px) + 52px));right:max(8px,env(safe-area-inset-right,0px));max-width:min(340px,calc(100% - 16px));display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:#0e0b14f0;border:1px solid rgba(224,180,81,.5);border-radius:8px;box-shadow:0 8px 24px #0009;font-size:13px;line-height:1.55;color:var(--paper);pointer-events:auto;animation:fadeIn .2s ease both}.full-hint b{color:var(--gold);font-size:14px}.full-hint small{color:var(--paper-dim);font-size:11px;text-align:right}.icon-btn{width:34px;height:34px;border-radius:6px;background:#0e0b14b3;border:1px solid rgba(255,255,255,.14);color:var(--paper);display:grid;place-items:center;cursor:pointer;font-size:15px;padding:0}.icon-btn:hover{border-color:var(--gold)}@media (pointer: coarse){.corner-btns{gap:8px}.icon-btn{width:40px;height:40px;font-size:17px}}.hidden{display:none!important}@media (max-height: 470px){.game-title{font-size:clamp(30px,7vh,46px)}.seal{width:40px;height:40px;font-size:18px;margin-bottom:2px}.screen{gap:8px;padding:14px 10px 10px;justify-content:flex-start}.flavor{font-size:12px;line-height:1.5}button.btn{padding:9px 16px;font-size:14px}button.btn.primary{font-size:15px}.menu{gap:7px;margin-top:4px}.stat-row{gap:16px}.stat .v{font-size:18px}.stat .k{font-size:10px}.card{min-height:0;padding:10px}.chapter-card .nm{font-size:clamp(22px,6vh,34px)}.divider{margin:2px 0}}@media (max-width: 640px){.card{width:150px;min-height:180px;padding:12px 10px}.card .name{font-size:15px}.card .desc{font-size:11.5px}.card .icon-box{width:48px;height:48px}.cards{gap:9px}.screen{gap:12px;padding:14px}.menu{width:min(280px,86vw)}}.code-box{display:flex;gap:8px;width:min(460px,92vw)}.code-field{flex:1;min-width:0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:15px;letter-spacing:.08em;text-align:center;padding:12px 10px;color:var(--gold);background:#08060ee6;border:1px solid rgba(224,180,81,.3);border-radius:6px;-webkit-user-select:text;user-select:text;touch-action:auto}.code-field:focus{outline:none;border-color:var(--gold)}.code-field::placeholder{color:#c3b69759;letter-spacing:.06em}.code-box button.btn{flex:0 0 auto;font-size:14px;padding:12px 16px}.code-note{font-size:13px;line-height:1.7;margin:0;min-height:22px;text-align:center;max-width:min(460px,92vw);white-space:pre-line}.code-note.bad{color:var(--dan)}.code-note.warn{color:var(--gold)}.key-list{display:flex;flex-direction:column;gap:6px;width:min(420px,92vw)}.key-row{display:flex;align-items:center;gap:12px;padding:4px 10px;background:#ffffff08;border-radius:6px}.key-row .nm{flex:1;font-size:15px;font-weight:700}.key-row button.btn{min-width:130px;padding:8px 12px;font-size:14px}.screen.scene{justify-content:flex-end;background:linear-gradient(180deg,#05040a26,#05040abf);backdrop-filter:none;padding-bottom:28px;cursor:pointer}.scene-box{width:min(760px,94vw);min-height:118px;padding:16px 22px 20px;background:linear-gradient(180deg,#14101cf5,#0a080ef5);border:1px solid rgba(224,180,81,.35);border-radius:8px;text-align:left;position:relative;animation:riseIn .25s ease both;box-shadow:0 10px 40px #000000b3}.scene-box.narr{border-color:#c3b69740;background:linear-gradient(180deg,#0e0c12f0,#08060cf0)}.scene-who{font-size:13px;font-weight:800;letter-spacing:.2em;margin-bottom:8px}.scene-text{font-size:16px;line-height:1.75;color:var(--paper);min-height:56px;word-break:keep-all}.scene-box.narr .scene-text{color:var(--paper-dim);font-style:italic}.scene-hint{position:absolute;right:16px;bottom:8px;font-size:11px;color:var(--gold);opacity:0}.scene-hint.on{opacity:.9;animation:bob .9s ease-in-out infinite alternate}@keyframes bob{0%{transform:translateY(0)}to{transform:translateY(3px)}}.scene-skip{position:absolute;top:14px;left:14px;font-size:12px!important;padding:7px 12px!important}.card.route{width:260px;min-height:250px}.card.route .name{font-size:17px}.card .boss-hint{margin:4px 0 0;font-size:12px;color:var(--dan);letter-spacing:.1em;font-weight:700}.card.event{width:220px;min-height:150px}.card.event .glyph{font-size:26px;color:var(--gold)}.event-lines{width:min(680px,92vw);max-height:34vh;overflow-y:auto;padding:12px 16px;background:#0a080eb3;border:1px solid rgba(255,255,255,.08);border-radius:8px;text-align:left;display:flex;flex-direction:column;gap:6px}.event-line{font-size:14px;line-height:1.65;color:var(--paper);word-break:keep-all}.event-line.narr{color:var(--paper-dim);font-style:italic}.event-line .who{font-weight:800;letter-spacing:.12em;margin-right:8px;font-size:12.5px}.ending-kicker{font-size:14px;letter-spacing:.4em;color:var(--dan);font-weight:700}.flavor.epitaph{font-size:17px;color:var(--paper);font-weight:600;letter-spacing:.04em}.route-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;font-size:12px;color:var(--paper-dim)}.route-line .arrow{color:var(--gold);opacity:.7}.route-line .chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.route-line .chip .g{font-size:12px}.icon-box.small{width:44px;height:44px;display:grid;place-items:center;background:#00000059;border-radius:6px;flex:0 0 auto}.glyph.sm{font-size:22px}.codex-list{display:flex;flex-direction:column;gap:8px;width:min(640px,92vw);max-height:56vh;overflow-y:auto;padding-right:4px}.codex-row{padding:12px 14px;background:#14101ce6;border:1px solid rgba(224,180,81,.18);border-radius:6px;text-align:left}.codex-row .nm{font-size:15px;font-weight:800;color:var(--gold);margin-bottom:4px}.codex-row .ds{font-size:13px;line-height:1.65;color:var(--paper-dim);word-break:keep-all}.codex-row.locked{opacity:.45;border-color:#ffffff0f}.codex-row.locked .nm{color:var(--paper-dim)}@media (max-height: 470px){.scene-box{min-height:84px;padding:10px 14px 14px}.scene-text{font-size:13px;line-height:1.55;min-height:40px}.screen.scene{padding-bottom:10px}.event-lines{max-height:26vh;padding:8px 10px}.event-line{font-size:12px}.card.route{width:200px;min-height:0}.codex-list{max-height:48vh}}@media (max-width: 640px){.card.route{width:160px}.card.event{width:150px}}.scene-box{display:flex;gap:16px;align-items:flex-start}.scene-body{flex:1;min-width:0}.scene-face{flex:0 0 auto;display:none}.scene-box.has-face .scene-face{display:block}.scene-face .portrait{width:84px;height:84px;object-fit:cover;object-position:top;border-radius:6px;border:1px solid rgba(224,180,81,.4);background:#0006;image-rendering:auto}.chapter-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;z-index:-1;mask-image:linear-gradient(180deg,#000000e6,#0003);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.2))}.screen{isolation:isolate}.card .icon-box.wide{width:100%;height:96px;position:relative;overflow:hidden}.card .icon-box.wide .road-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card .icon-box.wide .glyph{position:absolute;right:6px;bottom:4px;font-size:20px;text-shadow:0 1px 6px rgba(0,0,0,.9)}.ending-art{width:min(560px,90vw);aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;border:1px solid rgba(224,180,81,.4);box-shadow:0 10px 40px #000000b3}@media (max-height: 470px){.scene-face .portrait{width:56px;height:56px}.ending-art{width:min(300px,60vw)}.card .icon-box.wide{height:56px}}.credits{font-size:11px;line-height:1.7;color:#c3b6978c;max-width:640px;margin:0;word-break:keep-all}.grade-pick{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:2px}.grade-row{display:flex;align-items:center;gap:8px;width:100%;justify-content:center}button.btn.grade-arrow{padding:6px 12px;font-size:13px}.grade-label{min-width:120px;font-size:16px;font-weight:800;letter-spacing:.08em;color:var(--paper-dim)}.grade-label.on{color:#ff8a70;text-shadow:0 0 12px rgba(224,90,74,.45)}.grade-list{list-style:none;margin:0;padding:0;font-size:12px;line-height:1.5;color:var(--paper-dim);max-height:96px;overflow-y:auto;text-align:center}.grade-list li.new{color:#ffb3a8;font-weight:700}.grade-list li.pay{color:var(--ghost)}.grade-list li.none{opacity:.7}.grade-unlock{margin:0;color:#ff8a70;font-weight:800;letter-spacing:.06em}@media (max-height: 470px){.grade-list{max-height:54px;font-size:11px}.grade-label{font-size:14px}}.weapon-pick{display:flex;flex-direction:column;align-items:center;gap:4px}.weapon-row{display:flex;gap:8px;justify-content:center}button.btn.weapon-opt{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 14px;min-width:76px}button.btn.weapon-opt .hj{font-size:11px;color:var(--paper-dim);letter-spacing:.2em}button.btn.weapon-opt .nm{font-size:14px}button.btn.weapon-opt.on{border-color:var(--gold);background:#e0b45124}.weapon-desc{margin:0;font-size:12px;color:var(--paper-dim)}.screen.cutscene{background:#000;justify-content:flex-end;padding:0 0 5vh;gap:0;overflow:hidden}.cut-stage{position:absolute;inset:0;overflow:hidden}.cut-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:translate(0) scale(var(--s0, 1.04));transition:opacity 1.4s ease;animation:cut-drift 14s linear forwards}.cut-img.on{opacity:1}@keyframes cut-drift{0%{transform:translate(0) scale(var(--s0, 1.04))}to{transform:translate(var(--dx, 0),var(--dy, 0)) scale(var(--s1, 1.12))}}.cutscene:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#00000059,#0000 22% 55%,#000000d9)}.cut-caption{position:relative;z-index:1;width:min(820px,92vw);min-height:88px;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.95)}.cut-who{font-size:13px;font-weight:800;letter-spacing:.25em;margin-bottom:6px;min-height:16px}.cut-text{font-size:19px;line-height:1.8;color:var(--paper);word-break:keep-all}.cut-caption.narr .cut-text{color:var(--paper-dim);font-style:italic}.cut-caption.ready:after{content:"▼";display:block;margin-top:6px;font-size:11px;color:var(--gold);animation:bob .9s ease-in-out infinite alternate}.screen.cutscene .scene-skip{z-index:2}.cut-badge{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:2;padding:6px 18px;border-radius:999px;pointer-events:none;font-size:15px;font-weight:900;letter-spacing:.2em;color:#1a1220;background:var(--gold);box-shadow:0 0 24px #e0b45199;opacity:0;transition:opacity .6s ease}.cut-badge.on{opacity:1}.screen.ilseom-up{gap:10px;text-align:center}.screen.ilseom-up .heading{color:var(--gold)}.ilseom-pips{display:flex;gap:14px;justify-content:center;margin:4px 0}.ilseom-pips img{width:64px;height:64px;object-fit:contain;user-select:none;filter:grayscale(1) brightness(.45);opacity:.6}.ilseom-pips img.on{filter:none;opacity:.85}.ilseom-pips img.new{opacity:1;filter:drop-shadow(0 0 10px var(--gold)) drop-shadow(0 0 3px #fff4dc);animation:pip-in .9s cubic-bezier(.2,.8,.3,1.2) both .3s}@keyframes pip-in{0%{transform:scale(1.9) rotate(-18deg);opacity:0;filter:brightness(3) drop-shadow(0 0 22px var(--gold))}to{transform:none;opacity:1}}@media (max-width: 560px),(max-height: 480px){.ilseom-pips img{width:46px;height:46px}}.ilseom-stats{display:flex;gap:22px;justify-content:center;font-size:20px;font-weight:800;color:#9ff0bf}.screen.recap{background:radial-gradient(ellipse at 50% 30%,#1a1422,#07060b 70%)}.recap-list{display:flex;flex-direction:column;gap:10px;width:min(640px,92vw);max-height:64vh;overflow-x:hidden;overflow-y:auto;padding:4px 10px 12px 4px;text-align:left;scrollbar-width:thin;scrollbar-color:rgba(224,180,81,.35) transparent}.recap-row{display:flex;align-items:center;gap:14px;padding:8px 14px;background:#14101ccc;border:1px solid rgba(224,180,81,.18);border-radius:8px;opacity:0;transform:translateY(8px);animation:recap-in .6s ease forwards}@keyframes recap-in{to{opacity:1;transform:none}}.recap-fig{flex:0 0 64px;height:64px;display:flex;align-items:flex-end;justify-content:center}.recap-fig img{max-width:64px;max-height:64px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.8))}.recap-title{font-size:12px;font-weight:800;letter-spacing:.15em;color:var(--gold);margin-bottom:3px}.recap-memory{font-size:15px;line-height:1.6;color:var(--paper);word-break:keep-all}.recap-go{opacity:0;animation:recap-in .6s ease forwards}@media (max-height: 470px){.cut-text{font-size:14px;line-height:1.55}.cut-caption{min-height:60px}.recap-list{max-height:58vh;gap:6px}.recap-fig{flex-basis:44px;height:44px}.recap-fig img{max-width:44px;max-height:44px}.recap-memory{font-size:12px}}.credit-list{display:flex;flex-direction:column;gap:14px;width:min(640px,92vw);max-height:62vh;overflow-y:auto;text-align:center;scrollbar-width:thin}.credit-title{font-size:12px;font-weight:800;letter-spacing:.2em;color:var(--gold);margin-bottom:4px}.credit-line{font-size:13px;line-height:1.7;color:var(--paper-dim);word-break:keep-all}.screen.title{background:#05040a;backdrop-filter:none;overflow:hidden auto}.title-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.title-stage{--w: max(100vw, 177.78vh);position:absolute;width:var(--w);height:calc(var(--w) * .5625);left:calc(50vw - var(--w) / 2);top:calc(50vh - var(--w) * .28125);transform-origin:50% 55%;animation:title-drift 48s ease-in-out infinite alternate,fadeIn 1.6s ease both}@keyframes title-drift{0%{transform:scale(1.02) translate(0)}to{transform:scale(1.1) translate(-.8%,1.2%)}}.title-art{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;filter:saturate(.9) brightness(.85)}.title-glow{position:absolute;border-radius:50%;mix-blend-mode:screen;transform:translate(-50%,-50%)}.title-glow.moon{left:37.9%;top:16.9%;width:18%;aspect-ratio:1;background:radial-gradient(circle,rgba(220,215,255,.32) 0%,rgba(150,140,220,.12) 38%,transparent 70%);animation:glow-breathe 7s ease-in-out infinite}.title-glow.windows{left:50%;top:39%;width:34%;height:10%;background:radial-gradient(ellipse,rgba(255,190,90,.34) 0%,rgba(255,150,60,.1) 50%,transparent 72%);animation:glow-breathe 5s ease-in-out infinite}.title-glow.torch{top:53.5%;width:9%;aspect-ratio:1;background:radial-gradient(circle,rgba(255,170,70,.55) 0%,rgba(255,110,40,.18) 35%,transparent 68%);animation:torch-flicker 2.3s steps(1,end) infinite}.title-glow.torch.left{left:26.8%}.title-glow.torch.right{left:73%;animation-duration:1.9s;animation-delay:-.7s}@keyframes glow-breathe{50%{opacity:.6}}@keyframes torch-flicker{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}14%{opacity:.78;transform:translate(-50%,-50%) scale(.95)}29%{opacity:.95;transform:translate(-50%,-50%) scale(1.04)}47%{opacity:.7;transform:translate(-50%,-50%) scale(.93)}63%{opacity:1;transform:translate(-50%,-50%) scale(1.02)}81%{opacity:.84;transform:translate(-50%,-50%) scale(.97)}}.title-fog{position:absolute;left:-50%;right:-50%;bottom:-4%;height:38%;background:radial-gradient(ellipse 22% 40% at 20% 70%,rgba(150,140,190,.16),transparent 70%),radial-gradient(ellipse 28% 45% at 55% 80%,rgba(140,130,180,.14),transparent 70%),radial-gradient(ellipse 20% 35% at 85% 65%,rgba(160,150,200,.13),transparent 70%);animation:fog-roll 60s linear infinite alternate}.title-fog.back{bottom:8%;height:30%;opacity:.7;animation-duration:85s;animation-direction:alternate-reverse}@keyframes fog-roll{0%{transform:translate(-12%)}to{transform:translate(12%)}}.title-ash{position:absolute;inset:0}.title-ash i{position:absolute;bottom:-10px;width:var(--size);height:var(--size);border-radius:50%;background:#d2c8e68c;box-shadow:0 0 4px #d2c8e666;animation:ash-rise linear infinite}.title-ash i.ember{background:#ffb85c;box-shadow:0 0 6px 1px #ff8c32bf}@keyframes ash-rise{0%{transform:translate(0);opacity:0}10%{opacity:.9}50%{transform:translate(var(--sway),-55vh)}85%{opacity:.6}to{transform:translate(calc(var(--sway) * -.5),-110vh);opacity:0}}.title-shade{position:absolute;inset:0;background:radial-gradient(ellipse 60% 75% at 50% 45%,rgba(5,4,10,.55),rgba(5,4,10,.25) 60%,transparent 85%),linear-gradient(180deg,rgba(5,4,10,.35) 0%,transparent 30%,transparent 65%,rgba(5,4,10,.85) 100%);box-shadow:inset 0 0 160px 40px #000000bf}.title-panel{display:flex;flex-direction:column;align-items:center;gap:16px}.screen.title .game-title{font-size:clamp(46px,9vw,96px);font-weight:900;letter-spacing:.18em;margin-right:-.18em;color:#f4e7c6;text-shadow:0 -1px 0 #fff8e4,0 2px 0 #b8894a,0 5px 0 #3a1418,0 8px 18px rgba(0,0,0,.8),0 0 40px rgba(196,49,47,.5);animation:title-ink 1.4s cubic-bezier(.2,.7,.2,1) both .2s}@keyframes title-ink{0%{opacity:0;letter-spacing:.4em;margin-right:-.4em;filter:blur(8px)}}.game-title{position:relative;line-height:1}.game-title.inked .game-title-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.game-title:not(.inked) .title-logo{position:absolute;opacity:0}.title-logo{display:block;height:1.45em;width:auto;max-width:min(92vw,640px);object-fit:contain;margin:0 auto;user-select:none;pointer-events:none;filter:drop-shadow(0 2px 0 #7a5530) drop-shadow(0 5px 0 #2a0f12) drop-shadow(0 8px 16px rgba(0,0,0,.85)) drop-shadow(0 0 30px rgba(196,49,47,.4))}.screen.title .game-title.inked{letter-spacing:0;margin-right:0}.title-blade{display:block;width:min(400px,74vw);height:auto;margin:2px auto 4px;user-select:none;pointer-events:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,.9)) drop-shadow(0 0 10px rgba(224,180,81,.25));animation:blade-draw 1.1s cubic-bezier(.3,.7,.2,1) both .9s}@keyframes blade-draw{0%{clip-path:inset(-24px 100% -24px -24px);opacity:.4}to{clip-path:inset(-24px -24px -24px -24px);opacity:1}}.screen.title .game-sub{font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.9)}.screen.title .flavor{text-shadow:0 1px 6px rgba(0,0,0,.9);color:#d6c9a8}.screen.title .stat .k{text-shadow:0 1px 4px rgba(0,0,0,.9)}.screen.title button.btn:not(.primary){backdrop-filter:blur(4px)}.screen.title button.btn.ghost{background:#0a081073}.screen.title button.btn.primary{box-shadow:0 0 24px #c4312f59}.menu-sub{display:grid;grid-template-columns:1fr 1fr;gap:8px}.menu-sub>:last-child:nth-child(odd){grid-column:1 / -1}.menu-sub button.btn{padding:9px 10px;font-size:13px}.screen.title .menu-sub{display:flex!important;flex-wrap:wrap;justify-content:center;gap:2px 0;margin:4px auto 0;width:max-content;max-width:min(480px,92vw)}.screen.title .menu-sub button.btn.ghost{background:none;border:none;border-radius:0;backdrop-filter:none;box-shadow:none;padding:4px 12px!important;font-size:13px!important;font-weight:600;color:var(--paper-dim);text-shadow:0 1px 4px rgba(0,0,0,.95);position:relative}.screen.title .menu-sub button.btn.ghost+button.btn.ghost:before{content:"";position:absolute;left:0;top:50%;width:1px;height:12px;margin-top:-6px;background:#e0b45166}.screen.title .menu-sub button.btn.ghost:hover,.screen.title .menu-sub button.btn.ghost:focus-visible{color:var(--gold);background:none;transform:none}.screen.title button.btn.primary{position:relative;letter-spacing:.14em;padding-left:calc(20px + .14em);white-space:nowrap;background:linear-gradient(180deg,#b52a24,#8a1a1b 55%,#5e1013);border:1px solid #e0b451;border-radius:3px;box-shadow:inset 0 0 0 3px #1406088c,inset 0 0 0 4px #e0b45173,0 6px 18px #0009,0 0 26px #c4312f59;text-shadow:0 1px 0 #3a0c0e}.screen.title button.btn.primary:hover{background:linear-gradient(180deg,#cc3a31,#9d2221 55%,#6d1416)}.screen.title .menu>button.btn:not(.primary):not(.ghost){border-radius:3px;background:#0e0a149e}.screen.title .stat-row{border-top:1px solid rgba(224,180,81,.18);padding-top:10px;gap:4px 22px}.screen.title .stat .v{font-size:20px}.title-side{display:contents}.title-picks{display:flex;flex-direction:column;gap:10px;width:min(320px,82vw);margin:10px 0 -16px}@media (min-aspect-ratio: 4/3) and (min-width: 860px){.screen.title{align-items:flex-start;padding-left:clamp(32px,6vw,110px)}.title-stage{--w: max(132vw, 177.78vh);left:calc(64vw - var(--w) / 2)}.title-shade{background:linear-gradient(90deg,rgba(5,4,10,.92) 0%,rgba(5,4,10,.7) 28%,rgba(5,4,10,.15) 48%,transparent 60%),linear-gradient(180deg,rgba(5,4,10,.3) 0%,transparent 25%,transparent 70%,rgba(5,4,10,.8) 100%)}.title-panel{width:min(440px,40vw)}.screen.title .flavor{font-size:13px}}@media (max-height: 470px){.screen.title .game-title{font-size:clamp(32px,9vh,52px)}.title-panel{gap:8px}.menu-sub{gap:6px}.menu-sub button.btn{padding:6px 8px;font-size:12px}}@media (max-width: 640px){.title-picks{width:min(280px,86vw)}}@media (orientation: landscape) and (max-height: 540px){.screen.title{align-items:center;justify-content:center;padding:max(8px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.title-stage{--w: max(100vw, 177.78vh);left:calc(50vw - var(--w) / 2)}.title-shade{background:radial-gradient(ellipse 70% 80% at 50% 50%,#05040a99,#05040a59 60%,#05040a26 90%),linear-gradient(180deg,rgba(5,4,10,.35) 0%,transparent 30%,transparent 65%,rgba(5,4,10,.85) 100%)}.title-panel{display:grid;width:min(860px,100%);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:40px auto auto;grid-template-areas:"side ." "side menu" "side stats";gap:0 clamp(16px,4vw,44px);align-items:center}.title-side{grid-area:side;display:flex;flex-direction:column;align-items:center;gap:clamp(4px,1.6vh,9px);min-width:0}.title-wrap{gap:2px}.screen.title .title-blade{width:min(280px,100%);margin:0 auto 2px}.screen.title .game-title{font-size:clamp(28px,10.5vh,50px)}.screen.title .game-sub{font-size:11px;letter-spacing:.3em;margin:0}.screen.title .divider{width:min(300px,100%);margin:2px 0 0}.screen.title .flavor{font-size:11.5px;line-height:1.5;max-width:380px}.title-picks{width:min(320px,100%);margin:0;gap:clamp(4px,1.4vh,8px)}.weapon-pick{gap:2px}button.btn.weapon-opt{padding:4px 10px;min-width:64px}button.btn.weapon-opt .hj{font-size:10px}button.btn.weapon-opt .nm{font-size:13px}.weapon-desc{font-size:11px}.grade-pick{gap:3px;margin:0}button.btn.grade-arrow{padding:3px 10px;font-size:12px}.grade-label{font-size:13px;min-width:100px}.grade-list{font-size:10.5px;line-height:14px;max-height:42px}.screen.title .menu{grid-area:menu;width:100%;max-width:320px;justify-self:center;margin:0;gap:clamp(5px,1.6vh,9px)}.screen.title button.btn{padding:clamp(6px,2vh,11px) 12px;font-size:14px}.screen.title button.btn.primary{font-size:15px}.screen.title .menu-sub{gap:clamp(4px,1.4vh,7px)}.screen.title .menu-sub button.btn{padding:clamp(5px,1.6vh,8px) 8px;font-size:12px}.screen.title .load-box{margin:0}.screen.title .stat-row{grid-area:stats;gap:2px 14px;margin:clamp(6px,2.4vh,12px) 0 0}.screen.title .stat .v{font-size:16px}.screen.title .stat .k{font-size:9.5px;letter-spacing:.08em}}@media (orientation: landscape) and (max-height: 400px){.screen.title .title-blade{width:min(220px,100%)}.grade-list{max-height:28px}.title-panel{grid-template-areas:"side ." "side menu" "stats menu"}.screen.title .menu,.screen.title .stat-row{align-self:start}}@media (orientation: landscape) and (max-height: 360px){.screen.title .flavor{display:none}}@media (orientation: landscape) and (max-height: 400px){.screen:not(.title)>.menu{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:min(460px,100%)}.screen:not(.title)>.menu>button.btn{padding:7px 10px;font-size:13px}.screen:not(.title)>.menu>.primary,.screen:not(.title)>.menu>.primary:first-child~:last-child:nth-child(2n){grid-column:1 / -1}.screen:not(.title)>.heading{margin:0}}@media (orientation: portrait) and (max-width: 600px){.screen.title{justify-content:center;padding:max(46px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.title-panel{width:100%;gap:clamp(8px,1.4dvh,16px)}.screen.title .title-blade{width:min(300px,80vw)}.screen.title .game-title{font-size:clamp(34px,min(13vw,7.5dvh),64px)}.screen.title .game-sub{font-size:11px;letter-spacing:.3em;margin:0 0 2px}.screen.title .flavor{font-size:12px;line-height:1.55}.menu,.title-picks{width:min(320px,100%)}.title-picks{gap:clamp(6px,1.2dvh,10px);margin:0 0 calc(clamp(6px,1.2dvh,10px) - clamp(8px,1.4dvh,16px))}.grade-list{max-height:48px;font-size:11px;line-height:16px}.screen.title .menu{margin-top:0;gap:clamp(6px,1.2dvh,10px)}.screen.title button.btn{padding:clamp(8px,1.4dvh,13px) 14px;font-size:15px}.screen.title button.btn.primary{font-size:16px}.screen.title .menu-sub{grid-template-columns:repeat(6,1fr);gap:6px}.screen.title .menu-sub>*{grid-column:span 2}.screen.title .menu-sub>:nth-child(4):nth-last-child(2),.screen.title .menu-sub>:nth-child(5):last-child{grid-column:span 3}.screen.title .menu-sub button.btn{padding:clamp(6px,1.2dvh,9px) 4px;font-size:12.5px}.screen.title .stat-row{gap:4px 14px}.screen.title .stat .v{font-size:18px}.screen.title .stat .k{font-size:10px;letter-spacing:.08em}}@media (orientation: portrait) and (max-width: 600px) and (max-height: 760px){.screen.title .title-blade{width:min(240px,70vw)}.grade-list{max-height:32px}}#ui:has(.screen.title)~#rotate{display:none!important}@media (orientation: landscape) and (max-height: 540px),(orientation: portrait) and (max-width: 600px){.screen.title .menu-sub{display:grid!important;grid-template-columns:repeat(3,auto);justify-content:center;width:auto;max-width:100%;gap:0 4px}.screen.title .menu-sub>*{grid-column:auto!important}.screen.title .menu-sub button.btn.ghost{padding:4px clamp(6px,2vw,12px)!important;font-size:12.5px!important;letter-spacing:0;white-space:nowrap}.screen.title .menu-sub button.btn.ghost+button.btn.ghost:before{display:none}}@media (prefers-reduced-motion: reduce){.title-stage,.title-glow,.title-fog,.title-ash i,.screen.title .game-title,.title-blade{animation:none!important}.title-ash{display:none}}.screen.settings{gap:12px}.settings-list{display:flex;flex-direction:column;gap:4px;width:min(560px,92vw);max-height:66vh;overflow-y:auto;padding:2px 6px;scrollbar-width:thin}.settings-section{margin:10px 0 2px;font-size:12px;font-weight:800;letter-spacing:.3em;color:var(--gold);border-bottom:1px solid rgba(224,180,81,.2);padding-bottom:4px}.settings-section:first-child{margin-top:0}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:7px 4px}.settings-label{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:left}.settings-label .nm{font-size:15px;font-weight:700}.settings-label .ds{font-size:11.5px;color:var(--paper-dim)}.settings-slider{display:flex;align-items:center;gap:10px;flex:0 0 auto}.settings-slider .val{width:30px;text-align:right;font-variant-numeric:tabular-nums;font-weight:700;color:var(--gold);font-size:14px}.settings-slider input[type=range]{-webkit-appearance:none;appearance:none;width:clamp(130px,28vw,220px);height:6px;border-radius:3px;cursor:pointer;background:linear-gradient(90deg,#a8231f,var(--gold) var(--fill, 100%),rgba(240,230,210,.15) var(--fill, 100%))}.settings-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#f4e7c6;border:2px solid #7a5530;box-shadow:0 1px 4px #0009}.settings-slider input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#f4e7c6;border:2px solid #7a5530}.settings-choice{display:flex;gap:4px;flex:0 0 auto}.settings-choice button.btn.ghost{padding:6px 12px;font-size:13px;min-width:52px}.settings-choice button.btn.ghost.sel{background:#a8231f8c;border-color:var(--gold);color:#fff4dc}@media (max-width: 520px){.settings-row{flex-direction:column;align-items:stretch;gap:6px}.settings-slider input[type=range]{flex:1;width:auto}.settings-choice{justify-content:flex-end}}@media (max-height: 470px){.settings-list{max-height:70vh}.settings-row{padding:4px}}button.backup-hint{font-family:var(--font);font-size:12px;font-weight:600;color:#e9c9a0;cursor:pointer;background:#783c1440;border:1px dashed rgba(224,180,81,.45);border-radius:3px;padding:6px 10px;margin-top:2px;text-shadow:0 1px 4px rgba(0,0,0,.9)}button.backup-hint:hover{color:var(--gold);border-style:solid}.card.room{--tone: 154, 164, 176;width:220px;min-height:0;padding:0;gap:0;overflow:hidden;background:linear-gradient(180deg,#120e1a,#0b0910);border:1px solid rgba(var(--tone),.45);box-shadow:0 6px 22px #0000008c,inset 0 0 0 1px #0009}.card.room.room-elite{--tone: 196, 49, 47}.card.room.room-gauntlet{--tone: 224, 140, 70}.card.room.room-shrine{--tone: 110, 196, 170}.card.room.room-treasure{--tone: 224, 180, 81}.card.room.room-event{--tone: 170, 140, 220}.card.room.room-merchant{--tone: 214, 160, 96}.card.room.room-engrave{--tone: 232, 132, 64}.card.room:before,.card.room:after{content:"";position:absolute;width:18px;height:18px;z-index:3;pointer-events:none;border:2px solid rgba(var(--tone),.8)}.card.room:before{top:5px;right:5px;border-left:0;border-bottom:0}.card.room:after{bottom:5px;left:5px;border-right:0;border-top:0}.card.room:hover,.card.room:focus-visible{border-color:rgba(var(--tone),.9);box-shadow:0 12px 36px #000000a6,0 0 26px rgba(var(--tone),.28)}.card.room .key{width:24px;height:24px;font-size:13px;background:#0e0b14e0;color:rgb(var(--tone));border:1px solid rgba(var(--tone),.6);box-shadow:0 1px 6px #000000b3}.room-art{position:relative;width:100%;aspect-ratio:4 / 4.2;overflow:hidden;display:grid;place-items:center;background:#00000059}.room-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .3s ease;filter:saturate(.9) brightness(.92)}.room-elite .room-img{object-position:50% 8%;transform-origin:50% 15%}.card.room:hover .room-img,.card.room:focus-visible .room-img{transform:scale(1.06);filter:saturate(1.05) brightness(1.05)}.room-art:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0b091000 55%,#0b0910d9 88%,#0b0910)}.room-body{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 14px 16px;text-align:center}.room-tag{font-size:11px;font-weight:700;letter-spacing:.24em;color:rgb(var(--tone));padding:0 0 4px;border-bottom:1px solid rgba(var(--tone),.35)}.card.room .name{font-size:19px;letter-spacing:.08em}.card.room .desc{font-size:12.5px}@media (min-width: 641px) and (min-height: 471px){.cards:has(>.card.room:nth-child(4)) .card.room{width:196px}}@media (max-height: 470px){.card.room{width:180px}.room-art{aspect-ratio:16 / 10}.room-body{padding:2px 10px 10px;gap:3px}}@media (max-width: 640px){.card.room{width:150px}.card.room .name{font-size:16px}.card.room .desc{font-size:11.5px}}.screen.title .menu-sub button.btn.ghost.install-link{color:var(--gold);font-weight:800}.screen.install{gap:12px}.install-warn{margin:0;max-width:460px;text-align:center;font-size:13px;line-height:1.6;color:#ffcf9a}.install-steps{margin:0;padding:0;list-style:none;counter-reset:st;display:flex;flex-direction:column;gap:8px;width:min(480px,92vw)}.install-steps li{counter-increment:st;position:relative;padding:9px 12px 9px 42px;background:#14101cd9;border:1px solid rgba(224,180,81,.22);border-radius:8px;font-size:14px;line-height:1.9;color:var(--paper);text-align:left}.install-steps li:before{content:counter(st);position:absolute;left:11px;top:10px;width:22px;height:22px;border-radius:50%;background:var(--dan);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;line-height:1}.install-steps small{display:block;font-size:12px;line-height:1.6;color:var(--paper-dim)}.ikey{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;padding:1px 8px;min-height:26px;border-radius:6px;background:#ffffff1a;border:1px solid rgba(255,255,255,.22)}.ikey svg{width:18px;height:18px;fill:none;stroke:#8ec5ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ikey svg circle{fill:#8ec5ff;stroke:none}.ikey b{font-weight:700;color:#8ec5ff;font-size:13px}@media (orientation: landscape) and (max-height: 470px){.screen.install{gap:6px}.install-steps{gap:5px;width:min(560px,92vw)}.install-steps li{padding:5px 10px 5px 38px;font-size:13px;line-height:1.7}.install-steps li:before{top:7px}}.revive-line{margin:0;font-size:14px;font-weight:700;color:#8fe3c8;letter-spacing:.04em;text-align:center}.revive-line.none{color:#e8a090;font-weight:600}@media (orientation: landscape) and (max-height: 400px){.revive-line{font-size:12.5px}}.screen.growth{gap:10px;justify-content:flex-start;padding-top:18px}.growth-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:min(1180px,96vw);align-items:start;flex:none}.g-card{--fam: #ccc;display:flex;flex-direction:column;gap:6px;padding:10px;background:#0e0b14e0;border:1px solid color-mix(in srgb,var(--fam) 45%,transparent);border-top:3px solid var(--fam);border-radius:8px;min-width:0;text-align:left}.g-head{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.g-head b{color:var(--fam);font-size:17px;font-weight:900;letter-spacing:.08em}.g-head span{color:var(--paper);font-size:12px;font-weight:700;opacity:.85}.g-play{margin:0;font-size:11.5px;line-height:1.5;color:var(--paper-dim)}.g-card h4{margin:4px 0 0;font-size:11px;letter-spacing:.14em;color:var(--paper-dim);font-weight:700;opacity:.8}.g-syn{display:flex;flex-direction:column;gap:3px;padding:6px;border-radius:6px;background:#ffffff0a}.g-tier{display:flex;gap:6px;font-size:11.5px;line-height:1.45;color:var(--paper-dim)}.g-tier em{font-style:normal;font-weight:800;color:var(--fam);flex:none;opacity:.7}.g-tier.on{color:var(--paper)}.g-tier.on em{opacity:1}.g-tier.on span:after{content:" ✓";color:var(--fam);font-weight:800}.g-count{font-size:11px;color:var(--fam);font-weight:700;text-align:right}.g-relics{display:grid;grid-template-columns:1fr 1fr;gap:4px}.g-item{font-family:var(--font);color:var(--paper);cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:4px 6px;display:flex;align-items:center;gap:6px;min-width:0;transition:border-color .12s,background .12s}.g-item:hover{border-color:#e0b45199}.g-item.sel{border-color:var(--gold);background:#e0b45124}.g-item .nm{font-size:12px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g-relic{flex-direction:column;gap:2px;padding:5px 2px;text-align:center;position:relative;border-color:color-mix(in srgb,var(--rar) 40%,transparent)}.g-relic .nm{font-size:11px;max-width:100%}.g-relic.new canvas{opacity:.4;filter:grayscale(.7)}.g-relic.new .nm{color:var(--paper-dim);opacity:.7}.g-relic.seen:after{content:"✓";position:absolute;top:2px;right:4px;font-size:10px;color:var(--paper-dim)}.g-relic.held{background:color-mix(in srgb,var(--fam) 22%,transparent);border-color:var(--fam)}.g-relic.held:after{content:"보유";position:absolute;top:2px;right:3px;font-size:9px;font-weight:800;color:var(--fam)}.g-relic .n{position:absolute;top:2px;left:4px;font-size:10px;font-weight:800;color:var(--gold)}.g-altar{justify-content:space-between}.g-altar .pips{display:flex;gap:3px;flex:none}.g-altar .pips i{width:7px;height:7px;border-radius:50%;background:#ffffff24;border:1px solid rgba(255,255,255,.2)}.g-altar .pips i.on{background:var(--gold);border-color:var(--gold)}.g-altar.done{border-color:#e0b45173}.g-mark .wp{flex:none;font-size:10px;font-weight:800;padding:1px 5px;border-radius:4px;background:#ffffff1a;color:var(--paper-dim)}.g-mark.mine .wp{background:#e0b45140;color:var(--gold)}.g-mark.locked{opacity:.45}.g-mark.locked .wp:before{content:"🔒 "}.g-mark.held{border-color:var(--fam);background:color-mix(in srgb,var(--fam) 18%,transparent)}.g-common{flex:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.g-common .lbl{font-size:12px;color:var(--paper-dim);letter-spacing:.1em}.g-common .g-item{min-width:200px}.growth-detail{position:sticky;bottom:0;z-index:2;flex:none;width:min(760px,96vw);min-height:52px;display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:#0a080ef5;border:1px solid rgba(224,180,81,.35);border-radius:8px;box-shadow:0 -6px 18px #00000080}.growth-detail b{font-size:14px;color:var(--gold)}.growth-detail span{font-size:12.5px;line-height:1.55;color:var(--paper)}@media (max-width: 980px){.growth-map{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;width:100%;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.g-card{flex:0 0 214px;scroll-snap-align:start}}@media (orientation: landscape) and (max-height: 470px){.screen.growth{gap:5px;padding-top:8px}.screen.growth .heading{font-size:22px}.screen.growth .subheading{font-size:12px}.g-card{padding:7px;gap:4px}.g-play{display:none}.growth-detail{min-height:0;padding:4px 10px;flex-direction:row;align-items:baseline;gap:8px}.growth-detail b{font-size:12px;flex:none;max-width:40%}.growth-detail span{font-size:11px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}
