:root{--paper:#131210;--card:#1c1a17;--ink:#e9e3d6;--ink2:#8f8878;--hair:#322e28;--accent:#d98850;--accent-deep:#eb9c63;--on-accent:#241505;--ready:#8fb573;--load:#d9a441;--down:#6b6459;--danger:#d2604a;--on-danger:#2a120d;--term:#0e0d0c;--shadow:0 14px 36px rgba(0,0,0,.45);--space-0:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:14px;--radius-pill:999px}html[data-theme=light]{--paper:#f2ecdd;--card:#faf6ea;--ink:#241d11;--ink2:#786a4e;--hair:#dcd2b8;--accent:#a34a24;--accent-deep:#833917;--on-accent:#f8f1e0;--ready:#3f7a3c;--load:#a8791c;--down:#93896f;--danger:#8e2f1f;--on-danger:#f8f1e0;--term:#0e0d0c;--shadow:0 14px 36px rgba(96,74,38,.12)}*{box-sizing:border-box}html{font-size:17px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Source Sans\ 3,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease;-webkit-tap-highlight-color:transparent;text-size-adjust:100%}.btn,.btn-icon,.ip,.link-btn,.show-more,.size-btn{touch-action:manipulation}html[data-theme=light] .input{background:#fff}h1,h2{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;letter-spacing:.01em;margin:0}h2{font-size:30px}.muted{color:var(--ink2)}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.eyebrow{font-size:12px;letter-spacing:.24em}.eyebrow,.eyebrow-sm{text-transform:uppercase;color:var(--ink2)}.eyebrow-sm{font-size:11px;letter-spacing:.18em;display:block;margin-bottom:2px}.row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.wrap{max-width:1360px;margin:0 auto;padding:38px 48px 90px}.topbar{display:flex;align-items:baseline;gap:26px;flex-wrap:wrap;padding-bottom:var(--space-5);border-bottom:1px solid var(--hair);width:100%}.brand{font-size:36px;line-height:1}.ornament{font-family:Cormorant Garamond,serif;font-size:20px;color:var(--ink2)}.tabs{display:flex;gap:22px;margin-left:auto}.tab{background:none;cursor:pointer;font:inherit;font-size:15px;padding:4px 2px;color:var(--ink2);border:none;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}.tab.on,.tab:hover{color:var(--ink)}.tab.on{border-bottom-color:var(--accent)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar-actions{display:flex;gap:20px;align-items:baseline}.topbar-actions .btn.ghost{border:none;background:none;padding:4px 2px;font-size:14px;color:var(--ink2);white-space:nowrap;border-radius:0}.topbar-actions .btn.ghost:hover{background:none;color:var(--ink)}.em-datebar{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:var(--space-4) 2px 0;color:var(--ink2)}.em-date{font-family:Cormorant Garamond,serif;font-style:italic;font-size:18px}.build-row{margin-left:auto;display:flex;align-items:baseline;gap:8px;font-size:14px}.build-select{font-family:Cormorant Garamond,serif;font-size:17px;color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--hair);padding:2px 2px 4px;cursor:pointer}.build-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.em-actions{flex-wrap:wrap;padding:var(--space-6) 2px;border-bottom:1px solid var(--hair)}.em-actions,.em-actions .spacer{display:flex;align-items:center;gap:14px}.em-actions .spacer{margin-left:auto}.btn{font:inherit;font-size:16px;font-weight:600;border:none;border-radius:var(--radius-sm);padding:13px 30px;cursor:pointer;background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow);transition:filter .15s ease,transform .05s ease,opacity .15s ease,background .15s ease,border-color .15s ease,color .15s ease}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none;box-shadow:none}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--hair);box-shadow:none;font-weight:400}.btn.ghost:hover{filter:none;border-color:var(--ink2)}.btn.danger{background:transparent;color:var(--danger);border:1px solid var(--danger);box-shadow:none}.btn.danger:hover{filter:none;background:var(--danger);color:var(--on-danger)}.btn.plain{background:none;border:none;box-shadow:none;color:var(--ink2);font-size:14px;font-weight:400;padding:10px}.btn.plain:hover{filter:none;color:var(--ink)}.btn-icon{width:44px;height:44px;border-radius:50%;border:1px solid var(--hair);background:transparent;color:var(--ink2);font-size:17px;cursor:pointer;transition:border-color .15s ease}.btn-icon:hover{border-color:var(--ink2)}.input{font:inherit;font-size:17px;width:100%;padding:13px 16px;border:1px solid var(--hair);border-radius:var(--radius-sm);background:transparent;color:var(--ink);outline:none}.input:focus{border-color:var(--accent)}.em-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:38px;gap:38px;padding:var(--space-7) 2px var(--space-7);border-bottom:1px solid var(--hair);align-items:start}.status-row{display:flex;align-items:center;gap:16px;margin-top:10px}.status-dot{width:13px;height:13px;border-radius:50%;flex:none}.status-word{font-family:Cormorant Garamond,serif;font-weight:500;font-size:52px;line-height:1.05}.status-note{font-size:14px;color:var(--ink2);margin-top:12px}.ip{font-family:JetBrains Mono,monospace;font-size:14px;background:transparent;color:var(--accent);border:1px dashed var(--hair);border-radius:var(--radius-sm);padding:8px 14px;cursor:pointer;letter-spacing:.02em;transition:border-color .15s ease,color .15s ease}.ip:hover{border-color:var(--accent)}.ip.copied{color:var(--ready);border-color:var(--ready);border-style:solid;animation:copied-pop .18s ease}@keyframes copied-pop{0%{transform:scale(.94)}60%{transform:scale(1.05)}to{transform:scale(1)}}.players{font-family:JetBrains Mono,monospace;margin-top:12px}.idle,.players{font-size:13px;color:var(--ink2)}.idle{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.idle-timer{font-weight:600;color:var(--load)}.idle-timer.danger{color:var(--danger)}.metric-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid var(--hair)}.metric-row:first-child{padding-top:6px}.metric-val{font-family:Source Sans\ 3,sans-serif;font-size:23px;font-weight:600;letter-spacing:.01em}.metric-val.danger,.metric-val.warn{color:var(--load)}.metric-sub{font-size:13px;color:var(--ink2)}.metric-sub.warn{color:var(--load)}.disk-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0 0}.disk-track{height:3px;background:var(--hair);margin:10px 0 6px}.disk-fill{height:100%;background:var(--ready);transition:width .3s ease}.disk-fill.danger{background:var(--danger)}.disk-sub{font-size:13px;color:var(--ink2);text-align:right}.section{padding:var(--space-7) 2px var(--space-7);border-bottom:1px solid var(--hair)}.section-backups,.section-stats{padding:var(--space-7) 2px var(--space-3)}.section-stats{border-top:1px solid var(--hair)}.section-head{display:flex;align-items:baseline;gap:18px;margin-bottom:var(--space-6);flex-wrap:wrap}.section-tagline{font-family:Cormorant Garamond,serif;font-style:italic;font-size:16px;color:var(--ink2)}.stage-bar{gap:12px;flex-wrap:wrap}.stage,.stage-bar{display:flex;align-items:center}.stage{gap:9px;flex:none}.stage-dot{width:12px;height:12px;border-radius:50%;flex:none;box-sizing:border-box;background:transparent;border:2px solid var(--down);transition:background .3s ease,border-color .3s ease}.stage-num{font-family:Cormorant Garamond,serif;font-style:italic;font-size:16px;color:var(--down)}.stage-label{font-size:13.5px;color:var(--ink2);white-space:nowrap}.stage-track{flex:1 1 26px;min-width:16px;height:1px;background:var(--hair)}.stage-done .stage-dot{background:var(--ready);border-color:var(--ready)}.stage-done .stage-num{color:var(--ink2)}.stage-done .stage-label{color:var(--ink)}.stage-done .stage-track{background:var(--ready)}.stage-active .stage-dot{background:var(--ready);border-color:var(--ready);animation:pulse 2s ease-out infinite}.stage-active .stage-num{color:var(--ink2)}.stage-active .stage-label{color:var(--ink);font-weight:600;font-style:italic}@keyframes pulse{0%,to{box-shadow:0 0 0 0 hsla(95,31%,58%,.55)}50%{box-shadow:0 0 0 8px hsla(95,31%,58%,0)}}@keyframes pulse-amber{0%,to{box-shadow:0 0 0 0 rgba(217,164,65,.55)}50%{box-shadow:0 0 0 8px rgba(217,164,65,0)}}.stage-warn .stage-dot{background:var(--load);border-color:var(--load)}.stage-error .stage-dot{background:var(--danger);border-color:var(--danger)}.stage-error .stage-label{color:var(--danger)}.last-line{margin-top:var(--space-5);display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--ink2)}.last-line .eta{margin-left:auto;font-family:Cormorant Garamond,serif;font-style:italic;font-size:15px;color:var(--ink2);white-space:nowrap}.em-activity{cursor:pointer}.em-activity:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mon-inner{max-width:560px}.mon-verdict-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:var(--space-5)}.mon-verdict{font-family:Cormorant Garamond,serif;font-style:italic;font-size:24px}.mon-verdict.ok{color:var(--ready)}.mon-verdict.warn{color:var(--load)}.mon-verdict.crit{color:var(--danger)}.mon-tps{font-family:JetBrains Mono,monospace;font-size:14px}.mon-tps .muted{color:var(--ink2)}.mon-grid{display:grid;grid-template-columns:52px 1fr auto;grid-gap:14px 16px;gap:14px 16px;align-items:center}.mon-label{font-size:12px;letter-spacing:.18em;color:var(--ink2)}.mon-bar{height:4px;background:var(--hair)}.mon-fill{height:100%}.mon-fill.ok{background:var(--ready)}.mon-fill.warn{background:var(--load)}.mon-fill.crit{background:var(--danger)}.mon-val{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--ink2);text-align:right}.backup-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding:17px 2px;border-bottom:1px solid var(--hair);font-size:14px;transition:background .15s ease}.backup-row:last-child{border-bottom:none}.backup-no{font-family:Cormorant Garamond,serif;font-style:italic;font-size:16px;color:var(--ink2);min-width:26px}.backup-name{font-family:JetBrains Mono,monospace;font-size:14px}.backup-size{margin-left:auto;font-size:14px;color:var(--ink2)}.backup-links{display:flex;gap:18px}.link-btn{border:none;background:none;padding:0;cursor:pointer;font:inherit;font-size:14px;color:var(--accent)}.link-btn:hover{text-decoration:underline}.link-btn:disabled{color:var(--down);cursor:not-allowed;text-decoration:none}.link-btn.muted-link{color:var(--ink2)}.link-btn.muted-link:hover{color:var(--danger)}.badge{font-size:13px}.stats-live{display:flex;align-items:baseline;gap:14px;margin-bottom:var(--space-5)}.stats-live-timer{font-family:Source Sans\ 3,sans-serif;font-size:30px;font-weight:600;letter-spacing:.01em;line-height:1}.stat-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,auto));grid-gap:26px 40px;gap:26px 40px;justify-content:start;padding:16px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin-bottom:4px}.stat-val{font-family:Source Sans\ 3,sans-serif;font-size:22px;font-weight:600}.session-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:14px 2px;border-bottom:1px solid var(--hair)}.session-date{font-size:13.5px}.kind-pill,.session-date{font-family:JetBrains Mono,monospace}.kind-pill{font-size:11px;letter-spacing:.08em;border-radius:var(--radius-pill);padding:1px 10px}.kind-pill.create{color:var(--accent);border:1px solid var(--accent)}.kind-pill.start{color:var(--ink2);border:1px solid var(--ink2)}.session-right{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--ink2)}.show-more{border:none;background:none;padding:0;cursor:pointer;font-family:Cormorant Garamond,serif;font-style:italic;font-size:17px;color:var(--ink2);margin-top:var(--space-4)}.show-more:hover{color:var(--ink)}.term-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:var(--space-4)}.size-btn{font:inherit;font-size:13px;border:1px solid var(--hair);background:transparent;color:var(--ink);border-radius:var(--radius-sm);padding:7px 16px;cursor:pointer;transition:all .15s ease}.size-btn:hover{border-color:var(--ink2)}.size-btn.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.size-btn.stop{color:var(--danger);border-color:var(--danger);white-space:nowrap}.size-btn.stop:hover{background:var(--danger);color:var(--on-danger)}.terminal{background:var(--term);color:#d9cfba;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13.5px;line-height:1.75;border-radius:var(--radius-md);padding:18px 22px;overflow:auto;white-space:pre-wrap;word-break:break-word;box-shadow:var(--shadow);resize:both;max-width:100%}.term-half{height:42vh;min-height:240px}.term-large{height:72vh;min-height:480px}.term-full{position:static;flex:1 1;height:auto;min-height:0;margin:0;resize:none}.term-exit-inline{font:inherit;font-size:14px;font-weight:600;border:none;border-radius:var(--radius-sm);padding:10px 20px;background:var(--accent);color:var(--on-accent);cursor:pointer}.term-exit-inline:hover{filter:brightness(1.08)}.fs-overlay{position:fixed;inset:0;z-index:1000;background:var(--paper);display:flex;flex-direction:column;padding:18px;gap:14px}.fs-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rcon-out{background:var(--term);color:#d9cfba;border-radius:var(--radius-md);padding:16px 22px;margin-bottom:var(--space-4);font-family:JetBrains Mono,monospace;font-size:13.5px;line-height:1.75;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto;box-shadow:var(--shadow)}.rcon-form{display:flex;gap:12px;align-items:center;margin-bottom:var(--space-3)}.rcon-form .input{flex:1 1;min-width:0;font-family:JetBrains Mono,monospace}.card{background:var(--card);border:1px solid var(--hair);border-radius:var(--radius-md);padding:30px 28px;box-shadow:var(--shadow)}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-box{width:100%;max-width:400px;text-align:center}.auth-title{font-family:Cormorant Garamond,serif;font-weight:500;font-size:54px;line-height:1.1;letter-spacing:.01em;white-space:nowrap;transform:scaleX(.94);transform-origin:center;margin:0 0 22px}.auth-box .card{text-align:left;display:flex;flex-direction:column;gap:18px}.auth-box .input{border:none;border-bottom:1px solid var(--hair);border-radius:0;padding:10px 2px;background:transparent}.auth-box .btn{margin-top:8px;width:100%}.modal-overlay{position:fixed;inset:0;z-index:2000;background:rgba(16,10,3,.55);display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--hair);border-top:3px solid var(--danger);padding:32px 34px;width:100%;max-width:460px;box-shadow:var(--shadow)}.modal h2{font-size:32px;margin-bottom:10px}.modal p{font-size:15px;line-height:1.6;color:var(--ink2)}.toasts{position:fixed;z-index:3000;left:50%;transform:translateX(-50%);bottom:26px;display:flex;flex-direction:column;gap:8px;align-items:center;width:max-content;max-width:92vw;pointer-events:none}.toast{pointer-events:auto;background:var(--card);color:var(--ink);border:1px solid var(--hair);border-left:3px solid var(--ink2);border-radius:var(--radius-md);padding:12px 18px;font-size:14px;box-shadow:var(--shadow);animation:toast-in .25s ease both}.toast.ok{border-left-color:var(--ready)}.toast.err{border-left-color:var(--danger)}.toast.info{border-left-color:var(--load)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fade-in{animation:fade-up .35s ease both}.btn-icon:focus-visible,.btn:focus-visible,.em-activity:focus-visible,.input:focus-visible,.ip:focus-visible,.link-btn:focus-visible,.mab-btn:focus-visible,.size-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skeleton{display:inline-block;background:var(--hair);position:relative;overflow:hidden;vertical-align:middle}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.14),transparent);transform:translateX(-100%);animation:shimmer 1.5s infinite}@keyframes shimmer{to{transform:translateX(100%)}}.mobile-actionbar{display:none}@media (prefers-reduced-motion:reduce){.fade-in,.ip.copied,.modal.sheet,.skeleton:after,.stage-active .stage-dot,.toast{animation:none!important}*{transition-duration:.01ms!important}}@media (max-width:1024px){.wrap{padding:32px 28px 90px}.em-cols{gap:24px}}@media (max-width:640px){html{font-size:16px}.wrap{padding:22px max(16px,env(safe-area-inset-right)) calc(84px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:800;background:var(--paper);padding-top:max(4px,env(safe-area-inset-top));padding-bottom:10px;margin-bottom:2px;gap:10px}.tabs,.topbar-actions{gap:14px}.brand{font-size:26px}h2{font-size:22px}.status-word{font-size:38px}.em-cols{grid-template-columns:1fr;gap:28px;padding:var(--space-5) 2px}.em-actions{display:none}.mobile-actionbar{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;left:0;right:0;bottom:0;z-index:900;grid-gap:2px;gap:2px;background:var(--card);border-top:1px solid var(--hair);padding:8px 6px max(8px,env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(0,0,0,.25)}.mab-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;color:var(--ink2);font:inherit;font-size:11px;font-weight:500;padding:7px 2px;border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;transition:background .12s ease,color .12s ease}.mab-btn:active{background:var(--hair)}.mab-btn.primary{color:var(--accent)}.mab-btn.danger{color:var(--danger)}.mab-btn:disabled{opacity:.35}.ip{font-size:14px;padding:6px 12px}.modal-overlay{align-items:flex-end;padding:0}.modal.sheet{max-width:100%;width:100%;border-radius:20px 20px 0 0;border-top:3px solid var(--danger);padding:22px 18px max(22px,env(safe-area-inset-bottom));animation:sheet-up .28s cubic-bezier(.2,.8,.2,1) both}.toasts{bottom:calc(82px + env(safe-area-inset-bottom))}.stage-bar{flex-direction:column;align-items:flex-start;gap:10px}.stage-track{display:none}.terminal{resize:none;height:50vh;min-height:280px;font-size:13px;padding:16px}.term-half{height:38vh;min-height:220px}.term-large{height:58vh;min-height:320px}.backup-row{gap:8px;padding:14px 0}.backup-name{flex:1 1 100%;word-break:break-all}.backup-size{margin-left:0}.auth-title{font-size:40px;transform:scaleX(.96);margin-bottom:18px}.auth-box{max-width:100%}.input{font-size:16px}.modal{padding:24px 20px}}@media (max-width:400px){html{font-size:15px}.brand{font-size:22px}.mab-btn{font-size:10px}}