:root{color-scheme:dark;--bg: #071219;--bg-deep: #040b10;--bg-panel: rgba(8, 22, 29, .78);--bg-panel-solid: #0b1d25;--line: rgba(196, 230, 224, .14);--line-strong: rgba(196, 230, 224, .28);--text: #ebe4d3;--muted: #9cb1ae;--faint: #7d9491;--sand: #d8b979;--accent: #f0a24b;--teal: #5fc7c0;--danger: #d46a5f;--hp: #d35f55;--stamina: #63b47a;--xp: #6fa7d8;--shadow: 0 28px 80px rgba(0, 0, 0, .45);--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: "Avenir Next", "Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;height:100%}body{margin:0;color:var(--text);font-family:var(--sans);background:radial-gradient(circle at 12% 8%,rgba(45,138,158,.16),transparent 32rem),radial-gradient(circle at 82% 90%,rgba(240,162,75,.1),transparent 28rem),var(--bg);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.015em}h1{font-size:clamp(2.6rem,5vw,5.4rem);line-height:.92}h2{font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.05}h3{font-size:1.05rem}p{line-height:1.6}.muted{color:var(--muted)}.eyebrow{color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.lede{color:#c8d6d1;font-size:clamp(1rem,1.3vw,1.18rem);max-width:56ch}.splash-screen{display:grid;place-content:center;gap:1rem;min-height:100vh;text-align:center}.splash-mark{font-family:var(--serif);font-size:3rem;letter-spacing:.18em;color:var(--sand);animation:breathe 2.4s ease-in-out infinite}.splash-screen p{color:var(--muted);letter-spacing:.08em}@keyframes breathe{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.brand-lockup{display:flex;align-items:baseline;gap:.55rem}.brand-glyph{color:var(--accent);font-size:1.1rem}.brand-name{font-family:var(--serif);font-size:1.1rem;letter-spacing:.22em}.brand-tag{color:var(--faint);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase}.brand-lockup-small .brand-name{font-size:.95rem}.auth-page{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);min-height:100vh}.auth-lore{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:2.5rem;overflow:hidden;padding:clamp(2rem,5vw,5rem);border-right:1px solid var(--line);background:radial-gradient(ellipse at 70% 20%,rgba(240,162,75,.13),transparent 42%),radial-gradient(ellipse at 10% 85%,rgba(45,138,158,.22),transparent 45%),linear-gradient(160deg,#0a1c24,#071219 58%,#0b171d)}.auth-lore:before{position:absolute;inset:auto -12% -18%;height:58%;content:"";opacity:.5;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 18px,rgba(199,231,227,.12) 19px 20px,transparent 21px 38px);transform:rotate(-5deg);pointer-events:none}.auth-lore>*{position:relative;z-index:1}.auth-lore-copy{display:flex;flex-direction:column;gap:1.3rem;max-width:44rem}.auth-lore-copy h1{color:#f3e7cd;text-shadow:0 18px 60px rgba(0,0,0,.35)}.feature-list{display:grid;gap:1rem;max-width:40rem;margin:0;padding:0;list-style:none}.feature-list li{display:grid;grid-template-columns:minmax(9rem,.45fr) 1fr;gap:1rem;padding-top:1rem;border-top:1px solid var(--line)}.feature-list strong{color:var(--sand);font-weight:600}.feature-list span,.auth-footnote{color:var(--muted);font-size:.9rem}.auth-footnote{max-width:40rem;font-size:.78rem;letter-spacing:.02em}.auth-panel{display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,4vw,4rem)}.auth-panel-inner{display:flex;flex-direction:column;gap:1.65rem;width:min(100%,26rem)}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem;border:1px solid var(--line);border-radius:999px;background:#061218b3}.segmented button{padding:.7rem .8rem;border:0;border-radius:999px;color:var(--muted);background:transparent;font-size:.82rem;font-weight:600;letter-spacing:.03em;transition:.16s ease}.segmented button.is-active{color:#1b1209;background:var(--sand)}.auth-heading{display:flex;flex-direction:column;gap:.6rem}.auth-heading h2{color:#f3e7cd}.auth-heading .muted{font-size:.92rem}.stack-form{display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column;gap:.45rem}.field>span,.class-picker legend{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.field input{width:100%;padding:.85rem 1rem;border:1px solid var(--line);border-radius:.6rem;outline:none;color:var(--text);background:#040e13b8;transition:border-color .16s ease,box-shadow .16s ease}.field input::placeholder{color:#7d9491}.field input:focus{border-color:#f0a24ba6;box-shadow:0 0 0 3px #f0a24b1f}.form-error,.form-notice{padding:.7rem .85rem;border-radius:.5rem;font-size:.84rem;line-height:1.45}.form-error{border:1px solid rgba(212,106,95,.45);color:#f1b8b1;background:#7a26213d}.form-notice{border:1px solid rgba(95,199,192,.35);color:#bce8e2;background:#195b5838}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.1rem;border:1px solid transparent;border-radius:.6rem;font-size:.84rem;font-weight:700;letter-spacing:.03em;transition:transform .14s ease,background .14s ease,border-color .14s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button-primary{color:#1b1209;background:linear-gradient(180deg,#f4b562,var(--accent));box-shadow:0 12px 26px #f0a24b29}.button-primary:hover:not(:disabled){background:linear-gradient(180deg,#ffc678,#f6aa55)}.button-ghost{border-color:var(--line-strong);color:var(--text);background:#0712188c}.button-ghost:hover:not(:disabled){border-color:#c4e6e080;background:#0e242ccc}.button-danger{border-color:#d46a5f59;color:#efb4ad;background:#6f221e2e}.button-danger:hover:not(:disabled){background:#93302a47}.button-disabled{border-color:var(--line);color:var(--muted);background:#08141a99}.button-wide{width:100%}.button-small{padding:.55rem .8rem;font-size:.76rem}.text-button{padding:0;border:0;color:var(--sand);background:none;font-size:inherit;text-decoration:underline;text-underline-offset:3px}.auth-switch{color:var(--faint);font-size:.82rem;text-align:center}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem clamp(1.2rem,4vw,3rem);border-bottom:1px solid var(--line)}.topbar-actions{display:flex;align-items:center;gap:.8rem}.user-chip,.server-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#0510158c;font-size:.78rem}.status-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--teal);box-shadow:0 0 #5fc7c080;animation:status-pulse 2s infinite}@keyframes status-pulse{0%{box-shadow:0 0 #5fc7c073}70%{box-shadow:0 0 0 7px #5fc7c000}to{box-shadow:0 0 #5fc7c000}}.character-page{min-height:100vh}.character-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.85fr);gap:clamp(1.4rem,3vw,2.6rem);width:min(100%,90rem);margin:0 auto;padding:clamp(1.6rem,4vw,3.4rem)}.character-roster,.creator-panel{display:flex;flex-direction:column;gap:1.2rem;min-width:0}.section-heading{display:flex;flex-direction:column;gap:.55rem}.section-heading-inline{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:1rem}.section-heading .muted{max-width:56ch;font-size:.9rem}.character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.character-card,.panel,.creator-panel,.empty-state{border:1px solid var(--line);border-radius:.9rem;background:linear-gradient(180deg,#0f262fc7,#07141ac7);box-shadow:var(--shadow)}.character-card{display:flex;flex-direction:column;gap:1rem;padding:1.15rem;transition:transform .16s ease,border-color .16s ease}.character-card:hover{transform:translateY(-2px);border-color:var(--line-strong)}.character-card-head{display:flex;align-items:center;gap:.8rem}.character-card-head h2{font-size:1.35rem}.character-card-head p{color:var(--muted);font-size:.8rem}.class-sigil{display:grid;flex:0 0 auto;place-items:center;width:2.7rem;height:2.7rem;border-radius:.7rem;color:#081216e6;font-family:var(--serif);font-size:1.2rem;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff29}.class-sigil-small{width:2.1rem;height:2.1rem;border-radius:.55rem;font-size:.9rem}.class-sigil-large{width:3.2rem;height:3.2rem;font-size:1.5rem}.stat-row{display:flex;flex-wrap:wrap;gap:.5rem 1rem;color:var(--muted);font-size:.74rem;letter-spacing:.06em}.stat-row b{color:var(--text);font-size:.95rem}.stat-row-strong{padding:.7rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.meter-row{display:flex;align-items:center;gap:.7rem}.meter{position:relative;display:block;overflow:hidden;height:.42rem;border-radius:999px;background:#ffffff14}.meter>span{display:block;height:100%;border-radius:inherit;background:var(--muted);transition:width .22s ease}.meter-hp>span{background:linear-gradient(90deg,#9b3f38,var(--hp))}.meter-stamina>span{background:linear-gradient(90deg,#3f7a50,var(--stamina))}.meter-xp>span{background:linear-gradient(90deg,#3f6f9e,var(--xp))}.meter-lg{flex:1;height:.55rem}.meter-party{flex:0 0 4.4rem;height:.3rem}.meter-caption{color:var(--faint);font-size:.72rem}.equipment-row{display:flex;flex-wrap:wrap;gap:.35rem}.equipment-slot{display:inline-grid;place-items:center;min-width:2rem;height:1.7rem;padding:0 .35rem;border:1px dashed rgba(196,230,224,.18);border-radius:.35rem;color:var(--faint);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.equipment-slot.is-filled{border-style:solid;border-color:#f0a24b73;color:var(--sand)}.character-card-actions{display:flex;align-items:center;gap:.6rem;margin-top:auto}.character-card-actions .button-primary{flex:1}.empty-state{display:grid;place-items:center;gap:.5rem;min-height:19rem;padding:2rem;text-align:center}.empty-glyph{color:var(--faint);font-size:2rem}.empty-state p{max-width:32ch;color:var(--muted);font-size:.9rem}.creator-panel{align-self:start;padding:1.4rem;position:sticky;top:1.4rem}.class-picker{margin:0;padding:0;border:0}.class-picker legend{padding-bottom:.5rem}.class-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.class-option{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.7rem;border:1px solid var(--line);border-radius:.55rem;color:var(--muted);background:#040e1373;text-align:left;transition:.15s ease}.class-option:hover{border-color:var(--line-strong);background:#0d2028b3}.class-option.is-selected{color:var(--text);background:#142e37b8}.class-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%}.class-option-name{font-size:.82rem;font-weight:700}.class-option-title{color:var(--faint);font-size:.66rem}.class-preview{display:flex;flex-direction:column;gap:.85rem;padding:.9rem;border:1px solid var(--line);border-radius:.7rem;background:#040e1361}.class-preview-head{display:flex;gap:.8rem;align-items:flex-start}.class-preview-head h3{margin-bottom:.2rem}.class-preview-head .muted{font-size:.78rem;line-height:1.45}.talent-paths{display:grid;gap:.55rem;padding-top:.6rem;border-top:1px solid var(--line)}.talent-path h4{margin-bottom:.1rem;color:var(--sand);font-size:.82rem;letter-spacing:.02em}.talent-path p{color:var(--faint);font-size:.72rem;line-height:1.4}.lobby-page{min-height:100vh;padding-bottom:4rem}.lobby-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:clamp(1.4rem,3vw,3rem);align-items:end;width:min(100%,90rem);margin:0 auto;padding:clamp(2rem,5vw,4.5rem) clamp(1.2rem,4vw,3rem) 2rem}.lobby-hero-copy{display:flex;flex-direction:column;gap:1.15rem}.lobby-hero-copy h1{color:#f3e7cd}.lobby-badges{display:flex;flex-wrap:wrap;gap:.5rem}.badge,.count-pill{display:inline-flex;align-items:center;padding:.35rem .6rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#06121873;font-size:.7rem;letter-spacing:.04em}.count-pill{color:var(--sand);border-color:#f0a24b4d}.lobby-character-card{display:flex;flex-direction:column;gap:.9rem;padding:1.1rem;border:1px solid var(--line);border-radius:.9rem;background:linear-gradient(180deg,#0f262fcc,#07141acc);box-shadow:var(--shadow)}.lobby-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.75fr);gap:clamp(1.4rem,3vw,2.4rem);width:min(100%,90rem);margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem)}.lobby-roster{display:flex;flex-direction:column;gap:1rem;min-width:0}.player-list{display:grid;gap:.55rem}.player-row{display:flex;align-items:center;gap:.8rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:.7rem;background:#07141a9e}.player-row.is-local{border-color:#f0a24b66;background:#23231866}.player-row-main{flex:1;min-width:0}.player-row-main h3{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:1rem}.player-row-main p{color:var(--muted);font-size:.75rem}.player-row-hp{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;min-width:5.5rem}.player-row-hp small{color:var(--faint);font-size:.66rem}.host-badge,.you-badge{display:inline-flex;padding:.16rem .4rem;border-radius:999px;font-family:var(--sans);font-size:.58rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.host-badge{color:#1b1209;background:var(--sand)}.you-badge{color:#bce8e2;background:#2d8a9e4d}.lobby-note{padding:.85rem 1rem;border-left:2px solid rgba(95,199,192,.5);color:var(--muted);font-size:.8rem;background:#0a202661}.lobby-side{display:flex;flex-direction:column;gap:1rem}.panel{display:flex;flex-direction:column;gap:.85rem;padding:1.1rem}.panel .muted{font-size:.82rem}.panel-quiet{background:#07121880}.run-facts{display:grid;gap:.55rem;margin:0}.run-facts>div{display:flex;justify-content:space-between;gap:1rem;padding-top:.5rem;border-top:1px solid var(--line)}.run-facts dt{color:var(--faint);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.run-facts dd{margin:0;color:var(--text);font-size:.78rem;text-align:right}.stage-list{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.stage-item{display:flex;gap:.7rem;align-items:flex-start;padding:.55rem 0;border-top:1px solid var(--line)}.stage-index{color:var(--faint);font-family:var(--serif);font-size:.8rem}.stage-item h3{font-family:var(--sans);font-size:.8rem;font-weight:700}.stage-item p{color:var(--faint);font-size:.68rem}.stage-item.stage-shop .stage-index{color:var(--teal)}.stage-item.stage-boss .stage-index{color:var(--danger)}.rule-list{display:grid;gap:.45rem;margin:0;padding-left:1rem;color:var(--muted);font-size:.78rem}.rule-list li::marker{color:var(--sand)}.waiting-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--sand);animation:breathe 1.6s ease-in-out infinite}.game-shell{position:fixed;inset:0;overflow:hidden;background:var(--bg-deep)}.game-canvas,.game-canvas canvas{position:absolute;inset:0;width:100%;height:100%}.game-canvas canvas{display:block;outline:none}.game-hud{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;padding:clamp(.8rem,2vw,1.4rem);pointer-events:none}.hud-top{display:grid;grid-template-columns:minmax(19rem,23rem) minmax(0,1fr) minmax(12.5rem,15rem);gap:.9rem;align-items:start}.hud-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:.9rem}.hud-panel{border:1px solid rgba(196,230,224,.17);border-radius:.8rem;background:#051117c2;box-shadow:0 20px 50px #00000059;backdrop-filter:blur(10px)}.hud-character{display:flex;flex-direction:column;gap:.7rem;padding:.85rem}.hud-character-head{display:flex;gap:.7rem;align-items:center}.hud-character-name h2{font-size:1.25rem}.hud-character-name p{color:var(--muted);font-size:.68rem}.hud-bars{display:grid;gap:.4rem}.hud-bar-row{display:grid;grid-template-columns:2.1rem minmax(0,1fr) auto;gap:.5rem;align-items:center;color:var(--faint);font-size:.62rem;letter-spacing:.08em}.hud-bar-row b{color:var(--muted);font-size:.62rem;font-weight:600}.hud-resources{display:flex;flex-wrap:wrap;gap:.8rem;padding-top:.55rem;border-top:1px solid var(--line);color:var(--muted);font-size:.7rem}.resource{display:inline-flex;align-items:center;gap:.35rem}.resource-glyph{color:var(--sand);font-size:.7rem}.hud-stage{display:flex;flex-direction:column;gap:.35rem;justify-self:center;width:min(100%,26rem);padding:.8rem 1rem;text-align:center}.hud-stage h2{font-size:clamp(1.2rem,1.6vw,1.65rem)}.stage-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem}.stage-pill{padding:.25rem .5rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.64rem}.hud-seed{color:var(--faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;letter-spacing:.06em}.hud-map{display:flex;align-items:flex-start;justify-content:flex-end;gap:.6rem}.minimap{position:relative;flex:0 0 auto;width:clamp(9.5rem,14vw,12rem);aspect-ratio:1;overflow:hidden;border:1px solid rgba(196,230,224,.24);border-radius:.75rem;background:radial-gradient(circle at 50% 50%,rgba(216,185,121,.12),transparent 65%),#051117d1;box-shadow:var(--shadow)}.minimap-grid{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(196,230,224,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(196,230,224,.08) 1px,transparent 1px);background-size:20% 20%}.minimap-cardinal{position:absolute;color:var(--faint);font-size:.55rem;font-weight:700;letter-spacing:.08em}.minimap-north{top:.3rem;left:50%;transform:translate(-50%)}.minimap-east{top:50%;right:.35rem;transform:translateY(-50%)}.minimap-south{bottom:.3rem;left:50%;transform:translate(-50%)}.minimap-west{top:50%;left:.35rem;transform:translateY(-50%)}.minimap-dot{position:absolute;display:block;width:.42rem;height:.42rem;border-radius:50%;transform:translate(-50%,-50%)}.minimap-enemy{background:#e06a5c;box-shadow:0 0 0 1px #e06a5c40}.minimap-ally{background:#6fc7bf;box-shadow:0 0 0 1px #6fc7bf40}.minimap-local{width:.62rem;height:.62rem;border:2px solid #ffe6a8;background:var(--accent);box-shadow:0 0 0 4px #f0a24b2e}.compass{position:relative;flex:0 0 auto;width:clamp(4.2rem,6vw,5.1rem);aspect-ratio:1;border:1px solid rgba(196,230,224,.2);border-radius:50%;background:#051117c7;box-shadow:var(--shadow)}.compass-ring{position:absolute;inset:18%;border:1px solid rgba(196,230,224,.16);border-radius:50%}.compass-tick{position:absolute;top:50%;left:50%;width:1px;height:42%;background:#c4e6e038;transform-origin:50% 0}.compass-tick-n{transform:translate(-50%) rotate(0)}.compass-tick-e{transform:translate(-50%) rotate(90deg)}.compass-tick-s{transform:translate(-50%) rotate(180deg)}.compass-tick-w{transform:translate(-50%) rotate(270deg)}.compass-needle{position:absolute;top:50%;left:50%;width:0;height:0;border-right:.22rem solid transparent;border-bottom:1.2rem solid var(--accent);border-left:.22rem solid transparent;transform:translate(-50%,-100%)}.compass-label{position:absolute;color:var(--muted);font-size:.55rem;font-weight:700}.compass-label-n{top:.3rem;left:50%;transform:translate(-50%);color:var(--sand)}.compass-label-e{top:50%;right:.35rem;transform:translateY(-50%)}.compass-label-s{bottom:.3rem;left:50%;transform:translate(-50%)}.compass-label-w{top:50%;left:.35rem;transform:translateY(-50%)}.hud-controls{width:min(21rem,32vw);padding:.75rem .9rem}.hud-controls ul{display:grid;gap:.35rem;margin:.45rem 0 0;padding:0;list-style:none;color:var(--muted);font-size:.68rem}.hud-controls li{display:flex;align-items:center;gap:.3rem}kbd{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .3rem;border:1px solid rgba(196,230,224,.22);border-bottom-color:#c4e6e059;border-radius:.28rem;color:var(--text);background:#0f262fb3;font-family:var(--sans);font-size:.6rem;font-weight:700}.hud-party{width:min(20rem,30vw);padding:.75rem .9rem}.hud-party-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.hud-party ul{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.hud-party li{display:flex;align-items:center;gap:.4rem;padding:.18rem 0;color:var(--muted);font-size:.68rem}.hud-party li.is-local{color:var(--text)}.party-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-level{color:var(--faint);font-size:.58rem}.hud-leave{position:absolute;right:50%;bottom:clamp(.8rem,2vw,1.4rem);z-index:2;transform:translate(50%);pointer-events:auto;background:#051117cc}.notice-stack{position:fixed;bottom:9.8rem;left:50%;z-index:30;display:flex;flex-direction:column;align-items:center;gap:.4rem;width:min(28rem,calc(100vw - 2rem));transform:translate(-50%);pointer-events:none}.notice{padding:.55rem .8rem;border:1px solid var(--line);border-radius:.5rem;color:var(--text);background:#051117e6;box-shadow:var(--shadow);font-size:.75rem;text-align:center;animation:notice-in .22s ease both}.notice-info{border-color:#5fc7c052}.notice-success{border-color:#63b47a66;color:#cbeccf}.notice-warning{border-color:#f0a24b66;color:#ffe0b1}.notice-error{border-color:#d46a5f73;color:#f4c0b8}@keyframes notice-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.status-page{display:grid;place-items:center;min-height:100vh;padding:2rem}.status-card{display:flex;flex-direction:column;align-items:center;gap:.9rem;width:min(100%,34rem);padding:clamp(1.6rem,4vw,2.8rem);border:1px solid var(--line);border-radius:1rem;background:linear-gradient(180deg,#0f262fcc,#07141adb);box-shadow:var(--shadow);text-align:center}.status-card h1{font-size:clamp(1.8rem,4vw,2.8rem)}.status-card .muted{font-size:.86rem}.status-glyph{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--line);border-radius:50%;color:var(--sand);background:#040e1380;font-size:1.1rem}.status-actions{display:flex;gap:.6rem;margin-top:.4rem}.loading-bar{overflow:hidden;width:min(18rem,70%);height:.22rem;margin-top:.4rem;border-radius:999px;background:#ffffff14}.loading-bar span{display:block;width:38%;height:100%;border-radius:inherit;background:var(--accent);animation:loading 1.3s ease-in-out infinite}@keyframes loading{0%{transform:translate(-120%)}to{transform:translate(360%)}}@media(max-width:1100px){.auth-page{grid-template-columns:minmax(0,1fr)}.auth-lore{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.auth-lore-copy h1{font-size:clamp(2.8rem,8vw,5rem)}.auth-panel{padding-top:2.5rem}.character-layout,.lobby-grid,.lobby-hero{grid-template-columns:minmax(0,1fr)}.creator-panel{position:static}.hud-top{grid-template-columns:minmax(15rem,20rem) minmax(0,1fr) auto}.hud-map{grid-column:auto;justify-content:flex-end;margin-top:0}.minimap{width:8.5rem}.hud-stage{justify-self:stretch;width:auto}}@media(max-width:760px){.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{flex-wrap:wrap}.character-grid,.class-grid{grid-template-columns:minmax(0,1fr)}.feature-list li{grid-template-columns:minmax(0,1fr);gap:.3rem}.hud-top{grid-template-columns:minmax(0,1fr)}.hud-map{justify-content:space-between}.hud-bottom{align-items:stretch;flex-direction:column}.hud-controls,.hud-party{width:100%}.hud-leave{right:1rem;bottom:1rem;transform:none}.notice-stack{bottom:9.8rem}}@media(max-width:520px){.auth-lore,.auth-panel{padding:1.3rem}.auth-lore-copy h1{font-size:2.5rem}.character-layout{padding:1.2rem}.hud-character{max-width:none}.hud-stage{padding:.65rem .7rem}.hud-controls{display:none}.hud-party{width:100%}}.phase-overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:2rem;background:#030a0e6b;backdrop-filter:blur(3px);pointer-events:none}.phase-card{display:flex;flex-direction:column;align-items:center;gap:.65rem;max-width:min(34rem,calc(100vw - 2rem));padding:clamp(1.4rem,4vw,2.2rem);border:1px solid var(--line-strong);border-radius:1rem;background:linear-gradient(180deg,#0f262ff0,#07141af5);box-shadow:var(--shadow);text-align:center}.phase-card h2{font-size:clamp(1.5rem,3vw,2.4rem)}.status-glyph-pulse{animation:breathe 1.6s ease-in-out infinite}.reconnect-badge,.party-status{display:inline-flex;padding:.16rem .4rem;border-radius:999px;font-family:var(--sans);font-size:.55rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.reconnect-badge{color:#ffe0b1;background:#f0a24b2e}.party-status{color:var(--accent);background:#f0a24b1f}.minimap-bounds{position:absolute;inset:7px;border:1px solid rgba(196,230,224,.16);border-radius:.35rem;pointer-events:none}.minimap-prop{position:absolute;display:block;width:.24rem;height:.24rem;border-radius:.08rem;background:#d8b9798c;transform:translate(-50%,-50%);pointer-events:none}.minimap-prop-palm{background:#3f7a50cc}.minimap-prop-crate{background:#8a603ae6}.minimap-prop-ruin{background:#7a7f7acc}.minimap-enemy{animation:minimap-ping 1.8s ease-out infinite}@keyframes minimap-ping{0%,to{box-shadow:0 0 0 1px #e06a5c40}50%{box-shadow:0 0 0 4px #e06a5c0a}}.zoom-row{justify-content:space-between}.zoom-presets{display:inline-flex;gap:.25rem;pointer-events:auto}.zoom-preset{min-width:1.7rem;padding:.2rem .35rem;border:1px solid var(--line);border-radius:.28rem;color:var(--muted);background:#0f262fb3;font-size:.58rem;font-weight:700;cursor:pointer}.zoom-preset.is-active{border-color:#f0a24b8c;color:var(--sand);background:#f0a24b24}.hud-bottom{align-items:flex-end}.hud-abilities{display:flex;flex-direction:column;gap:.45rem;width:min(32rem,44vw);padding:.7rem .8rem;pointer-events:none}.hud-abilities.is-disabled{opacity:.5}.ability-basic{display:flex;align-items:center;gap:.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--line)}.ability-key{display:inline-grid;place-items:center;min-width:1.55rem;height:1.35rem;padding:0 .3rem;border:1px solid rgba(196,230,224,.22);border-radius:.28rem;color:var(--text);background:#0f262fb3;font-size:.58rem;font-weight:700}.ability-basic-copy,.ability-copy{display:flex;flex-direction:column;min-width:0;line-height:1.15}.ability-basic-copy strong,.ability-copy strong{overflow:hidden;color:var(--text);font-size:.7rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ability-basic-copy small,.ability-copy small{color:var(--faint);font-size:.58rem}.ability-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.ability-slot{position:relative;display:flex;align-items:center;gap:.4rem;min-height:2.5rem;padding:.4rem .45rem;overflow:hidden;border:1px solid var(--line);border-radius:.5rem;background:#0a1c2499}.ability-slot.is-cooling{border-color:#c4e6e01a;opacity:.55}.ability-slot.is-resource-low{border-color:#d46a5f8c}.ability-cooldown{position:absolute;right:.35rem;bottom:.25rem;color:var(--sand);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem;font-weight:700;letter-spacing:.02em}.hud-status-row{display:flex;flex-wrap:wrap;gap:.25rem}.status-chip{display:inline-flex;padding:.12rem .38rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#c4e6e00d;font-size:.54rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.status-burn,.status-bleed,.status-poison{border-color:#f0a24b66;color:#ffd7a8}.status-slow,.status-blind,.status-root,.status-stun{border-color:#6fa7d873;color:#b9d8f5}.status-haste,.status-empower,.status-evade,.status-shield{border-color:#63b47a73;color:#cbeccf}.stage-pill-danger{border-color:#d46a5f80;color:#f4c0b8}.party-status-danger{color:#f4c0b8;background:#d46a5f29}.party-status-revive{color:#9be3d8;background:#5fc7c024}.hud-party li.is-downed{opacity:.72}.minimap-dot.is-downed{opacity:.35;box-shadow:none}.minimap-dot.is-affected{animation:none}.hud-leave-inline{margin-top:.55rem;pointer-events:auto}.life-overlay{position:absolute;inset:0;z-index:22;display:grid;place-items:center;padding:2rem;background:#030a0e59;backdrop-filter:blur(2px);pointer-events:none}.life-card{display:flex;flex-direction:column;align-items:center;gap:.6rem;max-width:min(34rem,calc(100vw - 2rem));padding:clamp(1.3rem,3vw,2rem);border:1px solid rgba(212,106,95,.42);border-radius:1rem;background:linear-gradient(180deg,#261212f0,#0c0a0cf5);box-shadow:var(--shadow);text-align:center}.life-card h2{font-size:clamp(1.35rem,2.6vw,2rem)}.life-card .muted{max-width:28rem;font-size:.8rem}.revive-prompt{position:absolute;bottom:10.5rem;left:50%;z-index:25;display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border:1px solid rgba(95,199,192,.42);border-radius:.55rem;color:var(--text);background:#051117e6;box-shadow:var(--shadow);font-size:.75rem;transform:translate(-50%);pointer-events:none}.revive-prompt-active{flex-direction:column;align-items:stretch;min-width:15rem}.revive-meter{display:block;height:.22rem;overflow:hidden;border-radius:999px;background:#ffffff14}.revive-meter>span{display:block;height:100%;border-radius:inherit;background:var(--teal)}.friendly-fire-row{display:flex;flex-direction:column;gap:.4rem;margin:.55rem 0 .2rem;padding-top:.55rem;border-top:1px solid var(--line)}.friendly-fire-label{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;color:var(--muted);font-size:.72rem;cursor:pointer}.friendly-fire-label strong{display:block;color:var(--text);font-size:.78rem}.friendly-fire-label small{display:block;color:var(--faint);font-size:.64rem;line-height:1.35}.friendly-fire-label input{flex:0 0 auto;width:1.1rem;height:1.1rem;accent-color:var(--accent);cursor:pointer}.friendly-fire-label input:disabled{cursor:not-allowed;opacity:.5}.badge-danger{border-color:#d46a5f73;color:#f4c0b8;background:#d46a5f1f}.badge-quiet{border-color:var(--line);color:var(--faint);background:#c4e6e00a}@media(max-width:1100px){.hud-abilities{width:min(28rem,48vw)}}@media(max-width:760px){.hud-abilities{width:100%}.revive-prompt{bottom:8.5rem}}.minimap-terrain{position:absolute;inset:0;width:100%;height:100%;opacity:.9;image-rendering:pixelated;pointer-events:none}.minimap-destructible{width:.34rem;height:.34rem;border-radius:.08rem;box-shadow:0 0 0 1px #00000040}.wave-incoming{position:absolute;bottom:10.5rem;left:50%;z-index:25;display:flex;align-items:center;gap:.65rem;padding:.55rem .9rem;border:1px solid rgba(240,162,75,.42);border-radius:.65rem;color:var(--text);background:#051117eb;box-shadow:var(--shadow);transform:translate(-50%);pointer-events:none}.wave-incoming strong{font-size:.82rem}.wave-incoming .eyebrow{margin-bottom:.1rem}.stage-paused-card{border-color:#f0a24b6b;background:linear-gradient(180deg,#261c12f0,#0c0c0cf5)}.stage-paused-card .button{margin-top:.35rem;pointer-events:auto}@media(max-width:760px){.wave-incoming{bottom:8.5rem}}.hud-stats{color:var(--faint);font-size:.6rem;letter-spacing:.02em}.hud-equipment-strip{display:flex;gap:.3rem}.hud-equipment-slot{display:grid;place-items:center;width:1.7rem;height:1.7rem;border:1px solid var(--line);border-radius:.35rem;color:var(--faint);background:#0a1c24a6;font-size:.7rem}.hud-equipment-slot.is-filled{color:var(--text);background:#f0d08a14}.hud-resources .button{pointer-events:auto}.minimap-loot{width:.3rem;height:.3rem;border-radius:.08rem}.minimap-loot.is-gold{background:#ffd166;box-shadow:0 0 0 1px #ffd1664d}.minimap-loot.is-item{background:#9be3d8;box-shadow:0 0 0 1px #9be3d84d}.minimap-vendor{width:.5rem;height:.5rem;border-radius:.12rem;background:#5fc7c0;box-shadow:0 0 0 2px #5fc7c02e}.minimap-shop-exit{position:absolute;border:1px solid rgba(95,199,192,.75);border-radius:50%;background:#5fc7c01a;transform:translate(-50%,-50%);pointer-events:none}.inventory-overlay{position:absolute;inset:0;z-index:26;display:grid;place-items:center;padding:1.5rem;background:#030a0e7a;backdrop-filter:blur(3px);pointer-events:none}.inventory-card{display:flex;flex-direction:column;gap:.9rem;width:min(52rem,calc(100vw - 2rem));max-height:calc(100vh - 3rem);overflow:auto;padding:clamp(1rem,2.4vw,1.6rem);border:1px solid var(--line-strong);border-radius:1rem;background:linear-gradient(180deg,#0c2027fa,#061218fa);box-shadow:var(--shadow);pointer-events:auto}.inventory-head,.shop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.inventory-head h2,.shop-head h2{font-size:clamp(1.2rem,2vw,1.7rem)}.inventory-head-actions{display:flex;align-items:center;gap:.45rem}.inventory-layout{display:grid;grid-template-columns:minmax(15rem,.85fr) minmax(0,1.15fr);gap:1rem}.equipment-list,.inventory-list,.shop-list{display:grid;gap:.4rem;margin:.35rem 0 0;padding:0;list-style:none}.equipment-line{display:grid;grid-template-columns:4.6rem minmax(0,1fr) auto;gap:.4rem;align-items:center;padding:.45rem .55rem;border:1px solid var(--line);border-radius:.5rem;background:#0a1c248c;font-size:.7rem}.equipment-line small{grid-column:2;color:var(--faint);font-size:.58rem}.equipment-line .button{grid-row:1 / span 2;grid-column:3}.equipment-slot-label{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em}.item-row{display:flex;align-items:center;gap:.5rem;padding:.45rem .55rem;border:1px solid var(--line);border-radius:.5rem;background:#0a1c248c}.item-icon{display:grid;place-items:center;flex:0 0 auto;width:1.9rem;height:1.9rem;border:1px solid var(--line);border-radius:.4rem;color:var(--text);background:#051117cc;font-size:.9rem}.item-main{display:flex;flex:1;flex-direction:column;min-width:0;line-height:1.2}.item-main strong{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.item-main small{overflow:hidden;color:var(--faint);font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.item-value{flex:0 0 auto;color:var(--sand);font-size:.62rem}.inventory-note{color:var(--faint);font-size:.64rem}.shop-panel{position:absolute;top:10rem;right:1.2rem;z-index:24;display:flex;flex-direction:column;gap:.7rem;width:min(24rem,32vw);max-height:calc(100vh - 18rem);overflow:auto;padding:.9rem;border:1px solid rgba(95,199,192,.34);border-radius:.85rem;background:#05141af0;box-shadow:var(--shadow);backdrop-filter:blur(10px);pointer-events:auto}.shop-gold{flex:0 0 auto;color:var(--sand);font-size:.72rem;font-weight:700}.shop-exit{display:flex;flex-direction:column;gap:.2rem;padding-top:.55rem;border-top:1px solid var(--line);color:var(--muted);font-size:.66rem}.shop-exit-ready{color:#9be3d8;font-weight:700}.shop-exit small{color:var(--faint);font-size:.6rem;line-height:1.35}@media(max-width:1100px){.inventory-layout{grid-template-columns:minmax(0,1fr)}.shop-panel{width:min(22rem,42vw)}}@media(max-width:760px){.shop-panel{top:auto;right:.7rem;bottom:.7rem;left:.7rem;width:auto;max-height:45vh}.inventory-card{max-height:calc(100vh - 1.5rem)}}.character-progression{color:var(--faint);font-size:.68rem;line-height:1.4}.lobby-progression{display:flex;flex-direction:column;gap:1rem;width:min(100%,90rem);margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem) 2.5rem}.progression-points{display:flex;flex-wrap:wrap;gap:.45rem}.point-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .65rem;border:1px solid rgba(240,162,75,.3);border-radius:999px;color:var(--sand);background:#06121873;font-size:.7rem;letter-spacing:.04em}.point-pill b{color:var(--text);font-size:.86rem}.progression-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.8fr);gap:1rem;align-items:start}.progression-stats,.progression-talents{display:flex;flex-direction:column;gap:.8rem;min-width:0;padding:1.1rem;border:1px solid var(--line);border-radius:.9rem;background:#07141a9e}.progression-stat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.progression-stat-head h3{font-size:1.12rem}.progression-stat-head .muted{color:var(--faint);font-size:.7rem;text-align:right}.stat-allocate-list{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.stat-allocate-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.6rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:.6rem;background:#040e1373}.stat-allocate-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;color:var(--muted);font-size:.72rem;letter-spacing:.05em}.stat-allocate-name b{color:var(--text);font-size:1rem}.stat-allocate-name small{color:var(--faint);font-size:.62rem;letter-spacing:.04em;text-transform:uppercase}.stat-cap{color:var(--faint);font-size:.62rem}.progression-note{color:var(--faint);font-size:.68rem;line-height:1.45}.talent-tree{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}.talent-path-card{display:flex;flex-direction:column;gap:.6rem;padding:.8rem;border:1px solid var(--line);border-radius:.75rem;background:#040e136b}.talent-path-card header h4{font-size:1rem}.talent-path-card header p{color:var(--faint);font-size:.66rem;line-height:1.35}.talent-node-list{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.talent-node{display:flex;flex-direction:column;gap:.3rem;padding:.65rem;border:1px solid var(--line);border-radius:.6rem;background:#07141a8c}.talent-node-head{display:flex;align-items:center;gap:.4rem}.talent-tier,.talent-kind{display:inline-flex;padding:.1rem .34rem;border:1px solid var(--line);border-radius:999px;color:var(--faint);font-size:.54rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.talent-kind{color:var(--muted)}.talent-ranks{display:flex;gap:.18rem;margin-left:auto}.talent-rank-pip{width:.55rem;height:.55rem;border:1px solid var(--line-strong);border-radius:50%;background:transparent}.talent-rank-pip.is-filled{border-color:var(--sand);background:var(--sand)}.talent-node h5{font-family:var(--serif);font-size:.9rem;font-weight:600}.talent-node p{color:var(--muted);font-size:.68rem;line-height:1.35}.talent-prerequisite{color:#f4c0b8!important}.talent-next{color:var(--faint)!important;font-style:italic}.talent-node-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.2rem}.talent-rank-label{color:var(--faint);font-size:.62rem;letter-spacing:.04em;text-transform:uppercase}.progression-respec{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.7rem;border-top:1px solid var(--line)}.progression-respec strong{font-size:.8rem}.progression-respec .muted{font-size:.66rem}.progression-respec button{flex:0 0 auto}.status-chip.status-bond{border-color:#5fc7c080;color:#9be3d8}@media(max-width:1100px){.progression-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.lobby-progression{padding-bottom:1.5rem}.progression-respec{flex-direction:column;align-items:flex-start}}.boss-bar{position:relative;z-index:22;display:flex;flex-direction:column;gap:.35rem;justify-self:center;width:100%;max-width:44rem;padding:.6rem .85rem;border:1px solid rgba(240,162,75,.38);border-radius:.8rem;background:#05141ae6;box-shadow:var(--shadow);pointer-events:none}.boss-bar.is-enraged{border-color:#d46a5fb3;background:#200c0eeb}.boss-bar-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem}.boss-bar-head .eyebrow{color:var(--faint);font-size:.6rem}.boss-bar-head strong{font-family:var(--serif);font-size:1.1rem;letter-spacing:-.01em}.boss-phase{padding:.12rem .42rem;border:1px solid rgba(240,162,75,.4);border-radius:999px;color:var(--sand);font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.boss-bar.is-enraged .boss-phase{border-color:#d46a5fa6;color:#f4c0b8}.boss-hp{margin-left:auto;color:var(--muted);font-size:.68rem}.boss-meter{height:.7rem}.boss-meter>span{background:linear-gradient(90deg,#7b2d27,#e06a52)}.boss-bar.is-enraged .boss-meter>span{background:linear-gradient(90deg,#7b1f1f,#ff6b5c)}.minimap-boss-telegraph{position:absolute;border:2px solid rgba(255,107,92,.9);border-radius:50%;background:#f0a24b29;box-shadow:0 0 0 1px #ff6b5c33 inset;transform:translate(-50%,-50%);pointer-events:none}.run-summary-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:1.2rem;background:radial-gradient(circle at 50% 20%,rgba(240,162,75,.12),transparent 34rem),#02090dc7;backdrop-filter:blur(8px)}.run-summary-card{display:flex;flex-direction:column;gap:.75rem;width:min(52rem,94vw);max-height:88vh;overflow:auto;padding:1.35rem;border:1px solid var(--line-strong);border-radius:1rem;background:linear-gradient(180deg,#0e262efa,#051117fa);box-shadow:var(--shadow);text-align:center}.run-summary-card h2{font-size:clamp(1.7rem,3vw,2.6rem)}.run-summary-stats,.run-summary-rewards{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem}.run-summary-stats span,.run-summary-rewards span{padding:.32rem .6rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#06121880;font-size:.7rem}.run-summary-stats b{color:var(--text)}.run-summary-rewards span{border-color:#f0a24b47;color:var(--sand)}.run-summary-players{display:grid;gap:.4rem;margin:.2rem 0 0;padding:0;list-style:none;text-align:left}.run-summary-players li{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:.6rem;background:#040e1380}.run-summary-player-main{display:flex;flex-direction:column;gap:.1rem;min-width:0}.run-summary-player-main strong{font-size:.86rem}.run-summary-player-main small{color:var(--muted);font-size:.68rem}.run-summary-player-main .run-summary-boss-reward{color:var(--sand)}.run-summary-note{margin-top:.2rem;font-size:.72rem}.run-history{display:flex;flex-direction:column;gap:.8rem;width:min(100%,90rem);margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem) 2.5rem}.run-history-list{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.run-history-row{display:grid;grid-template-columns:auto minmax(10rem,1.2fr) minmax(14rem,1.5fr) auto;align-items:center;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.65rem;background:#07141a99}.run-history-main{display:flex;flex-direction:column;min-width:0}.run-history-main strong{font-size:.84rem}.run-history-main small{color:var(--faint);font-size:.66rem}.run-history-rewards{color:var(--muted);font-size:.7rem}.run-history-date{color:var(--faint);font-size:.66rem;text-align:right}.run-outcome{padding:.16rem .45rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.56rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.run-outcome-victory{border-color:#63b47a80;color:#cbeccf}.run-outcome-defeat{border-color:#d46a5f80;color:#f4c0b8}.run-outcome-abandoned{border-color:#f0a24b66;color:var(--sand)}.hud-leave-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}@media(max-width:900px){.run-history-row{grid-template-columns:auto minmax(0,1fr)}.run-history-rewards,.run-history-date{grid-column:2;text-align:left}}@media(max-width:760px){.boss-bar{width:100%;max-width:none}.run-summary-card{padding:1rem}}.class-sigil svg,.hud-equipment-slot svg,.resource-glyph svg,.status-chip svg,.boss-bar-head svg{display:block;flex:0 0 auto}.resource-glyph{display:inline-flex;align-items:center}.status-chip{align-items:center;gap:.2rem}.ability-icon{display:grid;flex:0 0 auto;place-items:center;color:var(--sand)}.minimap-legend{position:absolute;right:.25rem;bottom:.25rem;left:.25rem;z-index:3;display:flex;flex-wrap:wrap;gap:.15rem .35rem;padding:.18rem .25rem;border-radius:.35rem;color:var(--muted);background:#040d12b8;font-size:.45rem;letter-spacing:.04em;text-transform:uppercase;pointer-events:none}.minimap-legend span{display:inline-flex;align-items:center;gap:.12rem;white-space:nowrap}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:#f0a24ba6}.game-canvas canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.auth-panel{position:relative}.auth-panel-settings{position:absolute;top:clamp(.8rem,2vw,1.4rem);right:clamp(.8rem,2vw,1.4rem);z-index:2}.hud-controls{width:min(23rem,38vw);padding:.7rem .85rem}.hud-controls-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.hud-controls-hint{display:flex;flex-wrap:wrap;align-items:center;gap:.24rem .3rem;margin-top:.45rem;color:var(--muted);font-size:.64rem;line-height:1.5}.hud-controls-hint span{margin-right:.2rem}.hud-controls-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .8rem;margin-top:.5rem;padding-top:.45rem;border-top:1px solid var(--line);color:var(--faint);font-size:.6rem}.hud-controls-extra{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.2rem}.hud-controls .hud-leave-row{margin-top:.55rem}.settings-overlay{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:1rem;overflow:auto;background:#02080bc7;backdrop-filter:blur(6px)}.settings-card{display:flex;flex-direction:column;gap:1rem;width:min(50rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;padding:clamp(1rem,2.4vw,1.6rem);border:1px solid var(--line-strong);border-radius:1rem;background:linear-gradient(180deg,#0c2027fc,#061218fc);box-shadow:var(--shadow)}.settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.settings-head h2{font-size:clamp(1.3rem,2.2vw,1.8rem)}.settings-section{display:flex;flex-direction:column;gap:.6rem;padding-top:.9rem;border-top:1px solid var(--line)}.settings-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.settings-section-head h3{font-size:1.05rem}.settings-note{font-size:.7rem}.settings-toggle{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:.55rem;background:#0a1c248c;color:var(--muted);font-size:.72rem}.settings-toggle strong{display:block;color:var(--text);font-size:.78rem}.settings-toggle small{display:block;color:var(--faint);font-size:.64rem;line-height:1.4}.settings-toggle input{flex:0 0 auto;width:1.15rem;height:1.15rem;margin-top:.1rem;accent-color:var(--accent)}.settings-volume{display:grid;grid-template-columns:9.5rem minmax(0,1fr) 3rem;gap:.6rem;align-items:center;color:var(--muted);font-size:.72rem}.settings-volume input[type=range]{width:100%;accent-color:var(--accent)}.settings-volume output{color:var(--sand);font-size:.68rem;font-variant-numeric:tabular-nums;text-align:right}.settings-radio-group{display:grid;gap:.45rem;margin:0;padding:0;border:0}.settings-radio{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem .65rem;border:1px solid var(--line);border-radius:.55rem;background:#0a1c2473;color:var(--muted);font-size:.72rem;cursor:pointer}.settings-radio input{flex:0 0 auto;width:1.05rem;height:1.05rem;margin-top:.1rem;accent-color:var(--accent)}.settings-radio strong{display:block;color:var(--text);font-size:.76rem}.settings-radio small{display:block;color:var(--faint);font-size:.64rem;line-height:1.4}.settings-binding-group{display:flex;flex-direction:column;gap:.35rem}.settings-binding-group h4{margin-top:.25rem;color:var(--accent);font-family:var(--sans);font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.settings-binding-list{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.settings-binding{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.55rem;align-items:center;padding:.45rem .55rem;border:1px solid var(--line);border-radius:.5rem;background:#0a1c2473}.settings-binding-copy{display:flex;flex-direction:column;min-width:0;line-height:1.25}.settings-binding-copy strong{color:var(--text);font-size:.74rem}.settings-binding-copy small{overflow:hidden;color:var(--faint);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.settings-binding kbd{min-width:5.2rem;color:var(--sand)}.settings-binding kbd.is-capturing{border-color:#f0a24ba6;color:var(--accent);background:#f0a24b1f}.settings-footer{display:flex;align-items:center;justify-content:flex-end;padding-top:.9rem;border-top:1px solid var(--line)}@media(max-width:1100px){.hud-controls{width:min(21rem,42vw)}}@media(max-width:760px){.hud-controls{width:100%}.settings-card{width:calc(100vw - 1.4rem);max-height:calc(100vh - 1.4rem);padding:1rem}.settings-volume{grid-template-columns:minmax(0,1fr) 3rem}.settings-volume label{grid-column:1 / -1}.settings-binding{grid-template-columns:minmax(0,1fr) auto}.settings-binding-copy{grid-column:1 / -1}}:root[data-reduced-motion=true] *,:root[data-reduced-motion=true] *:before,:root[data-reduced-motion=true] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(max-width:1100px){.hud-controls{width:min(20rem,34vw)}.hud-controls-extra,.ability-slot .ability-key{display:none}}
