@font-face{font-family:"Inter";src:url("fonts/Inter-roman.var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("fonts/JetBrainsMono.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{
  --bg:#101114;--panel:#16181d;--raise:#1d2027;--line:#2a2e37;--fg:#e9ebf0;--body:#aab0bc;--muted:#737a88;
  --accent:#3279f9;--accent-bright:#6aa0ff;--cyan:#22d3ee;--good:#3fcf8e;--warn:#f2b84b;--bad:#ff7b72;
  --font-ui:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--radius:22px;--radius-sm:14px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--fg);font-family:var(--font-ui)}
body{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;position:relative;overflow-x:hidden}
.sky{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(1200px 600px at 50% -10%,rgba(50,121,249,.18),transparent 60%),radial-gradient(800px 400px at 80% 110%,rgba(34,211,238,.08),transparent 50%),var(--bg)}
.sky canvas{width:100%;height:100%;display:block}
.wrap{position:relative;z-index:1;width:100%;max-width:420px}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:20px;justify-content:center}
.brand img{width:44px;height:44px;border-radius:12px}
.brand h1{font-size:1.05rem;font-weight:600;letter-spacing:.02em;margin:0;color:var(--fg)}
.brand span{display:block;font-size:.72rem;color:var(--muted);font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px 24px;box-shadow:0 18px 60px rgba(0,0,0,.35),0 0 0 1px rgba(50,121,249,.08)}
.arcs{display:block;width:100%;height:56px;margin:-4px 0 16px}
.headline{font-size:1.35rem;line-height:1.35;font-weight:650;margin:0 0 18px;letter-spacing:-.01em}
.meta{display:grid;gap:10px;margin:0 0 22px;padding:0;list-style:none}
.meta li{display:flex;justify-content:space-between;gap:12px;font-size:.88rem;border-top:1px solid var(--line);padding-top:10px}
.meta li:first-child{border-top:0;padding-top:0}
.meta .k{color:var(--muted)}.meta .v{color:var(--fg);text-align:right;font-variant-numeric:tabular-nums}
.meta .v.mono{font-family:var(--font-mono);font-size:.8rem}
.countdown{font-family:var(--font-mono);font-size:1.6rem;color:var(--cyan);text-align:center;margin:4px 0 20px;letter-spacing:.04em}
.countdown.urgent{color:var(--warn)}.countdown.dead{color:var(--bad)}
.btn{display:block;width:100%;border:0;border-radius:16px;padding:16px 18px;font:inherit;font-weight:650;font-size:1.05rem;cursor:pointer;transition:transform .12s ease,opacity .12s ease}
.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-artemis{background:linear-gradient(180deg,var(--accent-bright),var(--accent));color:#fff;box-shadow:0 10px 28px rgba(50,121,249,.35),inset 0 1px 0 rgba(255,255,255,.18)}
.btn-deny{background:transparent;color:var(--muted);margin-top:10px;border:1px solid var(--line)}
.btn-deny:hover{color:var(--fg);border-color:var(--muted)}
.btn-secondary{background:var(--raise);color:var(--fg);border:1px solid var(--line);margin-top:12px}
.field{display:grid;gap:8px;margin-bottom:14px}
.field label{font-size:.78rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.field input,.field select{background:var(--raise);border:1px solid var(--line);border-radius:12px;color:var(--fg);padding:14px 14px;font:inherit;font-size:1rem}
.field input:focus,.field select:focus{outline:2px solid rgba(106,160,255,.45);border-color:var(--accent-bright)}
.note{font-size:.82rem;color:var(--muted);line-height:1.45;margin:14px 0 0}
.err{background:rgba(255,123,114,.1);border:1px solid rgba(255,123,114,.35);color:var(--bad);border-radius:12px;padding:12px 14px;font-size:.9rem;margin-bottom:14px}
.ok{background:rgba(63,207,142,.1);border:1px solid rgba(63,207,142,.35);color:var(--good);border-radius:12px;padding:12px 14px;font-size:.9rem;margin-bottom:14px}
.state{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted);margin-bottom:12px;letter-spacing:.04em;text-transform:uppercase}
.state i{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.state.stopped i{background:var(--bad)}.state.running i{background:var(--good)}.state.broken i{background:var(--warn)}
.hidden{display:none!important}
.footer{margin-top:18px;text-align:center;font-size:.72rem;color:var(--muted)}
