:root{--sudo-red: #8e1c22;--sudo-red-lit: #e0353c;--sudo-red-bright: #ef5a60;--sudo-rust: #b0442a;--sudo-amber: #d99a2b;--sudo-accent-rgb: 224, 53, 60;--sudo-success: #3fb950;--sudo-warning: #d99a2b;--sudo-danger: #f85149;--sudo-info: #58a6ff;--sudo-idle: #8b8280;--sudo-radius: 3px;--sudo-radius-lg: 6px;--sudo-space-1: 4px;--sudo-space-2: 8px;--sudo-space-3: 12px;--sudo-space-4: 16px;--sudo-space-5: 20px;--sudo-space-6: 24px;--sudo-space-8: 32px;--sudo-space-12: 48px;--sudo-font-display: "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--sudo-font-body: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--sudo-font-mono: "Cascadia Mono", "Consolas", ui-monospace, "SFMono-Regular", monospace;--sudo-text-xs: 12px;--sudo-text-sm: 13px;--sudo-text-base: 14px;--sudo-text-md: 16px;--sudo-text-lg: 18px;--sudo-text-xl: 20px;--sudo-text-2xl: 24px;--sudo-text-3xl: 32px;--sudo-text-5xl: 48px;color-scheme:dark}:root,:root[data-theme=dark]{--sudo-bg: #0b0a0a;--sudo-panel: #141111;--sudo-panel-raised: #1b1616;--sudo-sunken: #0e0c0c;--sudo-border: #2b2424;--sudo-line-soft: #201a1a;--sudo-fg: #cbc6c4;--sudo-fg-strong: #f1eeec;--sudo-fg-muted: #8b8280;--sudo-accent: var(--sudo-red-lit);--sudo-link: var(--sudo-red-bright);--sudo-link-hover: #ff7a7f;--sudo-on-accent: #f1eeec;--sudo-grit: .03;--sudo-shadow: 0 1px 2px rgb(0 0 0 / .6), 0 4px 12px rgb(0 0 0 / .4);color-scheme:dark}:root[data-theme=light]{--sudo-bg: #f4f1ef;--sudo-panel: #eae4e2;--sudo-panel-raised: #e1dad8;--sudo-sunken: #e8e2e0;--sudo-border: #d8cfcd;--sudo-line-soft: #e2dbd9;--sudo-fg: #2a2422;--sudo-fg-strong: #16110f;--sudo-fg-muted: #6b6260;--sudo-accent: var(--sudo-red);--sudo-link: var(--sudo-red);--sudo-link-hover: #6b1218;--sudo-on-accent: #f4f1ef;--sudo-grit: .022;--sudo-shadow: 0 1px 2px rgb(0 0 0 / .08), 0 4px 12px rgb(0 0 0 / .06);color-scheme:light}@media(prefers-color-scheme:light){:root:not([data-theme]){--sudo-bg: #f4f1ef;--sudo-panel: #eae4e2;--sudo-panel-raised: #e1dad8;--sudo-sunken: #e8e2e0;--sudo-border: #d8cfcd;--sudo-line-soft: #e2dbd9;--sudo-fg: #2a2422;--sudo-fg-strong: #16110f;--sudo-fg-muted: #6b6260;--sudo-accent: var(--sudo-red);--sudo-link: var(--sudo-red);--sudo-link-hover: #6b1218;--sudo-on-accent: #f4f1ef;--sudo-grit: .022;color-scheme:light}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--sudo-bg);color:var(--sudo-fg);font-family:var(--sudo-font-body);font-size:var(--sudo-text-base);line-height:1.5;-webkit-font-smoothing:antialiased;position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:var(--sudo-grit);background-image:repeating-linear-gradient(135deg,rgb(255 255 255 / 1) 0px,rgb(255 255 255 / 1) 1px,transparent 1px,transparent 3px)}h1,h2,h3,h4{font-family:var(--sudo-font-display);font-weight:600;letter-spacing:-.011em;color:var(--sudo-fg-strong);margin:0}code,pre,.mono{font-family:var(--sudo-font-mono)}.tabular{font-variant-numeric:tabular-nums}a{color:var(--sudo-link);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--sudo-link-hover)}:focus-visible{outline:2px solid var(--sudo-link);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}#app{position:relative;z-index:1;min-height:100vh}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:var(--sudo-panel);border-right:1px solid var(--sudo-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:var(--sudo-space-3);padding:var(--sudo-space-5) var(--sudo-space-5) var(--sudo-space-4);border-bottom:1px solid var(--sudo-line-soft)}.brand-mark{width:30px;height:30px;flex:none;display:grid;place-items:center;background:var(--sudo-accent);color:var(--sudo-on-accent);font-family:var(--sudo-font-display);font-weight:700;font-size:15px;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.brand-text{font-family:var(--sudo-font-display);font-weight:600;font-size:var(--sudo-text-md);letter-spacing:.06em;text-transform:uppercase;color:var(--sudo-fg-strong);line-height:1.1}.brand-sub{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--sudo-fg-muted)}.nav{padding:var(--sudo-space-4) var(--sudo-space-3);display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.nav-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--sudo-fg-muted);padding:var(--sudo-space-4) var(--sudo-space-3) var(--sudo-space-2)}.nav-item{display:flex;align-items:center;gap:var(--sudo-space-3);padding:8px var(--sudo-space-3);border-radius:var(--sudo-radius);color:var(--sudo-fg);text-decoration:none;font-size:var(--sudo-text-base);border-left:2px solid transparent;transition:background .12s ease,color .12s ease}.nav-item:hover{background:var(--sudo-panel-raised);color:var(--sudo-fg-strong)}.nav-item.router-link-active{background:rgb(var(--sudo-accent-rgb) / .12);border-left-color:var(--sudo-accent);color:var(--sudo-fg-strong);font-weight:500}.nav-icon{width:16px;text-align:center;opacity:.8}.sidebar-foot{padding:var(--sudo-space-4);border-top:1px solid var(--sudo-line-soft);font-size:var(--sudo-text-xs);color:var(--sudo-fg-muted)}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sudo-space-4);padding:var(--sudo-space-4) var(--sudo-space-6);border-bottom:1px solid var(--sudo-border);background:var(--sudo-bg);position:sticky;top:0;z-index:5}.page-title{font-size:var(--sudo-text-xl);letter-spacing:.02em}.content{padding:var(--sudo-space-6);display:flex;flex-direction:column;gap:var(--sudo-space-5)}.grid{display:grid;gap:var(--sudo-space-4);grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.card{background:var(--sudo-panel);border:1px solid var(--sudo-border);border-radius:var(--sudo-radius-lg);padding:var(--sudo-space-5);box-shadow:var(--sudo-shadow)}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sudo-space-4)}.card-title{font-size:var(--sudo-text-base);font-family:var(--sudo-font-body);font-weight:600;color:var(--sudo-fg-strong)}.stat-label{font-size:var(--sudo-text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--sudo-fg-muted);margin-bottom:var(--sudo-space-2)}.stat-value{font-family:var(--sudo-font-display);font-size:var(--sudo-text-3xl);font-weight:600;color:var(--sudo-fg-strong);line-height:1.1}.stat-note{font-size:var(--sudo-text-xs);color:var(--sudo-fg-muted);margin-top:var(--sudo-space-2)}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:var(--sudo-text-xs);font-weight:500;border:1px solid currentColor;white-space:nowrap}.pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.pill.ok{color:var(--sudo-success)}.pill.warn{color:var(--sudo-warning)}.pill.bad{color:var(--sudo-danger)}.pill.idle{color:var(--sudo-idle)}.pill.info{color:var(--sudo-info)}.check-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sudo-space-4);padding:10px 0;border-bottom:1px solid var(--sudo-line-soft)}.check-row:last-child{border-bottom:none}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:var(--sudo-text-xs);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--sudo-fg-muted);padding:10px var(--sudo-space-4) 10px 0;border-bottom:1px solid var(--sudo-line-soft);white-space:nowrap}.data-table td{padding:10px var(--sudo-space-4) 10px 0;border-bottom:1px solid var(--sudo-line-soft);font-size:var(--sudo-text-sm);color:var(--sudo-fg);vertical-align:top}.data-table th:last-child,.data-table td:last-child{padding-right:0}.data-table tbody tr:last-child td{border-bottom:none}.check-name{font-family:var(--sudo-font-mono);font-size:var(--sudo-text-sm);color:var(--sudo-fg)}.check-meta{font-size:var(--sudo-text-xs);color:var(--sudo-fg-muted)}.empty{text-align:center;padding:var(--sudo-space-12) var(--sudo-space-6);border:1px dashed var(--sudo-border);border-radius:var(--sudo-radius-lg);background:var(--sudo-sunken)}.empty-title{font-family:var(--sudo-font-display);font-size:var(--sudo-text-xl);color:var(--sudo-fg-strong);margin-bottom:var(--sudo-space-2)}.empty-body{color:var(--sudo-fg-muted);max-width:46ch;margin:0 auto var(--sudo-space-5);font-size:var(--sudo-text-base)}.btn{display:inline-flex;align-items:center;gap:var(--sudo-space-2);padding:7px 14px;border-radius:var(--sudo-radius);border:1px solid var(--sudo-border);background:var(--sudo-panel-raised);color:var(--sudo-fg);font:inherit;font-size:var(--sudo-text-base);cursor:pointer}.btn:hover{color:var(--sudo-fg-strong);border-color:var(--sudo-fg-muted)}.btn-primary{background:var(--sudo-accent);border-color:var(--sudo-accent);color:var(--sudo-on-accent);font-weight:500}.btn-primary:hover{filter:brightness(1.1);color:var(--sudo-on-accent)}.muted{color:var(--sudo-fg-muted)}.banner{padding:var(--sudo-space-3) var(--sudo-space-4);border-radius:var(--sudo-radius);border:1px solid var(--sudo-border);background:var(--sudo-panel);font-size:var(--sudo-text-sm);display:flex;align-items:center;gap:var(--sudo-space-3)}.banner.warn{border-color:var(--sudo-warning);color:var(--sudo-warning)}.boot{min-height:100vh;display:grid;place-items:center}.boot-mark{width:40px;height:40px;display:grid;place-items:center;background:var(--sudo-accent);color:var(--sudo-on-accent);font-family:var(--sudo-font-display);font-weight:700;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);animation:boot-pulse 1.1s ease-in-out infinite}@keyframes boot-pulse{0%,to{opacity:.45}50%{opacity:1}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sudo-space-6);padding:var(--sudo-space-6)}.auth-brand{display:flex;align-items:center;gap:var(--sudo-space-3)}.auth-brand .brand-text,.auth-brand .brand-sub{display:block}.auth-card{width:100%;max-width:380px;background:var(--sudo-panel);border:1px solid var(--sudo-border);border-radius:var(--sudo-radius-lg);padding:var(--sudo-space-6);box-shadow:var(--sudo-shadow);display:flex;flex-direction:column;gap:var(--sudo-space-4)}.auth-title{font-size:var(--sudo-text-2xl);margin:0}.auth-sub{margin:calc(var(--sudo-space-3) * -1) 0 0;color:var(--sudo-fg-muted);font-size:var(--sudo-text-base)}.auth-alt,.auth-note{margin:0;font-size:var(--sudo-text-sm);color:var(--sudo-fg-muted);text-align:center}.auth-note{text-align:left;border-top:1px solid var(--sudo-line-soft);padding-top:var(--sudo-space-4);font-size:var(--sudo-text-xs);line-height:1.5}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:var(--sudo-text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--sudo-fg-muted)}.field-hint{font-size:var(--sudo-text-xs);color:var(--sudo-fg-muted);line-height:1.4}.field-hint.bad{color:var(--sudo-warning)}.input{width:100%;padding:9px 11px;border-radius:var(--sudo-radius);border:1px solid var(--sudo-border);background:var(--sudo-sunken);color:var(--sudo-fg-strong);font:inherit;font-size:var(--sudo-text-base)}.input:focus-visible{border-color:var(--sudo-link);outline:2px solid var(--sudo-link);outline-offset:1px}.input:disabled{opacity:.6}.form-error{margin:0;padding:var(--sudo-space-3);border-radius:var(--sudo-radius);border:1px solid var(--sudo-danger);color:var(--sudo-danger);font-size:var(--sudo-text-sm);background:#f8514914}.btn-block{width:100%;justify-content:center}.btn-small{padding:5px 10px;font-size:var(--sudo-text-xs)}.btn:disabled{opacity:.55;cursor:not-allowed}.org-switch{position:relative;padding:var(--sudo-space-3) var(--sudo-space-3) 0}.org-button{width:100%;text-align:left;padding:8px 10px;border-radius:var(--sudo-radius);border:1px solid var(--sudo-border);background:var(--sudo-sunken);color:var(--sudo-fg);font:inherit;cursor:pointer}.org-button:hover{border-color:var(--sudo-fg-muted)}.org-name{display:block;font-size:var(--sudo-text-sm);color:var(--sudo-fg-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-role{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--sudo-fg-muted)}.org-menu{position:absolute;z-index:20;left:var(--sudo-space-3);right:var(--sudo-space-3);margin:4px 0 0;padding:4px;list-style:none;background:var(--sudo-panel-raised);border:1px solid var(--sudo-border);border-radius:var(--sudo-radius);box-shadow:var(--sudo-shadow)}.org-menu-item{width:100%;display:flex;justify-content:space-between;gap:var(--sudo-space-3);padding:7px 9px;border:none;background:none;color:var(--sudo-fg);font:inherit;font-size:var(--sudo-text-sm);text-align:left;cursor:pointer;border-radius:var(--sudo-radius)}.org-menu-item:hover{background:var(--sudo-panel);color:var(--sudo-fg-strong)}.who{color:var(--sudo-fg-strong);font-size:var(--sudo-text-sm)}.who-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:var(--sudo-space-3)}.game-tile{display:flex;flex-direction:column;gap:4px;padding:var(--sudo-space-5);border-radius:var(--sudo-radius-lg);border:1px solid var(--sudo-border);background:var(--sudo-sunken);color:var(--sudo-fg);font:inherit;text-align:left;cursor:pointer}.game-tile:hover:not(:disabled){border-color:var(--sudo-accent);color:var(--sudo-fg-strong)}.game-tile.unavailable{opacity:.45;cursor:not-allowed}.game-name{font-family:var(--sudo-font-display);font-size:var(--sudo-text-lg);font-weight:600;color:var(--sudo-fg-strong)}.game-note{font-size:var(--sudo-text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--sudo-fg-muted)}.secret,.config{margin:0;padding:var(--sudo-space-4);border-radius:var(--sudo-radius);border:1px solid var(--sudo-border);background:var(--sudo-sunken);color:var(--sudo-fg-strong);font-size:var(--sudo-text-sm);white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all}.config{word-break:normal;-webkit-user-select:text;user-select:text;line-height:1.5}.meter{height:6px;margin-top:var(--sudo-space-3);border-radius:999px;border:1px solid var(--sudo-border);background:var(--sudo-sunken);overflow:hidden}.meter-fill{height:100%;background:var(--sudo-accent)}.meter-fill.full{background:var(--sudo-warning)}.tier{display:flex;flex-direction:column}.tier-action{margin-top:auto;padding-top:var(--sudo-space-4)}.card.current{border-color:var(--sudo-accent)}.stack{display:flex;flex-direction:column;gap:var(--sudo-space-4)}.field-row{display:grid;gap:var(--sudo-space-4);grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.cap-list{display:flex;flex-wrap:wrap;gap:var(--sudo-space-2)}@media(max-width:860px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.nav{flex-direction:row;overflow-x:auto}.nav-label,.sidebar-foot{display:none}.content{padding:var(--sudo-space-4)}.field-row{grid-template-columns:1fr}}.console{border:1px solid var(--sudo-border);border-radius:var(--sudo-radius);background:var(--sudo-sunken);overflow:hidden}.console-scroll{height:26rem;overflow-y:auto;padding:var(--sudo-space-4);font-family:var(--sudo-font-mono);font-size:var(--sudo-text-sm);line-height:1.6}.console-line{margin:0;display:flex;gap:var(--sudo-space-3);color:var(--sudo-fg);white-space:pre-wrap;word-break:break-word}.console-time{color:var(--sudo-fg-muted);flex:none}.console-mark{color:var(--sudo-accent);flex:none}.console-line-input{color:var(--sudo-fg-strong)}.console-line-error{color:var(--sudo-danger)}.console-line-system{color:var(--sudo-fg-muted)}.console-line-output{color:var(--sudo-fg)}.console-entry{display:flex;align-items:center;gap:var(--sudo-space-3);padding:var(--sudo-space-3) var(--sudo-space-4);border-top:1px solid var(--sudo-line-soft);background:var(--sudo-panel)}.console-prompt{color:var(--sudo-accent);font-family:var(--sudo-font-mono)}.console-input{flex:1;border:0;background:transparent;color:var(--sudo-fg-strong);font-family:var(--sudo-font-mono);font-size:var(--sudo-text-sm)}.console-input:focus{outline:none}
