@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";
:root{--bg:#0d0b12;--panel:#1a1622;--panel2:#221c2e;--border:#3a2f4a;--text:#e8e0f0;--muted:#9a8fb0;--gold:#ffd24a;--accent:#b388ff}.loading-screen{background:var(--bg);z-index:9999;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;inset:0}.loading-content{flex-direction:column;align-items:center;gap:20px;display:flex}.loading-title{color:var(--gold);text-shadow:2px 2px #6a4a00;letter-spacing:2px;font-size:18px}.loading-bar-track{background:var(--panel);border:2px solid var(--border);border-radius:2px;width:240px;height:12px;overflow:hidden}.loading-bar-fill{background:linear-gradient(90deg, var(--gold), #ffb800);height:100%;transition:width .2s ease-out}.loading-text{color:var(--muted);letter-spacing:1px;font-size:8px}.skill-upgrade-panel{background:var(--panel);border:1px solid var(--border);border-radius:4px;margin-top:16px;padding:12px}.skill-upgrade-header{color:var(--text);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:9px;display:flex}.skill-sp-badge{background:var(--panel2);border:1px solid var(--gold);color:var(--gold);border-radius:2px;padding:2px 8px;font-size:8px}.skill-upgrade-card{background:var(--panel2);border:1px solid var(--border);border-radius:4px;margin-bottom:10px;padding:10px}.skill-upgrade-card:last-child{margin-bottom:0}.skill-upgrade-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.skill-upgrade-name{font-size:9px;font-weight:700}.skill-lv-pips{align-items:center;gap:4px;display:flex}.lv-pip{border:1px solid var(--muted);background:0 0;border-radius:50%;width:8px;height:8px;display:inline-block}.lv-pip.filled{background:var(--gold);border-color:var(--gold)}.skill-lv-label{color:var(--muted);margin-left:4px;font-size:7px}.skill-upgrade-desc{color:var(--muted);margin-bottom:8px;font-size:7px;line-height:1.4}.skill-upgrade-action{border-top:1px solid var(--border);padding-top:8px}.skill-upgrade-info{color:var(--text);margin-bottom:4px;font-size:7px}.skill-upgrade-cost{color:var(--gold);margin-bottom:6px;font-size:7px}.upgrade-btn{background:var(--panel);border:1px solid var(--gold);color:var(--gold);cursor:pointer;border-radius:2px;padding:4px 10px;font-size:7px;transition:background .15s}.upgrade-btn:hover:not(:disabled){background:#ffd24a26}.upgrade-btn:disabled{opacity:.4;cursor:not-allowed;border-color:var(--muted);color:var(--muted)}.branch-choice{flex-direction:column;gap:8px;display:flex}.branch-title{color:var(--text);margin-bottom:2px;font-size:7px}.branch-option{background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:8px}.branch-name{color:var(--accent);margin-bottom:2px;font-size:8px}.branch-desc{color:var(--muted);margin-bottom:6px;font-size:7px;line-height:1.4}.branch-btn{border-color:var(--accent);color:var(--accent)}.branch-btn:hover:not(:disabled){background:#b388ff26}.branch-chosen{flex-direction:column;gap:2px;margin-bottom:8px;display:flex}.branch-chosen-label{color:var(--muted);font-size:7px}.branch-chosen-name{color:var(--accent);font-size:8px}.branch-chosen-desc{color:var(--muted);font-size:7px;line-height:1.4}.respec-btn{background:var(--panel);color:#ff5a5a;cursor:pointer;border:1px solid #ff5a5a;border-radius:2px;padding:4px 10px;font-size:7px;transition:background .15s}.respec-btn:hover:not(:disabled){background:#ff5a5a26}.respec-btn:disabled{opacity:.4;cursor:not-allowed;border-color:var(--muted);color:var(--muted)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:none;image-rendering:pixelated;min-height:100vh;font-family:"Press Start 2P",monospace}body{background:radial-gradient(circle at 20% 10%, #b388ff14, transparent 40%), radial-gradient(circle at 80% 90%, #ffd24a0f, transparent 40%), var(--bg)}button{cursor:pointer;color:var(--text);font-family:inherit}.pixel{image-rendering:pixelated}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--border)}.hub{max-width:980px;margin:0 auto;padding:24px 16px 64px}.hub-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.title{color:var(--gold);text-shadow:3px 3px #6a4a00;font-size:22px;line-height:1.4}.subtitle{color:var(--muted);margin-top:8px;font-size:8px;line-height:1.6}.gold-badge{border:2px solid var(--border);color:var(--gold);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a1622d9;border-radius:4px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:flex}.section-label{color:var(--accent);letter-spacing:1px;margin:24px 0 12px;font-size:10px}.hero-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.card{background:var(--panel);border:2px solid var(--border);padding:12px;transition:transform 80ms,border-color .12s;position:relative}.card:hover{transform:translateY(-3px)}.card.selected{border-color:var(--gold);box-shadow:0 0 0 2px #ffd24a4d}.card-canvas{width:64px;height:64px;image-rendering:pixelated;border:1px solid var(--border);background:#0d0b12;margin:0 auto 8px;display:block}.card-name{text-align:center;margin-bottom:6px;font-size:11px}.card-lv{color:var(--gold);text-align:center;margin-bottom:8px;font-size:8px}.card-desc{color:var(--muted);min-height:42px;font-size:7px;line-height:1.7}.stat-row{color:var(--muted);justify-content:space-between;margin-top:4px;font-size:7px;display:flex}.stat-row b{color:var(--text)}.skill-list{flex-direction:column;gap:4px;margin-top:8px;display:flex}.skill-line{align-items:center;gap:6px;font-size:7px;display:flex}.skill-key{background:var(--panel2);border:1px solid var(--border);color:var(--gold);flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:flex}.skill-nm{color:var(--text)}.xpbar{border:1px solid var(--border);background:#0d0b12;height:6px;margin-top:8px}.xpbar>div{background:var(--accent);height:100%}.dungeon-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.dungeon-card{background:var(--panel);border:2px solid var(--border);padding:14px;position:relative;overflow:hidden}.dungeon-card.selected{border-color:var(--gold)}.dungeon-name{margin-bottom:8px;font-size:11px}.dungeon-desc{color:var(--muted);min-height:36px;margin-bottom:10px;font-size:7px;line-height:1.7}.dungeon-meta{color:var(--accent);flex-wrap:wrap;gap:10px;font-size:7px;display:flex}.cleared-tag{background:var(--gold);color:#2a1a00;padding:3px 5px;font-size:6px;position:absolute;top:8px;right:8px}.diff-dots{margin-top:8px}.diff-dots span{background:var(--border);width:8px;height:8px;margin-right:3px;display:inline-block}.diff-dots span.on{background:#ff5a5a}.raid-btn{background:var(--gold);color:#2a1a00;border:none;border-bottom:4px solid #a07800;width:100%;margin-top:28px;padding:18px;font-size:14px;transition:filter .1s,transform 50ms;display:block}.raid-btn:hover{filter:brightness(1.08)}.raid-btn:active{border-bottom-width:2px;transform:translateY(2px)}.raid-btn:disabled{background:var(--border);color:var(--muted);cursor:not-allowed;border-bottom-color:#2a2233}.mode-select{flex-direction:column;gap:8px;margin-top:18px;display:flex}.mode-buttons{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.mode-btn{background:var(--panel2);color:var(--muted);border:1px solid var(--border);border-bottom:3px solid var(--border);cursor:pointer;letter-spacing:1px;padding:8px 14px;font-family:inherit;font-size:9px;transition:filter .1s,transform 50ms}.mode-btn:hover{filter:brightness(1.15)}.mode-btn:active{border-bottom-width:1px;transform:translateY(1px)}.mode-btn.active{background:var(--panel);border-bottom-width:3px;font-weight:700}.mode-info{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:2px;font-size:8px;line-height:1.5;display:flex}.mode-info span:first-child{letter-spacing:1px;font-size:10px;font-weight:700}.mode-stats{color:var(--text)}.mode-badge{letter-spacing:1px;margin-top:2px;font-size:7px;font-weight:700}.mode-badge.result{text-align:center;margin:6px 0 10px;font-size:9px}.tiny-btn{background:var(--panel2);border:2px solid var(--border);color:var(--muted);padding:8px 10px;font-size:7px}.tiny-btn:hover{color:var(--text)}.raid-wrap{width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.game-frame{image-rendering:pixelated;background:#000;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.game-canvas{image-rendering:pixelated;display:block}.hud{pointer-events:none;justify-content:space-between;align-items:flex-start;padding:10px 12px;display:flex;position:absolute;top:0;left:0;right:0}.hud-left{flex-direction:column;gap:6px;display:flex}.hud-right{text-align:right;color:#fff;text-shadow:1px 1px #000;background:linear-gradient(#0e0b16bd,#08060ed1);border:1px solid #000000e6;padding:5px 9px;font-size:7px;line-height:1.8;box-shadow:inset 0 0 0 1px #ffffff1a,0 2px 6px #00000080}.hud-top-row{justify-content:flex-end;align-items:center;gap:8px;display:flex}.hud-right .dungeon-label{letter-spacing:.5px;color:var(--gold);text-shadow:1px 1px #000,0 0 6px #ffd24a59;text-transform:uppercase;font-size:8px;font-weight:700}.hud-right .mode-badge{background:#00000073;border:1px solid;padding:0 4px;line-height:1.6;display:inline-block}.hud-right .boss-flag{animation:.7s ease-in-out infinite alternate hpPulse}.hpbar span{color:#fff;text-shadow:1px 1px #000;justify-content:center;align-items:center;font-size:7px;display:flex;position:absolute;inset:0}.hero-tag{color:#fff;text-shadow:1px 1px #000;letter-spacing:1px;text-transform:uppercase;align-items:center;gap:5px;font-size:8px;display:flex}.hero-tag:before{content:"◆";color:var(--gold);text-shadow:0 0 5px #ffd24acc;font-size:7px}.hpbar{background:#08080f;border:2px solid #000;border-radius:2px;width:160px;height:14px;position:relative;box-shadow:inset 0 0 0 1px #ffffff24,inset 0 2px 3px #000000d9,0 2px 4px #0000008c}.hpbar>div{background:linear-gradient(#ffffff59 0%,#fff0 38%),linear-gradient(#7ce87c,#3aa83a);height:100%;transition:width .12s;box-shadow:inset 0 -2px #0000004d}.hpbar:after{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#00000059 0 1px,#0000 1px 20px);position:absolute;inset:0}.hpbar.low{border-color:#7a1a1a;box-shadow:inset 0 0 0 1px #ff3c2866,0 0 8px #ff3c288c,inset 0 2px 3px #000000d9}.hpbar.low>div{background:linear-gradient(#ffffff4d 0%,#fff0 38%),linear-gradient(#ff6a5a,#c03020);animation:.8s ease-in-out infinite alternate hpPulse}.hpbar.low span{animation:.8s ease-in-out infinite alternate hpPulse}@keyframes hpPulse{0%{filter:brightness()}to{filter:brightness(1.4)}}.bgm-btn{color:var(--gold);cursor:pointer;pointer-events:auto;background:#00000080;border:1px solid #555;border-radius:4px;padding:4px 10px;font-size:14px;line-height:1}.bgm-btn:hover{border-color:var(--gold)}.skill-bar{pointer-events:none;gap:6px;display:flex;position:absolute;bottom:10px;left:12px}.skill-pip{background:linear-gradient(#181422d9,#0a0812e6);border:2px solid #000;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 2px #ffffff12,0 2px 5px #0009}.skill-pip.ready{border-color:var(--gold);box-shadow:inset 0 0 0 1px #ffd24a40,0 0 6px #ffd24a59,0 2px 5px #0009}.skill-pip.active{border-color:#5fff8f;animation:.9s ease-in-out infinite alternate hpPulse;box-shadow:0 0 10px #5fff8f8c,inset 0 0 6px #5fff8f40,0 2px 5px #0009}.skill-pip .key{color:var(--gold);text-shadow:1px 1px #000;z-index:2;background:#0009;border:1px solid #ffd24a73;padding:0 2px;font-size:8px;font-weight:900;line-height:1.3;position:absolute;top:1px;left:2px}.skill-pip.ready .key{background:#2e2200d9;animation:1.3s ease-in-out infinite alternate keyGlow}@keyframes keyGlow{0%{box-shadow:0 0 2px #ffd24a66}to{box-shadow:0 0 8px #ffd24af2}}.skill-pip .nm{color:#fff;text-shadow:1px 1px #000;text-align:center;z-index:2;padding:0 2px;font-size:4.5px;line-height:1.4;position:absolute;bottom:1px;left:0;right:0}.skill-pip .cd{z-index:1;background:repeating-linear-gradient(45deg,#000000e0 0 3px,#12101ae0 3px 6px);border-top:1px solid #ffffff14;position:absolute;bottom:0;left:0;right:0}.quickslot-bar{pointer-events:none;gap:4px;display:flex;position:absolute;bottom:10px;right:12px}.qs-pip{background:linear-gradient(#14121ecc,#08070ed9);border:2px solid #333;border-radius:3px;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff1a,0 2px 4px #0000008c}.qs-pip.has{border-color:#8af;box-shadow:inset 0 0 0 1px #88aaff4d,0 0 6px #88aaff59,0 2px 4px #0000008c}.qs-count{color:#fff;text-shadow:1px 1px #000;font-size:7px;position:absolute;top:1px;right:2px}.qs-key{color:#aaa;font-size:7px;position:absolute;bottom:1px;right:2px}.buff-bar{pointer-events:none;gap:4px;display:flex;position:absolute;bottom:44px;left:12px}.buff-pill{color:#ff8;background:#0a0812bf;border:1px solid #ffd24a59;border-radius:3px;align-items:center;gap:2px;padding:2px 5px;font-size:8px;display:flex;box-shadow:0 0 5px #ffd24a2e}.minimap{pointer-events:none;background:#08060eb8;border:2px solid #000;border-radius:2px;padding:4px;position:absolute;top:78px;right:8px;box-shadow:inset 0 0 0 1px #ffffff1a,0 2px 6px #0000008c}.mm-room{border:1px solid #0009;border-radius:1px;justify-content:center;align-items:center;display:flex;position:absolute;box-shadow:inset 0 -1px #00000059}.mm-boss{color:#fff;text-shadow:0 0 3px #000;font-size:8px;line-height:1}.mm-room.current{outline-offset:-1px;z-index:2;outline:2px solid #ffd24a;box-shadow:inset 0 0 0 1px #0006,0 0 6px #ffd24a8c}.mm-door{background:#fff6;position:absolute}.boss-bar{pointer-events:none;width:70%;position:absolute;bottom:60px;left:50%;transform:translate(-50%)}.boss-bar .nm{color:#ff8a8a;text-align:center;text-shadow:1px 1px #000,0 0 6px #ff505059;letter-spacing:.5px;justify-content:center;align-items:center;gap:8px;margin-bottom:3px;font-size:7px;display:flex}.boss-bar .phase-pips{gap:3px;display:inline-flex}.boss-bar .pip{background:#3a2233;border:1px solid #000;width:7px;height:7px;transform:rotate(45deg);box-shadow:inset 0 -1px #00000080}.boss-bar .pip.on{background:linear-gradient(#ffd24a,#ff8a2a);box-shadow:0 0 4px #ffb84a}.boss-bar .track{background:#0a060c;border:2px solid #000;border-radius:2px;height:12px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1a,0 2px 4px #0000008c}.boss-bar .track:after{content:"";pointer-events:none;z-index:3;background:repeating-linear-gradient(90deg,#0006 0 1px,#0000 1px 24px);position:absolute;inset:0}.boss-bar .track .hp{background:linear-gradient(#ffffff47 0%,#fff0 40%),linear-gradient(#ff5a5a,#aa2a2a);height:100%;transition:width .15s;position:absolute;inset:0}.boss-bar .track .shield{background:linear-gradient(#ffffff59 0%,#fff0 40%),linear-gradient(#8ce1fff2,#3c96dcf2);border-right:1px solid #d8f4ff;height:100%;transition:width .12s;position:absolute;inset:0}.boss-bar.p3 .track{border-color:#a03020;box-shadow:inset 0 0 0 1px #ff3c2859,0 0 10px #ff3c2866,0 2px 4px #0000008c}.boss-bar.p3 .track .hp{background:linear-gradient(#ffffff40 0%,#fff0 40%),linear-gradient(#ff3a2a,#8a1a0a);animation:1s ease-in-out infinite alternate hpPulse}.boss-bar.broken .track{border-color:#ffd24a;animation:.4s ease-in-out infinite alternate bossBreakPulse}.boss-bar.broken .track .hp{background:linear-gradient(#ffae5a,#e07a2a)}.boss-bar .break-label{text-align:center;color:#ffd24a;text-shadow:1px 1px #000;margin-top:3px;font-size:7px;animation:.4s ease-in-out infinite alternate bossBreakPulse}@keyframes bossBreakPulse{0%{filter:brightness()}to{filter:brightness(1.6)}}.overlay{text-align:center;background:radial-gradient(#1e2a1673 0%,#0a0810eb 72%),#0a0810db;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:20px;animation:.3s ease-out overlayIn;display:flex;position:absolute;inset:0}.overlay.lose{background:radial-gradient(#40100e80 0%,#0a0810eb 72%),#0a0810db}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.overlay h2{letter-spacing:1px;font-size:20px;line-height:1.5}.overlay .win{color:var(--gold);text-shadow:2px 2px #6a4a00;animation:1.6s ease-in-out infinite alternate winGlow}@keyframes winGlow{0%{text-shadow:2px 2px #6a4a00,0 0 6px #ffd24a59}to{text-shadow:2px 2px #6a4a00,0 0 18px #ffd24ad9}}.overlay .lose{color:#ff5a5a;text-shadow:2px 2px #5a0000;animation:1.1s ease-in-out infinite alternate losePulse}@keyframes losePulse{0%{filter:brightness()}to{filter:brightness(1.45)}}.overlay p{color:var(--muted);font-size:9px;line-height:2}.stat-grid{gap:8px;display:flex}.stat-cell{background:linear-gradient(#181422d9,#0a0812e6);border:1px solid #000;border-radius:3px;flex-direction:column;align-items:center;gap:2px;min-width:74px;padding:7px 10px;display:flex;box-shadow:inset 0 0 0 1px #ffffff1a,0 2px 5px #00000080}.stat-cell .stat-val{text-shadow:1px 1px #000;font-size:13px;font-weight:900}.stat-cell .stat-lbl{letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;font-size:6px}.stat-cell.gold .stat-val{color:var(--gold)}.stat-cell.xp .stat-val{color:#9fd8ff}.stat-cell.kills .stat-val{color:#ff8a7a}.click-overlay{color:var(--gold);cursor:pointer;text-align:center;background:radial-gradient(#281a0a8c 0%,#0a0810d1 70%),#0a081099;justify-content:center;align-items:center;padding:20px;font-size:10px;line-height:2;display:flex;position:absolute;inset:0}.click-overlay .start-call{letter-spacing:3px;text-shadow:2px 2px #000;font-size:17px;font-weight:900;animation:1.2s ease-in-out infinite alternate startPulse}@keyframes startPulse{0%{text-shadow:2px 2px #000,0 0 6px #ffd24a66}to{text-shadow:2px 2px #000,0 0 16px #ffd24af2}}.controls-hint{color:var(--muted);text-align:center;z-index:15;pointer-events:none;background:#0a081099;border-radius:3px;max-width:480px;padding:4px 10px;font-size:7px;line-height:2;animation:4s forwards hintFade;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}@keyframes hintFade{0%{opacity:1}75%{opacity:1}to{opacity:0}}.lvlup{color:var(--gold);text-shadow:1px 1px #000;background:#3c2c0059;border:1px solid #ffd24a66;flex-direction:column;gap:2px;padding:6px 10px;font-size:9px;animation:1.4s ease-in-out infinite alternate keyGlow;display:flex;box-shadow:0 0 10px #ffd24a33}.overlay-actions{gap:10px;margin-top:8px;display:flex}.overlay-actions .raid-btn{margin-top:0}.raid-btn.retry{background:var(--panel2);border-color:var(--border);color:var(--text);border-bottom-color:#1a1522}.raid-btn.retry:hover{filter:brightness(1.15)}.equip-panel{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:720px){.equip-panel{grid-template-columns:1fr}}.equip-left{background:var(--panel);border:2px solid var(--border);padding:12px}.equip-slots{flex-direction:column;gap:8px;display:flex}.equip-slot{align-items:stretch;gap:8px;display:flex}.slot-label{width:60px;color:var(--accent);flex-shrink:0;align-items:center;font-size:7px;display:flex}.slot-item{border:2px solid var(--border);background:var(--panel2);flex-direction:column;flex:1;gap:4px;padding:7px 8px;display:flex;position:relative}.slot-item-main{align-items:flex-start;gap:8px;display:flex}.slot-item-main svg{border:1px solid var(--border);background:#00000040}.slot-item-body{flex-direction:column;gap:4px;min-width:0;display:flex}.slot-item-name{font-size:8px}.slot-item-stats{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:6.5px;display:flex}.slot-btn{background:var(--bg);border:1px solid var(--border);color:var(--muted);align-self:flex-start;margin-top:2px;padding:4px 7px;font-size:6px}.slot-btn:hover{color:var(--text);border-color:var(--gold)}.slot-empty{border:2px dashed var(--border);color:var(--muted);flex:1;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:7px;display:flex}.slot-empty svg{opacity:.3}.equip-totals{border-top:1px solid var(--border);flex-wrap:wrap;gap:10px;margin-top:12px;padding-top:10px;display:flex}.equip-totals .tot{color:var(--muted);align-items:center;gap:5px;font-size:8px;display:flex}.equip-totals .tot b{color:var(--gold)}.equip-right{background:var(--panel);border:2px solid var(--border);flex-direction:column;gap:8px;padding:12px;display:flex}.inv-filters{flex-wrap:wrap;gap:5px;display:flex}.inv-filter{background:var(--panel2);border:1px solid var(--border);color:var(--muted);padding:5px 7px;font-size:6.5px}.inv-filter.on{border-color:var(--gold);color:var(--gold)}.inv-empty{color:var(--muted);text-align:center;padding:18px 4px;font-size:7px;line-height:2}.inv-list{flex-direction:column;gap:7px;max-height:280px;padding-right:4px;display:flex;overflow-y:auto}.inv-item{border:2px solid var(--border);background:var(--panel2);flex-direction:column;gap:4px;padding:7px 8px;display:flex}.inv-item-top{align-items:flex-start;gap:8px;display:flex}.inv-item-top svg{border:1px solid var(--border);background:#00000040}.inv-item-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.inv-item-head{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.inv-item-name{font-size:8px}.inv-item-tag{color:var(--muted);flex-shrink:0;font-size:6px}.inv-item-stats{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:6.5px;display:flex}.inv-item-actions{gap:6px;margin-top:2px;display:flex}.inv-btn{border:1px solid var(--border);background:var(--bg);color:var(--text);padding:5px 9px;font-size:6.5px}.inv-btn.equip:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.inv-btn.equip:disabled{color:var(--muted);cursor:not-allowed}.inv-btn.discard{color:#ff6a6a;border-color:#5a2a2a}.inv-btn.discard:hover{background:#3a1a1a}.loot-box{background:linear-gradient(#100e18bf,#08060ed9);border:1px solid #000;border-radius:3px;width:100%;max-width:360px;padding:10px 12px;box-shadow:inset 0 0 0 1px #ffffff17,0 3px 8px #0000008c}.loot-title{color:var(--gold);letter-spacing:1px;text-align:center;margin-bottom:8px;font-size:9px}.loot-list{text-align:left;flex-direction:column;gap:6px;max-height:160px;display:flex;overflow-y:auto}.loot-item{background:#00000047;border:1px solid #000000b3;border-radius:2px;flex-direction:row;align-items:center;gap:8px;padding:4px 5px;display:flex;box-shadow:inset 0 -1px #ffffff0d}.loot-item svg{border:1px solid var(--border);background:#0006;flex:none;box-shadow:0 0 6px #ffffff14}.loot-text{flex-direction:column;gap:2px;min-width:0;display:flex}.loot-name{text-shadow:1px 1px #000;font-size:8px}.loot-meta{color:var(--muted);font-size:6px;line-height:1.6}.town-page{width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.town-topbar{z-index:15;pointer-events:auto;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px}.town-title{display:none}.town-nav{z-index:15;pointer-events:auto;flex-direction:column;gap:6px;display:flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.town-nav-btn{border:2px solid var(--border);width:44px;height:44px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a1622d9;border-radius:6px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:9px;font-weight:700;transition:all .15s;display:flex;position:relative}.town-nav-btn:hover{color:var(--text);border-color:var(--gold);background:#1a1622f2;transform:scale(1.1)}.town-nav-btn.active{color:var(--gold);border-color:var(--gold);background:#1a1622f2;box-shadow:0 0 8px #ffd24a4d}.town-nav-btn .nav-icon{font-size:18px;line-height:1}.town-nav-btn .nav-label{display:none}.town-nav-btn .nav-tooltip{border:1px solid var(--border);color:var(--text);white-space:nowrap;pointer-events:none;background:#0a0810f2;border-radius:3px;padding:4px 8px;font-size:8px;display:none;position:absolute;top:50%;right:52px;transform:translateY(-50%)}.town-nav-btn:hover .nav-tooltip{display:block}.nav-hotkey{display:none}.market-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;display:flex}.market-icon{opacity:.6;font-size:32px}.market-text{color:var(--gold);font-size:14px;font-weight:700}.market-sub{color:var(--muted);font-size:9px}.shop-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.shop-card{background:var(--panel);border:2px solid var(--border);text-align:center;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;display:flex}.shop-name{font-size:10px;font-weight:700}.shop-effect{color:#8f8;font-size:9px}.shop-price{color:var(--gold);font-size:11px;font-weight:700}.shop-gold{text-align:center;color:var(--gold);margin-bottom:8px;font-size:12px;font-weight:700}.shop-bought{text-align:center;color:#4f4;margin-bottom:6px;font-size:11px;font-weight:700;animation:1.5s fadeInOut}.shop-owned{color:var(--muted);font-size:9px}@keyframes fadeInOut{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}.stack-badge{opacity:.7;font-size:9px}.consumable-effect{color:#8f8;font-size:9px}.quickslot-section{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.quickslot-title{color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:10px}.quickslot-row{gap:6px;display:flex}.quickslot-box{background:var(--panel);border:2px solid var(--border);text-align:center;border-radius:4px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:40px;padding:6px 4px;display:flex;position:relative}.quickslot-name{color:var(--text);font-size:7px;line-height:1.1}.quickslot-empty{color:var(--border);font-size:12px}.quickslot-key{color:var(--muted);font-size:8px;position:absolute;bottom:1px;right:3px}.quickslot-remove{color:#f66;cursor:pointer;background:0 0;border:none;padding:0;font-size:8px;line-height:1;position:absolute;top:0;left:2px}.assign-select{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:3px;padding:2px 4px;font-size:9px}.keybind-panel{flex-direction:column;gap:12px;display:flex}.keybind-hint{color:var(--muted);text-align:center;font-size:8px;line-height:1.8}.keybind-list{flex-direction:column;gap:4px;display:flex}.keybind-row{background:var(--panel);border:2px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;padding:8px 12px;transition:all .12s;display:flex}.keybind-row:hover{border-color:var(--gold)}.keybind-row.listening{border-color:var(--accent);background:var(--panel2);box-shadow:0 0 8px #b388ff4d}.keybind-action{color:var(--text);font-size:9px}.keybind-key{color:var(--gold);background:var(--panel2);border:1px solid var(--border);text-align:center;min-width:40px;padding:3px 8px;font-size:10px;font-weight:700}.keybind-row.listening .keybind-key{color:var(--accent);border-color:var(--accent);animation:.8s infinite alternate keybind-pulse}@keyframes keybind-pulse{0%{opacity:.6}to{opacity:1}}.keybind-reset{background:var(--panel2);border:2px solid var(--border);color:var(--muted);text-align:center;cursor:pointer;margin-top:8px;padding:10px;font-size:9px}.keybind-reset:hover{color:#ff6a6a;border-color:#5a2a2a}.hero-chip{border:2px solid var(--border);color:var(--text);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a1622d9;border-radius:4px;align-items:center;gap:6px;padding:6px 10px;font-size:8px;display:flex}.hero-chip canvas{width:20px;height:20px;image-rendering:pixelated;background:0 0;border:none}.town-frame{image-rendering:pixelated;background:#000;position:absolute;inset:0;overflow:hidden}.town-frame canvas{cursor:pointer;display:block}.town-bgm{z-index:15;pointer-events:auto;position:absolute;top:12px;right:12px}.town-hint{color:var(--muted);text-align:right;z-index:15;pointer-events:none;background:#0a081099;border-radius:3px;padding:4px 8px;font-size:7px;line-height:2;position:absolute;bottom:12px;right:16px}.town-hint .near{color:var(--gold)}.dialog-box{border:3px solid var(--gold);cursor:pointer;z-index:5;background:#0a0810eb;padding:12px 14px;position:absolute;bottom:10px;left:10px;right:10px}.dialog-name{color:var(--gold);margin-bottom:8px;font-size:10px}.dialog-text{color:var(--text);min-height:30px;font-size:9px;line-height:1.9}.dialog-cont{color:var(--muted);text-align:right;margin-top:6px;font-size:6px}.modal-overlay{z-index:50;background:#08060ce6;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border:3px solid var(--border);flex-direction:column;width:100%;max-width:900px;max-height:88vh;display:flex}.modal-head{border-bottom:2px solid var(--border);color:var(--accent);background:var(--panel);justify-content:space-between;align-items:center;padding:12px 14px;font-size:11px;display:flex}.modal-close{background:var(--panel2);border:2px solid var(--border);color:var(--muted);padding:6px 9px;font-size:9px}.modal-close:hover{color:#ff6a6a;border-color:#5a2a2a}.modal-body{padding:14px;overflow-y:auto}.mobile-controls{pointer-events:none;z-index:20;position:absolute;inset:0}.joystick-base{pointer-events:auto;touch-action:none;background:#ffffff1a;border:3px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:absolute;bottom:40px;left:40px}.joystick-thumb{background:#ffffff59;border:2px solid #ffffff80;border-radius:50%;width:50px;height:50px;transition:transform 50ms}.action-buttons{pointer-events:auto;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:30px;right:30px}.skill-buttons{gap:8px;display:flex}.skill-btn{touch-action:none;background:#00000080;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative;overflow:visible}.skill-btn.ready{border-color:var(--gold);background:#ffd24a26}.skill-btn.aiming{background:#5fff8f40;border-color:#5fff8f;overflow:visible;box-shadow:0 0 12px #5fff8f80}.skill-aim-indicator{pointer-events:none;position:absolute;inset:0}.skill-aim-arrow{background:#5fff8fcc;border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;transition:transform 30ms;position:absolute;top:50%;left:50%;box-shadow:0 0 6px #5fff8f99}.skill-aim-line{transform-origin:0;pointer-events:none;background:linear-gradient(90deg,#5fff8fcc,#5fff8f33);height:2px;position:absolute;top:50%;left:50%}.skill-btn-key{color:var(--gold);text-shadow:1px 1px #000;z-index:1;font-size:14px;font-weight:900}.skill-btn-cd{background:#000000a6;position:absolute;bottom:0;left:0;right:0}.atk-joystick{touch-action:none;-webkit-user-select:none;user-select:none;background:#ff505033;border:3px solid #ff505080;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;display:flex;position:relative}.atk-joystick-thumb{background:#ff505073;border:2px solid #ff5050b3;border-radius:50%;width:44px;height:44px;transition:transform 50ms}.atk-joystick-label{color:#ff6a6a;text-shadow:1px 1px #000;pointer-events:none;font-size:9px;font-weight:900;position:absolute;bottom:-14px}.interact-btn{color:#4ab4ff;text-shadow:1px 1px #000;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;background:#4ab4ff40;border:3px solid #4ab4ff99;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:18px;font-weight:900;display:flex}.interact-btn:active{background:#4ab4ff73}@media (hover:hover) and (pointer:fine){.mobile-controls{display:none}}@media (hover:none) and (pointer:coarse){.controls-hint{display:none}.town-nav{flex-direction:row;gap:8px;top:12px;bottom:auto;left:50%;transform:translate(-50%)}.town-nav-btn{width:40px;height:40px}.town-nav-btn .nav-tooltip{display:none}.town-topbar{top:auto;bottom:70px;left:12px}.town-hint{display:none}}.overworld-combat-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overworld-combat-box{background:#0a0a0f;border:2px solid #2a2a3a;border-radius:12px;max-width:95vw;max-height:95vh;padding:16px;overflow:hidden;box-shadow:0 8px 32px #000c}.combat-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.combat-hero-info{align-items:center;gap:8px;display:flex}.combat-hero-name{color:#e0e0e0;min-width:60px;font-weight:700}.combat-hp-bar{background:#1a1a2a;border:1px solid #3a3a4a;border-radius:3px;width:120px;height:16px;position:relative;overflow:hidden}.combat-hp-fill{background:linear-gradient(#5fff8f,#2a8a4a);height:100%;transition:width .2s}.combat-hp-text{color:#fff;text-shadow:0 1px 2px #000c;justify-content:center;align-items:center;font-size:10px;display:flex;position:absolute;inset:0}.combat-location{color:#8a8a9a;font-size:12px}.combat-gold{color:#ffd24a;font-size:12px}.combat-canvas{image-rendering:pixelated;border:2px solid #2a2a3a;border-radius:4px;display:block}.combat-skills{justify-content:center;gap:8px;margin-top:8px;display:flex}.combat-result-overlay{background:#000c;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.combat-result-box{text-align:center;background:#0a0a0f;border:2px solid #2a2a3a;border-radius:8px;min-width:200px;padding:24px}.result-win{color:#ffd24a;margin:0 0 16px;font-size:24px}.result-lose{color:#ff5a5a;margin:0 0 16px;font-size:24px}.result-rewards{margin-bottom:16px}.result-gold{color:#ffd24a;margin-bottom:4px;font-size:14px}.result-xp{color:#5aa9ff;margin-bottom:4px;font-size:14px}.result-loot{margin-bottom:16px}.result-loot h3{color:#8a8a9a;margin:0 0 8px;font-size:12px}.loot-item{justify-content:center;align-items:center;gap:8px;margin-bottom:4px;display:flex}.result-continue-btn{color:#5fff8f;cursor:pointer;background:#2a4a2a;border:1px solid #4a8a4a;border-radius:4px;padding:8px 24px;font-size:14px}.result-continue-btn:hover{background:#3a5a3a}.quest-log{color:var(--text);padding:12px;font-size:11px}.quest-log-header{gap:8px;margin-bottom:12px;display:flex}.quest-act-badge{background:var(--panel2);border:1px solid var(--gold);color:var(--gold);border-radius:2px;padding:4px 10px;font-size:10px}.quest-branch-badge{border-radius:2px;padding:4px 10px;font-size:10px}.quest-branch-badge.undead{color:#7ad7ff;background:#7ad7ff33;border:1px solid #7ad7ff}.quest-branch-badge.ocean{color:#2ad4d4;background:#2ad4d433;border:1px solid #2ad4d4}.quest-active{background:var(--panel2);border:1px solid var(--border);border-radius:4px;margin-bottom:12px;padding:12px}.quest-name{color:var(--gold);margin-bottom:6px;font-size:13px}.quest-desc{color:#c0b8d0;margin-bottom:10px;line-height:1.5}.quest-objective{color:var(--text);background:#ffd24a1f;border:1px solid #ffd24a4d;border-radius:3px;margin-bottom:10px;padding:8px 10px}.quest-obj-label{color:var(--gold);font-weight:700}.quest-dialog{border-left:2px solid var(--gold);margin-top:10px;padding-left:10px}.quest-dialog-line{color:#c0b8d0;margin-bottom:6px;font-style:italic;line-height:1.5}.quest-choice-block{background:var(--panel2);border:1px solid var(--accent);border-radius:4px;margin-bottom:12px;padding:12px}.quest-choice-prompt{color:var(--text);margin-bottom:10px;font-style:italic;line-height:1.4}.quest-choice-btn{text-align:left;background:var(--panel);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:3px;margin-bottom:6px;padding:10px;font-size:10px;line-height:1.4;transition:border-color .15s;display:block}.quest-choice-btn:hover{border-color:var(--gold)}.quest-complete-msg{text-align:center;padding:24px}.quest-complete-title{color:var(--gold);margin-bottom:10px;font-size:16px}.quest-complete-desc{color:#c0b8d0;font-size:11px}.quest-completed-list{border-top:1px solid var(--border);margin-top:14px;padding-top:10px}.quest-completed-header{color:#c0b8d0;margin-bottom:8px;font-size:10px}.quest-completed-item{color:#c0b8d0;align-items:center;gap:8px;padding:4px 0;font-size:10px;display:flex}.quest-completed-check{color:#5fd35f;font-size:12px}.quest-log-actions{text-align:center;margin-top:14px}.quest-map-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:3px;padding:8px 18px;font-size:11px}.quest-map-btn:hover{opacity:.85}.campaign-page{min-height:100vh;color:var(--text);background:linear-gradient(135deg,#1a1622 0%,#0d0b12 50%,#1a1622 100%);font-family:"Press Start 2P",monospace}.campaign-header{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:16px 24px;display:flex}.campaign-back{background:var(--panel2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:3px;padding:8px 14px;font-family:inherit;font-size:10px}.campaign-back:hover{border-color:var(--gold)}.campaign-title{color:var(--gold);margin:0;font-size:14px}.campaign-complete-badge{color:#5fd35f;background:#5fd35f33;border:1px solid #5fd35f;border-radius:2px;padding:3px 10px;font-size:9px}.campaign-map{max-width:600px;height:calc(100vh - 80px);margin:0 auto;padding:20px;position:relative}.campaign-lines{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.campaign-line{stroke:var(--border);stroke-width:.3px;stroke-dasharray:1 .5}.campaign-line.completed{stroke:#5fd35f;stroke-dasharray:none}.campaign-node{border:2px solid var(--border);background:var(--panel);width:54px;height:54px;color:var(--text);cursor:pointer;z-index:1;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-family:inherit;transition:all .2s;display:flex;position:absolute;transform:translate(-50%,-50%)}.campaign-node.completed{background:#5fd35f26;border-color:#5fd35f}.campaign-node.active{border-color:var(--gold);background:#ffd24a26;animation:2s infinite campaign-pulse;box-shadow:0 0 12px #ffd24a66}.campaign-node.available{border-color:var(--gold);background:var(--panel2)}.campaign-node.locked{border-color:var(--border);background:var(--panel);opacity:.4;cursor:default}@keyframes campaign-pulse{0%,to{box-shadow:0 0 12px #ffd24a66}50%{box-shadow:0 0 20px #ffd24ab3}}.campaign-node-icon{font-size:12px;line-height:1}.campaign-node-label{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:90px;color:var(--text);margin-top:3px;font-size:7px;overflow:hidden}.campaign-node:hover{transform:translate(-50%,-50%)scale(1.1)}.campaign-act-label{color:#c0b8d0;opacity:.6;pointer-events:none;font-size:10px;position:absolute;left:8px}.campaign-detail-overlay{z-index:100;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.campaign-detail{background:var(--panel);border:1px solid var(--border);border-radius:6px;width:90%;max-width:400px;padding:20px}.campaign-detail-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.campaign-detail-act{background:var(--panel2);border:1px solid var(--gold);color:var(--gold);border-radius:2px;padding:3px 10px;font-size:9px}.campaign-detail-name{color:var(--gold);font-size:14px}.campaign-detail-desc{color:#c0b8d0;margin-bottom:14px;font-size:10px;line-height:1.5}.campaign-detail-info{margin-bottom:14px;font-size:10px}.campaign-detail-info div{color:var(--text);margin-bottom:5px}.campaign-detail-objective{color:var(--text);background:#ffd24a1f;border:1px solid #ffd24a4d;border-radius:3px;margin-bottom:18px;padding:10px;font-size:10px}.campaign-detail-actions{justify-content:flex-end;gap:8px;display:flex}.campaign-start-btn{background:var(--gold);color:#0d0b12;cursor:pointer;border:none;border-radius:3px;padding:10px 24px;font-family:inherit;font-size:11px;font-weight:700}.campaign-start-btn:hover{opacity:.9}.campaign-close-btn{background:var(--panel2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:3px;padding:10px 18px;font-family:inherit;font-size:10px}.campaign-done-text{color:#5fd35f;font-size:11px}.campaign-locked-text{color:#c0b8d0;font-size:11px}.login-page{background:linear-gradient(135deg,#1a1622 0%,#0d0b12 50%,#1a1622 100%);justify-content:center;align-items:center;min-height:100vh;font-family:"Press Start 2P",monospace;display:flex}.login-box{background:var(--panel);border:1px solid var(--border);border-radius:8px;width:360px;max-width:90vw;padding:32px}.login-title{text-align:center;color:var(--gold);margin:0 0 24px;font-size:16px}.login-mode-tabs{background:var(--panel2);border-radius:4px;gap:4px;margin-bottom:20px;padding:3px;display:flex}.login-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:3px;flex:1;padding:8px;font-family:inherit;font-size:9px;transition:all .15s}.login-tab.active{background:var(--accent);color:#fff}.login-form{flex-direction:column;gap:14px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{color:var(--muted);font-size:9px}.login-field input{background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:4px;outline:none;padding:10px 12px;font-family:inherit;font-size:10px;transition:border-color .15s}.login-field input:focus{border-color:var(--gold)}.login-error{color:#ff5a5a;text-align:center;font-size:8px}.login-submit{background:var(--gold);color:#0d0b12;cursor:pointer;border:none;border-radius:4px;padding:12px;font-family:inherit;font-size:11px;font-weight:700;transition:opacity .15s}.login-submit:hover{opacity:.9}.login-submit:disabled{opacity:.5;cursor:default}.login-divider{color:#888;align-items:center;gap:8px;margin:12px 0;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#444;flex:1;height:1px}.login-guest{color:#aaa;cursor:pointer;background:0 0;border:1px solid #555;border-radius:6px;width:100%;padding:10px;font-size:14px;transition:all .2s}.login-guest:hover{color:#fff;background:#2a2a2a;border-color:#888}.party-panel{color:#ddd;flex-direction:column;gap:10px;font-size:12px;display:flex}.party-name-row{align-items:center;gap:8px;display:flex}.party-name-row label{color:#999}.party-name-row input{color:#fff;font:inherit;background:#161616;border:1px solid #333;border-radius:4px;flex:1;padding:5px 8px}.party-section-title{color:var(--gold,#ffd24a);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:11px;font-weight:700}.party-member,.party-online-row{background:#141414;border:1px solid #262626;border-radius:4px;align-items:center;gap:8px;padding:4px 6px;display:flex}.party-online-name{flex:1}.party-host-tag{color:#ffd24a;border:1px solid #ffd24a;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700}.party-leave{color:#f88;cursor:pointer;font:inherit;background:0 0;border:1px solid #a33;border-radius:4px;align-self:flex-start;margin-top:4px;padding:4px 10px}.party-leave:hover{background:#2a1212}.party-empty{color:#777;padding:8px 0}.party-dungeon-list{flex-wrap:wrap;gap:6px;display:flex}.party-dungeon-btn{color:#ccc;cursor:pointer;font:inherit;background:#161616;border:1px solid #333;border-radius:4px;padding:4px 8px}.party-dungeon-btn.selected{border-color:var(--gold,#ffd24a);color:var(--gold,#ffd24a)}.party-dungeon-btn:disabled{opacity:.4;cursor:not-allowed}.party-start{border-top:1px solid #2a2a2a;flex-direction:column;gap:8px;padding-top:10px;display:flex}.invite-toast{border:1px solid var(--gold,#ffd24a);color:#fff;z-index:60;background:#1c1c1c;border-radius:6px;align-items:center;gap:10px;padding:10px 14px;font-size:12px;display:flex;position:absolute;top:64px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #00000080}.invite-toast button{color:#fff;cursor:pointer;font:inherit;background:#262626;border:1px solid #444;border-radius:4px;padding:4px 12px}.invite-toast button[data-test=accept-invite]{border-color:var(--gold,#ffd24a);color:var(--gold,#ffd24a)}.invite-toast button:hover{background:#333}.party-links{color:#888;gap:12px;font-size:11px;display:flex}.party-links .on{color:#6fdc7a}.party-links .off{color:#777}.party-links .wait{color:#e8b84a}
