:root{color-scheme:dark;font-family:Space Grotesk,Sora,IBM Plex Sans,JetBrains Mono,system-ui,sans-serif;--bg: #050414;--bg-glass: rgba(8, 11, 26, .72);--bg-glass-strong: rgba(8, 11, 26, .92);--border: rgba(148, 163, 184, .22);--accent: #5eead4;--accent-2: #f472b6;--success: #34d399;--warning: #fbbf24;--danger: #f87171;--text: #eef2ff;--text-muted: rgba(226, 232, 240, .72);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);background-color:var(--bg);color:var(--text);letter-spacing:.01em}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}html,body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation}body{min-height:100dvh;background:radial-gradient(circle at 12% 18%,rgba(20,184,166,.18),transparent 48%),radial-gradient(circle at 82% 12%,rgba(244,114,182,.15),transparent 54%),radial-gradient(circle at 50% 100%,rgba(56,189,248,.1),transparent 42%),linear-gradient(148deg,#07111f,#120f2f 45%,#111827);overflow:hidden}body:before,body:after{content:"";position:fixed;inset:auto;pointer-events:none;z-index:0;filter:blur(42px)}body:before{width:32vw;height:32vw;left:-8vw;bottom:-10vw;background:#5eead414;animation:bg-drift 18s ease-in-out infinite}body:after{width:28vw;height:28vw;right:-6vw;top:-8vw;background:#f472b614;animation:bg-drift 24s ease-in-out infinite reverse}@keyframes bg-drift{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(2vw,-2vw,0) scale(1.08)}}#root{display:block;height:100dvh;width:100vw}.stage{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;overflow:hidden}.world-viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.stage canvas{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;display:block;touch-action:none}.look-zone{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;touch-action:none;cursor:grab;background:transparent}.look-zone:active{cursor:grabbing}.topbar{position:absolute;top:0;left:0;right:0;padding:calc(.5rem + var(--safe-top)) calc(.75rem + var(--safe-right)) .5rem calc(.75rem + var(--safe-left));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;z-index:20;pointer-events:none}.topbar>*{pointer-events:auto}.topbar-left{display:flex;align-items:center;gap:.5rem;min-width:0}.conn-dot{width:10px;height:10px;border-radius:999px;background:var(--danger);box-shadow:0 0 8px currentColor;flex-shrink:0}.conn-dot.is-live{background:var(--success)}.look-zone.is-mouselook{cursor:crosshair}.look-zone.is-mouselook.is-locked{cursor:none}.mouselook-crosshair{position:fixed;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;pointer-events:none;z-index:25}.mouselook-crosshair:before,.mouselook-crosshair:after{content:"";position:absolute;background:#5eead4d9;box-shadow:0 0 6px #5eead466}.mouselook-crosshair:before{top:50%;left:0;right:0;height:2px;margin-top:-1px}.mouselook-crosshair:after{left:50%;top:0;bottom:0;width:2px;margin-left:-1px}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#02061799;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:60;padding:1rem}.settings-card{width:min(620px,100%);max-height:min(86dvh,720px);overflow:auto;background:var(--bg-glass-strong);border:1px solid var(--border);border-radius:1.1rem;padding:1.2rem;display:flex;flex-direction:column;gap:.85rem;box-shadow:0 30px 80px #02061799}.settings-card header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.settings-card h2{margin:0;font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.settings-close{background:transparent;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:.2rem .5rem;border-radius:.4rem}.settings-close:hover{background:#ffffff0f;color:var(--text)}.settings-section{display:flex;flex-direction:column;gap:.6rem;padding:.85rem;border:1px solid var(--border);border-radius:.85rem;background:#0c13238c}.settings-section h3{margin:0;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.settings-section-header{display:flex;align-items:center;justify-content:space-between;padding:0;border:none}.settings-reset{background:transparent;border:1px solid rgba(248,113,113,.35);color:#fecaca;padding:.2rem .6rem;border-radius:.4rem;font-size:.75rem;cursor:pointer}.settings-reset:hover{background:#f871711f}.settings-radio-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}@media (max-width: 520px){.settings-radio-row{grid-template-columns:1fr}}.settings-radio{display:flex;flex-direction:column;gap:.2rem;padding:.7rem;border:1px solid var(--border);border-radius:.7rem;cursor:pointer;background:#0f172a99}.settings-radio.is-active{border-color:var(--accent);background:#5eead41f}.settings-radio input{display:none}.settings-radio strong{color:var(--text);font-size:.95rem}.settings-radio span{color:var(--text-muted);font-size:.8rem;line-height:1.35}.settings-slider{display:grid;grid-template-columns:85px 1fr auto;gap:.5rem;align-items:center;font-size:.85rem;color:var(--text)}.settings-slider em{font-style:normal;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem;color:var(--text-muted);min-width:60px;text-align:right}.settings-slider input[type=range]{width:100%}.settings-check{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text);cursor:pointer}.settings-binds{display:flex;flex-direction:column;gap:.35rem;max-height:320px;overflow-y:auto;padding-right:.3rem}.settings-bind-row{display:grid;grid-template-columns:1fr auto;gap:.4rem;align-items:center;padding:.35rem .5rem;border-radius:.5rem;background:#080b1a66}.settings-bind-label{color:var(--text);font-size:.85rem}.settings-bind-slots{display:flex;gap:.3rem}.settings-bind-slot{min-width:76px;padding:.25rem .55rem;border:1px solid var(--border);border-radius:.4rem;background:#0f172ab3;color:var(--text);font-size:.78rem;font-family:JetBrains Mono,ui-monospace,monospace;cursor:pointer}.settings-bind-slot:hover{border-color:var(--accent)}.settings-bind-slot.is-capturing{border-color:var(--warning);color:var(--warning);animation:conn-pulse 1s ease-in-out infinite}.settings-hint{color:var(--text-muted);font-size:.78rem;margin:0}.settings-btn{font-size:1rem!important;padding:0 .55rem!important}.scene-loading{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,rgba(94,234,212,.06),transparent 60%),#050414}.conn-dot.is-reconnecting{background:var(--warning);animation:conn-pulse 1.1s ease-in-out infinite}@keyframes conn-pulse{0%,to{box-shadow:0 0 6px #fbbf2466;transform:scale(1)}50%{box-shadow:0 0 14px #fbbf24e6;transform:scale(1.2)}}.pilot-name{font-size:.85rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-score{background:var(--bg-glass);border:1px solid var(--border);border-radius:999px;padding:.4rem 1.1rem;display:flex;align-items:baseline;gap:.45rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.topbar-score strong{font-size:1.45rem;color:var(--warning);text-shadow:0 0 10px rgba(251,191,36,.5);letter-spacing:.01em}.topbar-score small{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em}.topbar-stats{display:flex;flex-direction:column;gap:.25rem;background:var(--bg-glass);border:1px solid var(--border);border-radius:.85rem;padding:.45rem .75rem;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);min-width:220px;max-width:300px}.stat-row{display:flex;align-items:center;gap:.4rem}.stat-bar{position:relative;flex:1;height:14px;background:#080b1ad9;border:1px solid rgba(148,163,184,.22);border-radius:999px;overflow:hidden}.stat-bar span{display:block;height:100%;border-radius:999px;transition:width .18s ease-out}.stat-bar em{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:.62rem;letter-spacing:.02em;color:#f1f5f9;text-shadow:0 0 3px #05060d;font-weight:600}.stat-bar.hp span{background:linear-gradient(90deg,#22c55e,#34d399)}.stat-bar.mp span{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.stat-bar.xp{height:8px}.stat-bar.xp span{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.level-chip{background:linear-gradient(135deg,#a855f7,#ec4899);color:#fff;padding:.08rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.05em;box-shadow:0 0 12px #a855f759}.score-pip{font-size:.78rem;color:var(--warning);white-space:nowrap}.score-pip strong{color:var(--warning);font-weight:700;margin-left:.15rem}.action-bar{position:absolute;bottom:calc(1.25rem + var(--safe-bottom));right:calc(1.25rem + var(--safe-right));display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:.6rem;align-items:flex-end;z-index:18;max-width:min(396px,calc(100vw - 1.5rem))}.action-btn{position:relative;width:64px;height:64px;border-radius:50%;background:var(--bg-glass-strong);border:2px solid rgba(148,163,184,.35);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;cursor:pointer;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 24px #02061780;overflow:hidden;transition:transform .12s ease,border-color .15s ease;--p: 100%}.action-btn:active:not(.is-locked):not([disabled]){transform:scale(.92)}.action-btn.is-primary{width:76px;height:76px;background:linear-gradient(135deg,#f59e0b,#ef4444);border-color:#fbbf24a6;box-shadow:0 12px 28px #ef444466}.action-btn.is-locked{opacity:.5;cursor:not-allowed}.action-btn[disabled]{opacity:.45;cursor:not-allowed}.action-emoji{font-size:1.6rem;line-height:1}.action-meta{display:flex;flex-direction:column;align-items:center;line-height:1;margin-top:.15rem}.action-meta strong{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0}.action-meta small{font-size:.55rem;color:#e2e8f0a6;margin-top:.05rem}.action-cd-ring{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background:conic-gradient(rgba(56,189,248,.85) var(--p),rgba(148,163,184,.15) 0);-webkit-mask:radial-gradient(circle,transparent 58%,#000 60%);mask:radial-gradient(circle,transparent 58%,#000 60%);pointer-events:none;opacity:.85}.action-cd-text{position:absolute;top:6px;right:8px;font-size:.7rem;font-weight:700;color:#fde68a;text-shadow:0 0 3px #05060d}.death-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#7f1d1d73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:35}.death-card{background:#0d1629f5;border:1px solid rgba(248,113,113,.55);border-radius:1.2rem;padding:1.5rem 1.75rem;max-width:360px;text-align:center;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 30px 80px #7f1d1d8c}.death-card h2{margin:0;color:#fecaca;letter-spacing:.04em;font-size:1.4rem}.death-card p{margin:0;color:var(--text-muted)}.respawn-timer{font-size:1.05rem;color:#fde68a!important}.buff-row{position:absolute;top:calc(5.4rem + var(--safe-top));left:calc(.75rem + var(--safe-left));right:calc(.75rem + var(--safe-right));display:flex;flex-wrap:wrap;gap:.35rem;z-index:13;pointer-events:none;justify-content:flex-start}.buff-chip{display:inline-flex;align-items:center;gap:.3rem;background:var(--bg-glass);border:1px solid var(--border);border-radius:999px;padding:.18rem .55rem;font-size:.72rem;letter-spacing:.02em;color:var(--text);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:auto}.buff-chip em{font-style:normal;font-size:.95rem;line-height:1}.buff-chip strong{font-weight:700;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.buff-chip small{font-size:.65rem;color:#e2e8f0b3}.buff-chip.is-good{border-color:#34d3998c;background:#052e1e99}.buff-chip.is-bad{border-color:#f871718c;background:#440a0a99;color:#fecaca}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.4rem}.stat-cell{display:flex;flex-direction:column;background:#0c1323b3;border:1px solid var(--border);border-radius:.7rem;padding:.45rem .6rem;gap:.1rem}.stat-cell-label{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8cc}.stat-cell-value{font-size:1rem;color:var(--text);font-weight:700}.topbar{grid-template-columns:minmax(0,1fr) minmax(220px,300px) minmax(0,1fr)}@media (max-width: 520px){.topbar{grid-template-columns:1fr;grid-template-rows:auto auto auto}.topbar-left{display:flex}.topbar-stats{min-width:0}.topbar-right{justify-self:stretch}.hud-shortcuts{width:100%;justify-content:stretch}.shortcut-btn{flex:1;min-width:0;padding-left:.65rem;padding-right:.65rem}.action-btn{width:56px;height:56px}.action-btn.is-primary{width:64px;height:64px}.action-emoji{font-size:1.35rem}}.topbar-right{display:flex;justify-content:flex-end;gap:.5rem;min-width:0}.pilot-card{display:flex;flex-direction:column;min-width:0;gap:.1rem}.pilot-card strong{font-size:.82rem;color:#f8fafc;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pilot-card span{font-size:.68rem;color:#bfdbfeb8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-shortcuts{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem}.shortcut-btn{position:relative;min-height:38px;padding:.48rem .76rem;border-radius:999px;border:1px solid rgba(96,165,250,.24);background:#0a0f1fbd;color:#dbeafe;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 10px 24px #0206173d}.shortcut-btn:hover:not(:disabled){border-color:#5eead480;color:#f8fafc}.icon-btn{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--bg-glass);color:var(--text);font-size:1.2rem;display:inline-flex;align-items:center;justify-content:center;padding:0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer}.icon-btn:active{transform:scale(.95)}.icon-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 .35rem;border-radius:999px;background:var(--danger);color:#fff;font-style:normal;font-size:.7rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #f8717166}.world-notice-stack{position:absolute;top:calc(4.15rem + var(--safe-top));left:50%;transform:translate(-50%);width:min(640px,calc(100vw - 2.25rem));display:flex;flex-direction:column;gap:.45rem;z-index:15;pointer-events:none}.world-notice{background:linear-gradient(140deg,#080b1ae0,#0f172ac7);border:1px solid rgba(99,102,241,.25);border-left:4px solid rgba(99,102,241,.82);border-radius:.95rem;padding:.65rem .9rem;box-shadow:0 14px 34px #02061747;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow-wrap:anywhere}.world-notice header,.story-card header,.activity-dock header,.chat-dock-header,.guide-card header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.world-notice header strong,.guide-card strong{font-size:.92rem;color:#f8fafc;letter-spacing:.02em}.world-notice header span,.story-card header small,.activity-line span,.guide-card header em{font-size:.68rem;color:#bfdbfeb8;font-style:normal;letter-spacing:.08em;text-transform:uppercase}.world-notice p{margin:.25rem 0 0;color:#e2e8f0e0;font-size:.82rem;line-height:1.35}.world-notice.severity-high,.world-notice.severity-urgent{border-left-color:#f87171eb}.world-notice.severity-low{border-left-color:#94a3b8bf}.system-toast-stack{position:absolute;top:calc(4.25rem + var(--safe-top));right:calc(1rem + var(--safe-right));display:flex;flex-direction:column;gap:.45rem;width:min(320px,calc(100vw - 1.5rem));pointer-events:none;z-index:16}.system-toast{background:#080b1aeb;border:1px solid rgba(96,165,250,.2);border-radius:.85rem;padding:.55rem .75rem;font-size:.78rem;color:#dbeafe;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);line-height:1.4;overflow-wrap:anywhere}.story-rail{position:absolute;top:calc(10.6rem + var(--safe-top));left:calc(1rem + var(--safe-left));width:min(320px,calc((100vw - 3rem)/2));display:flex;flex-direction:column;gap:.55rem;z-index:14;pointer-events:auto;max-height:calc(100dvh - 22rem - var(--safe-top));overflow-y:auto;scrollbar-width:none}.story-rail::-webkit-scrollbar,.field-guide::-webkit-scrollbar{display:none}.story-card,.guide-card,.activity-dock,.chat-dock{background:linear-gradient(145deg,#080b1ae6,#0f172acc);border:1px solid rgba(148,163,184,.22);border-radius:1rem;box-shadow:0 16px 36px #0206174d;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.story-card{padding:.7rem .8rem;pointer-events:auto}.story-card header span{color:#ccfbf1;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.story-card header em{color:#e2e8f08a;font-size:.66rem;font-style:normal;letter-spacing:.08em}.story-card p,.guide-card p,.activity-line p,.chat-dock-line p{margin:.3rem 0 0;color:#e2e8f0e6;font-size:.88rem;line-height:1.4}.story-card small,.guide-card small,.guide-list-item small{display:block;margin-top:.3rem;color:#bfdbfebd;font-size:.74rem;line-height:1.35}.story-card.tone-rogue{border-color:#f8717140;box-shadow:0 16px 36px #7f1d1d38}.field-guide{position:absolute;top:calc(10.6rem + var(--safe-top));right:calc(1rem + var(--safe-right));width:min(320px,calc((100vw - 3rem)/2));display:flex;flex-direction:column;gap:.6rem;z-index:14;pointer-events:auto;max-height:calc(100dvh - 22rem - var(--safe-top));overflow-y:auto;scrollbar-width:none}.guide-card{padding:.85rem .95rem;pointer-events:auto}.guide-card header span{color:#bfdbfe;font-size:.7rem;letter-spacing:.11em;text-transform:uppercase}.guide-actions,.guide-list,.guide-steps{display:flex;flex-direction:column;gap:.45rem;margin-top:.65rem}.guide-actions{flex-direction:row;flex-wrap:wrap}.guide-actions button{min-height:36px;padding:.45rem .75rem;font-size:.78rem;border-radius:.7rem}.guide-list-item,.guide-step{padding:.55rem .65rem;border-radius:.8rem;background:#0f172ab8;border:1px solid rgba(96,165,250,.16)}.guide-list-item span,.guide-step strong{display:block;color:#f8fafc;font-size:.8rem}.guide-list-item em,.guide-step span{display:block;margin-top:.18rem;color:#bfdbfeb8;font-style:normal;font-size:.72rem}.guide-step.is-ready{border-color:#34d39959;background:#062a21b8}.activity-dock{position:absolute;left:calc(1rem + var(--safe-left));bottom:calc(14.7rem + var(--safe-bottom));width:min(320px,calc((100vw - 3rem)/2));padding:.75rem .8rem;z-index:15;pointer-events:auto}.activity-dock header strong,.chat-dock-header strong{color:#f8fafc;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.activity-dock header span,.chat-dock-header span{font-size:.7rem;color:#bfdbfebd;letter-spacing:.08em;text-transform:uppercase}.activity-dock>p{margin:.45rem 0 0;color:#bfdbfec7;font-size:.8rem;line-height:1.35}.activity-line{margin-top:.5rem;padding:.5rem .55rem;border-radius:.8rem;background:#0f172a99;border:1px solid rgba(148,163,184,.16)}.activity-line strong{color:#f8fafc;font-size:.8rem}.activity-line.tone-positive{border-color:#34d39947}.activity-line.tone-danger{border-color:#f871714d}.chat-dock{position:absolute;left:calc(1rem + var(--safe-left));bottom:calc(6rem + var(--safe-bottom));width:min(320px,calc((100vw - 3rem)/2));padding:.75rem .8rem;z-index:15;pointer-events:auto}.chat-open-btn{min-height:34px;padding:.45rem .7rem;border-radius:.7rem;font-size:.76rem}.chat-dock-log{display:flex;flex-direction:column;gap:.4rem;margin-top:.6rem;max-height:170px;overflow-y:auto}.chat-dock-empty{margin:0;color:#bfdbfeb8;font-size:.8rem}.chat-dock-line{padding:.5rem .55rem;border-radius:.75rem;background:#0f172aa3;border:1px solid rgba(148,163,184,.16)}.chat-dock-line.is-faction{border-color:#f472b647;background:#44112d8a}.chat-dock-line.is-zone{border-color:#60a5fa47;background:#0a1c3294}.chat-dock-line strong{color:#7dd3fc;font-size:.74rem;letter-spacing:.05em}.chat-dock-line em{margin-left:.35rem;color:#e2e8f080;font-style:normal;font-size:.66rem}.chat-dock-form{display:grid;grid-template-columns:90px 1fr auto;gap:.4rem;margin-top:.6rem}.directive-marquee{position:absolute;top:calc(3.4rem + var(--safe-top));left:calc(.75rem + var(--safe-left));right:calc(.75rem + var(--safe-right));margin:0 auto;max-width:760px;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;background:#080b1ac7;border:1px solid rgba(99,102,241,.4);border-left-width:4px;border-radius:.85rem;padding:.5rem .85rem;font-size:.82rem;color:var(--text);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:14;pointer-events:none;animation:directive-in .35s ease-out;box-shadow:0 10px 30px #1e40af40}@keyframes directive-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.directive-issuer{font-weight:700;letter-spacing:.08em;color:#c4b5fd;text-transform:uppercase;font-size:.7rem}.directive-sep{color:#94a3b866}.directive-message{flex:1;min-width:50%;color:#e2e8f0f2;line-height:1.35}.directive-target{color:var(--warning);font-size:.72rem;letter-spacing:.05em}.priority-low{border-left-color:#94a3b8a6}.priority-standard{border-left-color:#6366f1d9}.priority-high{border-left-color:#fb923cd9}.priority-urgent{border-left-color:#f87171f2;animation:directive-in .35s ease-out,urgent-pulse 2.2s ease-in-out infinite}@keyframes urgent-pulse{0%,to{box-shadow:0 10px 30px #f871712e}50%{box-shadow:0 10px 40px #f8717173}}.toast-stack{position:absolute;top:calc(6.5rem + var(--safe-top));left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.35rem;width:min(520px,calc(100vw - 1.5rem));pointer-events:none;z-index:15}.toast{background:var(--bg-glass-strong);border:1px solid var(--border);border-radius:.85rem;padding:.45rem .75rem;font-size:.82rem;color:var(--text);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:toast-in .2s ease-out;opacity:.95;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast:nth-child(2){opacity:.75}.toast:nth-child(3){opacity:.55}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:.95;transform:translateY(0)}}.transmission-river{position:absolute;left:calc(1rem + var(--safe-left));bottom:calc(6.5rem + var(--safe-bottom));width:min(360px,calc(100vw - 2rem));display:flex;flex-direction:column;gap:.45rem;z-index:16;pointer-events:none}.transmission-line{background:linear-gradient(135deg,#07101fe0,#111827b8);border:1px solid rgba(94,234,212,.18);border-left:3px solid rgba(94,234,212,.68);border-radius:.85rem;padding:.5rem .7rem;display:grid;grid-template-columns:auto auto 1fr;gap:.45rem;align-items:baseline;animation:transmission-in .25s ease-out;box-shadow:0 10px 28px #02061740}.transmission-line.is-global{border-color:#5eead433}.transmission-line.is-faction{border-color:#f472b647;border-left-color:#f472b6b8;background:linear-gradient(135deg,#3d0d26e0,#111827bd)}.transmission-line.is-zone{border-color:#60a5fa47;border-left-color:#60a5fab8;background:linear-gradient(135deg,#091c35e0,#111827c2)}.transmission-line span{color:#ccfbf1;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.transmission-line em{color:#e2e8f080;font-style:normal;font-size:.66rem;letter-spacing:.08em}.transmission-line p{margin:0;min-width:0;color:#e2e8f0e6;font-size:.84rem;line-height:1.35}@keyframes transmission-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.objective-pill{position:absolute;bottom:calc(6rem + var(--safe-bottom));left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:.4rem;background:var(--bg-glass);border:1px solid var(--border);border-radius:999px;padding:.4rem .95rem;font-size:.78rem;letter-spacing:.06em;color:#e2e8f0d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:none;z-index:12;max-width:min(620px,calc(100vw - 1.5rem));white-space:normal;text-align:center;line-height:1.35}.objective-icon{font-size:.95rem;filter:drop-shadow(0 0 6px rgba(56,189,248,.6))}.context-chip{position:absolute;top:calc(7rem + var(--safe-top));right:calc(.75rem + var(--safe-right));pointer-events:auto;display:flex;flex-wrap:wrap;gap:.6rem;background:var(--bg-glass);border:1px solid var(--border);border-radius:999px;padding:.35rem .85rem;font-size:.78rem;color:var(--text-muted);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:12;pointer-events:none;max-width:min(520px,calc(100vw - 1.5rem));overflow:hidden}.quest-rail{position:absolute;right:calc(.95rem + var(--safe-right));top:calc(9.75rem + var(--safe-top));width:min(320px,calc(100vw - 1.5rem));display:flex;flex-direction:column;gap:.55rem;z-index:14;pointer-events:none}.quest-card{background:linear-gradient(145deg,#080b1ae0,#121828d1);border:1px solid rgba(148,163,184,.24);border-left-width:4px;border-radius:1rem;padding:.65rem .8rem;display:flex;flex-direction:column;gap:.22rem;box-shadow:0 14px 34px #02061747}.quest-card header{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.quest-card header span{color:#f8fafc;font-size:.82rem;font-weight:700;letter-spacing:.03em}.quest-card header em{color:#fef3c7;font-style:normal;font-size:.74rem;font-weight:700}.quest-card p{margin:0;color:#e2e8f0eb;font-size:.92rem;line-height:1.25}.quest-card small{color:#bfdbfeb3;font-size:.74rem;letter-spacing:.02em}.joystick-wrap{position:absolute;bottom:calc(1.25rem + var(--safe-bottom));left:calc(1.25rem + var(--safe-left));z-index:18;touch-action:none}@media (max-width: 760px){.action-bar{gap:.45rem;max-width:min(320px,calc(100vw - 1rem))}.action-btn{width:58px;height:58px}.action-btn.is-primary{width:70px;height:70px}.action-emoji{font-size:1.35rem}.world-notice-stack{width:calc(100vw - 1.5rem);top:calc(6.75rem + var(--safe-top))}.system-toast-stack{top:calc(10.2rem + var(--safe-top));left:calc(.75rem + var(--safe-left));right:calc(.75rem + var(--safe-right));width:auto}.story-rail{left:calc(.75rem + var(--safe-left));right:calc(.75rem + var(--safe-right));top:calc(12.7rem + var(--safe-top));width:auto;max-height:calc(100dvh - 33rem - var(--safe-top))}.field-guide{left:calc(.75rem + var(--safe-left));right:calc(.75rem + var(--safe-right));top:auto;bottom:calc(21.5rem + var(--safe-bottom));width:auto;max-height:calc(100dvh - 29rem - var(--safe-top))}.activity-dock{left:calc(.75rem + var(--safe-left));right:calc(.75rem + var(--safe-right));bottom:calc(15rem + var(--safe-bottom));width:auto}.chat-dock{left:calc(.75rem + var(--safe-left));right:calc(.75rem + var(--safe-right));bottom:calc(6rem + var(--safe-bottom));width:auto}.chat-dock-form{grid-template-columns:82px 1fr auto}.context-chip{top:auto;bottom:calc(27rem + var(--safe-bottom));left:calc(.75rem + var(--safe-left));right:calc(.75rem + var(--safe-right));border-radius:1rem;max-width:none}.objective-pill{bottom:calc(5.4rem + var(--safe-bottom));max-width:calc(100vw - 1.5rem)}}.joystick{position:relative;border-radius:50%;background:radial-gradient(circle at 50% 50%,#38bdf82e,#0e172a99 70%);border:1.5px solid rgba(56,189,248,.38);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);touch-action:none;user-select:none;-webkit-user-select:none;transition:border-color .15s ease,box-shadow .15s ease}.joystick.is-active{border-color:#38bdf8bf;box-shadow:0 0 24px #38bdf859}.joystick-knob{position:absolute;top:50%;left:50%;border-radius:50%;background:linear-gradient(135deg,#38bdf8,#6366f1);box-shadow:0 6px 16px #38bdf873,inset 0 -4px 8px #0003;pointer-events:none;transform:translate(-50%,-50%);transition:background .1s ease}@media (hover: hover) and (pointer: fine){.joystick-wrap{opacity:.55}.joystick-wrap:hover{opacity:1}}@media (max-width: 1320px){.story-rail,.field-guide,.activity-dock,.chat-dock{width:min(300px,calc((100vw - 3rem)/2))}}.join-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#020617e0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;padding:1.25rem;padding-top:calc(1.25rem + var(--safe-top));padding-bottom:calc(1.25rem + var(--safe-bottom));z-index:40}.join-card{width:min(440px,100%);background:#0d1629f2;border:1px solid var(--border);border-radius:1.5rem;padding:1.75rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 30px 80px #1e40af59}.join-card h1{margin:0;font-size:2rem;color:#a5b4fc;text-shadow:0 6px 18px rgba(99,102,241,.36)}.join-card p{margin:0;color:var(--text-muted);line-height:1.5;font-size:.95rem}.join-card label{display:flex;flex-direction:column;gap:.45rem;color:#cbd5f5;font-size:.85rem}.join-hint{font-size:.8rem;color:#94a3b8b3}.auth-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.auth-chip{min-height:44px;border-radius:.85rem;border:1px solid rgba(96,165,250,.18);background:#0f172a8f;color:#bfdbfe;font-weight:700;letter-spacing:.02em}.auth-chip.is-active{background:linear-gradient(135deg,#38bdf83d,#6366f14d);border-color:#6366f185;color:#eff6ff;box-shadow:0 10px 24px #3b82f62e}.auth-summary{display:flex;flex-direction:column;gap:.25rem;padding:.85rem .95rem;background:#0f172a94;border:1px solid rgba(96,165,250,.22);border-radius:.95rem}.auth-summary strong{font-size:1rem;color:#e0f2fe}.auth-summary span{font-size:.82rem;color:#bfdbfec2}.join-tagline{color:var(--text-muted);font-size:.95rem;line-height:1.45}.how-to{list-style:none;margin:0;padding:.65rem .85rem;display:flex;flex-direction:column;gap:.45rem;background:#0f172a8c;border:1px solid rgba(96,165,250,.22);border-radius:.95rem}.how-to li{font-size:.88rem;color:#e2e8f0e0;line-height:1.35;display:flex;align-items:baseline;gap:.4rem}.how-to li strong{color:#7dd3fc;min-width:3.6rem;font-weight:600;letter-spacing:.04em}kbd{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;padding:.06rem .4rem;border-radius:.35rem;background:#38bdf82e;border:1px solid rgba(56,189,248,.4);color:#e0f2fe;margin:0 .1rem}.btn-primary{background:linear-gradient(135deg,#38bdf8,#6366f1);border:none;color:#fff;font-weight:700;font-size:1rem;padding:.95rem 1rem;border-radius:.85rem;cursor:pointer;box-shadow:0 14px 32px #6366f159;min-height:48px}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:#0f172ab8;border:1px solid rgba(148,163,184,.24);color:#cbd5e1;font-weight:600;font-size:.95rem;padding:.85rem 1rem;border-radius:.85rem;cursor:pointer;min-height:46px}.btn-secondary:disabled{opacity:.55;cursor:not-allowed}input,select,textarea,button{font-family:inherit;font-size:1rem;color:var(--text)}input,select,textarea{background:#0c1224d9;border:1px solid var(--border);border-radius:.75rem;padding:.75rem .9rem;min-height:44px}input:focus,select:focus,textarea:focus{outline:none;border-color:#3b82f6cc;box-shadow:0 0 0 3px #3b82f638}button{border:1px solid var(--border);background:linear-gradient(135deg,#38bdf8,#6366f1);color:#fff;font-weight:600;padding:.7rem 1rem;border-radius:.75rem;min-height:44px;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.sheet-root{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none;display:flex;align-items:flex-end;justify-content:center}.sheet-root.is-open{pointer-events:auto}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#02061700;transition:background .2s ease}.sheet-root.is-open .sheet-backdrop{background:#0206178c}.sheet{position:relative;width:100%;max-width:640px;max-height:82dvh;background:var(--bg-glass-strong);border-top:1px solid var(--border);border-left:1px solid var(--border);border-right:1px solid var(--border);border-radius:1.25rem 1.25rem 0 0;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .25s cubic-bezier(.22,1,.36,1);box-shadow:0 -20px 60px #0206178c;padding-bottom:var(--safe-bottom);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.sheet-root.is-open .sheet{transform:translateY(0)}.sheet-handle{display:flex;justify-content:center;align-items:center;padding:.65rem 0 .4rem;cursor:pointer}.sheet-handle span{display:block;width:44px;height:4px;background:#94a3b866;border-radius:999px}.sheet-tabs{display:flex;gap:.25rem;overflow-x:auto;padding:.25rem .75rem .75rem;border-bottom:1px solid var(--border);scrollbar-width:none}.sheet-tabs::-webkit-scrollbar{display:none}.sheet-tab{flex:1;min-width:90px;padding:.6rem .75rem;border-radius:.75rem;background:transparent;border:1px solid transparent;color:var(--text-muted);font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;cursor:pointer;min-height:40px}.sheet-tab.is-active{background:#38bdf824;border-color:#38bdf880;color:var(--accent)}.sheet-badge{background:var(--danger);color:#fff;font-style:normal;font-size:.7rem;font-weight:700;min-width:18px;height:18px;padding:0 .3rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.sheet-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:.75rem 1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.sheet-body::-webkit-scrollbar{width:4px}.sheet-body::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:999px}.tab-scroll{display:flex;flex-direction:column;gap:1rem}.skill-teaser-grid,.skill-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.skill-teaser-card{padding:.9rem 1rem;border-radius:.95rem;background:#0c1323b3;border:1px solid rgba(96,165,250,.18)}.skill-teaser-card strong{display:block;color:#f8fafc;font-size:.84rem;letter-spacing:.03em}.skill-teaser-card p{margin:.45rem 0 0;color:#e2e8f0d6;font-size:.84rem;line-height:1.45}.skill-card{min-width:0}.conjure-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.conjure-slot-card{display:flex;flex-direction:column;gap:.45rem;min-width:0}.conjure-slot-card.is-empty{border-style:dashed;opacity:.82}.conjure-slot-card header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.conjure-slot-card strong{color:#f8fafc;font-size:.92rem}.conjure-slot-card button{align-self:flex-start}.skill-stat-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}.skill-stat-row span{padding:.28rem .5rem;border-radius:999px;background:#0f172aa8;border:1px solid rgba(96,165,250,.16);color:#e2e8f0db;font-size:.72rem}.section{display:flex;flex-direction:column;gap:.5rem}.section h3{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:#93c5fdd9}.form-stack{display:flex;flex-direction:column;gap:.5rem}.row{display:flex;justify-content:space-between;align-items:center;background:#0c1323b3;border:1px solid var(--border);border-radius:.9rem;padding:.7rem .9rem;gap:.75rem}.row>div{min-width:0;flex:1}.row strong{display:block;color:var(--text);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row p{margin:.1rem 0 0;font-size:.78rem;color:#d1d5db99;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row span{font-size:1.1rem;font-weight:700;color:var(--warning)}.leaderboard-row.is-self{border-color:#38bdf899;background:#0e749038}.grade-badge{display:inline-block;margin-left:.4rem;padding:.05rem .4rem;border-radius:.35rem;font-size:.65rem;font-weight:700;letter-spacing:.05em;font-style:normal;vertical-align:middle;border:1px solid transparent}.grade-S{color:#fef3c7;background:#fbbf2447;border-color:#fbbf2499}.grade-A{color:#bbf7d0;background:#34d39938;border-color:#34d39980}.grade-B{color:#bae6fd;background:#38bdf838;border-color:#38bdf880}.grade-C{color:#fed7aa;background:#fb923c38;border-color:#fb923c80}.grade-D{color:#fecaca;background:#f8717140;border-color:#f871718c}.milestone-chip{font-weight:700;color:var(--warning);letter-spacing:.02em}.hazard-count{color:#fca5a5!important;animation:hazard-pulse 1.6s ease-in-out infinite}@keyframes hazard-pulse{0%,to{text-shadow:0 0 0 rgba(248,113,113,0)}50%{text-shadow:0 0 10px rgba(248,113,113,.6)}}.mult-chip{font-weight:700;padding:.05rem .5rem;border-radius:.45rem;font-size:.75rem;letter-spacing:.02em}.mult-chip.mult-up{background:#34d39938;border:1px solid rgba(52,211,153,.55);color:#bbf7d0;box-shadow:0 0 12px #34d39940}.mult-chip.mult-down{background:#f8717138;border:1px solid rgba(248,113,113,.55);color:#fecaca}.faction-standing.is-own{border-color:#38bdf88c;background:#0e74902e}.faction-standing span{color:var(--success)}.event-card{border-left:4px solid rgba(148,163,184,.4)}.event-card.kind-ether_storm{border-left-color:#fbbf24}.event-card.kind-quantum_fissure{border-left-color:#ef4444}.event-card.kind-nanite_swarm{border-left-color:#94a3b8}.event-card.kind-void_wyvern{border-left-color:#f0abfc}.event-card.kind-convergence{border-left-color:#60a5fa}.event-effect{margin:0;color:#a5b4fc;font-size:.82rem;letter-spacing:.02em;font-weight:600}.tab-blurb{margin:0 0 .5rem;font-size:.82rem;color:var(--text-muted);line-height:1.4}.card{background:#0c1323b3;border:1px solid var(--border);border-radius:.9rem;padding:.7rem .85rem;display:flex;flex-direction:column;gap:.35rem}.card header{display:flex;justify-content:space-between;font-size:.78rem;color:#bfdbfecc;letter-spacing:.08em}.card header em{font-style:normal;color:var(--warning)}.card p{margin:0;font-size:.9rem;line-height:1.4;color:#e2e8f0e6}.mission-card{border-color:#5eead447;box-shadow:inset 0 0 0 1px #5eead414}.motion-card{border-color:#fbbf2447;box-shadow:inset 0 0 0 1px #fbbf2414}.law-card{border-color:#60a5fa47;box-shadow:inset 0 0 0 1px #60a5fa14}.inline-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.35rem}.inline-actions button{min-height:36px;padding:.45rem .8rem;font-size:.82rem;border-radius:.7rem}.inline-actions button.is-active{border-color:#60a5fa85;background:#1d4ed838;color:#dbeafe}.muted{color:#94a3b899;font-size:.88rem;text-align:center;padding:1rem 0}.tab-chat{display:flex;flex-direction:column;gap:.75rem;min-height:50dvh}.chat-log{display:flex;flex-direction:column;gap:.5rem;flex:1;overflow-y:auto;overscroll-behavior:contain;padding-right:.25rem}.chat-line{background:#0f172abf;border:1px solid rgba(96,165,250,.2);border-radius:.85rem;padding:.55rem .75rem;display:flex;flex-direction:column;gap:.1rem}.chat-line.is-global{border-color:#5eead438}.chat-line.is-faction{border-color:#f472b657;background:linear-gradient(135deg,#44112dc2,#0f172adb)}.chat-line.is-zone{border-color:#60a5fa57;background:linear-gradient(135deg,#0a1c32c7,#0f172adb)}.chat-line header{display:flex;justify-content:space-between;align-items:baseline;font-size:.75rem}.chat-line header span{color:#7dd3fc;font-weight:600}.chat-line header em{font-style:normal;color:#e2e8f08c;font-size:.68rem}.chat-line p{margin:0;color:var(--text);font-size:.92rem;line-height:1.35}.chat-form{display:grid;grid-template-columns:90px 1fr auto;gap:.4rem}.chat-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.chat-chip{min-height:52px;padding:.55rem .7rem;border-radius:.9rem;background:#0f172ab8;border:1px solid rgba(148,163,184,.2);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.08rem;box-shadow:none}.chat-chip strong{font-size:.82rem;letter-spacing:.04em}.chat-chip span{font-size:.68rem;color:#e2e8f099}.chat-chip.is-active{border-color:#5eead47a;background:linear-gradient(135deg,#10303cdb,#0e1728db);box-shadow:0 10px 24px #0f766e2e}.chat-form select,.chat-form input{font-size:.95rem}.chat-form button{padding-left:1rem;padding-right:1rem}@media (min-width: 900px){.topbar{padding-left:calc(1.5rem + var(--safe-left));padding-right:calc(1.5rem + var(--safe-right))}.sheet{max-height:70dvh}.topbar-score strong{font-size:1.7rem}}@media (max-width: 360px){.topbar-score strong{font-size:1.2rem}.pilot-name{display:none}.chat-channels{grid-template-columns:1fr}.chat-form{grid-template-columns:1fr auto}.chat-form select{grid-column:1 / -1}}
