.apx-logo{display:inline-flex;align-items:baseline;line-height:1;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none}.apx-logo__team{font-weight:300;color:var(--text-primary)}.apx-logo__apx{font-weight:800;color:var(--accent-gold)}.start-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg-page);background-image:var(--stripe-bg)}.start-topbar{flex-shrink:0;height:64px;display:flex;align-items:center;padding:0 var(--space-5);background:var(--bg-header);-webkit-backdrop-filter:var(--blur-header);backdrop-filter:var(--blur-header);border-bottom:1px solid var(--border-hairline);z-index:2}.start-topbar__profile{display:flex;align-items:center;gap:var(--space-3)}.start-topbar__avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-surface-2);border:2px solid var(--accent-gold-line);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--accent-gold);flex-shrink:0}.start-topbar__name{font-size:var(--body-sm-size);font-weight:600;color:var(--text-primary);white-space:nowrap}.start-topbar__login-btn{padding:7px 18px;background:transparent;border:1px solid var(--accent-gold-line);border-radius:var(--radius-input);color:var(--accent-gold);font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-track);text-transform:uppercase;cursor:pointer;transition:background .15s,border-color .15s}.start-topbar__login-btn:hover{background:#d4b46414;border-color:var(--accent-gold)}.start-screen__inner{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-10);padding-top:22vh;text-align:center}.start-screen__hero{position:relative;width:100%;display:flex;justify-content:center;align-items:center;min-height:340px}.start-screen__character{position:absolute;top:50%;right:calc(50% + 300px);transform:translateY(-50%);height:340px;width:auto;image-rendering:pixelated;pointer-events:none}.start-screen__logo{font-size:var(--display-1-size)}.start-screen__prompt{margin:0;font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--text-muted);animation:start-prompt-pulse 2.4s var(--ease-out) infinite}@keyframes start-prompt-pulse{0%,to{opacity:.35}50%{opacity:.9}}@media(prefers-reduced-motion:reduce){.start-screen__prompt{animation:none;opacity:.6}}@media(max-width:600px){.start-screen__logo{font-size:var(--display-3-size)}}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#0e0d0ac7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-panel{width:min(92vw,440px);background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);overflow:hidden}.auth-tabs{display:flex;border-bottom:1px solid var(--border-hairline)}.auth-tab{flex:1;padding:14px 0;background:none;border:none;border-bottom:2px solid transparent;font-size:var(--label-size, 12px);font-weight:var(--label-weight, 700);letter-spacing:var(--label-track, .08em);text-transform:uppercase;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.auth-tab--active{color:var(--accent-gold);border-bottom-color:var(--accent-gold)}.auth-tab:hover:not(.auth-tab--active){color:var(--text-primary)}.auth-panel__body{padding:var(--space-6, 24px) var(--space-8, 32px) var(--space-8, 32px)}.auth-section{animation:auth-fade-in .18s ease-out}@keyframes auth-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.auth-head{margin-bottom:var(--space-5, 20px)}.auth-eyebrow{display:block;font-size:var(--eyebrow-size, 10px);font-weight:var(--eyebrow-weight, 700);letter-spacing:var(--eyebrow-track, .12em);text-transform:uppercase;color:var(--accent-gold);margin-bottom:var(--space-2, 8px)}.auth-title{margin:0 0 var(--space-2, 8px);font-size:var(--h1-size, 22px);font-weight:var(--h1-weight, 800);letter-spacing:var(--h1-track, -.01em);text-transform:uppercase;color:var(--text-primary)}.auth-subtitle{margin:0;font-size:var(--body-sm-size, 13px);line-height:var(--body-sm-lh, 1.5);color:var(--text-muted)}.auth-subtitle__target{color:var(--text-primary);font-weight:600}.auth-subtitle__countdown{color:var(--accent-gold);font-weight:700}.auth-stack{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.auth-field{display:flex;flex-direction:column;gap:var(--space-1, 4px)}.auth-field__label{font-size:var(--label-size, 12px);font-weight:var(--label-weight, 700);letter-spacing:var(--label-track, .06em);text-transform:uppercase;color:var(--text-muted);display:flex;gap:var(--space-2, 8px);align-items:baseline}.auth-field__optional{font-weight:400;font-size:11px;text-transform:none;letter-spacing:0;color:var(--text-muted);opacity:.7}.auth-input-wrap{position:relative}.auth-input-wrap--pw{display:flex;align-items:center}.auth-input{width:100%;padding:10px 12px;background:var(--bg-surface-2, rgba(255,255,255,.05));border:1px solid var(--border-hairline);border-radius:var(--radius-input, 6px);color:var(--text-primary);font-size:14px;outline:none;transition:border-color .15s;box-sizing:border-box}.auth-input-wrap--pw .auth-input{padding-right:40px}.auth-input:focus{border-color:var(--accent-gold)}.auth-input--error{border-color:#e05252}.auth-input--ok{border-color:#52c08a}.auth-pw-toggle{position:absolute;right:10px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:4px;line-height:1}.auth-helper{font-size:11px;color:var(--text-muted);opacity:.8}.auth-helper--error{color:#e05252;opacity:1}.auth-helper--ok{color:#52c08a;opacity:1}.auth-pin-row{display:flex;gap:var(--space-2, 8px);margin:var(--space-2, 8px) 0}.auth-pin-cell{flex:1;max-width:52px;aspect-ratio:1;text-align:center;font-size:20px;font-weight:700;background:var(--bg-surface-2, rgba(255,255,255,.05));border:1px solid var(--border-hairline);border-radius:var(--radius-input, 6px);color:var(--text-primary);outline:none;transition:border-color .15s}.auth-pin-cell:focus{border-color:var(--accent-gold)}.auth-pin-cell--filled{border-color:var(--accent-gold-line, rgba(212,180,100,.4))}.auth-pin-meta{display:flex;align-items:center;gap:var(--space-2, 8px);font-size:12px;color:var(--text-muted)}.auth-pin-resend{background:none;border:none;color:var(--accent-gold);font-size:12px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.auth-pin-resend:disabled{color:var(--text-muted);text-decoration:none;cursor:default}.auth-check{display:flex;align-items:flex-start;gap:var(--space-3, 12px);cursor:pointer;-webkit-user-select:none;user-select:none}.auth-check__native{position:absolute;opacity:0;width:0;height:0}.auth-check__box{flex-shrink:0;width:18px;height:18px;border:1.5px solid var(--border-hairline);border-radius:4px;background:var(--bg-surface-2, rgba(255,255,255,.05));display:flex;align-items:center;justify-content:center;margin-top:2px;transition:border-color .15s,background .15s}.auth-check--on .auth-check__box{background:var(--accent-gold);border-color:var(--accent-gold);color:var(--bg-page, #0e0d0a)}.auth-check__box svg{width:12px;height:12px;opacity:0;transition:opacity .1s}.auth-check--on .auth-check__box svg{opacity:1}.auth-check__text{display:flex;flex-direction:column;gap:2px}.auth-check__title{font-size:13px;font-weight:600;color:var(--text-primary)}.auth-check__sub{font-size:11px;color:var(--text-muted)}.auth-btn{width:100%;padding:12px;border:none;border-radius:var(--radius-input, 6px);font-size:var(--label-size, 12px);font-weight:var(--label-weight, 700);letter-spacing:var(--label-track, .08em);text-transform:uppercase;cursor:pointer;transition:filter .15s,opacity .15s}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-btn--primary{background:var(--accent-gold);color:var(--bg-page, #0e0d0a)}.auth-btn--primary:hover:not(:disabled){filter:brightness(1.08)}.auth-btn--secondary{background:transparent;border:1px solid var(--border-hairline);color:var(--text-muted)}.auth-btn--secondary:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-muted)}.auth-discord{margin-bottom:18px}.auth-btn--discord{background:#5865f2;color:#fff}.auth-btn--discord:hover:not(:disabled){filter:brightness(1.08)}.auth-divider{display:flex;align-items:center;gap:12px;margin-top:16px;color:var(--text-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-hairline)}.lobby-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;z-index:10}.lobby-topbar{pointer-events:auto;flex-shrink:0;position:sticky;top:0;height:64px;display:flex;align-items:center;padding:0 var(--space-5);gap:var(--space-4);background:var(--bg-header);-webkit-backdrop-filter:var(--blur-header);backdrop-filter:var(--blur-header);border-bottom:1px solid var(--border-hairline);z-index:10}.lobby-profile{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0;min-width:140px}.lobby-avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-surface-2);border:2px solid var(--accent-gold-line);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--accent-gold);flex-shrink:0}.lobby-avatar img{width:100%;height:100%;object-fit:cover}.lobby-name{font-size:var(--body-sm-size);font-weight:600;color:var(--text-primary);white-space:nowrap}.lobby-header-nav{flex:1;display:flex;align-items:center;justify-content:center;pointer-events:auto}.lobby-nav-key{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;background:#ffffff12;border:1px solid var(--border-strong);border-bottom-width:2px;color:var(--text-muted);font-family:var(--font-mono, monospace);font-size:12px;font-weight:700;line-height:1;pointer-events:none;flex-shrink:0}.lobby-nav-key--q{margin-right:10px}.lobby-nav-key--e{margin-left:10px}.lobby-nav-btn{--clip: 18px;height:40px;padding:0 calc(var(--clip) + 8px);display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:#ffffff12;border:none;color:var(--text-muted);cursor:pointer;font-family:var(--font-sans);font-size:var(--micro-size);font-weight:var(--micro-weight);letter-spacing:var(--micro-track);text-transform:uppercase;white-space:nowrap;transition:background var(--t-base) var(--ease-out),color var(--t-base) var(--ease-out)}.lobby-nav-btn:hover{background:#ffffff24;color:var(--text-primary)}.lobby-nav-btn.active{background:var(--accent-gold-soft);color:var(--accent-gold)}.lobby-nav-btn.active .lobby-nav-btn__icon{background:var(--accent-gold)}.lobby-nav-btn--left{clip-path:polygon(0% 50%,var(--clip) 0%,100% 0%,calc(100% - var(--clip)) 50%,100% 100%,var(--clip) 100%)}.lobby-nav-btn--right{clip-path:polygon(0% 0%,calc(100% - var(--clip)) 0%,100% 50%,calc(100% - var(--clip)) 100%,0% 100%,var(--clip) 50%)}.lobby-nav-btn__icon{width:16px;height:16px;background:#ffffffbf;flex-shrink:0}.lobby-nav-btn__label{line-height:1}.lobby-play-btn{--play-clip: 18px;height:48px;padding:0 calc(var(--play-clip) + 12px);display:flex;align-items:center;justify-content:center;clip-path:polygon(var(--play-clip) 0%,calc(100% - var(--play-clip)) 0%,100% 50%,calc(100% - var(--play-clip)) 100%,var(--play-clip) 100%,0% 50%);background:linear-gradient(180deg,#bea05d,#8a7040);border:none;color:var(--text-primary);font-family:var(--font-sans);font-size:15px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:filter var(--t-base) var(--ease-out),transform var(--t-fast) var(--ease-out)}.lobby-play-btn:hover{filter:brightness(1.18)}.lobby-play-btn:active{transform:scaleY(.97)}.lobby-play-btn.active{background:linear-gradient(180deg,#d4b575,#bea05d);box-shadow:0 0 26px #bea05d66,inset 0 1px #ffffff1a;color:#fff}.lobby-xp-section{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0;min-width:180px;justify-content:flex-end}.lobby-level{display:flex;align-items:baseline;gap:3px}.lobby-level-label{font-size:var(--micro-size);font-weight:var(--micro-weight);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--text-muted)}.lobby-level-value{font-size:22px;font-weight:800;color:var(--accent-gold);font-variant-numeric:tabular-nums;line-height:1}.lobby-xp-bar-wrap{width:100px;height:6px;background:var(--bg-surface-2);border-radius:var(--radius-round);overflow:hidden}.lobby-xp-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-gold) 0%,#f0c870 100%);border-radius:var(--radius-round);transition:width .4s var(--ease-out)}.lobby-xp-text{font-size:var(--micro-size);font-weight:var(--micro-weight);letter-spacing:var(--micro-track);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.lobby-body{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden;pointer-events:auto;background:radial-gradient(120% 90% at 50% 8%,#0c1018,#060708 60%),#07080a}.lobby-body:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(120% 80% at 50% 35%,#000 30%,transparent 78%);mask-image:radial-gradient(120% 80% at 50% 35%,#000 30%,transparent 78%);pointer-events:none}.lobby-scene-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.lobby-scene{width:1160px;height:600px;position:relative;flex-shrink:0}.lobby-stage{position:absolute;top:0;right:0;bottom:0;left:0}.lobby-roster{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:40px;z-index:5}.lobby-slot{position:relative;width:190px;height:380px;flex-shrink:0;transition:transform var(--t-base) var(--ease-out)}.lobby-slot:not(.lobby-slot--empty):not(.lobby-slot--self):hover{transform:translateY(-4px)}.lobby-slot-empty-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--text-muted);text-transform:uppercase;white-space:nowrap}.lobby-char{position:relative;width:190px;height:380px;display:flex;align-items:flex-start;justify-content:center}.lobby-char-glow{position:absolute;left:-70px;top:-30px;right:-70px;bottom:-40px;background:radial-gradient(ellipse at center,rgba(190,160,93,.15),transparent 70%);pointer-events:none}.lobby-char-img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 18px 30px rgba(0,0,0,.6))}.lobby-char-placeholder{position:relative;z-index:2;width:100%;height:100%;border:1px dashed rgba(255,255,255,.14);background:linear-gradient(180deg,#ffffff06,#ffffff01);border-radius:6px}.lobby-char-base{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:200px;height:36px;background:radial-gradient(ellipse at center,rgba(190,160,93,.18),transparent 70%);border-radius:50%;z-index:1}.lobby-statpanel{width:300px;flex-shrink:0;align-self:center;z-index:6;display:flex;flex-direction:column;gap:12px}.lobby-char-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lobby-char-name{font-family:var(--font-sans);font-size:28px;font-weight:800;letter-spacing:.03em;line-height:1;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.6)}.lobby-rarity-badge{font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:3px 10px;border:1px solid currentColor;border-radius:999px;background:#00000040}.lobby-panel-tag{font-family:var(--font-sans);font-size:10px;font-weight:700;letter-spacing:.22em;color:var(--text-muted);margin-bottom:2px;text-transform:uppercase}.lobby-stat-list{display:flex;flex-direction:column;gap:1px}.lobby-stat{display:flex;justify-content:space-between;align-items:baseline;padding:9px 2px;border-bottom:1px solid rgba(255,255,255,.07)}.lobby-stat:last-child{border-bottom:0}.lobby-stat-label{font-family:var(--font-sans);font-size:11.5px;font-weight:600;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase}.lobby-stat-val{font-family:var(--font-sans);font-size:15px;font-weight:700;color:var(--text-primary)}.lobby-stat-empty{font-family:var(--font-sans);font-size:12px;color:var(--text-muted);letter-spacing:.04em}.lobby-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:40px}.lobby-ph-ico{width:56px;height:56px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#161b22,#0c0f14)}.lobby-ph-title{font-family:var(--font-sans);font-size:26px;font-weight:800;letter-spacing:.18em;color:var(--text-primary);text-transform:uppercase}.lobby-ph-sub{font-size:13px;color:var(--text-muted);letter-spacing:.06em;max-width:360px}.lobby-foot{flex-shrink:0;height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;color:var(--text-muted);text-transform:uppercase;border-top:1px solid rgba(255,255,255,.06);background:linear-gradient(0deg,rgba(0,0,0,.35),transparent);z-index:2;position:relative}.lobby-start-btn{background:linear-gradient(180deg,#bea05d,#8a7040);border:1px solid rgba(190,160,93,.5);color:#fff;font-family:var(--font-sans);font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;padding:5px 22px;cursor:pointer;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);transition:filter var(--t-fast) var(--ease-out)}.lobby-start-btn:hover{filter:brightness(1.25)}.lobby-slot-tag{position:absolute;bottom:6px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;white-space:nowrap}.lobby-slot-name{font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--text-body);text-transform:uppercase}.lobby-slot-host{font-family:var(--font-sans);font-size:9px;font-weight:800;letter-spacing:.16em;color:var(--accent-gold);border:1px solid var(--accent-gold-line);border-radius:var(--radius-pill);padding:1px 5px}.lobby-role-badge{margin-left:10px;padding:1px 7px;border:1px solid var(--accent-gold-line);border-radius:var(--radius-pill);color:var(--accent-gold);font-weight:800}.lobby-spectate-note{color:var(--text-muted);letter-spacing:.18em;text-transform:uppercase}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-4)}.character-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--bg-surface-2);border:2px solid var(--border-line);border-radius:var(--radius-card);cursor:pointer;transition:border-color var(--t-base) var(--ease-out),background var(--t-base) var(--ease-out)}.character-card:hover{border-color:var(--accent-gold-line);background:var(--accent-gold-faint)}.character-card--selected{border-color:var(--accent-gold);background:var(--accent-gold-soft)}.character-card__img{width:80px;height:80px;object-fit:contain;image-rendering:pixelated}.character-card__name{font-size:var(--micro-size);font-weight:var(--micro-weight);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--text-muted);text-align:center}.character-card--selected .character-card__name{color:var(--accent-gold)}.roleselect{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--bg-page)}.roleselect-card{width:100%;max-width:520px;padding:var(--space-10) var(--space-8);background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);text-align:center}.roleselect-eyebrow{font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-track);text-transform:uppercase;color:var(--accent-gold);margin-bottom:var(--space-3)}.roleselect-title{font-size:var(--h1-size);font-weight:var(--h1-weight);letter-spacing:var(--h1-track);line-height:var(--h1-lh);color:var(--text-primary);margin:0 0 var(--space-3)}.roleselect-sub{font-size:var(--body-sm-size);color:var(--text-muted);margin:0 0 var(--space-8)}.roleselect-options{display:flex;flex-direction:column;gap:var(--space-4)}.roleselect-btn{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-5) var(--space-6);border-radius:var(--radius-input);border:1px solid var(--border-strong);background:var(--bg-surface-2);color:var(--text-primary);cursor:pointer;text-align:left;transition:border-color var(--t-base) var(--ease-out),background var(--t-base) var(--ease-out),transform var(--t-fast) var(--ease-out)}.roleselect-btn:hover:not(:disabled){border-color:var(--accent-gold-line);background:var(--accent-gold-soft);transform:translateY(-1px)}.roleselect-btn:disabled{opacity:.45;cursor:not-allowed}.roleselect-btn--player{border-color:var(--accent-gold-line)}.roleselect-btn-title{font-size:var(--h3-size);font-weight:var(--h3-weight)}.roleselect-btn-meta{font-size:var(--micro-size);font-weight:var(--micro-weight);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--text-muted)}.roleselect-error{margin:var(--space-5) 0 0;font-size:var(--body-sm-size);color:#d9534f}.roleselect-loading{margin:var(--space-5) 0 0;font-size:var(--body-sm-size);color:var(--text-subtle)}.lobby-screen{position:relative;width:100%;height:100%}.lobby-phaser-container{position:absolute;top:0;right:0;bottom:0;left:0}.legal-nav{width:200px;flex-shrink:0;height:100vh;background:var(--bg-surface);border-right:1px solid var(--border-hairline);display:flex;flex-direction:column;padding:var(--space-8) var(--space-5);gap:var(--space-6)}.legal-nav__toggle{display:flex;align-items:center;gap:0;background:var(--bg-input);border:1px solid var(--border-line);border-radius:var(--radius-pill);padding:2px;width:fit-content}.legal-nav__toggle-btn{background:none;border:none;padding:4px 12px;font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-pill);transition:color var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out);line-height:1.6}.legal-nav__toggle-btn--active{background:var(--accent-gold);color:var(--bg-page)}.legal-nav__toggle-btn:hover:not(.legal-nav__toggle-btn--active){color:var(--text-body)}.legal-nav__links{display:flex;flex-direction:column;gap:var(--space-1)}.legal-nav__link{display:block;padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);border-left:2px solid transparent;font-size:var(--body-sm-size);font-weight:500;line-height:var(--body-sm-lh);color:var(--text-muted);text-decoration:none;transition:color var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}.legal-nav__link:hover{color:var(--text-body);background:var(--accent-gold-faint)}.legal-nav__link--active{color:var(--accent-gold);background:var(--accent-gold-soft);border-left-color:var(--accent-gold)}.settings-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg-page);overflow-y:auto}.settings-content{max-width:680px;margin:0 auto;padding:var(--space-10) var(--space-8) var(--space-12)}.settings-title{font-size:var(--display-3-size, 44px);font-weight:var(--display-3-weight, 800);letter-spacing:var(--display-3-track, -.015em);line-height:var(--display-3-lh, 1.05);text-transform:uppercase;color:var(--text-primary);margin:0 0 var(--space-10)}.settings-section{margin-bottom:var(--space-10)}.settings-section-title{font-size:var(--eyebrow-size, 12px);font-weight:var(--eyebrow-weight, 600);letter-spacing:var(--eyebrow-track, .12em);text-transform:uppercase;color:var(--accent-gold);margin:0 0 var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-hairline)}.settings-placeholder{color:var(--text-muted);font-size:var(--body-sm-size);margin:0}.settings-info-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--border-divider);margin-bottom:var(--space-4)}.settings-info-label{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--text-muted);min-width:72px}.settings-info-value{font-size:var(--body-sm-size);color:var(--text-primary)}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-4) 0;border-bottom:1px solid var(--border-divider)}.settings-toggle-text{display:flex;flex-direction:column;gap:var(--space-1)}.settings-toggle-label{font-size:var(--body-sm-size);font-weight:600;color:var(--text-primary)}.settings-toggle-desc{font-size:var(--label-size);color:var(--text-muted)}.settings-switch{flex-shrink:0;position:relative;width:46px;height:26px;padding:0;border-radius:var(--radius-round);border:1px solid var(--border-line);background:var(--bg-input);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast)}.settings-switch.is-on{background:var(--accent-gold);border-color:var(--accent-gold)}.settings-switch-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--text-primary);transition:transform var(--t-fast)}.settings-switch.is-on .settings-switch-knob{transform:translate(20px)}.settings-action-btn{width:100%;padding:12px;border-radius:var(--radius-input);font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-track);text-transform:uppercase;cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast);margin-bottom:var(--space-3)}.settings-action-btn:disabled{opacity:.5;cursor:not-allowed}.settings-action-btn--secondary{background:transparent;border:1px solid var(--border-hairline);color:var(--text-muted)}.settings-action-btn--secondary:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-strong)}.settings-item{border:1px solid var(--border-hairline);border-radius:var(--radius-card);margin-bottom:var(--space-3);overflow:hidden;background:var(--bg-surface)}.settings-item-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);background:none;border:none;color:var(--text-primary);font-size:var(--body-sm-size);font-weight:500;cursor:pointer;text-align:left;transition:background var(--t-fast)}.settings-item-header:hover{background:var(--bg-surface-2)}.settings-item-header--danger{color:#e05252}.settings-item-chevron{font-size:20px;color:var(--text-muted);line-height:1;display:inline-block;transform:rotate(0);transition:transform .2s var(--ease-out)}.settings-item-chevron.open{transform:rotate(90deg)}.settings-form{padding:0 var(--space-5) var(--space-5);border-top:1px solid var(--border-divider);animation:settings-fade-in .15s ease-out}@keyframes settings-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.settings-form-hint{font-size:var(--body-sm-size);color:var(--text-muted);margin:var(--space-4) 0;line-height:1.5}.settings-form-hint strong{color:var(--text-primary);font-weight:600}.settings-form-fields{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.settings-form-gap{margin-top:var(--space-3)}.settings-form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.settings-btn-sm{flex:1;padding:10px var(--space-4)}.settings-btn--danger{background:#e052521f;border:1px solid rgba(224,82,82,.3);color:#e05252;cursor:pointer;transition:background var(--t-fast)}.settings-btn--danger:hover:not(:disabled){background:#e0525238}.settings-btn--danger:disabled{opacity:.4;cursor:not-allowed}.settings-device-list{list-style:none;margin:var(--space-4) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.settings-device-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-surface-2);border-radius:var(--radius-input);border:1px solid var(--border-hairline)}.settings-device-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.settings-device-name{font-size:var(--body-sm-size);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-device-meta{font-size:11px;color:var(--text-muted)}.settings-device-revoke{flex-shrink:0;background:none;border:1px solid rgba(224,82,82,.3);color:#e05252;font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-track);text-transform:uppercase;padding:var(--space-2) var(--space-3);border-radius:var(--radius-input);cursor:pointer;transition:background var(--t-fast)}.settings-device-revoke:hover:not(:disabled){background:#e052521a}.settings-device-revoke:disabled{opacity:.4;cursor:not-allowed}.settings-danger-zone{margin-top:var(--space-8);border:1px solid rgba(224,82,82,.2);border-radius:var(--radius-card);overflow:hidden}.settings-danger-header{padding:var(--space-3) var(--space-5);background:#e052520f;border-bottom:1px solid rgba(224,82,82,.12)}.settings-danger-label{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-track);text-transform:uppercase;color:#e05252}.settings-item--danger{border:none;border-radius:0;margin-bottom:0;background:var(--bg-surface)}.settings-item--danger .settings-form{border-top-color:#e052521f}.settings-danger-warning{font-size:var(--body-sm-size);color:#e05252bf;margin:var(--space-4) 0;line-height:1.55}.character-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg-page);overflow-y:auto}.character-page-content{max-width:900px;margin:0 auto;padding:var(--space-10) var(--space-8) var(--space-12)}.character-page-title{font-size:var(--display-3-size, 44px);font-weight:var(--display-3-weight, 800);letter-spacing:var(--display-3-track, -.015em);line-height:var(--display-3-lh, 1.05);text-transform:uppercase;color:var(--text-primary);margin:0 0 var(--space-10)}.inv-layout{--slot: 56px;--slot-gap: var(--space-2);display:flex;align-items:flex-start;justify-content:center;gap:var(--space-8);flex-wrap:wrap}.inv-section{display:flex;flex-direction:column;gap:var(--space-3)}.inv-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.inv-section__title{font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-track);text-transform:uppercase;color:var(--accent-gold)}.inv-section__meta{font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--text-muted);font-variant-numeric:tabular-nums}.inv-grid-scroll{max-height:calc(6 * (var(--slot) + var(--slot-gap)));overflow-y:auto;padding-right:var(--space-2);border:1px solid var(--border-hairline);border-radius:var(--radius-card);background:var(--bg-surface);padding:var(--space-3)}.inv-grid{display:grid;grid-template-columns:repeat(10,var(--slot));gap:var(--slot-gap)}.equip-grid{display:grid;grid-template-columns:repeat(4,var(--slot));gap:var(--slot-gap);padding:var(--space-3);border:1px solid var(--accent-gold-line);border-radius:var(--radius-card);background:var(--accent-gold-faint)}.inv-slot{width:var(--slot);height:var(--slot);border:1px solid var(--border-line);border-radius:var(--radius-input);background:var(--bg-surface-2);position:relative;transition:border-color var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out)}.inv-slot--equipment{background:#00000040}.inv-slot--filled{border-color:var(--accent-gold-line)}.inv-slot--over{border-color:var(--accent-gold);background:var(--accent-gold-soft)}.inv-item{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:3px;cursor:grab;text-align:center}.inv-item:active{cursor:grabbing}.inv-item__name{font-size:9px;line-height:1.1;color:var(--text-body);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.inv-item__qty{position:absolute;right:2px;bottom:1px;font-size:9px;font-weight:700;color:var(--accent-gold);background:#0009;border-radius:var(--radius-pill);padding:0 3px;font-variant-numeric:tabular-nums}.inv-hint{max-width:calc(4 * var(--slot) + 3 * var(--slot-gap) + 2 * var(--space-3));font-size:var(--body-sm-size);color:var(--text-muted);margin:0}.inv-empty{color:var(--text-muted);font-size:var(--body-sm-size);padding:var(--space-8);border:1px dashed var(--border-hairline);border-radius:var(--radius-card);text-align:center}.lobby-equipment{position:absolute;z-index:6;display:flex;flex-direction:column;gap:var(--space-2);width:200px}.lobby-equipment__head{display:flex;align-items:baseline;justify-content:space-between}.lobby-equipment .equip-grid{--slot: 40px;cursor:pointer}.bp-view{display:flex;flex-direction:column;gap:var(--space-10)}.bp-section{display:flex;flex-direction:column;gap:var(--space-4)}.bp-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.bp-section__title{font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-track);text-transform:uppercase;color:var(--accent-gold)}.bp-section__meta{font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--text-muted);font-variant-numeric:tabular-nums}.bp-empty{color:var(--text-muted);font-size:var(--body-sm-size, 13px);border:1px dashed var(--border-hairline);border-radius:var(--radius-card);padding:var(--space-8);text-align:center}.bp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.bp-card{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-hairline);border-radius:var(--radius-card);background:var(--bg-surface);overflow:hidden}.bp-card__bar{position:absolute;top:0;left:0;width:3px;height:100%}.bp-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.bp-card__name{font-weight:700;color:var(--text-primary);line-height:1.2}.bp-badge{font-size:var(--label-size, 10px);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border-hairline);border-radius:999px;padding:2px 8px;white-space:nowrap}.bp-card__desc{font-size:var(--body-sm-size, 13px);color:var(--text-muted);margin:0}.bp-rarities{display:flex;height:6px;border-radius:999px;overflow:hidden;background:var(--border-hairline)}.bp-rarities__seg{height:100%}.bp-rarity-legend{display:flex;flex-wrap:wrap;gap:var(--space-2)}.bp-rarity-legend__item{display:inline-flex;align-items:center;gap:4px;font-size:var(--label-size, 10px);color:var(--text-muted);font-variant-numeric:tabular-nums}.bp-rarity-legend__dot{width:8px;height:8px;border-radius:999px}.bp-stats{display:flex;flex-direction:column;gap:2px}.bp-stat{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);font-size:var(--body-sm-size, 13px)}.bp-stat__label{color:var(--text-muted)}.bp-stat__val{color:var(--text-primary);font-variant-numeric:tabular-nums}.bp-stat__val.is-down{color:var(--accent-danger, #e07a6b)}.bp-card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:auto}.bp-price{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums;color:var(--text-primary)}.bp-price__label{font-size:var(--label-size, 10px);text-transform:uppercase;color:var(--text-muted)}.bp-btn{border:1px solid var(--accent-gold-line);background:var(--accent-gold-faint);color:var(--accent-gold);border-radius:var(--radius-card);padding:6px 14px;font-weight:700;text-transform:uppercase;font-size:var(--label-size, 11px);letter-spacing:var(--label-track);cursor:pointer}.bp-btn:hover:not(:disabled){background:var(--accent-gold);color:var(--bg-page)}.bp-btn:disabled{opacity:.45;cursor:not-allowed}.bp-btn--ghost{border-color:var(--border-hairline);background:transparent;color:var(--text-muted)}.bp-btn--ghost:hover:not(:disabled){background:var(--bg-surface);color:var(--text-primary)}.bp-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0009;padding:var(--space-6)}.bp-modal{position:relative;width:min(420px,100%);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-card);background:var(--bg-page);border:1px solid var(--border-hairline)}.bp-modal__bar{height:4px;border-radius:999px}.bp-modal__title{font-size:var(--display-3-size, 24px);font-weight:800;margin:0;color:var(--text-primary)}.bp-modal__rarity{font-size:var(--eyebrow-size);text-transform:uppercase;letter-spacing:var(--eyebrow-track);font-weight:700}.bp-modal__foot{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.bp-modal__foot .bp-btn{flex:1;padding:10px 14px}.bp-toast{position:fixed;bottom:var(--space-10);left:50%;transform:translate(-50%);padding:var(--space-3) var(--space-6);border-radius:var(--radius-card);z-index:220;background:var(--bg-surface-2);border:1px solid;font-size:var(--body-sm-size);font-weight:700;letter-spacing:.04em;box-shadow:var(--shadow-toast)}.inventory-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg-page);overflow-y:auto}.inventory-page-content{max-width:1100px;margin:0 auto;padding:var(--space-10) var(--space-8) var(--space-12)}.inventory-page-title{font-size:var(--display-3-size, 44px);font-weight:var(--display-3-weight, 800);letter-spacing:var(--display-3-track, -.015em);line-height:var(--display-3-lh, 1.05);text-transform:uppercase;color:var(--text-primary);margin:0 0 var(--space-3)}.inventory-page-sub{color:var(--text-muted);font-size:var(--body-sm-size, 13px);margin:0 0 var(--space-6)}.inventory-tabs{display:flex;gap:var(--space-2);margin:0 0 var(--space-8)}.inventory-tab{border:1px solid var(--border-hairline);background:transparent;color:var(--text-muted);border-radius:var(--radius-card);padding:8px 16px;font-weight:700;text-transform:uppercase;font-size:var(--label-size, 11px);letter-spacing:var(--label-track);cursor:pointer}.inventory-tab:hover{color:var(--text-primary)}.inventory-tab.is-active{border-color:var(--accent-gold-line);background:var(--accent-gold-faint);color:var(--accent-gold)}.inventory-page-placeholder{color:var(--text-muted);font-size:var(--body-sm-size, 13px);border:1px dashed var(--border-hairline);border-radius:4px;padding:var(--space-10);text-align:center}.skilltree-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg-page);overflow-y:auto}.skilltree-page-content{max-width:1100px;margin:0 auto;padding:var(--space-10) var(--space-8) var(--space-12)}.skilltree-page-title{font-size:var(--display-3-size, 44px);font-weight:var(--display-3-weight, 800);letter-spacing:var(--display-3-track, -.015em);line-height:var(--display-3-lh, 1.05);text-transform:uppercase;color:var(--text-primary);margin:0 0 var(--space-3)}.skilltree-page-sub{color:var(--text-muted);font-size:var(--body-sm-size, 13px);margin:0 0 var(--space-10)}.skilltree-page-placeholder{color:var(--text-muted);font-size:var(--body-sm-size, 13px);border:1px dashed var(--border-hairline);border-radius:4px;padding:var(--space-10);text-align:center}.mastery-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg-page);overflow-y:auto}.mastery-page-content{max-width:1100px;margin:0 auto;padding:var(--space-10) var(--space-8) var(--space-12)}.mastery-page-title{font-size:var(--display-3-size, 44px);font-weight:var(--display-3-weight, 800);letter-spacing:var(--display-3-track, -.015em);line-height:var(--display-3-lh, 1.05);text-transform:uppercase;color:var(--text-primary);margin:0 0 var(--space-3)}.mastery-page-sub{color:var(--text-muted);font-size:var(--body-sm-size, 13px);margin:0 0 var(--space-10)}.mastery-page-placeholder{color:var(--text-muted);font-size:var(--body-sm-size, 13px);border:1px dashed var(--border-hairline);border-radius:4px;padding:var(--space-10);text-align:center}.shop-root{position:relative;display:flex;flex-direction:column;gap:var(--space-8)}.shop-top{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--border-hairline);flex-wrap:wrap}.shop-top__titles{display:flex;flex-direction:column;gap:var(--space-1)}.shop-title{font-size:var(--display-3-size, 44px);font-weight:var(--display-3-weight, 800);letter-spacing:var(--display-3-track, -.015em);line-height:var(--display-3-lh, 1.05);text-transform:uppercase;color:var(--text-primary);margin:0}.shop-sub{color:var(--text-muted);font-size:var(--body-sm-size, 14px)}.shop-wallet{display:flex;gap:var(--space-3)}.shop-purse{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);background:var(--bg-surface);border:1px solid var(--border-line)}.shop-purse__val{font-size:17px;font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums}.shop-purse__label{font-size:var(--micro-size);font-weight:var(--micro-weight);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--text-muted)}.shop-coin{width:15px;height:15px;border-radius:var(--radius-round);flex:none;box-shadow:inset 0 0 0 1px #ffffff40}.shop-coin--gold{background:radial-gradient(circle at 35% 30%,#f0c970,#bea05d 60%,#8a6f38)}.shop-coin--gem{background:radial-gradient(circle at 35% 30%,#c4a6f0,#a855f7 60%,#6d3ca0)}.shop-section{display:flex;flex-direction:column;gap:var(--space-4)}.shop-section__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.shop-section__titles{display:flex;align-items:baseline;gap:var(--space-3)}.shop-section__tag{font-size:var(--h3-size);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary)}.shop-section__note{font-size:var(--body-sm-size);color:var(--text-muted)}.shop-timer{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-line);border-radius:var(--radius-pill);background:var(--bg-surface)}.shop-timer__label{font-size:var(--micro-size);font-weight:var(--micro-weight);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--text-muted)}.shop-timer__val{font-size:var(--num-sm-size);font-weight:700;letter-spacing:.06em;color:var(--accent-gold);font-variant-numeric:tabular-nums}.shop-daily-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:var(--space-3)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:var(--space-3)}.shop-card,.shop-daily{position:relative;display:flex;overflow:hidden;background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-card);box-shadow:0 0 0 1px color-mix(in srgb,var(--rc) 22%,transparent);transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.shop-card:hover,.shop-daily:hover{transform:translateY(-3px);box-shadow:0 0 0 1px color-mix(in srgb,var(--rc) 40%,transparent),0 10px 26px #0006}.shop-rarity-bar{width:4px;flex:none;align-self:stretch}.shop-card__body{flex:1;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.shop-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.shop-card__titles{display:flex;flex-direction:column;gap:2px;min-width:0}.shop-card__name{font-size:var(--h3-size, 18px);font-weight:700;color:var(--text-primary);letter-spacing:.01em}.shop-card__rarity{font-size:var(--micro-size);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.shop-card__qty{font-size:var(--num-sm-size);font-weight:700;color:var(--text-muted);flex:none;font-variant-numeric:tabular-nums}.shop-badges{display:flex;flex-wrap:wrap;gap:var(--space-1)}.shop-badge{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:3px 7px;border:1px solid var(--border-line);border-radius:var(--radius-pill)}.shop-badge.is-eq{color:var(--accent-gold);border-color:var(--accent-gold-line)}.shop-card__desc{font-size:var(--body-sm-size);line-height:1.45;color:var(--text-muted);margin:0}.shop-mods{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) 0;border-top:1px solid var(--border-divider);border-bottom:1px solid var(--border-divider)}.shop-mods--empty{color:var(--text-subtle);font-size:var(--body-sm-size);font-style:italic;border:none;padding:var(--space-1) 0}.shop-mod{display:flex;align-items:center;justify-content:space-between}.shop-mod__label{font-size:var(--body-sm-size);color:var(--text-muted)}.shop-mod__val{font-size:13px;font-weight:700;color:#6fc98a;font-variant-numeric:tabular-nums}.shop-mod__val.is-down{color:#e07a6b}.shop-perks{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) 0;border-top:1px solid var(--border-divider)}.shop-perks--empty{color:var(--text-subtle);font-size:var(--body-sm-size);font-style:italic;padding:var(--space-1) 0;border-top:1px solid var(--border-divider)}.shop-perk{display:flex;flex-direction:column;gap:2px}.shop-perk__name{font-size:var(--body-sm-size);font-weight:700;color:var(--accent-gold)}.shop-perk__desc{font-size:12px;color:var(--text-muted)}.shop-card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:auto}.shop-price{display:flex;align-items:center;gap:var(--space-2)}.shop-price__val{font-size:16px;font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums}.shop-price__old{font-size:12px;font-weight:600;color:var(--text-subtle);text-decoration:line-through;font-variant-numeric:tabular-nums}.shop-act{font-size:var(--label-size);font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:var(--space-2) var(--space-4);border-radius:var(--radius-input);cursor:pointer;border:1px solid transparent;transition:filter var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.shop-act--buy{color:#1a140a;background:var(--accent-gold)}.shop-act--buy:hover{filter:brightness(1.12)}.shop-daily__disc{position:absolute;top:0;right:0;z-index:2;padding:4px 10px;border-bottom-left-radius:var(--radius-card);font-size:11px;font-weight:800;letter-spacing:.04em;color:#0a0c0f}.shop-filters{display:flex;flex-wrap:wrap;gap:var(--space-2)}.shop-filter{font-size:var(--micro-size);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 11px;border-radius:var(--radius-pill);border:1px solid var(--border-hairline);background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out)}.shop-filter:hover{color:var(--text-body);border-color:var(--border-line)}.shop-filter.is-on{color:var(--text-primary);border-color:var(--accent-gold-line);background:var(--accent-gold-soft)}.shop-empty{color:var(--text-muted);font-size:var(--body-sm-size);border:1px dashed var(--border-hairline);border-radius:var(--radius-card);padding:var(--space-8);text-align:center}.shop-toast{position:fixed;bottom:var(--space-10);left:50%;transform:translate(-50%);padding:var(--space-3) var(--space-6);border-radius:var(--radius-card);z-index:200;background:var(--bg-surface-2);border:1px solid;font-size:var(--body-sm-size);font-weight:700;letter-spacing:.04em;box-shadow:var(--shadow-toast);animation:shop-toast-in .22s var(--ease-out)}@keyframes shop-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.shop-code-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);background:var(--bg-surface);border:1px solid var(--border-line);color:var(--text-primary);font-size:15px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;transition:border-color .15s var(--ease-out),background .15s var(--ease-out)}.shop-code-btn:hover{border-color:var(--text-muted);background:var(--bg-surface-2)}.shop-code-btn.is-active{border-color:#6fc98a;color:#6fc98a}.code-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.code-dialog{width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-card);background:var(--bg-surface);border:1px solid var(--border-line);box-shadow:var(--shadow-toast)}.code-dialog__title{margin:0;font-size:22px;font-weight:800;text-transform:uppercase;color:var(--text-primary)}.code-dialog__hint{margin:0;font-size:var(--body-sm-size);color:var(--text-muted)}.code-dialog__input{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);background:var(--bg-surface-2);border:1px solid var(--border-line);color:var(--text-primary);font-size:16px;font-weight:700;letter-spacing:.04em;box-sizing:border-box}.code-dialog__input:focus{outline:none;border-color:var(--text-muted)}.code-dialog__error{font-size:var(--body-sm-size);font-weight:700;color:#e07a6b}.code-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}.code-btn{padding:var(--space-3) var(--space-5);border-radius:var(--radius-card);font-size:var(--body-sm-size);font-weight:800;letter-spacing:.02em;cursor:pointer;border:1px solid transparent}.code-btn--ghost{background:transparent;border-color:var(--border-line);color:var(--text-muted)}.code-btn--ghost:hover{color:var(--text-primary);border-color:var(--text-muted)}.code-btn--primary{background:var(--text-primary);color:var(--bg-surface)}.code-btn--primary:disabled{opacity:.5;cursor:not-allowed}.shop-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg-page);overflow-y:auto}.shop-page-content{max-width:1100px;margin:0 auto;padding:var(--space-10) var(--space-8) var(--space-12)}:root{--bg-page: #0e0d0a;--bg-surface: #15130e;--bg-surface-2: #1c1810;--bg-header: rgba(10, 9, 7, .92);--bg-input: rgba(255, 255, 255, .04);--text-primary: #ffffff;--text-body: #e8e6df;--text-muted: rgba(232, 230, 223, .45);--text-subtle: rgba(232, 230, 223, .35);--accent-gold: #bea05d;--accent-gold-soft: rgba(190, 160, 93, .12);--accent-gold-line: rgba(190, 160, 93, .3);--accent-gold-faint: rgba(190, 160, 93, .06);--border-hairline: rgba(232, 230, 223, .07);--border-line: rgba(232, 230, 223, .1);--border-divider: rgba(232, 230, 223, .05);--border-strong: rgba(232, 230, 223, .18);--blur-header: blur(14px);--shadow-toast: 0 12px 30px rgba(0, 0, 0, .4);--shadow-modal: 0 30px 80px rgba(0, 0, 0, .6);--stripe-bg: repeating-linear-gradient( 135deg, rgba(255, 255, 255, .025) 0px, rgba(255, 255, 255, .025) 2px, transparent 2px, transparent 8px );--radius-card: 8px;--radius-input: 4px;--radius-pill: 6px;--radius-round: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--container-max: 1440px;--container-padx: 32px;--header-height: 64px;--ease-out: cubic-bezier(.2, .8, .2, 1);--t-fast: .15s;--t-base: .2s;--font-sans: "Helvetica Neue", Helvetica, Arial, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-feature: "ss01";--display-1-size: 80px;--display-1-weight: 800;--display-1-track: -.02em;--display-1-lh: .95;--display-2-size: 64px;--display-2-weight: 800;--display-2-track: -.02em;--display-2-lh: 1;--display-3-size: 44px;--display-3-weight: 800;--display-3-track: -.015em;--display-3-lh: 1.05;--h1-size: 32px;--h1-weight: 700;--h1-track: -.01em;--h1-lh: 1.15;--h2-size: 24px;--h2-weight: 700;--h2-track: -.005em;--h2-lh: 1.2;--h3-size: 18px;--h3-weight: 600;--h3-track: 0;--h3-lh: 1.3;--body-size: 15px;--body-weight: 400;--body-lh: 1.5;--body-sm-size: 14px;--body-sm-weight: 400;--body-sm-lh: 1.5;--eyebrow-size: 12px;--eyebrow-weight: 600;--eyebrow-track: .12em;--label-size: 11px;--label-weight: 700;--label-track: .1em;--micro-size: 10px;--micro-weight: 600;--micro-track: .14em;--num-lg-size: 32px;--num-lg-weight: 700;--num-md-size: 24px;--num-md-weight: 700;--num-sm-size: 14px;--num-sm-weight: 600}html,body{background:var(--bg-page);color:var(--text-body);font-family:var(--font-sans);font-feature-settings:var(--font-feature);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--body-size);line-height:var(--body-lh)}.t-display-1{font-size:var(--display-1-size);font-weight:var(--display-1-weight);letter-spacing:var(--display-1-track);line-height:var(--display-1-lh);text-transform:uppercase;color:var(--text-primary)}.t-display-2{font-size:var(--display-2-size);font-weight:var(--display-2-weight);letter-spacing:var(--display-2-track);line-height:var(--display-2-lh);text-transform:uppercase;color:var(--text-primary)}.t-h1{font-size:var(--h1-size);font-weight:var(--h1-weight);letter-spacing:var(--h1-track);line-height:var(--h1-lh);color:var(--text-primary)}.t-h2{font-size:var(--h2-size);font-weight:var(--h2-weight);letter-spacing:var(--h2-track);line-height:var(--h2-lh);color:var(--text-primary)}.t-h3{font-size:var(--h3-size);font-weight:var(--h3-weight);letter-spacing:var(--h3-track);line-height:var(--h3-lh);color:var(--text-primary)}.t-body{font-size:var(--body-size);line-height:var(--body-lh);color:var(--text-body)}.t-body-sm{font-size:var(--body-sm-size);line-height:var(--body-sm-lh);color:var(--text-body)}.t-muted{color:var(--text-muted)}.t-subtle{color:var(--text-subtle)}.t-gold{color:var(--accent-gold)}.t-eyebrow{font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-track);text-transform:uppercase;color:var(--text-muted)}.t-eyebrow-gold{composes:t-eyebrow;color:var(--accent-gold)}.t-label{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-track);text-transform:uppercase}.t-micro{font-size:var(--micro-size);font-weight:var(--micro-weight);letter-spacing:var(--micro-track);text-transform:uppercase}.t-num{font-variant-numeric:tabular-nums}.t-num-lg{font-size:var(--num-lg-size);font-weight:var(--num-lg-weight);font-variant-numeric:tabular-nums;color:var(--text-primary)}.t-num-md{font-size:var(--num-md-size);font-weight:var(--num-md-weight);font-variant-numeric:tabular-nums;color:var(--text-primary)}:root{--font-sans: "Press Start 2P", "Helvetica Neue", Helvetica, Arial, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}#root{width:100%;overflow:hidden}
