:root{--bg:#11161c;--panel:#1a222b;--panel-2:#222c37;--line:#2e3a47;--text:#ecf1f5;--dim:#a9b6c2;--amber:#ffb347;--amber-ink:#241503;--mint:#6fe3c1;--danger:#ff7a6b;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--font-title:"HaruRound", "HaruBody", system-ui, -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-body:"HaruBody", system-ui, -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif}@font-face{font-family:HaruRound;src:url(/fonts/haru-round.woff2?v=1)format("woff2");font-weight:400 900;font-display:swap}@font-face{font-family:HaruBody;src:url(/fonts/haru-body.woff2?v=1)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:HaruBody;src:url(/fonts/haru-body-bold.woff2?v=1)format("woff2");font-weight:700;font-display:swap}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;overflow:hidden}body{font:16px/1.45 var(--font-body);-webkit-text-size-adjust:100%;overscroll-behavior:none}h1,h2,h3,.top .town,.hud .txt,.nametag,.sheet.shop .gold,.tabs button{font-family:var(--font-title)}.sheet.talk .line,.desc,.qstrip p{word-break:keep-all;overflow-wrap:anywhere}#app{flex-direction:column;display:flex;position:fixed;inset:0}button{font:inherit;font-family:var(--font-title);border:1px solid var(--line);background:var(--panel-2);min-width:44px;min-height:44px;color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:12px;padding:0 16px}button.main{background:var(--amber);color:var(--amber-ink);border-color:var(--amber);font-weight:700}button:disabled{opacity:.55}input{font:inherit;border:1px solid var(--line);background:var(--bg);min-height:44px;color:var(--text);border-radius:12px;width:100%;padding:0 12px;font-size:16px}input::placeholder{color:#8d9aa6;opacity:1}input:focus{outline:2px solid var(--amber);outline-offset:1px}.start{padding:calc(24px + var(--safe-t)) 20px calc(24px + var(--safe-b));flex-direction:column;flex:1;justify-content:center;gap:16px;width:100%;max-width:440px;margin:0 auto;display:flex}.start h1{letter-spacing:-.5px;margin:0;font-size:34px}.start h1 span{color:var(--amber)}.start .lead{color:var(--dim);margin:0}.start .card{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}.start .card h2{margin:0;font-size:17px}.start .row{gap:8px;display:flex}.start .row input{flex:1;min-width:0}.start .hint{color:var(--dim);margin:0;font-size:14px}.msg{min-height:1.45em;margin:0;font-size:14px}.msg.bad{color:var(--danger)}.msg.good{color:var(--mint)}.top{padding:calc(6px + var(--safe-t)) 12px 6px;background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:52px;display:flex}.top .town{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.top .count{color:var(--dim);white-space:nowrap;font-size:14px}.top .spacer{flex:1}.top .net{color:var(--dim);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.top .net:before{content:"";background:var(--mint);border-radius:50%;width:9px;height:9px}.top .net.wait:before{background:var(--amber)}.top .net.down:before{background:var(--danger)}.stage{flex:1;min-height:0;position:relative}.stage canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.banner{z-index:5;border:1px solid var(--line);background:#11161ceb;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex;position:absolute;top:10px;left:12px;right:12px}.banner.bad{border-color:var(--danger)}.banner p{flex:1;margin:0}.banner[hidden]{display:none}.alert{z-index:3;border:1px solid var(--danger);color:#ffd9d4;text-align:center;word-break:keep-all;pointer-events:none;background:#280c0ef0;border-radius:12px;max-width:420px;margin:0 auto;padding:9px 12px;font-size:14px;font-weight:700;line-height:1.4;animation:.25s ease-out alert-in;position:absolute;top:56px;left:12px;right:12px}.alert[hidden]{display:none}.stage.bossing .alert{top:6px}.cover{z-index:4;color:var(--text);pointer-events:none;background:#080c229e;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:15px;font-weight:700;display:flex;position:absolute;inset:0}.cover.first{background:#0d1324}.cover[hidden]{display:none}.cover p{background:#0d1324e6;border-radius:12px;margin:0;padding:8px 16px}.cover .spin{border:3px solid #ffb34740;border-top-color:var(--amber);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.cover .bar{background:#ffffff1f;border-radius:3px;width:180px;height:6px;overflow:hidden}.cover .bar[hidden]{display:none}.cover .bar i{background:var(--amber);width:0;height:100%;transition:width .2s;display:block}@media (prefers-reduced-motion:reduce){.cover .spin{animation:none}}.alert.gold{color:#ffe9b0;background:#261e08f0;border-color:#ffd36b}@keyframes alert-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.chat{background:var(--panel);border-top:1px solid var(--line);padding:6px 10px calc(8px + var(--safe-b));flex-direction:column;gap:6px;display:flex}.chat .log{overscroll-behavior:contain;height:92px;font-size:14px;line-height:1.4;overflow-y:auto}.chat .log p{word-break:break-all;margin:0}.chat .log b{color:var(--mint);font-weight:600}.chat .log .me b{color:var(--amber)}.chat .log .sys{color:var(--dim)}.chat .log .bad{color:var(--danger)}.chat .log .npc b{color:#c9b8ff}.chat form{gap:8px;display:flex}.chat input{flex:1;min-width:0}.hud{background:var(--panel);border-bottom:1px solid var(--line);gap:6px;padding:5px 12px 6px;display:flex}.hud .bar{background:var(--bg);border:1px solid var(--line);border-radius:6px;flex:1;height:20px;position:relative;overflow:hidden}.hud .fill{width:0;transition:width .2s;position:absolute;inset:0 auto 0 0}.hud .hp .fill{background:#b8473c}.hud .xp .fill{background:#7a6420}.hud .txt{text-align:center;color:var(--text);white-space:nowrap;text-overflow:ellipsis;padding:0 4px;font-size:12px;line-height:18px;display:block;position:relative;overflow:hidden}.atk{width:76px;height:76px;color:var(--amber-ink);touch-action:none;-webkit-user-select:none;user-select:none;background:#ffb347eb;border:2px solid #ffd59a;border-radius:50%;padding:0;font-size:17px;font-weight:800;position:absolute;bottom:14px;right:14px;box-shadow:0 4px 14px #00000073}.atk.on{background:#ffc56e;transform:scale(.93)}.atk[hidden]{display:none}.nexttgt{width:50px;height:50px;color:var(--text);touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#11161ce6;border:2px solid #ffd59a;border-radius:50%;place-content:center;padding:0;font-size:12px;font-weight:800;line-height:1.05;display:grid;position:absolute;bottom:166px;right:27px;box-shadow:0 4px 12px #00000073}.nexttgt span{color:var(--amber);font-size:16px}.nexttgt[hidden]{display:none}@media (max-height:700px){.chat .log{height:56px}.hud{padding:4px 12px}}.tabs{gap:6px;display:flex}.tabs button{background:var(--bg);min-height:44px;color:var(--dim);border-radius:10px;flex:1;padding:0 8px;font-size:15px}.tabs button[aria-selected=true]{background:var(--panel-2);color:var(--text);border-color:var(--amber)}.chat .log[data-tab=party] p:not(.ch-party),.chat .log[data-tab=friend] p:not(.ch-friend){display:none}.chat .log .pchat b{color:#9fd0ff}.chat .log .pchat.me b{color:var(--amber)}.chat .log .whisper,.chat .log .whisper b{color:#f5a8d4}.chat.wide .log{height:72px}.friends{overscroll-behavior:contain;flex-direction:column;gap:4px;max-height:200px;display:flex;overflow-y:auto}.friends[hidden]{display:none}.friends .hint{color:var(--dim);margin:2px 0;font-size:14px}.friends .hint.bad{color:var(--danger)}.friends .friend,.friends .whisper-to{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:48px;padding:0 2px;display:flex}.friends .friend .dot{background:var(--line);border-radius:50%;flex:none;width:9px;height:9px}.friends .friend.on .dot{background:var(--mint)}.friends .nm{white-space:nowrap;text-overflow:ellipsis;max-width:30%;font-weight:600;overflow:hidden}.friends .where{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.friends .whisper-to span{color:#f5a8d4;flex:1}.friends button{padding:0 10px;font-size:14px}.party{z-index:2;flex-direction:column;gap:4px;width:150px;display:flex;position:absolute;top:8px;left:8px}.party[hidden]{display:none}.party .pm{text-align:left;background:#11161cdb;border-radius:10px;flex-direction:column;align-items:stretch;gap:3px;min-height:44px;padding:5px 8px;font-size:13px;display:flex}.party .pm.off{color:var(--dim)}.party .pm .nm{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.party .pm .bar{background:#2a1a18;border-radius:3px;height:6px;position:relative;overflow:hidden}.party .pm .fill{background:#e05a4c;position:absolute;inset:0 auto 0 0}.party .pm .away{color:var(--dim);font-size:11px}.party .pm.leave{min-height:44px;color:var(--dim);justify-content:center;font-size:12px}.prompts{z-index:3;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute;top:58px;left:12px;right:12px}.prompt{pointer-events:auto;border:1px solid var(--amber);background:#1a222bf7;border-radius:14px;padding:10px 12px;box-shadow:0 6px 18px #00000073}.prompt p{margin:0 0 8px}.prompt .row{gap:8px;display:flex}.prompt .row button{flex:1}.sheet{z-index:4;background:#00000073;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet[hidden]{display:none}.sheet-card{background:var(--panel);border-top:1px solid var(--line);border-radius:18px 18px 0 0;width:100%;padding:14px 16px 16px}.sheet-card h3{margin:0 0 8px;font-size:18px}.sheet-card .hint{color:var(--dim);margin:0 0 10px;font-size:14px}.sheet-card .col{flex-direction:column;gap:8px;display:flex}@media (max-height:700px){.chat.wide .log{height:44px}.friends{max-height:150px}}.top .bagbtn{padding:0 12px}.top .mailbtn{min-width:44px;padding:0;font-size:20px;position:relative}.top .mailbtn[hidden]{display:none}.top .updbtn{color:#0d2a22;background:var(--mint);border-color:var(--mint);width:44px;min-width:44px;min-height:44px;padding:0;font-size:22px;font-weight:700}.top.upd .count,.top .updbtn[hidden]{display:none}.top .mailbtn .ic{background-repeat:no-repeat;width:28px;height:28px;margin:auto;display:block}.top .mailbtn .dot{background:var(--danger);width:9px;height:9px;box-shadow:0 0 0 2px var(--bg,#0d1324);border-radius:50%;position:absolute;top:6px;right:5px}.top .mailbtn .dot[hidden]{display:none}.sheet.mail .mailrow{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);background:0 0;border-radius:0;min-height:56px}.sheet.mail .env{width:36px;height:36px;color:var(--amber);place-items:center;font-size:22px;display:grid}.sheet.mail .letter{flex-direction:column;gap:6px;padding:8px 2px 12px;display:flex}.sheet.mail .letter b{font-size:17px}.sheet.mail .letter small{color:var(--dim)}.sheet.mail .letter p{white-space:pre-wrap;word-break:keep-all;margin:4px 0;line-height:1.55}.sheet.mail .gifts{flex-wrap:wrap;gap:8px;display:flex}.sheet.mail .gift{background:#ffb3471f;border:1px solid #ffb34766;border-radius:10px;align-items:center;gap:6px;padding:4px 10px 4px 4px;font-weight:700;display:inline-flex}.sheet.mail .gift.gold{color:var(--amber);padding-left:10px}.sheet.mail .btns{justify-content:flex-end;gap:8px;display:flex}.sheet.mail .btns button{min-height:44px;padding:0 16px}.sheet.bag{align-items:flex-end}.sheet.bag .sheet-card{max-height:92%;overflow-y:auto}.bag-top{align-items:center;gap:8px;display:flex}.bag-top h3{flex:1;margin:0}.sheet.bag .stats{color:var(--dim);margin:4px 0 10px;font-size:14px}.sheet.bag .equip,.sheet.bag .grid{gap:6px;display:grid}.sheet.bag .equip{grid-template-columns:repeat(4,1fr);margin-bottom:10px}.sheet.bag .grid{grid-template-columns:repeat(5,1fr)}.sheet.bag .cell{background:var(--bg);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:60px;padding:4px 3px;display:flex;position:relative}.sheet.bag .cell.sel{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber) inset}.sheet.bag .cell.empty .nm{color:#8d9aa6}.sheet.bag .cell .sw{background:0 0;border:1px solid #0000004d;border-radius:6px;width:18px;height:18px}.sheet.bag .cell .sw.icon{background-repeat:no-repeat;border:0;border-radius:0;width:36px;height:36px}.sheet.bag .cell.empty .sw{border-style:dashed;border-color:var(--line)}.sheet.bag .cell .nm{text-align:center;word-break:keep-all;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.2;display:-webkit-box;overflow:hidden}.sheet.bag .cell .n{color:var(--amber);font-size:11px;font-weight:700;position:absolute;top:2px;right:4px}.sheet.bag .detail{background:var(--bg);border-radius:12px;min-height:52px;margin:0 0 10px;padding:8px 10px}.sheet.bag .detail p{margin:0 0 4px}.sheet.bag .detail .name{font-weight:700}.sheet.bag .detail .bits{color:#9fe8ff;font-size:14px}.sheet.bag .detail .desc{color:var(--dim);font-size:14px}.sheet.bag .detail .row{gap:8px;margin-top:8px;display:flex}.sheet.bag .detail .row button{white-space:nowrap;flex:1;min-width:0;padding-left:6px;padding-right:6px}.top .phase{text-align:center;color:#ffe08a;flex-shrink:0;width:22px;font-size:16px;line-height:1}.top .phase.night,.top .phase.dawn{color:#b9c4e0}.top button{white-space:nowrap;flex-shrink:0}.top .town{flex-shrink:1;min-width:0}@media (max-width:440px){.top{gap:6px;padding-left:10px;padding-right:10px}.top .net{gap:0;font-size:0}.top .town{min-width:4.8em}.top .bagbtn{padding:0 10px}.top button{padding-left:10px;padding-right:10px}.top .mailbtn{padding:0}}@media (max-width:389px){.top{gap:5px;padding-left:8px;padding-right:8px}.top .net{gap:0;font-size:0}.top .count{display:none}.top button{padding:0 9px}.top .town{font-size:16px}}@media (max-width:369px){.top .town{font-size:15px}}.talkbtn{color:#062019;background:#6fe3c1f0;border:2px solid #b5f3e0;border-radius:50%;width:76px;height:76px;padding:0;font-size:15px;font-weight:800;position:absolute;bottom:14px;right:14px;box-shadow:0 4px 14px #00000073}.talkbtn.small{width:56px;height:56px;font-size:12px;bottom:86px;right:98px}.talkbtn[hidden]{display:none}.quick{touch-action:none;-webkit-user-select:none;user-select:none;background:#11161ce6;border:2px solid #ffd59a;border-radius:50%;place-items:center;width:56px;height:56px;padding:0;display:grid;position:absolute;overflow:hidden;box-shadow:0 4px 12px #00000073}.quick.q1{bottom:16px;right:98px}.quick.q2{bottom:100px;right:24px}.quick[hidden]{display:none}.quick .ic{background-repeat:no-repeat;border-radius:8px;width:34px;height:34px}.quick .n{color:#fff;text-shadow:0 0 3px #000,0 0 3px #000;font-size:13px;font-weight:800;position:absolute;bottom:3px;right:6px}.quick .key{color:var(--dim);font-size:11px;position:absolute;top:3px;left:8px}.quick .cd{background:conic-gradient(#05080cb8 calc(var(--cd,0) * 360deg), transparent 0);pointer-events:none;border-radius:50%;position:absolute;inset:0}.quick.empty{border-color:var(--line)}.quick.empty .ic{opacity:.35}.sheet.bag .row .qset{flex:1.1;font-size:13px}.sheet.talk .sheet-card h3{color:#c9b8ff}.sheet.talk .talk-wrap{width:100%;position:relative}.sheet.talk .busts{pointer-events:none;height:0;position:absolute;bottom:100%;left:0;right:0}.sheet.talk .bust{filter:drop-shadow(0 4px 8px #00000080);transition:filter .2s;position:absolute;bottom:-6px}.sheet.talk .bust[hidden]{display:none}.sheet.talk .bust.left{object-fit:contain;object-position:bottom left;max-width:46%;height:156px;left:6px}.sheet.talk .bust.right{border:2px solid var(--amber);width:84px;height:84px;image-rendering:pixelated;background:#1b2230;border-radius:50%;bottom:8px;right:12px}.sheet.talk .bust.off{filter:brightness(.45)drop-shadow(0 4px 8px #00000080)}.sheet.talk .sheet-card .nametag{color:#fff3d6;border:2px solid var(--who,#c9b8ff);background:#1b2230;border-radius:10px;margin:0 0 8px;padding:3px 12px;font-size:16px;display:inline-block}.sheet.talk .sheet-card .nametag.me{border-color:var(--amber);color:var(--amber)}.sheet.talk .linebox{position:relative}.sheet.talk .linebox .more{color:var(--amber);font-size:12px;animation:1s ease-in-out infinite more-bob;position:absolute;bottom:-10px;right:2px}.sheet.talk .linebox .more[hidden]{display:none}@keyframes more-bob{50%{transform:translateY(3px)}}.sheet.talk .row button.mine{justify-content:center;align-items:center;gap:6px;display:inline-flex}.sheet.talk .row .myface{width:26px;height:26px;image-rendering:pixelated;background:#1b2230;border-radius:50%;flex:none}@media (prefers-reduced-motion:reduce){.sheet.talk .linebox .more{animation:none}.sheet.talk .bust{transition:none}}.sheet.talk .qtag{color:var(--amber);margin:-4px 0 8px;font-size:13px}.sheet.talk .qtag[hidden]{display:none}.sheet.talk .line{white-space:pre-line;word-break:keep-all;min-height:66px;margin:0 0 14px;font-size:16px;line-height:1.55}.sheet.talk .row{gap:8px;display:flex}.sheet.talk .row button{flex:1;min-height:48px}.qstrip{z-index:2;pointer-events:none;flex-direction:column;gap:4px;max-width:52%;display:flex;position:absolute;top:8px;right:8px}.stage.locking .qstrip{opacity:.28;transition:opacity .2s}.qstrip[hidden],.qstrip.boss{display:none}.qstrip p{color:var(--text);word-break:keep-all;background:#11161cdb;border-radius:10px;margin:0;padding:5px 9px;font-size:12px;line-height:1.35}.qstrip p b{color:#ffe08a;font-size:12px;display:block}.qstrip p.ready{border:1px solid var(--mint)}.qstrip p.ready b{color:var(--mint)}.qstrip button.guide{pointer-events:auto;text-align:left;width:100%;min-height:44px;font:inherit;color:var(--text);word-break:keep-all;background:#181208e6;border:1px solid #ffb347b3;border-radius:10px;margin:0;padding:5px 9px;font-size:12px;line-height:1.35;display:block}.qstrip button.guide .hd{align-items:baseline;gap:6px;display:flex}.qstrip button.guide b{color:#ffe08a;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.qstrip button.guide .wait{color:#ffd59a;margin-top:2px;font-weight:700;display:block}.qstrip button.guide .tab{flex-shrink:0;gap:2px;display:inline-flex}.qstrip button.guide .tab i{color:var(--dim);background:#ffffff0f;border-radius:5px;padding:0 4px;font-size:10px;font-style:normal;line-height:1.5}.qstrip button.guide .tab i.on{color:var(--amber-ink);background:var(--amber);font-weight:700}.qstrip button.guide .dchip{color:#ffd59a;border:1px solid #ffb3478c;border-radius:5px;flex-shrink:0;padding:0 5px;font-size:10px;font-style:normal;line-height:1.5}.qstrip button.guide .dchip.ready{color:#0d2a22;background:var(--mint);border-color:var(--mint);font-weight:700}.sheet.talk .jobs.daily .dnote{color:var(--dim);margin:0;font-size:13px}.qstrip p.guide{background:#181208e6;border:1px solid #ffb347b3}.qstrip p.guide b{color:var(--amber)}.qstrip p.guide .wait{color:#ffd59a;margin-top:2px;font-weight:700;display:block}.party .pm.off{justify-content:center;font-size:12px}.skill{border:2px solid var(--job,#ffd59a);width:56px;height:56px;color:var(--text);touch-action:none;-webkit-user-select:none;user-select:none;background:#11161ce6;border-radius:50%;place-items:center;padding:0;font-size:15px;font-weight:800;display:grid;position:absolute;overflow:hidden;box-shadow:0 4px 12px #00000073}.skill.s1{bottom:86px;right:98px}.skill.s2{bottom:16px;right:164px}.skill.s3{bottom:86px;right:164px}.skill[hidden]{display:none}.skill .nm{z-index:1;position:relative}.skill .key{color:var(--dim);z-index:1;font-size:11px;position:absolute;top:3px;left:8px}.skill .cd{background:conic-gradient(#05080cc7 calc(var(--cd,0) * 360deg), transparent 0);pointer-events:none;border-radius:50%;position:absolute;inset:0}.skill.wait .nm{color:var(--dim)}.stage.skilled .talkbtn.small{bottom:226px;right:24px}.sheet.talk .row:has(.jobs){flex-direction:column}.sheet.talk .jobs{flex-direction:column;gap:8px;display:flex}.sheet.talk .jobs .job{text-align:left;background:var(--panel-2);border:2px solid var(--job,var(--line));min-height:64px;color:var(--text);border-radius:12px;align-items:center;gap:10px;padding:8px 12px;display:flex}.sheet.talk .jobs .job>div{flex-direction:column;gap:2px;min-width:0;display:flex}.sheet.talk .jobs .job .ic,.skill .ic{background-repeat:no-repeat;border-radius:50%;flex:none}.sheet.talk .jobs .job b{color:var(--job,var(--amber));font-size:16px}.sheet.talk .jobs .job span{font-size:14px}.sheet.talk .jobs .job small{color:var(--dim);font-size:13px}.sheet.talk .jobs.branches .job b,.sheet.talk .jobs.branches .job span,.sheet.talk .jobs.branches .job small,.skilltab .branch{word-break:keep-all;overflow-wrap:anywhere}.sheet.talk .jobs.daily .job{min-height:60px}.skilltab .slots{gap:6px;margin-top:4px;display:flex}.skilltab .slotn{min-width:44px;min-height:44px;color:var(--dim);border-radius:10px;padding:0;font-size:15px;font-weight:800}.skilltab .slotn.on{background:var(--amber);color:var(--amber-ink);border-color:var(--amber)}.skilltab .srow.locked{border-style:dashed}.skilltab .branch{border:1px solid var(--amber);background:var(--bg);border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.skilltab .branch .what{gap:2px}.skilltab .branch b{color:var(--amber);font-size:16px}.skilltab .branch span{font-size:13px}.skilltab .branch small{color:var(--dim);font-size:12px;line-height:1.4}.sheet.talk .jobs.daily .job:disabled{opacity:1;cursor:default}.sheet.talk .jobs.daily .job.ready{--job:var(--mint)}.sheet.talk .jobs.daily .job.done b{color:var(--dim)}.sheet.shop .sheet-card{flex-direction:column;gap:8px;max-height:92%;display:flex}.sheet.shop .gold{color:#ffd36b;white-space:nowrap;font-size:15px;font-weight:800}.sheet.shop .tabs{gap:6px;display:flex}.sheet.shop .tabs button{background:var(--bg);min-height:44px;color:var(--dim);flex:1}.sheet.shop .tabs button.on{background:var(--panel-2);color:var(--amber);border-color:var(--amber);font-weight:700}.sheet.shop .list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow-y:auto}.sheet.shop .row{background:var(--bg);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:6px 8px;display:flex}.sheet.shop .row .sw{background-repeat:no-repeat;border-radius:8px;flex:none;width:36px;height:36px}.sheet.shop .row .what{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.sheet.shop .row .what b{font-size:15px}.sheet.shop .row .what span{color:var(--text);font-size:13px}.sheet.shop .row .what small{color:var(--dim);font-size:12px}.sheet.shop .row .what small.bad{color:var(--danger)}.sheet.shop .row.locked .sw,.sheet.shop .row.locked b{opacity:.6}.sheet.shop .price{background:var(--amber);min-width:92px;color:var(--amber-ink);border-color:var(--amber);flex:none;padding:0 10px;font-size:14px;font-weight:800}.sheet.shop .price.dim,.sheet.shop .bulk.dim{background:var(--panel-2);color:var(--dim);border-color:var(--line)}.sheet.shop .bulk{background:var(--panel-2);color:#ffd36b;border-color:#ffd36b;min-height:48px;font-weight:700}.sheet.shop .hint{color:var(--dim);margin:0;font-size:13px}.sheet.shop .confirm{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:8px;display:flex}.sheet.shop .confirm p{margin:0;font-size:15px}.sheet.shop .confirm p.warn{color:#ffd59a;font-size:14px}.sheet.shop .confirm .btns{align-items:center;gap:8px;display:flex}.sheet.shop .confirm .btns button{flex:1;min-height:48px}.sheet.shop .confirm .btns .step{flex:none;width:48px;font-size:20px;font-weight:800}.sheet.shop .confirm .btns .n{text-align:center;min-width:28px;font-size:17px;font-weight:800}.sheet.shop .gold{align-items:center;gap:4px;display:inline-flex}.sheet.shop .gold .coin{background-repeat:no-repeat;width:22px;height:22px}.hud .hpcol{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.hud .hpcol .bar.hp{flex:none}.hud .bar.mp{border-radius:3px;flex:none;height:6px}.hud .bar.mp[hidden]{display:none}.hud .mp .fill{background:#4f8fe8}.skill.nomp{border-color:#4f8fe8}.skill.nomp:after{content:"";pointer-events:none;background:#28468c73;border-radius:50%;position:absolute;inset:0}.sheet.bag .tabs{margin:6px 0 8px}.skilltab{flex-direction:column;gap:8px;display:flex}.skilltab .pts{color:var(--dim);margin:0;font-size:14px}.skilltab .pts b{color:#ffd36b;font-size:15px}.skilltab .srow{background:var(--bg);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:8px;display:flex}.skilltab .ic{background-repeat:no-repeat;border-radius:50%;flex:none}.skilltab .ic.none{background:var(--panel-2);place-items:center;width:44px;height:44px;font-size:14px;font-weight:800;display:grid}.skilltab .what{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.skilltab .what b{flex-wrap:wrap;align-items:center;gap:6px;font-size:15px;display:flex}.skilltab .what span{font-size:13px}.skilltab .what small{color:var(--dim);font-size:12px;line-height:1.4}.skilltab .pips{gap:3px;display:inline-flex}.skilltab .pips i{background:var(--line);border-radius:50%;width:9px;height:9px}.skilltab .pips i.on{background:#ffd36b}.skilltab .up{flex:none;min-width:72px;padding:0 8px}.skilltab .up.dim{color:var(--dim)}.skilltab .hint{color:var(--dim);margin:0;font-size:13px}.skilltab,.sheet.shop .row .what{word-break:keep-all}.sheet.bag .install-row{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:12px;padding-top:10px;display:flex}.sheet.bag .install-row .install{background:var(--amber);min-height:44px;color:var(--amber-ink);white-space:nowrap;border:0;border-radius:10px;padding:0 16px;font-weight:700}.sheet.bag .install-row .hint{color:var(--dim);margin:0;font-size:13px}.sheet.bag .install-row.cuts{flex-wrap:wrap}.sheet.bag .install-row .pastcut{background:var(--panel-2);min-height:44px;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:0 14px;font-size:14px}.pwa-hint{z-index:3;border:1px solid var(--amber);background:#11161cf2;border-radius:12px;align-items:center;gap:10px;padding:8px 8px 8px 12px;font-size:14px;display:flex;position:absolute;top:8px;left:12px;right:12px}.pwa-hint p{flex:1;margin:0;line-height:1.4}.pwa-hint b{color:var(--amber)}.pwa-hint button{flex:none;min-width:56px;min-height:44px}.travelchip{z-index:4;border:1px solid var(--line);color:var(--text);pointer-events:none;white-space:nowrap;background:#0d1324e6;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:700;display:flex;position:absolute;top:calc(50% + 52px);left:50%;transform:translate(-50%,-50%)}.travelchip[hidden]{display:none}.travelchip .spin{border:2px solid #ffb34740;border-top-color:var(--amber);border-radius:50%;width:16px;height:16px;animation:.9s linear infinite spin}@media (prefers-reduced-motion:reduce){.travelchip .spin{animation:none}}.cover .cover-bg{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .5s;position:absolute;inset:0}.cover .cover-bg.ready{opacity:1}.cover-top{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:9%;left:16px;right:16px}.cover-name{font-family:var(--font-title);color:#fff;text-shadow:0 3px #1a2550,0 0 14px #0d1324d9;font-size:44px;font-weight:400;line-height:1.1}.cover-line{font-family:var(--font-title);color:#fff;text-shadow:0 2px #1a2550,1px 0 #1a2550,-1px 0 #1a2550;font-size:18px;font-weight:400}.cover-region{border:1px solid var(--line);background:#0d1324d1;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:8px;display:flex;position:relative}.cover-region .region-pic{aspect-ratio:896/512;object-fit:cover;opacity:0;border-radius:10px;width:min(64vw,260px);transition:opacity .4s}.cover-region .region-pic.ready{opacity:1}.cover-region span{font-size:15px}.cover-foot{flex-direction:column;align-items:center;gap:10px;display:flex;position:relative}.cover.first{padding-bottom:calc(10% + var(--safe-b));justify-content:flex-end;gap:16px}.cover.first .bar{background:#0d1324b3;width:min(70vw,260px);height:8px}.cover:not(.first) .cover-bg,.cover:not(.first) .cover-top,.cover:not(.first) .cover-region{display:none}@media (prefers-reduced-motion:reduce){.cover .cover-bg,.cover-region .region-pic{transition:none}}.region-band{z-index:8;border:1px solid var(--amber);pointer-events:none;background:#0d1324;border-radius:14px;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:6px 14px 6px 6px;transition:opacity .4s;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000080}.region-band[hidden]{display:none}.region-band.out{opacity:0}.region-band .band-pic{object-fit:cover;border-radius:8px;flex:none;width:70px;height:40px}.region-band b{color:var(--amber);white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.region-band span{color:var(--dim);white-space:nowrap;font-size:13px}@media (prefers-reduced-motion:reduce){.region-band{transition:none}}.boot-fail{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100%;padding:24px;display:flex}.boot-fail h1{color:var(--amber);margin:0;font-size:20px}.boot-fail p{color:var(--dim);margin:0}.boot-fail a{background:var(--amber);min-height:48px;color:var(--amber-ink);border-radius:12px;align-items:center;padding:0 24px;font-weight:700;text-decoration:none;display:inline-flex}@media (max-height:760px){.cover-top{gap:4px;top:5%}.cover-name{font-size:34px}.cover-line{font-size:16px}.cover-region{flex-direction:row;gap:10px;padding:6px 12px 6px 6px}.cover-region .region-pic{width:112px}.cover.first .spin{display:none}.cover.first{padding-bottom:calc(6% + var(--safe-b));gap:10px}}.stage.banding .qstrip{opacity:.2;transition:opacity .2s}.cutscene{z-index:9;position:absolute;inset:0}.cut-bar{pointer-events:none;background:#05070c;height:0;transition:height .35s;position:absolute;left:0;right:0}.cut-bar.top{top:0}.cut-bar.bottom{bottom:0}.cutscene.boxed .cut-bar{height:11%}.cut-skip{z-index:2;min-height:44px;color:var(--text);background:#0d1324d9;border-radius:22px;padding:0 14px;font-size:14px;position:absolute;top:8px;right:8px}.cut-say{border:1px solid var(--amber);background:#0d1324f2;border-radius:14px;align-items:flex-start;gap:10px;padding:12px;display:flex;position:absolute;bottom:calc(11% + 8px);left:10px;right:10px}.cut-face{color:#11161c;background:var(--face,var(--amber));border-radius:50%;flex:none;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;font-weight:800;display:flex}.cut-body{flex:1;min-width:0}.cut-name{color:var(--amber);margin-bottom:4px;font-size:15px;display:block}.cut-text{word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.5}.cut-say.done:after{content:"▼";color:var(--dim);font-size:11px;position:absolute;bottom:6px;right:12px}.cut-title{text-align:center;flex-direction:column;align-items:center;gap:6px;animation:.6s ease-out cutfade;display:flex;position:absolute;top:38%;left:16px;right:16px}.cut-title b{font-family:var(--font-title);color:#fff;text-shadow:0 3px #1a2550,0 0 12px #0d1324e6;font-size:30px;font-weight:400}.cut-title span{color:var(--amber);text-shadow:0 2px #1a2550;font-size:16px}.cut-reward{border:1px solid var(--amber);background:#0d1324f2;border-radius:16px;flex-direction:column;align-items:center;gap:6px;min-width:220px;max-width:calc(100% - 32px);padding:14px 18px;animation:.4s ease-out cutfade;display:flex;position:absolute;top:34%;left:50%;transform:translate(-50%)}.cut-reward b{color:var(--amber);font-size:16px}.cut-reward span{font-size:15px}@keyframes cutfade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.cut-reward{animation-name:cutfadeR}@keyframes cutfadeR{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.cut-say.me{border-color:var(--amber);flex-direction:row-reverse}.cut-say.me .cut-body{text-align:right}.cut-bust{object-fit:contain;filter:drop-shadow(0 4px 8px #00000080);pointer-events:none;max-width:46%;height:140px;position:absolute;bottom:100%}.cut-bust.left{object-position:bottom left;left:4px}.cut-bust.right{border:2px solid var(--amber);width:84px;height:84px;image-rendering:pixelated;background:#1b2230;border-radius:50%;bottom:calc(100% + 6px);right:8px}.cut-art{object-fit:cover;pointer-events:none;width:100%;height:78%;animation:.5s ease-out cutfade;position:absolute;inset:11% 0}.cut-flash{background:var(--flash,#fff7e0);pointer-events:none;animation:.45s ease-out forwards cutflash;position:absolute;inset:0}@keyframes cutflash{0%{opacity:.9}to{opacity:0}}.shaking{animation:.12s linear infinite cutshake}@keyframes cutshake{25%{transform:translate(var(--shake,6px), 0)}50%{transform:translate(0, calc(var(--shake,6px) * -.6))}75%{transform:translate(calc(var(--shake,6px) * -1), 0)}}@media (prefers-reduced-motion:reduce){.cut-bar{transition:none}.cut-title,.cut-reward,.cut-art,.shaking{animation:none}}.kongi{flex:none;line-height:0;display:inline-flex}.kongi img{image-rendering:auto}.kongi-pop{z-index:5;pointer-events:none;flex-direction:column;align-items:center;gap:6px;transition:opacity .3s;animation:.3s ease-out kongi-in;display:flex;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.kongi-pop.out{opacity:0}.kongi-pop .stamp{font-family:var(--font-title);color:#ffe08a;text-shadow:0 2px #1a2550;background:#0d1324d1;border:3px solid #ffb347;border-radius:12px;padding:2px 16px;font-size:34px;font-weight:400;animation:.35s cubic-bezier(.2,1.6,.4,1) stamp-in;transform:rotate(-6deg)}.kongi-pop .kongi-say{color:#e9ffe0;white-space:nowrap;background:#0d1324eb;border:1px solid #8fd16a;border-radius:24px;align-items:center;gap:8px;padding:6px 14px 6px 6px;font-size:15px;font-weight:700;display:inline-flex}@keyframes kongi-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes stamp-in{0%{opacity:0;transform:rotate(-6deg)scale(1.8)}to{opacity:1;transform:rotate(-6deg)scale(1)}}@media (prefers-reduced-motion:reduce){.kongi-pop,.kongi-pop .stamp{animation:none}}.cover-tip{color:#e9ffe0;word-break:keep-all;background:#0d1324e0;border:1px solid #8fd16a99;border-radius:18px;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:6px 12px 6px 6px;font-size:13px;font-weight:600;line-height:1.35;display:flex}.cover:not(.first) .cover-tip{display:none}.kongi-hint{align-items:center;gap:10px;display:flex}.qstrip button.guide{position:relative}.qstrip button.guide>.kongi{filter:drop-shadow(0 2px 3px #00000080);position:absolute;top:4px;left:-40px}.icbtn[hidden]{display:none!important}.uic{pointer-events:none;background-repeat:no-repeat;flex:none;display:inline-block}.icbtn{justify-content:center;align-items:center;gap:6px;display:inline-flex}.icbtn .ictext{white-space:nowrap}.top .icbtn{min-width:44px;padding:0 7px}.atk.icbtn,.talkbtn.icbtn{place-items:center;display:grid}.talkbtn.small.icbtn .uic{transform:scale(.75)}.nexttgt.icbtn{flex-direction:column;gap:0;font-size:11px;display:flex}.chat .tabs button.icbtn{gap:5px}.chat form button.icbtn{min-width:52px;padding:0 10px}.sheet.talk .bust.left{object-fit:cover;object-position:top center;width:140px;max-width:40%;height:168px}.cut-bust.left{object-fit:cover;object-position:top center;width:132px;height:160px}.kongi-pop .stamp.card{color:#5a3410;width:180px;height:121px;text-shadow:none;background-color:#0000;background-repeat:no-repeat;background-size:contain;border:0;border-radius:0;place-items:center;padding:0;display:grid;position:relative}.kongi-pop .stamp.card .seal{background-repeat:no-repeat;background-size:contain;width:64px;height:64px;position:absolute;top:-18px;right:-14px;transform:rotate(14deg)}.icbtn .icfb,.noicons .uic{display:none}.noicons .icbtn .icfb{display:inline}.sheet.bag .btabs{grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 8px;display:grid}.sheet.bag .btabs button{background:var(--bg);border:1px solid var(--line);min-height:44px;color:var(--text);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px 2px;display:flex}.sheet.bag .btabs button[aria-selected=true]{border-color:var(--amber);background:#ffb3471f}.sheet.bag .btabs b{font-size:14px}.sheet.bag .btabs span{color:var(--dim);font-size:12px}.sheet.bag .btools{flex-wrap:wrap;gap:6px;margin:0 0 8px;display:flex}.sheet.bag .btools button{min-height:44px;padding:0 12px;font-size:14px}.sheet.bag .btools button.chip{background:var(--bg);border:1px solid var(--line);color:var(--dim);border-radius:22px}.sheet.bag .btools button.chip.on{color:var(--amber);border-color:var(--amber)}.sheet.bag .grid.gear{grid-template-columns:repeat(6,1fr)}.sheet.bag .cell.other{opacity:.45}.sheet.bag .cell .plus{color:#9fe8ff;font-size:11px;font-weight:800;position:absolute;top:2px;left:3px}.sheet.bag .cell .lock{color:var(--amber);font-size:12px;position:absolute;bottom:2px;right:3px}.sheet.bag span.cell.empty{border:1px dashed var(--line);background:0 0;min-height:52px}.sheet.bag .mlist{flex-direction:column;gap:4px;display:flex}.sheet.bag .mrow{background:var(--bg);min-height:48px;color:var(--text);text-align:left;border:1px solid #0000;border-radius:10px;grid-template-columns:36px 1fr auto auto;align-items:center;gap:8px;padding:4px 8px;display:grid}.sheet.bag .mrow.sel{border-color:var(--amber)}.sheet.bag .mrow .nm{word-break:keep-all;font-size:14px}.sheet.bag .mrow .n{color:var(--amber);font-size:14px}.sheet.bag .mrow .p{color:var(--dim);white-space:nowrap;font-size:12px}.sheet.bag .detail .cmp{color:#c9e7ff;font-size:13px}.sheet.bag .detail button.danger{color:#ffb4a8;border-color:#ff786480}.sheet.shop .chips{gap:6px;margin:8px 0 4px;display:flex}.sheet.shop .chips .chip{background:var(--bg);border:1px solid var(--line);min-height:44px;color:var(--dim);border-radius:22px;padding:0 14px}.sheet.shop .chips .chip.on{color:var(--amber);border-color:var(--amber)}.sheet.shop .confirm .what-list{color:var(--dim);word-break:keep-all;max-height:72px;font-size:13px;overflow-y:auto}.credit{color:var(--dim);word-break:keep-all;margin:14px 0 0;font-size:11px;line-height:1.5}.sheet.bag .cell.g1{border-color:#9fe07a;box-shadow:inset 0 0 0 1px #9fe07a59}.sheet.bag .cell.g2{border-color:#7fd0f5;box-shadow:inset 0 0 0 1px #7fd0f573,0 0 8px #7fd0f540}.g1:not(.cell){color:#9fe07a}.g2:not(.cell){color:#7fd0f5}.sheet.bag .detail .grade{margin:-2px 0 4px;font-size:12px}.sheet.bag .detail .mods{color:#d7e7f2;margin:4px 0 6px;padding:0 0 0 18px;font-size:13px;line-height:1.5}.sheet.bag .cell.sel.g1,.sheet.bag .cell.sel.g2{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber) inset}.sheet.market .mk-find{gap:8px;margin:0 0 8px;display:flex}.sheet.market .mk-find input{flex:1;min-width:0}.sheet.market .mk-find button{flex:none}.sheet.market .mk-price{align-items:center;gap:8px;margin:8px 0;font-size:14px;display:flex}.sheet.market .mk-price input{text-align:right;font-variant-numeric:tabular-nums;flex:1;min-width:0}.sheet.market .confirm .what-list.bad{color:var(--danger)}.sheet.market .confirm .chips{margin:4px 0}.sheet.market .list>.confirm{border-top:0;flex-shrink:0;padding-top:0}.sheet.market .list>.confirm .what-list{max-height:none}.sheet.market .confirm .mk-foot{flex-direction:column;gap:8px;display:flex}.sheet.market .list>.confirm>.mk-foot{background:var(--panel);border-top:1px solid var(--line);padding:8px 0 2px;position:sticky;bottom:0}.sheet.market .row .what small{word-break:keep-all;font-size:12px;line-height:1.4;display:block}.qstrip button.guide .gt{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.qstrip button.guide .wait{margin-top:0;display:inline}.qstrip button.guide .qchip,.qstrip button.guide .tchip{color:var(--amber-ink);background:var(--amber);border-radius:5px;flex-shrink:0;padding:0 5px;font-size:10px;font-style:normal;font-weight:700;line-height:1.5}.qstrip button.guide .tchip{color:var(--dim);background:#ffffff14;font-weight:400}.qstrip button.guide.mini{align-self:flex-end;width:auto;min-height:44px}.sheet.qlog .qrow{align-items:flex-start}.sheet.qlog .qrow.ready{border-color:var(--mint)}.sheet.qlog .qrow.tracked{border-color:var(--amber);background:#ffb34714}.sheet.qlog .qrow .what b{word-break:keep-all;flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.sheet.qlog .qrow .what span{word-break:keep-all;overflow-wrap:anywhere}.sheet.qlog .qtag{color:var(--dim);background:#ffffff14;border-radius:6px;padding:0 6px;font-size:11px;font-style:normal;font-weight:700}.sheet.qlog .qrow.ready .qtag{color:#0d2a22;background:var(--mint)}.sheet.qlog .qrow>button{flex:none;align-self:center;min-width:72px;min-height:44px}.sheet.qlog .qrow>button.on{color:var(--amber);background:var(--panel-2);border-color:var(--amber);font-weight:700}
