:root{--bg-0: #04050f;--bg-1: #0a0d24;--panel: rgba(18, 22, 54, .55);--panel-strong: rgba(22, 27, 66, .82);--border: rgba(148, 163, 255, .14);--border-strong: rgba(148, 163, 255, .28);--text: #eef0ff;--text-dim: #a5abd6;--text-faint: #6f76a8;--cyan: #22d3ee;--violet: #a855f7;--indigo: #7c5cff;--pink: #f472b6;--nominal: #34d399;--caution: #fbbf24;--critical: #fb7185;--unknown: #64748b;--grad: linear-gradient(120deg, #22d3ee 0%, #7c5cff 50%, #f472b6 100%);--radius: 20px;--radius-sm: 12px;--shadow: 0 20px 60px -20px rgba(0, 0, 0, .7);--font-head: "Space Grotesk", "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 800px at 80% -10%,#1b1450 0%,transparent 60%),radial-gradient(900px 700px at -10% 110%,#052b3d 0%,transparent 60%),var(--bg-0);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-head);margin:0;letter-spacing:-.01em}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}::selection{background:#7c5cff73}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#94a3ff33;border-radius:10px}::-webkit-scrollbar-track{background:transparent}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.nebula{position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:0;pointer-events:none;opacity:.55;background:radial-gradient(40% 30% at 70% 20%,rgba(124,92,255,.25),transparent 70%),radial-gradient(35% 30% at 20% 80%,rgba(34,211,238,.18),transparent 70%),radial-gradient(30% 25% at 90% 85%,rgba(244,114,182,.14),transparent 70%);animation:drift 40s ease-in-out infinite alternate}@keyframes drift{to{transform:translate3d(-4%,3%,0) rotate(4deg)}}.app{position:relative;z-index:1;display:grid;grid-template-columns:260px 1fr;min-height:100vh}.main{min-width:0;padding:22px 32px 60px}.page{max-width:1320px;margin:0 auto}.sidebar{position:sticky;top:0;height:100vh;padding:24px 16px;display:flex;flex-direction:column;gap:6px;background:linear-gradient(180deg,#0a0d24d9,#060818b3);border-right:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;padding:4px 10px 22px}.brand-mark{width:42px;height:42px;position:relative}.brand-name{font-family:var(--font-head);font-weight:700;font-size:21px}.brand-name span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.brand-sub{font-size:11px;color:var(--text-faint);letter-spacing:.18em;text-transform:uppercase}.nav-link{position:relative;display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:14px;color:var(--text-dim);font-weight:500;transition:color .25s,background .25s}.nav-link:hover{color:var(--text);background:#7c5cff14}.nav-link.active{color:#fff}.nav-pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;z-index:-1;background:linear-gradient(120deg,#22d3ee2e,#7c5cff47);border:1px solid rgba(124,92,255,.45);box-shadow:0 0 24px -6px #7c5cff99}.nav-badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--caution);color:#1a1300;font-size:12px;font-weight:700;display:grid;place-items:center}.sidebar-foot{margin-top:auto;padding:14px;border-radius:16px;background:var(--panel);border:1px solid var(--border);font-size:12px;color:var(--text-faint)}.topbar{display:flex;align-items:center;gap:14px;margin-bottom:26px;flex-wrap:wrap}.topbar h1{font-size:30px;font-weight:700}.topbar .sub{color:var(--text-dim);font-size:14px;margin-top:2px}.topbar .spacer{flex:1}.chip{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;background:var(--panel);border:1px solid var(--border);font-size:13px;color:var(--text-dim);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap}.chip strong{color:var(--text);font-weight:600}.crew-switch{position:relative}.crew-btn{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;cursor:pointer;background:var(--panel-strong);border:1px solid var(--border-strong)}.crew-btn:hover{border-color:#7c5cffb3}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff;box-shadow:0 0 0 2px #ffffff1f,0 0 18px -2px currentColor}.crew-menu{position:absolute;right:0;top:calc(100% + 8px);width:260px;padding:8px;z-index:30;background:var(--panel-strong);border:1px solid var(--border-strong);border-radius:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow)}.crew-item{display:flex;align-items:center;gap:10px;padding:9px;border-radius:10px;cursor:pointer}.crew-item:hover{background:#7c5cff24}.glass{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow)}.glass.pad{padding:22px}.glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 40%)}.panel-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;margin-bottom:16px}.panel-title .muted{margin-left:auto;font-family:var(--font-body);font-weight:500}.muted{color:var(--text-dim);font-size:13px}.faint{color:var(--text-faint);font-size:12px}.grid{display:grid;gap:18px}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}.hero{grid-template-columns:1.25fr 1fr 1fr}.row{display:flex;align-items:center;gap:10px}.wrap{flex-wrap:wrap}.mt{margin-top:18px}.mt-l{margin-top:28px}.gradient-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;padding:11px 18px;border-radius:12px;border:1px solid var(--border-strong);background:#ffffff0a;color:var(--text);font-weight:600;transition:all .2s}.btn:hover{background:#ffffff17;transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{border:none;background:var(--grad);background-size:200% 100%;color:#fff;box-shadow:0 10px 30px -10px #7c5cffcc;animation:shimmer 6s linear infinite}.btn.primary:hover{box-shadow:0 14px 34px -8px #7c5cff}@keyframes shimmer{to{background-position:200% 0}}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn.ghost:hover{color:var(--text);background:#ffffff0d}.btn.sm{padding:7px 12px;font-size:13px;border-radius:10px}.btn.danger{border-color:#fb718566;color:var(--critical)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:var(--text-dim);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.input,select.input,textarea.input{width:100%;padding:12px 14px;border-radius:12px;outline:none;background:#06081a99;border:1px solid var(--border-strong);transition:border .2s,box-shadow .2s}.input:focus{border-color:var(--indigo);box-shadow:0 0 0 4px #7c5cff33}select.input option{background:#12163a}.big-input{font-family:var(--font-head);font-size:44px;font-weight:700;text-align:center;padding:14px;letter-spacing:-.02em}.tabs{display:inline-flex;gap:4px;padding:4px;border-radius:14px;background:#06081a99;border:1px solid var(--border);flex-wrap:wrap}.tab{position:relative;padding:8px 14px;border-radius:10px;cursor:pointer;color:var(--text-dim);font-weight:600;font-size:13px;background:none;border:none;z-index:0}.tab.active{color:#fff}.tab-pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;background:linear-gradient(120deg,#22d3ee40,#7c5cff66);z-index:-1}.s-nominal{--s: var(--nominal)}.s-caution{--s: var(--caution)}.s-critical{--s: var(--critical)}.s-unknown{--s: var(--unknown)}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--s);background:color-mix(in srgb,var(--s) 14%,transparent);border:1px solid color-mix(in srgb,var(--s) 40%,transparent)}.dot{width:8px;height:8px;border-radius:50%;background:var(--s);box-shadow:0 0 10px var(--s)}.dot.pulse{animation:pulse 1.8s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--s) 70%,transparent)}to{box-shadow:0 0 0 10px transparent}}.ind-card{padding:18px;cursor:pointer;overflow:hidden;transition:border-color .3s,transform .3s}.ind-card:hover{border-color:color-mix(in srgb,var(--s) 60%,transparent)}.ind-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--s);opacity:.8;box-shadow:0 0 18px var(--s)}.ind-top{display:flex;align-items:center;gap:10px;color:var(--text-dim);font-size:13px;font-weight:600}.ind-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--s);background:color-mix(in srgb,var(--s) 15%,transparent)}.ind-value{font-family:var(--font-head);font-size:34px;font-weight:700;margin-top:12px;letter-spacing:-.02em}.ind-value small{font-size:14px;color:var(--text-faint);font-weight:500;margin-left:4px}.ind-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--text-faint)}.alert{padding:16px;border-radius:16px;border:1px solid color-mix(in srgb,var(--s) 40%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--s) 12%,transparent),#0a0d2466)}.alert h4{font-size:15px;display:flex;align-items:center;gap:8px;color:var(--s)}.alert ul{margin:10px 0 0;padding-left:18px;color:var(--text-dim);font-size:13px}.alert li{margin:3px 0}.escalate{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 10px;border-radius:10px;background:#fb718529;color:#ffd1d9;font-size:12px;font-weight:600}.progress{height:10px;border-radius:10px;background:#ffffff12;overflow:hidden}.progress>div{height:100%;border-radius:inherit;background:var(--grad);box-shadow:0 0 16px #7c5cffcc}.stat{font-family:var(--font-head);font-size:26px;font-weight:700}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px}.kv dt{color:var(--text-faint)}.kv dd{margin:0;color:var(--text);font-weight:500}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.list li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--text-dim)}.list li svg{flex-shrink:0;margin-top:3px}.empty{text-align:center;padding:40px;color:var(--text-dim)}.due-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#ffffff08;border:1px solid var(--border)}.due-item .when{margin-left:auto;font-size:12px;font-weight:600}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;color:var(--text-faint);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:10px;border-bottom:1px solid var(--border)}.table td{padding:10px;border-bottom:1px solid rgba(148,163,255,.07)}.table tr:hover td{background:#7c5cff0d}.stepper{display:flex;gap:6px;margin-bottom:20px}.stepper>div{flex:1;height:5px;border-radius:5px;background:#ffffff14;overflow:hidden}.stepper>div>span{display:block;height:100%;background:var(--grad)}.pick{padding:14px;border-radius:14px;cursor:pointer;border:1px solid var(--border);background:#ffffff08;display:flex;align-items:center;gap:12px;transition:all .2s}.pick:hover{border-color:var(--border-strong)}.pick.on{border-color:var(--indigo);background:#7c5cff24;box-shadow:0 0 22px -8px var(--indigo)}.mood-row{display:flex;gap:10px;justify-content:center}.mood{font-size:40px;width:74px;height:74px;border-radius:20px;display:grid;place-items:center;cursor:pointer;border:1px solid var(--border);background:#ffffff08;transition:transform .2s}.mood:hover{transform:translateY(-4px) scale(1.05)}.mood.on{border-color:var(--indigo);background:#7c5cff33;box-shadow:0 0 30px -6px var(--indigo)}.how{counter-reset:s;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.how li{counter-increment:s;display:flex;gap:12px;font-size:14px;color:var(--text-dim)}.how li:before{content:counter(s);flex-shrink:0;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--cyan),var(--indigo))}.body-wrap{display:grid;grid-template-columns:minmax(320px,1fr) 1.1fr;gap:22px;align-items:start}.body-stage{position:relative;aspect-ratio:3 / 4.1;overflow:hidden}.body-stage svg{width:100%;height:100%}.scanline{position:absolute;left:0;right:0;height:80px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(34,211,238,.14),transparent);animation:scan 5s linear infinite}@keyframes scan{0%{top:-80px}to{top:100%}}.hotspot{cursor:pointer}.hotspot .ring{fill:none;stroke:var(--s);stroke-width:2;opacity:.8;transform-origin:center;transform-box:fill-box;animation:ripple 2.2s ease-out infinite}.hotspot .core{fill:var(--s);filter:drop-shadow(0 0 6px var(--s));transition:r .2s}.hotspot:hover .core,.hotspot.sel .core{r:9}@keyframes ripple{0%{transform:scale(.6);opacity:.9}to{transform:scale(2.4);opacity:0}}.quest{display:flex;align-items:center;gap:14px;padding:14px;border-radius:14px;cursor:pointer;border:1px solid var(--border);background:#ffffff08;transition:border .2s,background .2s;position:relative}.quest:hover{border-color:var(--border-strong)}.quest.done{background:#34d39914;border-color:#34d39959}.check{width:26px;height:26px;border-radius:8px;border:2px solid var(--border-strong);display:grid;place-items:center;flex-shrink:0}.quest.done .check{background:var(--nominal);border-color:var(--nominal);color:#052e1f}.xp-tag{margin-left:auto;white-space:nowrap;font-family:var(--font-mono);font-size:12px;color:var(--cyan)}.float-xp{position:absolute;right:20px;top:0;font-weight:700;color:var(--cyan);pointer-events:none;font-family:var(--font-mono)}.badge{padding:18px 12px;text-align:center;border-radius:16px;border:1px solid var(--border);background:#ffffff08}.badge .medal{width:56px;height:56px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center}.badge.earned .medal{background:conic-gradient(from 0deg,#22d3ee,#7c5cff,#f472b6,#22d3ee);color:#fff;box-shadow:0 0 26px -4px #7c5cffe6}.badge.locked{opacity:.45;filter:grayscale(1)}.badge.locked .medal{background:#ffffff0f}.hazard-letter{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-family:var(--font-head);font-size:28px;font-weight:700;background:var(--grad);color:#fff;box-shadow:0 10px 30px -10px #7c5cffe6}.accordion-head{display:flex;align-items:center;gap:14px;cursor:pointer;padding:16px 18px}.toasts{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:10px;z-index:100}.toast{min-width:280px;max-width:380px;padding:14px 16px;border-radius:14px;background:var(--panel-strong);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow);display:flex;gap:10px;align-items:flex-start;font-size:14px}.warp{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none}.warp-bar{position:fixed;top:0;left:0;height:3px;z-index:61;background:var(--grad);box-shadow:0 0 20px #7c5cff;pointer-events:none}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#02030cb3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px}.modal{width:min(560px,100%);max-height:90vh;overflow:auto}.loader{display:grid;place-items:center;min-height:50vh;gap:16px;color:var(--text-dim)}.orbit-loader{width:64px;height:64px;border-radius:50%;border:2px solid rgba(124,92,255,.2);position:relative;animation:spin 1.4s linear infinite}.orbit-loader:after{content:"";position:absolute;top:-6px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 16px var(--cyan)}@keyframes spin{to{transform:rotate(360deg)}}.disclaimer{font-size:12px;color:var(--text-faint);text-align:center;margin-top:40px}@media (max-width: 1200px){.hero{grid-template-columns:1fr 1fr}.g-4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 980px){.app{grid-template-columns:1fr}.sidebar{position:fixed;bottom:0;top:auto;left:0;right:0;height:auto;flex-direction:row;padding:8px;z-index:50;overflow-x:auto;border-right:none;border-top:1px solid var(--border)}.brand,.sidebar-foot,.nav-link span.label{display:none}.main{padding:16px 16px 100px}.g-2,.g-3,.hero,.body-wrap{grid-template-columns:1fr}.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.login-wrap{position:relative;z-index:1;min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(520px,100%);padding:32px 30px}.login-brand{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:10px}.login-orbit{width:54px;height:54px;border-radius:50%;border:2px solid rgba(124,92,255,.45);position:relative;box-shadow:0 0 30px -6px #7c5cff}.login-orbit span{position:absolute;top:-6px;left:50%;width:11px;height:11px;margin-left:-5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}.login-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.login-person{display:flex;flex-direction:column;align-items:center;padding:16px 10px;border-radius:16px;cursor:pointer;background:#ffffff08;border:1px solid var(--border);color:var(--text)}.login-person:hover{border-color:#7c5cff99;box-shadow:0 0 26px -10px #7c5cff}.pin-dots{display:flex;justify-content:center;gap:14px;margin:22px 0 10px}.pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong)}.pin-dot.on{background:var(--grad);border-color:transparent;box-shadow:0 0 14px #7c5cffe6}.pin-pad{display:grid;grid-template-columns:repeat(3,72px);gap:12px;justify-content:center;margin:14px 0}.pin-key{height:62px;border-radius:18px;font-size:24px;font-family:var(--font-head);font-weight:600;cursor:pointer;background:#ffffff0d;border:1px solid var(--border);color:var(--text);display:grid;place-items:center}.pin-key:hover{background:#7c5cff29;border-color:#7c5cff80}.emergency-bar{position:sticky;top:0;z-index:40;margin:-22px -32px 22px;padding:12px 32px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(90deg,#fb71854d,#fb71851f);border-bottom:1px solid rgba(251,113,133,.5);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#ffe4e8;font-size:14px}.emergency-bar strong{color:#fff}.role-tag{font-size:10px;font-weight:800;letter-spacing:.14em;padding:3px 8px;border-radius:6px;background:#22d3ee29;color:var(--cyan);border:1px solid rgba(34,211,238,.4)}textarea.input{resize:vertical;min-height:84px}@media (max-width: 980px){.emergency-bar{margin:-16px -16px 16px;padding:10px 16px}}.photo-stage{position:relative;margin:16px auto 0;border-radius:50%;overflow:hidden;background:#0a0d24;touch-action:none;box-shadow:0 0 0 4px #7c5cff59,0 0 40px -8px #7c5cffcc}.photo-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;box-shadow:inset 0 0 0 2px #ffffff40}.avatar-edit{position:relative;display:inline-block;cursor:pointer;border:none;background:none;padding:0}.avatar-edit .cam{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#fff;border:2px solid #0a0d24;box-shadow:0 0 12px #7c5cffcc}.avatar-edit:hover .avatar{filter:brightness(1.1)}.source-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px}.source-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;color:var(--text-dim);background:#ffffff0d;border:1px solid var(--border);text-decoration:none}a.source-chip:hover{color:#fff;border-color:#7c5cff99}.source-chip.official{color:#a5f3fc;border-color:#22d3ee73;background:#22d3ee14}.cov{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.cov.tracked{color:#34d399;background:#34d3991f;border:1px solid rgba(52,211,153,.4)}.cov.partly{color:#fbbf24;background:#fbbf241f;border:1px solid rgba(251,191,36,.4)}.cov.guidance{color:#a5b4fc;background:#a5b4fc1f;border:1px solid rgba(165,180,252,.4)}.cov.outside{color:#94a3b8;background:#94a3b81a;border:1px solid rgba(148,163,184,.35)}
