#game-root{--ui-scale: 1.5;font-size:calc(16px * var(--ui-scale, 1.5))}html,body,#root{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#0b0e12;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}#game-root{position:fixed;top:0;right:0;bottom:0;left:0;height:100vh;height:100dvh}.boot-status{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;box-sizing:border-box;color:#ffe9c9;background:radial-gradient(circle at 65% 35%,#2d2548,#07070d 70%);font:16px/1.5 Georgia,serif;text-align:center;pointer-events:auto}.boot-status strong{color:#ffd870;font-size:calc(22px * var(--ui-scale, 1.5))}.boot-status span{max-width:480px;color:#b8a888}.min-h-screen{min-height:100vh;min-height:100dvh}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.w-full{width:100%}.max-w-sm{max-width:384px}.text-center{text-align:center}#root>.min-h-screen{box-sizing:border-box;padding:24px;background:radial-gradient(circle at 65% 35%,#2d2548,#07070d 70%);color:#e8ddc4;font-family:Georgia,Times New Roman,serif}.auth-card{box-sizing:border-box;padding:24px;border:1px solid rgba(255,216,112,.45);border-radius:12px;background:linear-gradient(180deg,#1a1620,#12101a);box-shadow:0 18px 70px #000000a6}.auth-card-header{margin-bottom:20px}.auth-card-title{margin:0;color:#ffd870;font-size:calc(25px * var(--ui-scale, 1.5))}.auth-card-content{color:#b8a888}.auth-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:42px;padding:10px 18px;border:1px solid #ffd870;border-radius:6px;background:linear-gradient(180deg,#3a3048,#241e30);color:#ffd870;font:16px Georgia,serif;text-decoration:none;cursor:pointer}.auth-button:hover{background:linear-gradient(180deg,#4a3e5c,#2e2640)}.auth-button-lg{min-height:48px;font-size:calc(18px * var(--ui-scale, 1.5))}.auth-loading{max-width:380px;text-align:center}.space-y-4>*+*{margin-top:16px}.text-muted-foreground{color:#b8a888}.text-4xl{font-size:calc(36px * var(--ui-scale, 1.5))}.font-bold{font-weight:700}#game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}#ui-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#ui-overlay>*{pointer-events:auto}.hidden{display:none!important}.dim{color:#9a917f;font-size:calc(13px * var(--ui-scale, 1.5))}.row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.col{display:flex;flex-direction:column;gap:8px}.tiny-text{font-size:calc(12px * var(--ui-scale, 1.5))}.hud{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:16px;padding:calc(6px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) 6px calc(12px + env(safe-area-inset-left,0px));background:linear-gradient(180deg,rgba(8,8,14,.92),rgba(8,8,14,.55) 80%,transparent);font-family:Georgia,Times New Roman,serif;color:#ffe9c9;font-size:calc(13px * var(--ui-scale, 1.5))}.hud-left{display:flex;align-items:center;gap:8px}.hud-name{font-weight:700;color:#ffd870}.hud-class{color:#b8a888}.hud-mid{flex:1;text-align:center}.hud-realm{color:#d9c9a8;display:block}.hud-align{font-size:calc(12px * var(--ui-scale, 1.5));color:#a8c8e8}.hud-right{display:flex;gap:10px}.hud-gold{color:#ffd870}.hud-stat{color:#c8b898}.hud-menu{display:flex;gap:4px}.gbar{position:relative;width:110px;height:14px;background:#0009;border:1px solid rgba(255,216,112,.3);border-radius:3px;overflow:hidden}.gbar-fill{height:100%;transition:width .25s}.gbar-label{position:absolute;top:0;right:0;bottom:0;left:0;font-size:calc(12px * var(--ui-scale, 1.5));line-height:14px;text-align:center;color:#fff;text-shadow:0 1px 2px #000}.panel-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:#0404088c}.panel-layer.battle-open,.panel-layer:has(.battle-panel),.panel-layer:has(.battle-result){background:linear-gradient(180deg,#0404080a,#04040829)}.panel{width:min(720px,92vw);max-height:84vh;max-height:84dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;background:linear-gradient(180deg,#1a1620,#12101a);border:1px solid rgba(255,216,112,.35);border-radius:10px;box-shadow:0 12px 60px #000000b3;color:#e8ddc4;font-family:Georgia,Times New Roman,serif}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px 0}.panel-head h2{margin:0;color:#ffd870;font-size:calc(20px * var(--ui-scale, 1.5));letter-spacing:1px}.panel-body{padding:10px 18px 18px}.panel h3{color:#e8c888;margin:14px 0 6px}.panel h4{color:#c8b090;margin:10px 0 4px}.gbtn{font-family:Georgia,serif;background:linear-gradient(180deg,#3a3048,#241e30);color:#ffe9c9;border:1px solid rgba(255,216,112,.4);border-radius:6px;padding:8px 16px;font-size:calc(14px * var(--ui-scale, 1.5));cursor:pointer;transition:all .15s}.gbtn:hover{background:linear-gradient(180deg,#4a3e5c,#2e2640);border-color:#ffd870}.gbtn.big{font-size:calc(17px * var(--ui-scale, 1.5));padding:12px 26px}.gbtn.small{font-size:calc(12px * var(--ui-scale, 1.5));padding:4px 10px}.gbtn.tiny{font-size:calc(12px * var(--ui-scale, 1.5));padding:2px 8px}.gbtn.gold{border-color:#ffd870;color:#ffd870}.gbtn.holy{border-color:#ffe9a3;color:#ffe9a3}.gbtn.dark{border-color:#b26bff;color:#d0a8ff}.gbtn.danger{border-color:#ff5f5f;color:#ff8f8f}.gbtn.disabled,.gbtn:disabled{opacity:.45;cursor:default}.ginput{font-family:Georgia,serif;background:#0e0c14;color:#ffe9c9;border:1px solid rgba(255,216,112,.4);border-radius:6px;padding:8px 12px;font-size:calc(15px * var(--ui-scale, 1.5));width:260px;margin:4px 0 12px;display:block}.glabel{font-size:calc(13px * var(--ui-scale, 1.5));color:#b8a888}.close-x{padding:2px 8px}.title-panel{text-align:center;width:min(640px,92vw)}.game-title{font-size:calc(44px * var(--ui-scale, 1.5));letter-spacing:6px;margin:18px 0 4px;color:#ffd870;text-shadow:0 0 24px rgba(217,167,255,.6),0 2px 0 #000}.game-sub{color:#b8a8d8;margin:0 0 14px;font-style:italic}.title-story{color:#c8bca0;font-size:calc(15px * var(--ui-scale, 1.5));line-height:1.55;padding:0 12px}.title-buttons{display:flex;gap:10px;justify-content:center;margin:18px 0;flex-wrap:wrap}.title-foot{color:#77706a;font-size:calc(12px * var(--ui-scale, 1.5))}.title-account{margin:0 auto 12px;padding:12px;max-width:460px;border:1px solid rgba(159,216,255,.24);border-radius:8px;background:#506ea012}.title-account p{margin:8px 0 0}.account-title-button{border-color:#9fd8ffa6;color:#c9e9ff}.account-panel{width:min(650px,94vw)}.account-identity{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-left:3px solid #9fd8ff;background:#9fd8ff0f}.account-identity strong{color:#ffe9c9;font-size:calc(18px * var(--ui-scale, 1.5))}.account-kicker{color:#9fd8ff;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:1.2px;text-transform:uppercase}.account-local-save,.account-save-list{margin-top:16px}.account-local-save{padding:12px;border:1px solid rgba(255,216,112,.16);border-radius:8px;background:#ffffff05}.account-local-save h3,.account-save-list h3{margin-top:0}.account-save-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;margin:8px 0;border:1px solid rgba(159,216,255,.18);border-radius:8px;background:#9fd8ff09}.account-save-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.account-save-copy strong{color:#ffd870}.account-save-copy span{overflow-wrap:anywhere}.account-restore{flex-shrink:0}.account-actions{display:flex;gap:8px;justify-content:space-between;margin-top:18px}.account-sign-out{border-color:#ff8f8f80;color:#ffb0a8}@media(max-width:600px){.account-save-row{align-items:stretch;flex-direction:column}.account-restore{width:100%}.account-actions{flex-direction:column}}.class-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.class-card{border:2px solid transparent;border-radius:8px;background:#ffffff08;padding:10px 12px;cursor:pointer;transition:all .15s}.class-card:hover{background:#ffd8700f}.class-card.chosen{background:#ffd87017}.class-card h3{margin:0 0 6px}.class-desc{font-size:calc(12.5px * var(--ui-scale, 1.5));color:#c8bca4;line-height:1.45;margin:0 0 6px}.class-lock{font-size:calc(12px * var(--ui-scale, 1.5));color:#8f97a8;margin:0}.settle-lore{font-size:calc(14px * var(--ui-scale, 1.5));line-height:1.5;color:#d8cbae}.settle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.service-card{background:#ffffff08;border:1px solid rgba(255,216,112,.2);border-radius:8px;padding:10px;cursor:pointer;text-align:center;transition:all .15s}.service-card:hover{background:#ffd87014;transform:translateY(-2px)}.service-icon{font-size:calc(24px * var(--ui-scale, 1.5))}.service-card h4{margin:6px 0 4px;color:#ffd870}.service-card p{margin:0;font-size:calc(12px * var(--ui-scale, 1.5))}.quest-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:8px 12px;margin:6px 0;background:#ffffff05}.quest-name{font-weight:700;font-size:calc(14px * var(--ui-scale, 1.5))}.quest-desc{margin:4px 0;font-size:calc(12.5px * var(--ui-scale, 1.5));color:#c0b49a;line-height:1.4}.quest-acts{display:flex;gap:6px;flex-shrink:0}.choice-line{font-size:calc(12px * var(--ui-scale, 1.5));margin:2px 0;width:100%}.holy-text{color:#ffe9a3}.dark-text{color:#c9a0ff}.journal-main{border-left:3px solid #ffd870;padding-left:12px;margin-bottom:8px}.journal-main h3{margin-top:0}.inv-list{display:flex;flex-direction:column;gap:4px}.inv-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:5px;background:#ffffff05;font-size:calc(13px * var(--ui-scale, 1.5))}.inv-row.me{outline:1px solid #ffd870}.inv-acts{margin-left:auto;display:flex;gap:4px}.item-name{font-weight:700}.rank-num{color:#ffd870;width:26px;font-weight:700}.equip-row{display:flex;gap:12px;margin-bottom:12px}.equip-slot{flex:1;border:1px dashed rgba(255,216,112,.3);border-radius:6px;padding:8px;font-size:calc(12px * var(--ui-scale, 1.5))}.slot-label{display:block;color:#8f97a8;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:1px}.sheet-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.sheet-box{background:#ffffff08;border-radius:8px;padding:10px 12px;font-size:calc(12.5px * var(--ui-scale, 1.5))}.character-vitals,.character-offense{display:flex;align-items:center;gap:5px 14px;margin:4px 0 6px;white-space:nowrap}.character-vitals{color:#ead8b4;font-weight:700}.character-offense{color:#c9d9e8}.character-hp{color:#efaaa2}.character-mp{color:#9fc8ef}.character-dps{color:#f0d58f}@media(max-width:700px){.character-vitals,.character-offense{gap:4px 8px;font-size:.92em}}.attr-row{display:flex;align-items:center;gap:6px;margin:3px 0}.attr-name{flex:1}.attr-val{color:#ffd870;font-weight:700;min-width:24px;text-align:right}.skill-line{margin:4px 0;line-height:1.35}.realm-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.realm-cell{border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:6px 4px;text-align:center;font-size:calc(12px * var(--ui-scale, 1.5));background:#ffffff05;display:flex;flex-direction:column;gap:2px}.realm-cell.clickable{cursor:pointer;border-color:#d9a7ff66}.realm-cell.clickable:hover{background:#d9a7ff1f}.realm-cell.locked{opacity:.4}.realm-cell.here{border-color:#ffd870;background:#ffd8701a}.realm-id{color:#d9a7ff;font-weight:700}.realm-name{color:#ffe9c9}.npc-panel .npc-text{background:#ff9dc80f;border-left:3px solid #ff9dc8;padding:10px 14px;margin:10px 0;font-style:italic;line-height:1.55;color:#f0d8e0;white-space:pre-line}.npc-stage{color:#ff9dc8;font-weight:700}.npc-circleGuardian{color:#ffb8d8;font-style:italic}.pledge-panel{border-color:#ffe9a3}.battle-panel{position:absolute;left:50%;bottom:calc(8px + env(safe-area-inset-bottom,0px));transform:translate(-50%);box-sizing:border-box;width:min(1120px,97vw);height:min(430px,52vh);height:min(430px,52dvh);display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#120e18f0,#0a080ef5);border:1px solid rgba(255,216,112,.35);border-radius:10px;padding:10px 14px;font-family:Georgia,serif;color:#e8ddc4}.battle-content{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.battle-status{flex:0 0 auto;display:flex;justify-content:space-between;font-size:calc(13px * var(--ui-scale, 1.5));margin-bottom:6px}.battle-actions{flex:0 0 auto}.battle-log{height:88px;overflow-y:auto;background:#00000059;border-radius:6px;padding:6px 10px;font-size:calc(12.5px * var(--ui-scale, 1.5));line-height:1.45;margin-bottom:8px}.battle-log p{margin:1px 0}.log-good{color:#9fd67f}.log-bad{color:#ff8f7f}.log-ally{color:#9fd8ff}.battle-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.battle-command-label{flex:1 1 170px;color:#ffe39a;font-size:calc(12px * var(--ui-scale, 1.5))}.battle-waiting{color:#b9adbd;font-size:calc(12px * var(--ui-scale, 1.5))}.battle-active-actor{color:#ffe39a}.party-intel{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-bottom:6px}.party-card{min-width:0;padding:5px 7px;border:1px solid rgba(159,216,255,.2);border-radius:6px;background:#090f188c;font-size:calc(12px * var(--ui-scale, 1.5));line-height:1.35}.party-card.active{border-color:#ffe39a;background:#ffe39a17;box-shadow:inset 0 0 0 1px #ffe39a2e}.party-card.fallen{opacity:.42}.party-card-head{display:flex;justify-content:space-between;gap:5px;margin-top:4px}.party-card-head strong{overflow:hidden;color:#e9f4ff;text-overflow:ellipsis;white-space:nowrap}.party-card-stats{color:#c5d4df}.party-card-state{overflow:hidden;color:#9fb2c1;text-overflow:ellipsis;white-space:nowrap}.action-meter{height:6px;overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:#0000008c}.action-meter-fill{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#6e8ca6,#b9ddf3)}.action-meter.ready{border-color:#ffe39a;box-shadow:0 0 6px #ffe39a73}.action-meter.ready .action-meter-fill{background:#ffd870}.battle-result-panel{position:relative;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;width:min(520px,92vw);max-height:min(640px,84vh);max-height:min(640px,84dvh);padding:30px 30px 24px;scrollbar-width:thin;border:1px solid rgba(255,216,112,.65);border-radius:14px;background:radial-gradient(circle at 50% 0%,rgba(255,216,112,.14),transparent 48%),linear-gradient(180deg,#211a29,#100d16);box-shadow:0 0 90px #ffd87026,0 18px 70px #000c;color:#f0e4ca;text-align:center;font-family:Georgia,serif;animation:result-panel-in .35s ease-out}.battle-result-panel.defeat{border-color:#ff5f5fa6;background:radial-gradient(circle at 50% 0%,rgba(160,30,45,.2),transparent 50%),linear-gradient(180deg,#25151d,#100d16)}.battle-result-panel.fled{border-color:#9fd8ff8c}.result-emote{position:relative;z-index:2;font-size:calc(72px * var(--ui-scale, 1.5));line-height:1.15;filter:drop-shadow(0 5px 15px rgba(0,0,0,.6));animation:result-emote-pop .7s cubic-bezier(.2,1.7,.4,1)}.defeat .result-emote{animation:result-defeat .8s ease-out;filter:grayscale(.3) drop-shadow(0 0 20px rgba(255,70,80,.3))}.result-title{position:relative;z-index:2;margin:8px 0;color:#ffd870;font-size:calc(32px * var(--ui-scale, 1.5));letter-spacing:5px;text-shadow:0 0 25px rgba(255,216,112,.35)}.defeat .result-title{color:#ff8f8f;letter-spacing:7px;text-shadow:none}.fled .result-title{color:#9fd8ff}.result-message{position:relative;z-index:2;margin:8px auto 16px;max-width:410px;color:#cbbfa8;line-height:1.55}.result-rewards{position:relative;z-index:2;padding:10px;border-radius:8px;background:#00000040;color:#ffe9a3;line-height:1.5}.result-rewards strong{font-size:calc(18px * var(--ui-scale, 1.5))}.result-rewards p{margin:5px 0 0}.result-rare{color:#d9a7ff}.result-penalty{color:#ffad9f}.result-continue{position:relative;z-index:2;margin-top:18px;min-width:220px}.result-hint{position:relative;z-index:2;margin:10px 0 0;font-size:calc(12px * var(--ui-scale, 1.5))}.result-sparks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.result-spark{position:absolute;top:-24px;font-size:calc(15px * var(--ui-scale, 1.5));animation:result-spark-fall 2.8s linear infinite}@keyframes result-panel-in{0%{opacity:0;transform:scale(.92) translateY(15px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes result-emote-pop{0%{opacity:0;transform:scale(.2) rotate(-16deg)}65%{transform:scale(1.2) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes result-defeat{0%{opacity:0;transform:translateY(-25px) rotate(-12deg)}to{opacity:.85;transform:translateY(0) rotate(0)}}@keyframes result-spark-fall{0%{transform:translateY(-20px) rotate(0);opacity:0}15%{opacity:1}85%{opacity:.8}to{transform:translateY(500px) rotate(300deg);opacity:0}}@media(prefers-reduced-motion:reduce){.battle-result-panel,.result-emote,.result-spark{animation:none}.result-sparks{display:none}}.settings-panel{width:min(820px,94vw)}.settings-tabs{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:10px;border-bottom:1px solid rgba(255,216,112,.15)}.hotkey-list{display:flex;flex-direction:column;gap:5px;margin:10px 0}.hotkey-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 10px;border-radius:7px;background:#ffffff06;border:1px solid rgba(255,255,255,.07)}.hotkey-copy{display:flex;flex-direction:column;gap:3px;font-size:calc(13px * var(--ui-scale, 1.5))}.hotkey-copy .dim{font-size:calc(12px * var(--ui-scale, 1.5))}.keybind-button{min-width:108px;font-family:ui-monospace,monospace}.keybind-button.capturing{color:#9fd8ff;border-color:#9fd8ff;animation:keycap-pulse .8s ease-in-out infinite alternate}@keyframes keycap-pulse{to{background:#9fd8ff26}}.autogrind-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:12px 0}.autogrind-intro h3{margin-top:0}.autogrind-intro p{margin:4px 0;line-height:1.45}.autogrind-intro .gbtn{flex-shrink:0}.grind-goals{display:grid;grid-template-columns:1fr 1fr;gap:9px;border:0;padding:0;margin:10px 0;min-width:0}.grind-goal{padding:10px;border:1px solid rgba(217,167,255,.18);border-radius:8px;background:#ffffff06;min-width:0}.goal-check{display:flex;align-items:center;gap:8px;color:#ffe9c9;font-size:calc(13px * var(--ui-scale, 1.5));cursor:pointer}.goal-check input{width:17px;height:17px;accent-color:#d9a7ff}.goal-fields{display:grid;grid-template-columns:1fr 1fr;gap:5px 8px;align-items:center;margin-top:8px}.compact-input{width:100%;min-width:0;box-sizing:border-box;margin:0;padding:7px 8px;font-size:calc(12px * var(--ui-scale, 1.5))}select.compact-input{cursor:pointer}.grind-goals:disabled{opacity:.62}.grind-progress{padding:10px 12px;border-radius:8px;background:#00000038}.grind-progress h3{margin-top:0}.grind-progress-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:calc(12.5px * var(--ui-scale, 1.5));border-top:1px solid rgba(255,255,255,.05)}.grind-progress-row strong{color:#ffe9a3;text-align:right}.grind-progress-row.done span,.grind-progress-row.done strong{color:#9fd67f}.autogrind-hud{position:fixed;left:12px;top:116px;z-index:8;max-width:min(360px,70vw);color:#9fd8ff;border-color:#9fd8ff8c;background:#0a121ce6;box-shadow:0 4px 20px #00000059;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.idle-hud{color:#ffe9a3;border-color:#ffd87099;background:#1a140ceb}.idle-plan{padding:12px;border:1px solid rgba(255,216,112,.25);border-radius:9px;background:radial-gradient(circle at 100% 0%,rgba(255,216,112,.08),transparent 45%),#ffffff06}.idle-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.idle-plan-head h3{margin:3px 0}.idle-plan>p{margin:7px 0}.idle-score{flex-shrink:0;padding:5px 9px;border:1px solid rgba(255,216,112,.45);border-radius:20px;color:#ffd870;font-size:calc(12px * var(--ui-scale, 1.5))}.idle-rate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}.idle-rate{display:flex;flex-direction:column;gap:4px;padding:9px;border-radius:7px;background:#0000003d}.idle-rate strong{color:#ffe9a3;font-size:calc(18px * var(--ui-scale, 1.5))}.idle-rate small{font-size:calc(12px * var(--ui-scale, 1.5))}.idle-session-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;font-size:calc(12.5px * var(--ui-scale, 1.5))}.idle-session-grid span{padding:6px;border-radius:5px;background:#ffffff06}.idle-drop-list{color:#d9a7ff;font-size:calc(12px * var(--ui-scale, 1.5));line-height:1.55}.toasts{position:absolute;bottom:calc(16px + env(safe-area-inset-bottom,0px));right:calc(16px + env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:6px;max-width:340px;pointer-events:none!important}.toast{background:#120e18f2;border:1px solid rgba(255,216,112,.4);border-radius:6px;padding:8px 12px;color:#ffe9c9;font-family:Georgia,serif;font-size:calc(13px * var(--ui-scale, 1.5));opacity:0;transform:translateY(8px);transition:all .3s}.toast.show{opacity:1;transform:translateY(0)}.victory-panel{text-align:center;border-color:#ffd870}.character-panel{width:min(1040px,95vw)}.sheet-hero{display:flex;align-items:center;gap:18px;margin-bottom:8px;border:1px solid rgba(217,167,255,.2);border-radius:9px;background:radial-gradient(circle at 12% 45%,rgba(217,167,255,.1),transparent 38%),#ffffff06;padding:8px 16px 8px 8px}.hero-portrait{width:156px;height:184px;flex:0 0 156px}.sheet-gear{flex:1}.sheet-gear h3{margin-top:0}.sheet-gear p{line-height:1.5}.class-portrait{display:block;width:100px;height:124px;margin:-2px auto 2px}.attr-guide{margin:6px 0 10px}.attr-info{width:17px;height:17px;padding:0;border-radius:50%;border:1px solid rgba(159,216,255,.45);background:#9fd8ff14;color:#9fd8ff;font:700 11px/15px Georgia,serif;cursor:help}.attr-info:hover,.attr-info:focus{border-color:#9fd8ff;background:#9fd8ff2e;outline:none}.attr-tip{position:relative;display:inline-flex;flex:0 0 17px}.attr-tooltip{position:absolute;left:-190px;top:24px;z-index:80;width:310px;display:block;padding:11px 13px;border-radius:7px;background:#101522;border:1px solid rgba(159,216,255,.55);box-shadow:0 8px 28px #000000bf;color:#dbe7ef;font:12px/1.45 ui-sans-serif,system-ui,sans-serif;white-space:normal;opacity:0;visibility:hidden;transform:translateY(-4px);transition:.12s}.attr-tooltip strong{display:block;color:#9fd8ff;margin-bottom:6px}.attr-tooltip span{display:block;margin-top:6px}.attr-tip:hover .attr-tooltip,.attr-tip:focus-within .attr-tooltip,.attr-tip.open .attr-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.attr-spacer{width:23px}.enemy-intel{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px;margin-bottom:7px}.enemy-card{--enemy-color: #ffd870;display:block;width:100%;min-width:0;color:inherit;font-family:inherit;text-align:left;cursor:pointer;border:1px solid rgba(255,216,112,.28);border-left:3px solid var(--enemy-color);border-radius:6px;background:#00000047;padding:5px 8px;font-size:calc(12px * var(--ui-scale, 1.5));line-height:1.35}.enemy-card:hover:not(:disabled),.enemy-card:focus-visible{border-color:var(--enemy-color);background:#ffffff0f;outline:none}.enemy-card.selected{border-color:#ffe39a;background:#ffe39a1a;box-shadow:inset 0 0 0 1px #ffe39a47}.enemy-card .action-meter{margin-bottom:4px}.enemy-card .action-meter-fill{background:linear-gradient(90deg,#806b9d,#d9a7ff)}.enemy-card .action-meter.ready .action-meter-fill{background:#ffd870}.enemy-card.fallen{opacity:.42;cursor:default}.enemy-card-head{display:flex;justify-content:space-between;gap:8px;color:#f4e8d0}.enemy-card-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enemy-element{color:var(--enemy-color);flex-shrink:0}.enemy-type{color:var(--enemy-color);font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:1px}.enemy-stats{color:#e8ddc4}.enemy-matchup,.enemy-rewards{color:#a9a5b2}@media(max-width:900px){.settle-grid{grid-template-columns:1fr 1fr}.sheet-grid{grid-template-columns:1fr}.realm-grid{grid-template-columns:repeat(4,1fr)}.class-cards,.grind-goals{grid-template-columns:1fr}.hud{flex-wrap:wrap;font-size:calc(12px * var(--ui-scale, 1.5))}.sheet-hero{align-items:flex-start;gap:8px;padding-right:8px}.hero-portrait{width:110px;flex-basis:110px}}@media(max-width:600px){.settings-panel{max-height:88vh;max-height:88dvh}.settings-panel .panel-body{padding:8px 12px 14px}.autogrind-intro{align-items:stretch;flex-direction:column;gap:8px}.idle-rate-grid,.idle-session-grid{grid-template-columns:1fr 1fr}.idle-plan{padding:9px}.idle-rate strong{font-size:calc(16px * var(--ui-scale, 1.5))}.hotkey-row{gap:8px;padding:7px}.hotkey-copy .dim{display:none}.keybind-button{min-width:88px}.autogrind-hud{top:142px;font-size:calc(12px * var(--ui-scale, 1.5));max-width:64vw}.attr-tooltip{left:auto;right:-38px;width:min(300px,76vw)}.battle-panel{bottom:calc(4px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;padding:7px 8px;height:48vh;height:48dvh;max-height:48vh;max-height:48dvh;overflow:hidden}.battle-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.battle-status{flex:0 0 auto;flex-wrap:wrap;gap:2px 8px;font-size:calc(12px * var(--ui-scale, 1.5));margin-bottom:4px}.battle-status .battle-hint{flex-basis:100%}.party-intel{gap:3px;margin-bottom:4px}.party-card{padding:4px;font-size:calc(12px * var(--ui-scale, 1.5))}.party-card-head{display:block;margin-top:3px}.party-card-head .dim{display:block}.party-card-state{display:none}.enemy-intel{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:5px}.enemy-card{padding:4px 5px;font-size:calc(12px * var(--ui-scale, 1.5));line-height:1.25}.enemy-type,.enemy-rewards{display:none}.enemy-card-head{gap:3px}.battle-log{height:46px;padding:4px 7px;margin-bottom:5px;font-size:calc(12px * var(--ui-scale, 1.5))}.battle-actions{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;max-height:196px;overflow-y:auto;overscroll-behavior:contain;padding-top:5px;background:#0a080efa}.battle-command-label,.battle-waiting{grid-column:1 / -1}.battle-actions .gbtn{min-width:0;padding:6px 4px;font-size:calc(12px * var(--ui-scale, 1.5));line-height:1.2}.battle-actions .skill-button{gap:3px}.battle-actions .battle-skill-icon{width:17px;height:17px;flex:0 0 17px}.hud{gap:7px}.hud-menu{flex-wrap:wrap}}@media(pointer:coarse){.gbtn{min-height:44px}.battle-actions .gbtn,.enemy-card{touch-action:manipulation;user-select:none;-webkit-user-select:none}.gbtn.tiny{min-height:36px;min-width:36px}.ginput,.compact-input{font-size:calc(16px * var(--ui-scale, 1.5))}.goal-check input{width:22px;height:22px}.realm-cell.clickable,.class-card,.service-card{min-height:44px}}@media(max-height:520px)and (orientation:landscape){.panel{max-height:92vh;max-height:92dvh}.battle-panel{bottom:calc(4px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;height:72vh;height:72dvh;max-height:72vh;max-height:72dvh;overflow:hidden;padding:6px 8px}.battle-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.battle-status{flex:0 0 auto;flex-wrap:wrap;gap:2px 8px;margin-bottom:3px;font-size:calc(12px * var(--ui-scale, 1.5))}.battle-status .battle-hint{flex-basis:100%}.battle-log{height:40px;margin-bottom:4px;padding:3px 7px;font-size:calc(12px * var(--ui-scale, 1.5))}.battle-actions{flex:0 0 auto;flex-wrap:nowrap;gap:4px;max-height:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding-top:4px;background:#0a080efa}.battle-command-label{flex:0 0 150px;font-size:calc(12px * var(--ui-scale, 1.5))}.battle-waiting{flex:1 0 auto}.battle-actions .gbtn{flex:0 0 auto;min-height:44px;padding:5px 7px;font-size:calc(12px * var(--ui-scale, 1.5))}.battle-actions .battle-skill-icon{width:17px;height:17px}.game-title{font-size:calc(30px * var(--ui-scale, 1.5));margin-top:4px}.title-story{font-size:calc(13px * var(--ui-scale, 1.5))}.title-buttons{margin:10px 0}}:root{--nexus-ink: #0c0a11;--nexus-plum: #211827;--nexus-plum-light: #34253b;--nexus-gold: #c8a96b;--nexus-gold-bright: #eed59a;--nexus-parchment: #ded0ad;--nexus-muted: #9d927f;--nexus-line: rgba(200, 169, 107, .32);--nexus-serif: Georgia, "Times New Roman", serif;--nexus-ease: .18s ease}html,body,#root{font-family:var(--nexus-serif)}button,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--nexus-gold-bright);outline-offset:2px}#ui-overlay>.hud{position:absolute;top:0;right:0;bottom:0;left:0;display:block;padding:0;background:none;pointer-events:none;color:#e9dfc9}.hud>*{pointer-events:auto}.world-header{position:absolute;top:0;left:0;right:0;min-height:calc(48px + env(safe-area-inset-top,0px));box-sizing:border-box;padding:calc(7px + env(safe-area-inset-top,0px)) calc(14px + env(safe-area-inset-right,0px)) 7px calc(14px + env(safe-area-inset-left,0px));display:flex;align-items:center;gap:20px;background:linear-gradient(180deg,#1d1423fa,#110d17f0);border-bottom:1px solid var(--nexus-line);box-shadow:0 5px 20px #0000004d}.world-brand{display:flex;align-items:center;gap:9px;color:var(--nexus-gold-bright);font-size:calc(15px * var(--ui-scale, 1.5));letter-spacing:1.7px;text-transform:uppercase;white-space:nowrap}.world-brand-mark{color:var(--nexus-gold);font-size:calc(20px * var(--ui-scale, 1.5))}.world-header .hud-mid{flex:1;text-align:left;min-width:0}.world-header .hud-realm{color:#e5d8bc;font-size:calc(14px * var(--ui-scale, 1.5));letter-spacing:.5px}.world-header .hud-align{display:block;margin-top:2px;color:var(--nexus-muted);font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:.8px;text-transform:uppercase}.world-header .hud-right{display:flex;align-items:center;gap:13px;white-space:nowrap}.world-header .hud-gold,.world-header .hud-stat{font-size:calc(12px * var(--ui-scale, 1.5))}.world-header .hud-gold{color:var(--nexus-gold-bright)}.world-header .hud-stat{color:#b8ab91}.gbtn.header-action{padding:5px 9px;border-color:transparent;background:transparent;color:#bdb099;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:.7px;text-transform:uppercase}.gbtn.header-action:hover{border-color:var(--nexus-line);color:var(--nexus-gold-bright)}.quest-journal-hud{position:absolute;top:calc(70px + env(safe-area-inset-top,0px));left:calc(18px + env(safe-area-inset-left,0px));width:310px;z-index:3}.quest-journal-hud.journal-hidden{width:auto}.journal-visibility-toggle{position:absolute;top:7px;right:7px;z-index:2;min-height:25px;padding:3px 6px;border-color:#c8a96b8c;background:#251a2bf0;color:#ffe3ad;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:.5px;text-transform:uppercase}.journal-hidden .journal-visibility-toggle{position:static;min-height:34px;padding:7px 11px;border-color:var(--nexus-line);background:#18121eeb;color:var(--nexus-gold-bright);box-shadow:0 5px 18px #0000004d}.quest-tracker{position:relative;width:100%;box-sizing:border-box;padding:15px 52px 13px 17px;display:flex;flex-direction:column;gap:5px;text-align:left;color:#332c27;background:linear-gradient(135deg,#e7dbb7f5,#c5b48ff0);border:1px solid rgba(76,57,37,.55);border-radius:1px;box-shadow:0 8px 24px #0000004d,inset 0 0 24px #563a1a14;cursor:pointer;font-family:var(--nexus-serif);transition:transform var(--nexus-ease),filter var(--nexus-ease)}.quest-tracker:hover{transform:translateY(-2px);filter:brightness(1.05)}.quest-tracker.tracked{box-shadow:0 8px 24px #0000004d,inset 3px 0 #8a5b9e,inset 0 0 24px #563a1a14}.tracker-kicker,.detail-kicker,.journal-entry-kicker{color:#725c39;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:1.8px;text-transform:uppercase}.quest-tracker strong{font-size:calc(16px * var(--ui-scale, 1.5));font-weight:400;color:#382a24}.tracker-copy{font-size:calc(12px * var(--ui-scale, 1.5));line-height:1.35;color:#594b3c}.tracker-progress{margin-top:4px;padding-top:6px;border-top:1px solid rgba(70,52,35,.22);font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:.4px;color:#6d5c45}.hero-rail{position:absolute;top:calc(234px + env(safe-area-inset-top,0px));left:calc(18px + env(safe-area-inset-left,0px));width:196px;padding:10px;display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#1d1523eb,#0d0b12e0);border:1px solid var(--nexus-line);box-shadow:0 6px 24px #00000040}.rail-portrait{width:70px;height:86px;padding:0;overflow:hidden;flex:0 0 70px;border:1px solid var(--nexus-line);border-radius:0;background:radial-gradient(circle at 50% 35%,#45334c,#17121d);cursor:pointer}.hud-portrait{display:block;width:100%;height:100%}.rail-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.rail-copy .hud-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--nexus-gold-bright);font-size:calc(14px * var(--ui-scale, 1.5))}.rail-copy .hud-class{color:#a89b86;font-size:calc(12px * var(--ui-scale, 1.5))}.hero-rail .gbar{width:100%;height:12px;border-radius:0;border-color:#ded0ad33}.hero-rail .gbar-label{font-size:calc(12px * var(--ui-scale, 1.5));line-height:10px;font-family:var(--nexus-serif)}.hero-rail .gbar-fill{transition:width var(--nexus-ease)}.hud-minimap{position:absolute;top:calc(68px + env(safe-area-inset-top,0px));right:calc(18px + env(safe-area-inset-right,0px));width:172px;text-align:center}.minimap-frame{width:172px;height:172px;padding:4px;box-sizing:border-box;border:1px solid rgba(200,169,107,.55);border-radius:50%;background:#100c15cc;box-shadow:0 5px 28px #00000073,inset 0 0 0 4px #c8a96b0f}.minimap-canvas{display:block;width:162px;height:162px;border-radius:50%;cursor:pointer}.minimap-caption{display:flex;flex-direction:column;gap:2px;margin-top:7px;color:#e1d3b6;font-size:calc(12px * var(--ui-scale, 1.5));text-shadow:0 1px 3px #000}.minimap-caption .minimap-realm-status{color:#9f927d;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:.8px;text-transform:uppercase}.minimap-caption .minimap-objective{margin-top:3px;overflow:hidden;color:#ffe38a;font-size:calc(12px * var(--ui-scale, 1.5));line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.minimap-zoom{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:5px;color:#978a75;font-size:calc(12px * var(--ui-scale, 1.5));text-transform:uppercase;letter-spacing:1px}.minimap-zoom .gbtn{min-width:26px;padding:1px 6px;background:#130e18cc}.adventure-log{position:absolute;left:calc(18px + env(safe-area-inset-left,0px));bottom:calc(210px + env(safe-area-inset-bottom,0px));width:260px;color:#cfc1a6;background:#130e18e0;border:1px solid var(--nexus-line);font-size:calc(12px * var(--ui-scale, 1.5));box-shadow:0 5px 24px #00000040}.adventure-log summary{padding:9px 12px;cursor:pointer;color:var(--nexus-gold);font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:1.5px;text-transform:uppercase;list-style-position:inside}.adventure-log-body{padding:0 12px 11px;border-top:1px solid rgba(200,169,107,.14)}.adventure-log-body strong{display:block;margin-top:9px;color:#e6d8ba;font-weight:400}.adventure-log-body p{margin:5px 0;line-height:1.4}.bottom-dock{position:absolute;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translate(-50%);width:min(1180px,calc(100% - 36px));min-height:82px;box-sizing:border-box;display:flex;align-items:stretch;gap:12px;padding:9px 10px;background:linear-gradient(180deg,#281c2ef7,#120d18f7);border:1px solid rgba(200,169,107,.45);box-shadow:0 10px 38px #0000007a,inset 0 1px #ffffff06}.dock-hero{display:flex;align-items:center;gap:9px;min-width:130px;padding:0 10px 0 3px;border-right:1px solid var(--nexus-line)}.dock-level{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--nexus-gold);border-radius:50%;color:var(--nexus-gold-bright);font-size:calc(19px * var(--ui-scale, 1.5))}.dock-hero div{display:flex;flex-direction:column;gap:3px}.dock-hero strong{color:#eadbbc;font-size:calc(13px * var(--ui-scale, 1.5));font-weight:400}.dock-hero div span{color:#9c8f7c;font-size:calc(12px * var(--ui-scale, 1.5))}.dock-skills{flex:1;display:grid;grid-template-columns:repeat(4,minmax(68px,1fr));gap:6px;min-width:0}.dock-skill{position:relative;min-width:0;padding:22px 5px 5px;overflow:hidden;border:1px solid rgba(200,169,107,.24);border-radius:0;background:#08070c52;color:#cbbda2;font:9px/1.2 var(--nexus-serif);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:border-color var(--nexus-ease),background var(--nexus-ease),color var(--nexus-ease)}.dock-skill:before{content:"✦";position:absolute;top:4px;left:0;right:0;color:var(--nexus-gold);font-size:calc(16px * var(--ui-scale, 1.5))}.dock-skill:hover{border-color:var(--nexus-gold);background:#c8a96b14;color:#f0dfb9}.dock-skill.locked{opacity:.42}.hud-menu{display:flex;gap:3px}.dock-action{min-width:55px;padding:5px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid transparent;border-radius:0;background:transparent;color:#c8bba3;font:9px/1.1 var(--nexus-serif);cursor:pointer;transition:color var(--nexus-ease),border-color var(--nexus-ease),background var(--nexus-ease)}.dock-action:hover{color:var(--nexus-gold-bright);border-color:var(--nexus-line);background:#c8a96b0f}.dock-action-icon{color:var(--nexus-gold);font-size:calc(20px * var(--ui-scale, 1.5));line-height:1.15}.dock-action kbd{color:#776e60;font:8px/1 var(--nexus-serif)}.touch-controls{display:none}.hud .autogrind-hud{top:auto;left:50%;bottom:calc(108px + env(safe-area-inset-bottom,0px));transform:translate(-50%);max-width:min(540px,72vw);background:#0e171ff0;border-radius:0}.panel-layer{z-index:20;padding:calc(18px + env(safe-area-inset-top,0px)) calc(18px + env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) calc(18px + env(safe-area-inset-left,0px));background:#0605099e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:nexus-fade-in var(--nexus-ease)}.panel-layer.battle-open,.panel-layer:has(.battle-panel),.panel-layer:has(.battle-result){-webkit-backdrop-filter:none;backdrop-filter:none}.panel{border-radius:2px;border-color:#c8a96b80;background:linear-gradient(145deg,#241a2afc,#100d16fc);box-shadow:0 22px 80px #000000b3,inset 0 0 0 1px #ffffff05;animation:nexus-panel-in var(--nexus-ease)}.panel-head{padding:15px 20px 13px;border-bottom:1px solid rgba(200,169,107,.2)}.panel-heading{min-width:0}.panel-eyebrow{display:block;margin-bottom:3px;color:#8f8068;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:2px;text-transform:uppercase}.panel-head h2{color:var(--nexus-gold-bright);font-size:calc(22px * var(--ui-scale, 1.5));font-weight:400;letter-spacing:.5px}.panel-body{padding:16px 20px 18px}.panel h3{color:#e4cf9e;font-weight:400}.panel h4{color:#c6b28c;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:.7px;text-transform:uppercase}.close-x{border-color:transparent;background:transparent;color:#a99b83}.close-x:hover{border-color:var(--nexus-line)}.gbtn{border-radius:1px;border-color:#c8a96b66;background:linear-gradient(180deg,#382a40,#241b2c);transition:color var(--nexus-ease),background var(--nexus-ease),border-color var(--nexus-ease),opacity var(--nexus-ease),transform var(--nexus-ease)}.gbtn:hover{background:linear-gradient(180deg,#49364f,#2d2236);border-color:var(--nexus-gold)}.gbtn:active{transform:translateY(1px)}.gbtn.gold{color:var(--nexus-gold-bright);border-color:var(--nexus-gold)}.ginput,select.compact-input,input.compact-input{border-radius:1px;border-color:var(--nexus-line);background:#100d16}.panel-tabs{display:flex;gap:0;border-bottom:1px solid var(--nexus-line)}.panel-tab{padding:9px 13px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#9f927e;font:10px/1 var(--nexus-serif);letter-spacing:.8px;text-transform:uppercase;cursor:pointer;transition:color var(--nexus-ease),border-color var(--nexus-ease),background var(--nexus-ease)}.panel-tab:hover{color:#ead8b2;background:#c8a96b0d}.panel-tab.active{color:var(--nexus-gold-bright);border-bottom-color:var(--nexus-gold)}.inventory-panel{width:min(1060px,95vw);height:min(700px,86dvh);display:flex;flex-direction:column;overflow:hidden}.inventory-panel .panel-body{flex:1;min-height:0;display:flex;flex-direction:column}.inventory-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px}.inventory-collection{min-height:0;display:flex;flex-direction:column}.inventory-tabs{flex-wrap:wrap}.inventory-grid{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:116px;gap:8px;padding:14px 4px 8px 0}.inventory-item{--rarity-color: #ccc;position:relative;min-width:0;padding:10px 5px 7px;display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid rgba(200,169,107,.15);border-radius:1px;background:#05040838;color:#cfc1a6;font-family:var(--nexus-serif);cursor:pointer;transition:border-color var(--nexus-ease),background var(--nexus-ease),transform var(--nexus-ease)}.inventory-item:hover{border-color:var(--rarity-color);background:#c8a96b0e;transform:translateY(-1px)}.inventory-item.selected{border-color:var(--rarity-color);background:#c8a96b17;box-shadow:inset 0 0 18px #c8a96b0d}.item-icon{color:var(--rarity-color);font-size:calc(29px * var(--ui-scale, 1.5));line-height:1.15;text-shadow:0 0 16px color-mix(in srgb,var(--rarity-color) 35%,transparent)}.inventory-item-name{width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:calc(12px * var(--ui-scale, 1.5));line-height:1.25;text-align:center}.item-qty{position:absolute;top:5px;right:6px;color:#e7d6b2;font-size:calc(12px * var(--ui-scale, 1.5))}.item-kind{margin-top:auto;color:#7f7465;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:1px;text-transform:uppercase}.inventory-empty{grid-column:1/-1;align-self:center;text-align:center}.item-detail{min-height:0;overflow-y:auto;padding:7px 0 0 20px;border-left:1px solid var(--nexus-line)}.item-detail .detail-kicker,.journal-reading .detail-kicker{color:var(--nexus-gold)}.detail-item-icon{margin:18px 0 6px;color:var(--nexus-gold);font-size:calc(46px * var(--ui-scale, 1.5))}.item-detail h3,.journal-reading h3{margin:7px 0 12px;font-size:calc(24px * var(--ui-scale, 1.5));line-height:1.2}.item-description,.journal-prose{color:#c3b69e;font-size:calc(14px * var(--ui-scale, 1.5));line-height:1.65}.item-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:18px 0;background:#c8a96b21}.item-stat-grid>span{display:flex;flex-direction:column;gap:4px;padding:10px;background:#1b1521;color:#8f8370;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:1px;text-transform:uppercase}.item-stat-grid strong{color:#e4d3af;font-size:calc(13px * var(--ui-scale, 1.5));font-weight:400;letter-spacing:0;text-transform:none}.item-detail-actions{display:flex;gap:7px;flex-wrap:wrap}.inventory-panel .equip-row{margin:14px 0 0;gap:7px}.equip-slot{border-radius:0;border-style:solid;border-color:#c8a96b33;padding:7px 9px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.slot-label{color:#8e806a;text-transform:uppercase}.inventory-footer{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:#948772;font-size:calc(12px * var(--ui-scale, 1.5))}.inventory-footer strong{color:var(--nexus-gold-bright);font-weight:400}.inventory-filters{display:flex;align-items:end;gap:10px;padding:10px 0 2px;border-bottom:1px solid rgba(200,169,107,.12)}.inventory-view-label,.inventory-search-label{display:flex;flex:1 1 0;flex-direction:column;gap:5px;min-width:0;color:#8f8068;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:1.2px;text-transform:uppercase}.inventory-view-select,.inventory-name-search{min-height:34px;color:#ddcfb2;font-family:var(--nexus-serif);letter-spacing:0;text-transform:none}.transaction-undo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:8px 10px;border-left:2px solid var(--nexus-gold);background:#c8a96b11;color:#c9b995;font-size:calc(12px * var(--ui-scale, 1.5))}.transaction-receipt{min-width:0;overflow-wrap:anywhere}.transaction-undo-button{flex:0 0 auto;color:var(--nexus-gold-bright)}.quantity-panel{width:min(430px,92vw)}.quantity-item{margin:0 0 4px;color:#ead8b2;font-size:calc(20px * var(--ui-scale, 1.5));line-height:1.3}.quantity-input{width:130px;margin:5px 0 10px;font-size:calc(21px * var(--ui-scale, 1.5));text-align:center}.quantity-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px}.quantity-quick .gbtn{min-width:0;padding:8px 5px}.quantity-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--nexus-line);color:#a99b83;font-size:calc(13px * var(--ui-scale, 1.5))}.quantity-total{color:var(--nexus-gold-bright);font-size:calc(17px * var(--ui-scale, 1.5));font-weight:400}.quantity-warning{color:#ffad9f;font-size:calc(12px * var(--ui-scale, 1.5))}.quantity-actions{align-items:center;margin-top:14px}.quantity-actions .quantity-confirm{flex:1 1 auto}.journal-panel{width:min(1040px,95vw);height:min(680px,86dvh);display:flex;flex-direction:column;overflow:hidden;border-color:#c8a96b9e;background:linear-gradient(180deg,#0d0a12f0,#140d18f5),url(/assets/ui/journal-frame.webp) center / cover;box-shadow:0 24px 90px #000000c7,inset 0 0 0 1px #eed59a14}.journal-panel .panel-head{background:linear-gradient(180deg,#0f0b14e0,#0f0b1485)}.journal-panel .panel-body{flex:1;min-height:0;display:flex;flex-direction:column}.journal-heading{flex:0 0 auto;display:flex;align-items:center;gap:13px;margin-bottom:14px;padding-bottom:11px;border-bottom:1px solid rgba(200,169,107,.18)}.journal-emblem{width:58px;height:58px;flex:0 0 58px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.6))}.journal-heading-copy p{margin:4px 0 0;font-size:calc(12px * var(--ui-scale, 1.5));line-height:1.45}.journal-layout{flex:1;height:auto;min-height:0;display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px}.journal-list{min-height:0;overflow-y:auto;padding-right:8px;border-right:1px solid var(--nexus-line)}.journal-entry{--quest-color: #a9987b;width:100%;padding:11px 12px;display:flex;flex-direction:column;gap:4px;text-align:left;border:0;border-left:2px solid transparent;border-radius:0;background:transparent;color:#a99c87;font-family:var(--nexus-serif);cursor:pointer;transition:background var(--nexus-ease),border-color var(--nexus-ease),color var(--nexus-ease)}.journal-reading h3{color:#eed59a;font-size:calc(26px * var(--ui-scale, 1.5));font-weight:400;letter-spacing:.35px}.journal-reading .journal-prose{max-width:68ch;font-size:calc(14px * var(--ui-scale, 1.5));line-height:1.75}.journal-entry{border-bottom:1px solid rgba(200,169,107,.08)}.journal-entry:hover{background:#c8a96b0d}.journal-entry.active{border-left-color:var(--quest-color);background:#c8a96b14;color:#eadcbe}.journal-entry strong{font-size:calc(14px * var(--ui-scale, 1.5));font-weight:400}.journal-entry>span:last-child{color:#807565;font-size:calc(12px * var(--ui-scale, 1.5))}.journal-entry-kicker{color:var(--quest-color)}.journal-list-heading{margin:18px 10px 6px;color:#81735e;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:1.6px;text-transform:uppercase}.journal-empty{padding:8px 12px;line-height:1.5}.journal-reading{min-height:0;overflow-y:auto;padding:8px 8px 8px 0}.objective-box{margin:22px 0;padding:13px 15px;display:flex;flex-direction:column;gap:6px;border-left:2px solid var(--nexus-gold);background:#c8a96b0f}.objective-box span{color:#92836c;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:1.5px;text-transform:uppercase}.objective-box strong{color:#e0d1b2;font-size:calc(14px * var(--ui-scale, 1.5));line-height:1.45;font-weight:400}.journal-actions{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.journal-entry.tracked{background:#d9a7ff12;box-shadow:inset 2px 0 #b794d8}.quest-track-control{margin-top:20px;padding:12px 14px;display:flex;flex-direction:column;gap:7px;border:1px solid var(--nexus-line);background:#c8a96b0a}.quest-track-control.tracked{border-color:#d9a7ff8c;background:#b794d814}.quest-track-checkbox{display:flex;align-items:center;gap:9px;color:#eadcbe;font-size:calc(13px * var(--ui-scale, 1.5));cursor:pointer}.quest-track-checkbox input{width:18px;height:18px;margin:0;accent-color:#b794d8}.quest-track-checkbox input:disabled{cursor:not-allowed;opacity:.45}.quest-track-control .tiny-text{line-height:1.45}.journal-visibility-setting{margin:2px 0 14px;padding:10px 12px;display:flex;flex-direction:column;gap:5px;border:1px solid var(--nexus-line);background:#c8a96b0a}.character-panel .sheet-box,.sheet-box{border:1px solid rgba(200,169,107,.16);border-radius:1px;background:#0605092e}.sheet-hero{border-radius:1px;border-color:var(--nexus-line)}.realm-cell{border-radius:1px;border-color:#c8a96b26}.realm-cell.here{border-color:var(--nexus-gold)}.realm-cell.clickable{border-color:#c8a96b61}.realm-cell.quest-target{border-color:#ffe38a;background:#ffd87026;box-shadow:0 0 0 1px #ffe38a47,0 0 18px #ffd87029}.realm-cell.quest-target.locked{opacity:.8}.realm-quest-badge{margin:3px -2px -2px;padding:3px 2px;background:#ffd8701f;color:#ffe38a;font-size:calc(12px * var(--ui-scale, 1.5));line-height:1.25;text-transform:uppercase}.nexus-tracking-guidance{margin:12px 0;padding:11px 13px;display:flex;flex-direction:column;gap:5px;border-left:2px solid #ffe38a;background:#ffd87012;color:#c9bda5;font-size:calc(12px * var(--ui-scale, 1.5));line-height:1.45}.nexus-tracking-guidance strong{color:#ffe38a;font-weight:400}.npc-panel{width:min(680px,94vw)}.npc-panel .npc-text{border-left-color:var(--nexus-gold);background:#c8a96b0d;color:#ddcdb3}.pause-panel{width:min(460px,92vw)}.pause-panel .col{display:grid;grid-template-columns:1fr 1fr}.pause-panel .col>p{grid-column:1/-1;line-height:1.45}.pause-panel .col>.gbtn:first-child{grid-column:1/-1}.settings-tabs{gap:0;border-color:var(--nexus-line)}.settings-tabs .gbtn{border-radius:0}.hotkey-row,.grind-goal,.grind-progress,.idle-plan{border-radius:1px}.battle-panel{border-radius:2px;border-color:var(--nexus-line)}.battle-result-panel{border-radius:2px}.toasts{z-index:40;bottom:calc(112px + env(safe-area-inset-bottom,0px))}.toast{border-radius:1px;border-color:var(--nexus-line);background:#1b1421f7;transition:opacity var(--nexus-ease),transform var(--nexus-ease)}.title-emblem{display:block;width:116px;height:116px;margin:-8px auto -12px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.55))}.title-art .game-title{margin-top:12px}.nexus-heading-art{display:flex;align-items:center;gap:12px}.nexus-panel-emblem{flex:0 0 64px;width:64px;height:64px;object-fit:contain}.item-art-wrap{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center}.item-art{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.65))}.detail-item-icon .item-art-wrap{width:88px;height:88px}.skill-line{display:flex;align-items:flex-start;gap:8px}.skill-icon{flex:0 0 34px;width:34px;height:34px;object-fit:contain;margin-top:-4px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}.skill-line-copy{flex:1;min-width:0}.skill-button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.battle-skill-icon{width:24px;height:24px;object-fit:contain}@keyframes nexus-fade-in{0%{opacity:0}to{opacity:1}}@keyframes nexus-panel-in{0%{opacity:0;transform:translateY(7px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1120px){.world-brand{font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:1px}.world-header{gap:12px}.dock-hero{display:none}.bottom-dock{width:min(980px,calc(100% - 28px))}}@media(max-width:760px){.world-header{min-height:calc(45px + env(safe-area-inset-top,0px));padding:calc(5px + env(safe-area-inset-top,0px)) calc(8px + env(safe-area-inset-right,0px)) 5px calc(8px + env(safe-area-inset-left,0px));gap:8px}.world-brand{font-size:0;gap:0}.world-brand-mark{font-size:calc(18px * var(--ui-scale, 1.5))}.world-header .hud-mid{overflow:hidden}.world-header .hud-realm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(12px * var(--ui-scale, 1.5))}.world-header .hud-align{display:none}.world-header .hud-right{gap:7px}.world-header .hud-stat,.world-header .cloud-save-action{display:none}.world-header .hud-gold{font-size:calc(12px * var(--ui-scale, 1.5))}.gbtn.header-action{min-height:32px;padding:4px 6px;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:0}.quest-journal-hud{top:calc(55px + env(safe-area-inset-top,0px));left:calc(8px + env(safe-area-inset-left,0px));width:calc(100% - 126px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}.quest-journal-hud.journal-hidden{width:auto}.quest-tracker{padding:9px 45px 9px 11px;gap:3px}.journal-visibility-toggle{top:5px;right:5px;min-height:24px;padding:2px 5px;font-size:calc(12px * var(--ui-scale, 1.5))}.quest-tracker strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(13px * var(--ui-scale, 1.5))}.tracker-copy{display:none}.tracker-kicker{font-size:calc(12px * var(--ui-scale, 1.5))}.tracker-progress{margin-top:2px;padding-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(12px * var(--ui-scale, 1.5))}.hero-rail{top:calc(146px + env(safe-area-inset-top,0px));left:calc(8px + env(safe-area-inset-left,0px));width:56px;padding:4px;flex-direction:column;gap:4px}.rail-portrait{width:46px;height:57px;flex-basis:57px}.rail-copy{width:100%;gap:3px}.rail-copy .hud-name,.rail-copy .hud-class{display:none}.hero-rail .gbar{height:9px}.hero-rail .gbar-label{font-size:calc(12px * var(--ui-scale, 1.5));line-height:7px}.hero-rail .gbar:last-child{display:none}.hud-minimap{top:calc(53px + env(safe-area-inset-top,0px));right:calc(8px + env(safe-area-inset-right,0px));width:98px}.minimap-frame{width:98px;height:98px;padding:3px}.minimap-canvas{width:90px;height:90px}.minimap-caption{display:none}.minimap-zoom{margin-top:3px;gap:4px}.minimap-zoom>span{display:none}.minimap-zoom .gbtn{min-width:30px}.adventure-log{display:none}.bottom-dock{left:calc(6px + env(safe-area-inset-left,0px));right:calc(6px + env(safe-area-inset-right,0px));bottom:calc(6px + env(safe-area-inset-bottom,0px));transform:none;width:auto;min-height:62px;padding:4px}.dock-hero,.dock-skills{display:none}.hud-menu{width:100%;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}.dock-action{min-width:0;min-height:52px;padding:3px 1px;font-size:calc(12px * var(--ui-scale, 1.5))}.dock-action-icon{font-size:calc(17px * var(--ui-scale, 1.5))}.dock-action kbd{display:none}.hud .autogrind-hud{bottom:calc(144px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 32px);font-size:calc(12px * var(--ui-scale, 1.5))}.toasts{right:calc(8px + env(safe-area-inset-right,0px));bottom:calc(80px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 16px)}.panel-layer{padding:calc(8px + env(safe-area-inset-top,0px)) calc(8px + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px))}.panel{max-height:92dvh}.panel-head{padding:11px 13px 10px}.panel-head h2{font-size:calc(19px * var(--ui-scale, 1.5))}.panel-body{padding:11px 13px 14px}.inventory-panel,.journal-panel{height:91dvh}.inventory-layout{display:flex;flex-direction:column;gap:12px;overflow-y:auto}.inventory-collection{flex:0 0 auto;min-height:260px}.inventory-grid{flex:none;height:255px;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:102px;padding-top:10px}.item-detail{flex:0 0 auto;overflow:visible;padding:12px 0 0;border-left:0;border-top:1px solid var(--nexus-line)}.detail-item-icon{float:left;margin:4px 15px 8px 0;font-size:calc(36px * var(--ui-scale, 1.5))}.item-detail h3{font-size:calc(20px * var(--ui-scale, 1.5))}.item-description{font-size:calc(12px * var(--ui-scale, 1.5))}.item-stat-grid{clear:both;margin:12px 0}.inventory-panel .equip-row{flex:0 0 auto;margin-top:9px}.equip-slot{padding:5px;font-size:calc(12px * var(--ui-scale, 1.5))}.inventory-footer{flex:0 0 auto;font-size:calc(12px * var(--ui-scale, 1.5))}.inventory-filters{gap:7px}.transaction-undo{align-items:flex-start;padding:7px 8px;font-size:calc(12px * var(--ui-scale, 1.5))}.quantity-panel .panel-body{padding:16px}.journal-heading{gap:9px;margin-bottom:10px;padding-bottom:8px}.journal-emblem{width:44px;height:44px;flex-basis:44px}.journal-heading-copy p{font-size:calc(12px * var(--ui-scale, 1.5))}.journal-layout{display:flex;flex-direction:column;gap:12px;overflow-y:auto}.journal-list{flex:0 0 185px;padding-right:0;border-right:0;border-bottom:1px solid var(--nexus-line)}.journal-reading{flex:1 0 auto;overflow:visible;padding:0}.journal-reading h3{font-size:calc(21px * var(--ui-scale, 1.5))}.journal-prose{font-size:calc(13px * var(--ui-scale, 1.5))}.pause-panel .col{grid-template-columns:1fr}.pause-panel .col>p,.pause-panel .col>.gbtn:first-child{grid-column:1}}@media(pointer:coarse){.touch-controls{position:absolute;left:calc(14px + env(safe-area-inset-left,0px));right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(82px + env(safe-area-inset-bottom,0px));display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none!important}.touch-move-hint{width:72px;height:72px;display:grid;place-items:center;box-sizing:border-box;padding:10px;border:1px solid rgba(222,208,173,.24);border-radius:50%;background:#0f0c1440;color:#ecdec099;font-size:calc(12px * var(--ui-scale, 1.5));line-height:1.25;text-align:center;pointer-events:none}.touch-interact{pointer-events:auto;min-width:78px;border-radius:50%;aspect-ratio:1;padding:8px;background:#271c2ed1}.dock-action{min-height:52px}.panel-tab,.quantity-quick .gbtn,.transaction-undo-button{min-height:42px}.inventory-item{min-height:88px}.journal-entry{min-height:52px}.quest-track-checkbox input{width:22px;height:22px}}@media(max-height:540px)and (orientation:landscape){.quest-journal-hud{display:none}.hero-rail{top:calc(56px + env(safe-area-inset-top,0px))}.hud-minimap{top:calc(51px + env(safe-area-inset-top,0px))}.bottom-dock{min-height:56px}.dock-action{min-height:46px}.touch-controls{bottom:calc(70px + env(safe-area-inset-bottom,0px))}.touch-move-hint{width:54px;height:54px;font-size:calc(12px * var(--ui-scale, 1.5))}.touch-interact{min-width:58px;min-height:58px}.hud .autogrind-hud{bottom:calc(72px + env(safe-area-inset-bottom,0px))}}@media(prefers-reduced-motion:reduce){.panel-layer,.panel,.quest-tracker,.gbtn,.dock-action,.dock-skill,.inventory-item,.journal-entry,.toast{animation:none;transition:none}}.title-panel .panel-head,.victory-panel .panel-head{display:none}.dialogue-speaker{display:flex;align-items:center;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--nexus-line)}.dialogue-sigil{width:72px;height:72px;flex:0 0 72px;display:grid;place-items:center;border:1px solid var(--nexus-gold);border-radius:50%;background:radial-gradient(circle,#c8a96b24,#c8a96b05);color:var(--nexus-gold-bright);font-size:calc(34px * var(--ui-scale, 1.5))}.dialogue-speaker p{margin:4px 0}.dialogue-speaker .detail-kicker{color:var(--nexus-gold)}@media(max-width:760px){.inventory-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.inventory-tabs .panel-tab{flex:0 0 auto}.dialogue-speaker{align-items:flex-start;gap:11px}.dialogue-sigil{width:54px;height:54px;flex-basis:54px;font-size:calc(26px * var(--ui-scale, 1.5))}}@media(max-width:760px){.inventory-collection{min-height:0}.inventory-grid{height:auto;max-height:255px}.dock-hero div strong{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.affinity-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px;padding:8px 10px;border:1px solid rgba(200,169,107,.2);background:#c8a96b0b;color:#e6c98f;font-size:calc(12px * var(--ui-scale, 1.5))}.ally-button{margin:4px 6px 4px 0}.ally-panel{width:min(700px,94vw)}.consent-box{margin:12px 0;padding:12px 14px;border:1px solid rgba(200,169,107,.28);background:#09080e6b;color:#d9c9ae}.consent-box strong{color:var(--nexus-gold-bright);font-weight:600}.consent-box p{margin:8px 0 0;font-size:calc(13px * var(--ui-scale, 1.5));line-height:1.5}.ally-choices{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}.ally-choices .gbtn{width:100%;text-align:left}.npc-afterglow{padding:10px 12px;border-left:2px solid #c88faa;color:#e5c7d2;background:#c88faa0d}.ally-fade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;box-sizing:border-box;padding:28px;background:#07060a;color:#e8ddc4;text-align:center;opacity:0;pointer-events:none;transition:opacity .65s ease}.ally-fade.active{opacity:1;pointer-events:auto}.ally-fade-copy{max-width:460px;font-family:Georgia,Times New Roman,serif}.ally-fade-copy p{margin:10px 0}.ally-fade-mark{color:var(--nexus-gold);font-size:calc(28px * var(--ui-scale, 1.5))}.aftermath-panel .detail-kicker{color:#d6a2b7}@media(max-width:600px){.affinity-line{align-items:flex-start;flex-direction:column;gap:4px}.consent-box{padding:10px 11px}.consent-box p{font-size:calc(12px * var(--ui-scale, 1.5))}}@media(prefers-reduced-motion:reduce){.ally-fade{transition:none}}.character-equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:300px;overflow-y:auto}.character-equipment-slot{min-width:0;padding:7px;border:1px solid rgba(200,169,107,.16);background:#0f0c1461}.character-equipment-slot strong{display:block;overflow:hidden;color:#decba8;font-size:calc(12px * var(--ui-scale, 1.5));font-weight:400;text-overflow:ellipsis;white-space:nowrap}.character-equipment-slot .slot-label{display:block;margin-bottom:3px;font-size:calc(12px * var(--ui-scale, 1.5))}.inventory-panel .equip-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.inventory-panel .equip-slot{min-width:0;font-size:calc(12px * var(--ui-scale, 1.5))}.inventory-panel .equip-slot .item-name{display:block;overflow:hidden;text-overflow:ellipsis}.inventory-item.bulk-selected{border-color:#ffd870;background:#ffd87021;box-shadow:inset 0 0 0 1px #ffd87047}.bulk-check{position:absolute;top:4px;left:6px;z-index:1;color:#ffe39a;font-size:calc(17px * var(--ui-scale, 1.5))}.bulk-sell-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;padding:9px 11px;border:1px solid rgba(255,216,112,.3);background:#ffd8700f}.bulk-sell-bar strong{margin-right:auto;color:#ffe1a0;font-weight:400}.personal-realm-cell{margin:10px 0 14px;border-color:#f0c8dd8c;background:linear-gradient(100deg,#a9699729,#6169a51a)}.overworld-zoom{color:#c4b397}.overworld-zoom-value{display:inline;margin-left:3px;color:#e4d3af}@media(max-width:760px){.character-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-panel .equip-row{grid-template-columns:repeat(3,minmax(0,1fr));max-height:106px;overflow-y:auto}.bulk-sell-bar{gap:5px}.bulk-sell-bar strong{flex-basis:100%}}.battle-status{flex-wrap:wrap;gap:4px 14px}.battle-debuffs{color:#d9a7ff}.skill-button:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.48}.inventory-filters{flex-wrap:wrap;align-items:flex-end}.inventory-filters .inventory-view-label{flex:1 1 130px}.inventory-filters .inventory-enchantment-label{flex:0 1 150px}.inventory-sort-dropdown{position:relative;min-width:0}.inventory-sort-toggle{width:100%;min-height:34px;padding:7px 9px;text-align:left;cursor:pointer}.inventory-sort-menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;width:max(100%,180px);padding:5px;border:1px solid var(--nexus-line);background:#17111e;box-shadow:0 14px 35px #0000008c}.inventory-sort-option{display:block;width:100%;padding:9px 10px;border:0;background:transparent;color:#c8b99d;text-align:left;cursor:pointer}.inventory-sort-option:hover,.inventory-sort-option.active{background:#c8a96b1f;color:var(--nexus-gold-bright)}.inventory-type-select,.inventory-tier-select{width:100%;min-height:34px}.inventory-enchantment-button{width:100%;min-height:34px;white-space:nowrap}.inventory-bulk-toggle{flex:0 1 auto;min-height:34px}.enchantment-panel{width:min(470px,92vw)}.enchantment-options{display:grid;gap:6px;max-height:min(390px,52dvh);margin:14px 0;padding-right:4px;overflow-y:auto}.enchantment-option{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid rgba(200,169,107,.16);color:#d8c8aa;cursor:pointer}.enchantment-option:hover{border-color:#c8a96b73;background:#c8a96b0d}.enchantment-option input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--nexus-gold)}.enchantment-option-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.enchantment-option-copy strong{color:#ead8b4;font-weight:400}.enchantment-option-effects{color:#b9d9c4;font-size:calc(12px * var(--ui-scale, 1.5));line-height:1.45;overflow-wrap:anywhere}.enchantment-actions{align-items:center;flex-wrap:wrap}.enchantment-actions .gold{margin-left:auto}.quantity-remove{flex-basis:100%}@media(max-width:700px){.inventory-filters .inventory-view-label,.inventory-filters .inventory-enchantment-label{flex-basis:calc(50% - 7px)}.inventory-bulk-toggle{flex:1 1 100%}.inventory-sort-menu{width:100%}.enchantment-actions .gold{margin-left:0;flex:1 1 100%}}.inventory-sort-toggle,.inventory-type-select,.inventory-tier-select{border:1px solid var(--nexus-line);background:#100d16;color:#ddcfb2;font-family:var(--nexus-serif);letter-spacing:0;text-transform:none}.inventory-sort-toggle:hover{background:#211829;border-color:var(--nexus-gold)}.save-delete-panel,.save-delete-progress{max-width:560px}.save-delete-warning{padding:12px 14px;border:1px solid rgba(255,95,95,.48);background:#50121838;color:#ffb2a8}.save-delete-actions{align-items:stretch;flex-wrap:wrap;margin-top:18px}.save-delete-actions .gbtn{flex:1 1 210px}.party-tabs{overflow-x:auto;scrollbar-width:thin;margin:-4px 0 8px}.party-tab{flex:0 0 auto;min-width:88px}.party-cap-note{color:#a99b83;font-size:calc(12px * var(--ui-scale, 1.5));margin:4px 0 14px}.companion-identity{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid var(--nexus-line);background:#0f0c14b8}.companion-identity h3,.companion-identity p{margin:3px 0}.companion-sheet{margin-top:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.companion-sheet .gbtn{margin-top:10px}.companion-interact{display:block;width:100%}.party-management{margin-top:16px;padding:14px;border:1px solid var(--nexus-line);background:#0c0a11d6}.party-management>h3{margin-top:0}.party-roster-controls{margin:8px 0 16px}.party-roster{display:grid;gap:6px}.party-roster-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(200,169,107,.16);background:#100d16}.tavern-hiring{margin-bottom:20px;padding:14px;border:1px solid var(--nexus-line);background:#0c0a11d6}.tavern-hiring h3{margin-top:0}.dismissal-panel{max-width:560px}.party-status{color:#9f927e;font-size:calc(12px * var(--ui-scale, 1.5));text-transform:uppercase;letter-spacing:.5px}.party-status.active{color:var(--nexus-gold-bright)}.companion-joined{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--nexus-line);color:var(--nexus-gold-bright)}.gbtn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:900px){.companion-sheet{grid-template-columns:1fr}}@media(max-width:600px){.party-tab{min-width:78px;padding-inline:10px}.party-roster-row{grid-template-columns:minmax(0,1fr) auto}.party-roster-row .gbtn{grid-column:1 / -1;width:100%}.companion-joined{align-items:stretch;flex-direction:column}}.npc-portrait{width:108px;height:134px;flex:0 0 108px;box-sizing:border-box;border:1px solid var(--nexus-gold);border-radius:6px;background:#12101a;box-shadow:0 8px 26px #00000059,inset 0 0 18px #ffffff0a}.ally-world-echo{border-left:2px solid #b79adf;padding:9px 12px;background:#70579714;color:#ddd0ec}.ally-dilemma-callout{margin:12px 0;padding:12px;border:1px solid rgba(200,169,107,.3);background:#c8a96b0d}.ally-dilemma-outcome{margin:10px 0}.dilemma-choices .gbtn{min-height:46px;height:auto;white-space:normal;line-height:1.4}.tavern-rumor,.settle-reaction,.npc-reaction,.pledge-world-echo{font-family:Georgia,Times New Roman,serif;line-height:1.55}.victory-world-outlook{color:#ead9f1;font-family:Georgia,Times New Roman,serif;font-size:calc(17px * var(--ui-scale, 1.5));line-height:1.6}.victory-world-chronicle{margin-top:14px;max-height:230px;overflow-y:auto;text-align:left;border-top:1px solid var(--nexus-line);padding-top:10px}.victory-world-chronicle summary{cursor:pointer;color:var(--nexus-gold-bright)}.victory-world-chronicle p{font-size:calc(13px * var(--ui-scale, 1.5));line-height:1.5}@media(max-width:760px){.npc-portrait{width:82px;height:102px;flex-basis:82px;object-fit:contain}.dialogue-speaker{gap:10px}}@media(max-width:420px){.npc-portrait{width:70px;height:88px;flex-basis:70px}.dialogue-speaker .dim{font-size:calc(12px * var(--ui-scale, 1.5))}}.homestead-panel,.achievements-panel{width:min(1120px,96vw)}.haven-focus-header{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--nexus-line);background:#c8a96b0e}.haven-focus-header strong{color:var(--nexus-gold-bright)}.haven-focus-header .haven-rest{margin-left:auto}.homestead-tabs,.achievement-tabs{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:#17121f}.haven-activity-section{margin-top:14px}.haven-card-grid,.recipe-grid,.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.haven-card,.recipe-card,.achievement-card{min-width:0;padding:12px;border:1px solid rgba(200,169,107,.2);background:#0d0b12b8}.haven-card .ingredient-icon{float:left;margin:0 8px 8px 0}.haven-card .row,.recipe-card .row{flex-wrap:wrap}.ingredient-icon{width:48px;height:48px;flex:0 0 48px;border-radius:4px}.item-art.ingredient-icon{width:48px;height:48px}select.compact-input,select.compact-input option{color:#ddcfb2;background-color:#100d16}.pond-bite{padding:16px;border:1px solid #658ca2;background:#416b851f;text-align:center}.pond-bite.ready{border-color:#b9e5b2;background:#5c995b29}.pond-bite.missed{border-color:#966c70}.mine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mine-node{display:grid;gap:7px;padding:10px;border:1px solid rgba(160,170,190,.22);background:#2c2e386b}.mine-node .row{gap:5px}.recipe-card{border-color:var(--rarity-color, var(--nexus-line))}.recipe-card.locked{opacity:.58}.recipe-card>strong,.achievement-card>strong{display:block;margin:5px 0 7px;color:#f1dfbd}.recipe-desc{min-height:58px;color:#cbbda8;font-size:calc(12px * var(--ui-scale, 1.5));line-height:1.45}.recipe-ingredients{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.recipe-ingredient{display:flex;align-items:center;gap:4px;color:#d8c9b1;font-size:calc(12px * var(--ui-scale, 1.5))}.recipe-ingredient .ingredient-icon{width:32px;height:32px;flex-basis:32px}.active-meals-panel{margin-top:18px;padding:12px;border-top:1px solid var(--nexus-line)}.achievement-card.unlocked{border-color:var(--rarity-color, var(--nexus-gold));background:#c8a96b14}.achievement-card .bar{margin:9px 0}.ingredient-options{max-height:50vh;overflow-y:auto}@media(max-width:900px){.haven-card-grid,.recipe-grid,.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.haven-focus-header{gap:6px 10px;font-size:calc(12px * var(--ui-scale, 1.5))}.haven-focus-header .haven-rest{margin-left:0;width:100%}.haven-card-grid,.recipe-grid,.achievement-grid{grid-template-columns:1fr}.mine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-desc{min-height:0}.homestead-tabs,.achievement-tabs{overflow-x:auto;flex-wrap:nowrap}.homestead-tabs .panel-tab,.achievement-tabs .panel-tab{flex:0 0 auto}}.version-stamp{position:fixed;left:10px;bottom:7px;z-index:30;pointer-events:none;color:#ded0ad94;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:.8px;text-shadow:0 1px 3px #000}.realm-reputation-card{margin:10px 0;padding:11px 12px;border:1px solid rgba(200,169,107,.25);background:#c8a96b0e}.hud-realm-reputation{display:block;color:#d9c38f;font-size:calc(12px * var(--ui-scale, 1.5));text-align:center;letter-spacing:.4px}@media(max-width:600px){.version-stamp{bottom:4px;font-size:calc(12px * var(--ui-scale, 1.5))}.hud-realm-reputation{font-size:calc(12px * var(--ui-scale, 1.5))}}.npc-portrait{width:108px;height:162px;flex-basis:108px;object-fit:contain}.class-portrait{display:block;width:100px;height:150px;margin:0 auto 8px;object-fit:contain}.hud-portrait{display:block;width:76px;height:114px;object-fit:contain}.hero-portrait{display:block;width:144px;height:216px;object-fit:contain}@media(max-width:760px){.npc-portrait{width:82px;height:123px;flex-basis:82px}.class-portrait{width:88px;height:132px}.hero-portrait{width:116px;height:174px}}@media(max-width:420px){.npc-portrait{width:70px;height:105px;flex-basis:70px}.hud-portrait{width:64px;height:96px}}.hero-name-actions{display:flex;justify-content:flex-end;margin-bottom:8px}.dialogue-panel{width:min(720px,94vw)}.conversation-status{margin:14px 0;padding:12px 14px;border-left:2px solid var(--nexus-gold);background:#c8a96b0f}.conversation-status strong{display:block;margin-bottom:6px;color:var(--nexus-gold-bright);font-weight:600}.conversation-status p{margin:0;color:#c9baa0;line-height:1.55}.hero-name-panel .row{margin-top:12px}.smithing-selectors{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px);gap:12px;margin:12px 0}.smithing-selectors .ginput{width:100%}.smithing-quantity{align-items:center}.smithing-quantity .ginput{width:82px;min-width:82px;text-align:center}.smithing-recipe{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:12px 0;padding:11px 12px;border:1px solid rgba(200,169,107,.18);background:#08060c4d}.smithing-recipe>strong{grid-column:1 / -1;color:var(--nexus-gold-bright);font-weight:400}.smithing-ingredient.ready{color:#b9d9c4}.smithing-ingredient.missing{color:#e7a59b}.rune-current{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;padding-bottom:10px;border-bottom:1px solid rgba(200,169,107,.18)}.rune-current>strong{color:#ead8b4;font-weight:400}.rune-current .rune-select-button{margin-left:auto}.rune-locked{opacity:.58}.rune-select-panel .rune-confirm{margin-top:16px;width:100%}@media(max-width:600px){.smithing-selectors{grid-template-columns:1fr;gap:8px}.smithing-recipe{grid-template-columns:1fr}}@media(max-width:600px),(max-height:520px)and (orientation:landscape){.panel-layer.battle-open+.toasts,.panel-layer:has(.battle-panel)+.toasts,.panel-layer:has(.battle-result)+.toasts{top:calc(52px + env(safe-area-inset-top,0px));bottom:auto}}@media(max-height:520px)and (orientation:landscape){.inventory-panel{height:92dvh;overflow-y:auto}.inventory-panel .panel-body,.inventory-layout{display:block;overflow:visible}.inventory-collection{display:block}.inventory-grid{height:auto;max-height:170px;overflow-y:auto}.item-detail{overflow:visible;padding:12px 0 0;border-left:0;border-top:1px solid var(--nexus-line)}}.inventory-layout{overflow-y:auto;overscroll-behavior:contain}.inventory-grid{min-height:124px}html,body{overflow-wrap:anywhere}button{min-height:48px;white-space:normal}.gbtn{white-space:normal}.quest-card{width:min(480px,44vw);max-width:44vw}.steadiness{width:260px}.hud-right{max-width:46vw}.hud-menu{flex-wrap:wrap;max-width:340px}.ability-dock{max-width:48vw}.interaction-prompt{bottom:140px;max-width:80vw;white-space:normal;text-align:center}.modal{max-height:92dvh;overflow-y:auto;overscroll-behavior:contain}.dialogue-text,.npc-text,.quest-desc,.choice-line,.journal-prose,.reflection p,.settle-lore,.result-message,.atlas-node b,.ally-card p,.glossary-list p{overflow-wrap:anywhere}.atlas-grid,.ally-grid,.journal-quest-grid,.glossary-list,.how-grid{align-items:start}@media(max-width:900px){.quest-card{width:min(390px,52vw)}.hud-right{max-width:46vw}.hud-menu{max-width:280px}.atlas-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ally-grid,.glossary-list,.how-grid{grid-template-columns:1fr}.ability-dock{bottom:18px}.interaction-prompt{bottom:132px}}@media(max-width:620px){.quest-card{width:calc(100vw - 104px)}.hud-menu .icon-button{min-height:44px}.title-copy h1{font-size:clamp(38px,10vw,62px)}.title-footer{font-size:calc(12px * var(--ui-scale, 1.5))}.ability-dock{left:8px;right:8px;bottom:88px;max-width:none}.ability small{max-width:120px}.interaction-prompt{bottom:168px;max-width:92vw}.modal{width:96vw;padding:18px 14px}.atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ally-grid,.glossary-list,.how-grid{grid-template-columns:1fr}.victory-stats{flex-wrap:wrap}.victory-stats span{min-width:92px}}@media(hover:none)and (pointer:coarse){#touch-controls button{width:66px;height:66px}.ability-dock{bottom:86px}}.fishing-game{margin:14px 0;padding:14px;border:1px solid rgba(200,169,107,.24);background:#090f189e}.fishing-instructions{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.fishing-instructions .dim{max-width:42ch;text-align:right}.fishing-lane{position:relative;height:148px;overflow:hidden;border:1px solid rgba(150,205,220,.22);border-radius:5px;background:linear-gradient(180deg,#294a63b8,#0e2739e6)}.fishing-lane:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:#c4e7ed2e}.fishing-safe-zone{position:absolute;top:0;bottom:0;display:flex;justify-content:center;align-items:flex-end;padding-bottom:4px;border-right:1px dashed rgba(255,229,142,.65);border-left:1px dashed rgba(255,229,142,.65);background:#84ca8f1f;color:#d7f2bd;font-size:calc(12px * var(--ui-scale, 1.5));letter-spacing:1.4px;text-align:center;transition:background .12s}.fishing-lane.catchable .fishing-safe-zone{background:#84ca8f3b}.fishing-hook{position:absolute;top:0;left:50%;width:2px;height:78px;transform:translate(-50%);background:#ebe6cfbf;color:#f5e6b7;font:26px/1 var(--nexus-serif);text-align:center}.fishing-hook:before{content:"";position:absolute;top:0;left:-5px;width:12px;height:12px;border-radius:50%;background:#e8d38b;box-shadow:0 0 12px #ffdd7373}.fishing-fish{position:absolute;top:82px;z-index:2;transform:translate(-50%);font-size:calc(38px * var(--ui-scale, 1.5));line-height:1;filter:drop-shadow(0 4px 3px rgba(0,0,0,.35))}.fishing-fish.in-safe-zone{filter:drop-shadow(0 0 9px rgba(196,255,173,.85))}.fishing-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:10px}.fishing-timer{min-width:48px;color:#ffe5a4;font-variant-numeric:tabular-nums}.fishing-progress{height:8px;overflow:hidden;background:#ffffff17;border:1px solid rgba(200,169,107,.18)}.fishing-progress-fill{display:block;width:0;height:100%;background:linear-gradient(90deg,#7cb6b1,#e0c36c);transition:width .08s linear}@media(max-width:620px){.fishing-game{padding:10px}.fishing-instructions{flex-direction:column;gap:5px}.fishing-instructions .dim{max-width:none;text-align:left}.fishing-lane{height:134px}.fishing-status{grid-template-columns:auto minmax(0,1fr)}.fishing-status .fishing-reel{grid-column:1 / -1;width:100%}}@media(prefers-reduced-motion:reduce){.fishing-progress-fill{transition:none}}@media(max-width:600px){.toasts{top:calc(58px + env(safe-area-inset-top,0px));bottom:auto;left:calc(8px + env(safe-area-inset-left,0px));right:calc(8px + env(safe-area-inset-right,0px));max-width:none;max-height:36vh;overflow:hidden}.toast{padding:6px 10px}}@media(max-width:600px){.quest-row{flex-direction:column;align-items:stretch}.quest-row>div{min-width:0}.quest-row .gbtn{width:100%;min-width:64px}}@media(max-width:600px){.battle-result-panel{width:94vw;max-height:86vh;max-height:86dvh;padding:16px 16px 18px}.result-emote{font-size:calc(48px * var(--ui-scale, 1.5))}.result-title{font-size:calc(26px * var(--ui-scale, 1.5));letter-spacing:2px}.result-message{margin-bottom:10px}.result-rewards{padding:8px}.result-continue{width:100%;min-width:0}}.ordering-card{display:flex;align-items:center;gap:10px;width:100%;text-align:left;margin:6px 0;padding:10px 12px;background:#1e1a2ee6;color:#ffe9c9;border:1px solid rgba(217,167,255,.25);border-radius:10px;cursor:pointer;min-height:48px}.ordering-card.chosen{border-color:#ffd870;background:#3c3250f2}.order-badge{flex:0 0 28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#d9a7ff26;color:#ffd870;font-weight:700}.ordering-text{flex:1}.pairing-need{margin:10px 0}.pairing-need-text{color:#ffe9c9;font-weight:700}.pairing-help-row{display:flex;flex-direction:column;gap:6px;margin-top:6px}.pairing-help{text-align:left;min-height:48px}.pairing-help.chosen{border-color:#ffd870;background:#3c3250f2}.ordering-confirm,.pairing-confirm{margin-top:10px}.virtues-box p{margin:4px 0}.victory-virtue-allies{margin:12px 0}.action-hint-ring{outline:3px solid #ffd870!important;outline-offset:2px;box-shadow:0 0 14px #ffd8708c}.battle-log-latest{margin:6px 0;color:#ffe9c9}.battle-log-details summary{cursor:pointer;color:#d9a7ff}.battle-log-details .battle-log{max-height:180px;overflow-y:auto}.cloud-paused-chip{display:inline-block;padding:6px 10px;margin:6px 0;border:1px solid rgba(255,216,112,.5);border-radius:8px;color:#ffd870;background:#3c2d1499}
