@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/**
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
* https://github.com/chjj/term.js
* @license MIT
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* Originally forked from (with the author's permission):
*   Fabrice Bellard's javascript vt100 for jslinux:
*   http://bellard.org/jslinux/
*   Copyright (c) 2011 Fabrice Bellard
*   The original design remains. The terminal itself
*   has been extended to include xterm CSI codes, among
*   other features.
*/.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{--tc-bg: #f4f4f4;--tc-panel: #ffffff;--tc-panel-2: #f7f7f7;--tc-panel-3: #eeeeee;--tc-text: #000000;--tc-text-2: #333333;--tc-soft: #555555;--tc-muted: #767676;--tc-dim: #999999;--tc-line-rgb: 0, 0, 0;--tc-inv: #000000;--tc-inv-text: #ffffff;--tc-red: #b30000;--tc-red-hover: #cc0000;--tc-pink: #ff1053;--tc-pink-hover: #ff3a72;--tc-cyan: #2ac4ea;--on-red: #ffffff;--on-pink: #ffffff;--on-cyan: #000000;--tc-red-rgb: 179, 0, 0;--tc-pink-rgb: 255, 16, 83;--tc-cyan-rgb: 42, 196, 234;--tc-red-text: #b30000;--tc-pink-text: #d4003f;--tc-cyan-text: #0a7fa0;--tc-shadow-float: 0 30px 80px rgba(0, 0, 0, .18);--tc-focus: 0 0 0 3px rgba(179, 0, 0, .35);--tc-font: "Geist Variable", "Geist", "Helvetica Neue", Helvetica, Arial, sans-serif;--tc-mono: "Geist Mono Variable", "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--ok-rgb: 0, 135, 90;--warn-rgb: 154, 103, 0;--orange-rgb: 212, 0, 63;--danger-rgb: 179, 0, 0;--calm-rgb: 10, 127, 160;--accent-rgb: 179, 0, 0;--bg: var(--tc-bg);--panel: var(--tc-panel);--panel-raised: var(--tc-panel-2);--border: rgba(var(--tc-line-rgb), .09);--border-strong: rgba(var(--tc-line-rgb), .2);--text: var(--tc-text);--text-dim: var(--tc-soft);--text-faint: var(--tc-muted);--accent: var(--tc-red-text);--accent-fill: var(--tc-red);--accent-hover: var(--tc-red-hover);--accent-soft: rgba(var(--accent-rgb), .08);--on-accent: var(--on-red);--ok: rgb(var(--ok-rgb));--warn: rgb(var(--warn-rgb));--orange: rgb(var(--orange-rgb));--danger: rgb(var(--danger-rgb));--grey: var(--tc-muted);--calm: rgb(var(--calm-rgb));--radius: 10px;--radius-lg: 18px;--font: var(--tc-font);--mono: var(--tc-mono);color-scheme:light}:root[data-theme=dark]{--tc-bg: #0b0b0b;--tc-panel: #151515;--tc-panel-2: #1d1d1d;--tc-panel-3: #282828;--tc-text: #ffffff;--tc-text-2: #e6e6e6;--tc-soft: #b3b3b3;--tc-muted: #8c8c8c;--tc-dim: #6b6b6b;--tc-line-rgb: 255, 255, 255;--tc-inv: #ffffff;--tc-inv-text: #000000;--tc-red-text: #ff4d4d;--tc-pink-text: #ff5a8a;--tc-cyan-text: #5fd6f2;--tc-shadow-float: 0 30px 80px rgba(0, 0, 0, .6);--tc-focus: 0 0 0 3px rgba(255, 77, 77, .45);--ok-rgb: 0, 208, 132;--warn-rgb: 252, 185, 0;--orange-rgb: 255, 90, 138;--danger-rgb: 255, 77, 77;--calm-rgb: 95, 214, 242;--accent-rgb: 255, 77, 77;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .3s}a{color:inherit}:focus-visible{outline:none;box-shadow:var(--tc-focus)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;transition-delay:0s!important}}button,input,textarea{font:inherit}.os-shell{display:flex;height:100dvh;overflow:hidden;padding:14px;gap:14px;background:var(--tc-bg)}.os-rail{width:264px;flex:none;display:flex;flex-direction:column;gap:24px;padding:22px 14px 14px;background:var(--tc-panel);border:1px solid rgba(var(--tc-line-rgb),.06);border-radius:24px;overflow-y:auto;overscroll-behavior:contain;z-index:20}.os-brand{display:flex;align-items:baseline;gap:8px;padding:0 10px;color:var(--tc-text);text-decoration:none}.os-brand__word{font:750 23px/1 var(--tc-font);letter-spacing:-.05em}.os-brand__word .dot{color:var(--tc-red-text)}.os-brand__os{font:500 11px/1 var(--tc-mono);letter-spacing:.08em;color:var(--tc-muted)}.os-nav{display:flex;flex-direction:column;gap:3px}.os-nav__item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:14px;color:var(--tc-text-2);text-decoration:none;transition:background .15s}.os-nav__item:hover{background:rgba(var(--tc-line-rgb),.05)}.os-nav__item.active{background:rgba(var(--tc-line-rgb),.07);color:var(--tc-text)}.os-nav__text{display:flex;flex-direction:column;gap:2px;min-width:0}.os-nav__label{font:500 14px/1.2 var(--tc-font)}.os-nav__sub{font:400 11.5px/1.2 var(--tc-font);color:var(--tc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.os-nav__group{padding:10px 10px 4px;font:500 10.5px/1 var(--tc-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--tc-dim)}.os-tile{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;font:600 13px/1 var(--tc-font)}.os-tile[data-accent=home]{background:rgba(var(--tc-line-rgb),.08);color:var(--tc-text)}.os-tile[data-accent=cyan]{background:rgba(var(--tc-cyan-rgb),.14);color:var(--tc-cyan-text)}.os-tile[data-accent=red]{background:rgba(var(--tc-red-rgb),.1);color:var(--tc-red-text)}.os-tile[data-accent=pink]{background:rgba(var(--tc-pink-rgb),.1);color:var(--tc-pink-text)}.os-nav__item.active .os-tile[data-accent=cyan]{background:var(--tc-cyan);color:var(--on-cyan)}.os-nav__item.active .os-tile[data-accent=red]{background:var(--tc-red);color:var(--on-red)}.os-nav__item.active .os-tile[data-accent=pink]{background:var(--tc-pink);color:var(--on-pink)}.os-nav__item.active .os-tile[data-accent=home]{background:var(--tc-inv);color:var(--tc-inv-text)}.os-count{margin-left:auto;flex:none;font:500 11px/1 var(--tc-mono);font-variant-numeric:tabular-nums;padding:4px 7px;border-radius:99px;background:var(--tc-red);color:var(--on-red)}.os-rail__foot{margin-top:auto;display:flex;flex-direction:column;gap:8px}.os-user{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:14px;min-width:0}.os-avatar{width:34px;height:34px;flex:none;border-radius:50%;background:var(--tc-red);color:var(--on-red);display:grid;place-items:center;font:600 13px/1 var(--tc-font)}.os-user__text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.os-user__name{font:500 13px/1.2 var(--tc-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.os-user__email{font:400 11.5px/1.2 var(--tc-font);color:var(--tc-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-chip-btn{flex:none;border:none;cursor:pointer;padding:7px 11px;border-radius:99px;background:var(--tc-panel-3);font:500 12px/1 var(--tc-font);color:var(--tc-text)}.os-chip-btn:hover:not(:disabled){background:rgba(var(--tc-line-rgb),.14)}.os-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;overflow:hidden}.os-top{display:flex;align-items:center;gap:12px;padding:4px 6px;min-height:46px;flex:none}.os-top .os-menu{display:none}.os-crumbs{display:flex;align-items:center;gap:8px;min-width:0;font:400 13px/1.2 var(--tc-font);color:var(--tc-muted);white-space:nowrap}.os-crumbs a{color:var(--tc-muted);text-decoration:none}.os-crumbs a:hover{color:var(--tc-text)}.os-crumbs [aria-current=page]{color:var(--tc-text);overflow:hidden;text-overflow:ellipsis}.os-search{margin-left:auto;display:flex;align-items:center;gap:10px;width:min(340px,40%);padding:10px 14px;border-radius:99px;background:var(--tc-panel);border:1px solid rgba(var(--tc-line-rgb),.06);font:400 13px/1 var(--tc-font);color:var(--tc-muted);white-space:nowrap;overflow:hidden;cursor:pointer}.os-search:hover{border-color:rgba(var(--tc-line-rgb),.14)}.os-search__text{overflow:hidden;text-overflow:ellipsis}.os-kbd{margin-left:auto;font:500 11px/1 var(--tc-mono);border:1px solid rgba(var(--tc-line-rgb),.12);border-radius:6px;padding:3px 6px}.os-clock{font:400 13px/1 var(--tc-mono);color:var(--tc-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.os-round{position:relative;cursor:pointer;width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;padding:0;background:var(--tc-panel);border:1px solid rgba(var(--tc-line-rgb),.08);color:var(--tc-text);font:400 15px/1 var(--tc-font)}.os-round:hover{background:var(--tc-panel-2)}.os-content{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.os-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0a0a09b3;display:grid;place-items:start center;padding:min(14vh,120px) 16px 16px;animation:os-fade .18s ease-out}@keyframes os-fade{0%{opacity:0}}.os-palette{width:min(600px,100%);background:var(--tc-panel-2);color:var(--tc-text);border:1px solid rgba(var(--tc-line-rgb),.08);border-radius:20px;box-shadow:var(--tc-shadow-float);overflow:hidden}.os-palette__input{all:unset;box-sizing:border-box;width:100%;padding:18px 20px;font:400 15px/1.2 var(--tc-font);color:var(--tc-text);border-bottom:1px solid rgba(var(--tc-line-rgb),.08)}.os-palette__input::placeholder{color:var(--tc-muted)}.os-palette__list{list-style:none;margin:0;padding:8px;max-height:min(56vh,460px);overflow-y:auto}.os-palette__item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;cursor:pointer}.os-palette__item[data-cursor=true]{background:rgba(var(--tc-line-rgb),.07)}.os-palette__item .os-tile{width:26px;height:26px;border-radius:8px;font-size:11px}.os-palette__label{flex:1;min-width:0;font-size:13.5px}.os-palette__hint{font:400 11px/1 var(--tc-mono);color:var(--tc-muted)}.os-palette__empty{padding:18px 12px;color:var(--tc-muted);font-size:13px}@media (max-width: 899px){.os-shell{padding:10px 12px 0;gap:0}.os-rail{position:fixed;top:10px;left:10px;bottom:10px;width:min(300px,86vw);transform:translate(calc(-100% - 20px));transition:transform .3s cubic-bezier(.65,0,.25,1);z-index:95;box-shadow:var(--tc-shadow-float)}.os-rail[data-open=true]{transform:none}.os-drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:94;background:#0a0a0999}.os-top .os-menu{display:grid}.os-top{padding:0 0 6px;gap:8px}.os-clock{display:none}}@media (max-width: 599px){.os-crumbs>:not(:last-child){display:none}.os-search{width:38px;height:38px;padding:0;justify-content:center;flex:none}.os-search__text,.os-search .os-kbd{display:none}.page-title{font-size:26px}}.page{flex:1;overflow-y:auto;padding:12px 6px 28px}.page-inner{max-width:860px;margin:0 auto}.page-title{font:700 32px/1.05 var(--font);letter-spacing:-.045em;margin:0 0 8px}.page-sub{color:var(--text-faint);max-width:72ch;margin:0 0 22px;text-wrap:pretty}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.page-loading{display:flex;align-items:center;justify-content:center;height:100dvh;color:var(--text-dim)}.card{background:var(--panel);border:1px solid rgba(var(--tc-line-rgb),.06);border-radius:var(--radius-lg);padding:20px}.card+.card{margin-top:16px}.card-title{font:600 15px/1.3 var(--font);letter-spacing:-.01em;margin:0 0 12px}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.small{font-size:12px}.mono{font-family:var(--mono)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:99px;border:1px solid var(--border);background:var(--tc-panel-3);color:var(--text);font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap;text-decoration:none}.btn:hover:not(:disabled){border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{color:var(--danger)}.btn-danger:hover:not(:disabled){border-color:var(--danger)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn-ghost:hover:not(:disabled){color:var(--text);background:var(--panel-raised)}.btn-sm{padding:5px 12px;font-size:12px}.btn-link{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font-size:inherit}.btn-link:hover{text-decoration:underline}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field label{font-size:12px;font-weight:600;color:var(--text-dim)}.input,.textarea{width:100%;background:var(--bg);border:1px solid rgba(var(--tc-line-rgb),.1);border-radius:var(--radius);color:var(--text);padding:8px 10px;outline:none}.input:focus,.textarea:focus{border-color:var(--accent)}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.form-error{background:rgba(var(--danger-rgb),.1);border:1px solid rgba(var(--danger-rgb),.4);color:var(--danger);border-radius:var(--radius);padding:8px 12px;font-size:13px;margin-bottom:14px}.form-ok{background:rgba(var(--ok-rgb),.1);border:1px solid rgba(var(--ok-rgb),.4);color:var(--ok);border-radius:var(--radius);padding:8px 12px;font-size:13px;margin-bottom:14px}.auth-wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:400px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px}.auth-brand{font-size:26px;font-weight:700;text-align:center;margin:0 0 4px}.auth-tag{text-align:center;color:var(--text-dim);font-size:13px;margin:0 0 22px}.tabs{display:flex;gap:4px;background:var(--bg);border:1px solid var(--border);border-radius:99px;padding:3px;margin-bottom:20px}.tab{flex:1;border:none;background:transparent;color:var(--text-dim);padding:6px 4px;border-radius:99px;font-size:12px;font-weight:600;cursor:pointer}.tab.active{background:var(--panel-raised);color:var(--text)}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;border:1px solid var(--border);color:var(--text-dim);background:var(--panel-raised);white-space:nowrap}.pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.pill-starting{color:var(--warn);border-color:rgba(var(--warn-rgb),.35)}.pill-running{color:var(--ok);border-color:rgba(var(--ok-rgb),.35)}.pill-waiting_approval{color:var(--orange);border-color:rgba(var(--orange-rgb),.45)}.pill-waiting_approval:before{animation:pill-pulse 1.2s ease-in-out infinite}.pill-idle{color:var(--calm);border-color:rgba(var(--calm-rgb),.35)}.pill-stopped{color:var(--grey)}.pill-error{color:var(--danger);border-color:rgba(var(--danger-rgb),.45)}@keyframes pill-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.banner{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;border-radius:var(--radius);padding:10px 14px;margin-bottom:16px;font-size:13px}.banner-warn{background:rgba(var(--orange-rgb),.08);border:1px solid rgba(var(--orange-rgb),.4);color:var(--orange)}.banner-info{background:rgba(var(--calm-rgb),.08);border:1px solid rgba(var(--calm-rgb),.4);color:var(--calm)}.session-list{display:flex;flex-direction:column;gap:8px}.session-row{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;text-decoration:none;min-width:0}.session-row:hover{border-color:var(--border-strong);background:var(--panel-raised)}.session-row-main{flex:1;min-width:0}.session-row-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-row-meta{font-size:12px;color:var(--text-faint)}.empty-state{text-align:center;color:var(--text-dim);padding:48px 16px;border:1px dashed var(--border);border-radius:var(--radius)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a09b3;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal{width:100%;max-width:420px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:22px}.modal-title{font-size:16px;font-weight:700;margin:0 0 14px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.session-screen{flex:1;display:flex;flex-direction:column;min-height:0}.session-header{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--panel);flex-wrap:wrap}.session-header-title{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.back-link{color:var(--text-dim);text-decoration:none;font-size:16px;padding:2px 6px;border-radius:6px}.back-link:hover{color:var(--text);background:var(--panel-raised)}.conn-dot{width:8px;height:8px;border-radius:50%;background:var(--grey);flex:0 0 auto}.conn-dot.on{background:var(--ok)}.chat-scroll{flex:1;overflow-y:auto;padding:20px 16px;min-height:0}.chat-inner{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.msg-user-row{display:flex;flex-direction:column;align-items:flex-end}.msg-user-name{font-size:11px;color:var(--text-faint);margin-bottom:3px;padding-right:4px}.msg-user{max-width:82%;background:var(--accent-soft);border:1px solid rgba(var(--accent-rgb),.35);border-radius:12px 12px 3px;padding:9px 13px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.msg-assistant{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;max-width:100%}.thinking-block{font-size:13px}.thinking-toggle{background:none;border:none;color:var(--text-faint);cursor:pointer;padding:0;font-size:12px;font-style:italic}.thinking-toggle:hover{color:var(--text-dim)}.thinking-body{margin-top:6px;color:var(--text-faint);font-style:italic;white-space:pre-wrap;overflow-wrap:anywhere;border-left:2px solid var(--border);padding-left:12px}.tool-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:12.5px}.tool-card-head{display:flex;align-items:center;gap:8px;font-weight:600}.tool-json{margin:6px 0 0;font-family:var(--mono);font-size:11.5px;color:var(--text-dim);white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:auto;max-width:100%}.tool-result{font-size:12px;color:var(--text-dim);padding:2px 12px 0 24px;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mono)}.tool-result.error{color:var(--danger)}.turn-divider{display:flex;align-items:center;gap:10px;color:var(--text-faint);font-size:11px;margin:4px 0}.turn-divider:before,.turn-divider:after{content:"";flex:1;height:1px;background:var(--border)}.system-line{color:var(--text-faint);font-size:12px;text-align:center}.fatal-line{color:var(--danger);font-size:12.5px;text-align:center}.approval-note{color:var(--text-faint);font-size:12px}.approval-result-line{font-size:12px;color:var(--text-faint)}.approval-result-line.allowed{color:var(--ok)}.approval-result-line.denied{color:var(--danger)}.approval-card{border:1px solid rgba(var(--orange-rgb),.55);background:rgba(var(--orange-rgb),.07);border-radius:10px;padding:14px 16px}.approval-card-head{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--orange);margin-bottom:6px}.approval-desc{margin:0 0 8px;overflow-wrap:anywhere}.approval-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.composer-wrap{border-top:1px solid var(--border);background:var(--panel);padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}@media (max-width: 767px){.composer-wrap{padding-bottom:12px}}.composer{max-width:780px;margin:0 auto;display:flex;gap:8px;align-items:flex-end}.composer textarea{flex:1;resize:none;min-height:42px;max-height:160px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:10px 12px;line-height:1.5;outline:none}.composer textarea:focus{border-color:var(--accent)}.composer-hint{max-width:780px;margin:6px auto 0;font-size:11px;color:var(--text-faint)}.kv{display:flex;gap:8px;font-size:13px;padding:3px 0}.kv dt{width:110px;flex:0 0 auto;color:var(--text-faint);margin:0}.kv dd{margin:0;overflow-wrap:anywhere}.copy-row{display:flex;gap:8px;align-items:center}.copy-row .input{flex:1;font-family:var(--mono);font-size:12px}.wiki-row{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--border)}.wiki-row:last-child{border-bottom:none}.wiki-kind{flex:0 0 auto;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);border:1px solid var(--border);border-radius:4px;padding:2px 6px}.pill-pending{color:var(--warn);border-color:rgba(var(--warn-rgb),.35)}.pill-confirmed{color:var(--ok);border-color:rgba(var(--ok-rgb),.35)}.proposal{padding:12px 0;border-top:1px solid var(--border)}.diff{margin:8px 0 0;max-height:420px;overflow:auto;font-size:12px;line-height:1.5;border:1px solid var(--border);border-radius:6px;padding:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.diff>div{padding:0 10px}.diff-add{background:rgba(var(--ok-rgb),.12)}.diff-del{background:rgba(var(--danger-rgb),.12);text-decoration:line-through;text-decoration-color:rgba(var(--danger-rgb),.4)}.diff-ctx{color:var(--text-dim)}.diff-fold{color:var(--text-dim);font-style:italic}.client-note{padding:12px 18px;border-top:1px solid var(--border)}.client-note-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;font-size:13px}.badge-auto{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--warn);border:1px solid rgba(var(--warn-rgb),.35);border-radius:4px;padding:2px 6px;white-space:nowrap}.client-row{cursor:pointer}.row-link{color:var(--accent);text-decoration:none}.row-link:hover{text-decoration:underline}.row-actions{display:flex;gap:8px;flex:0 0 auto;align-items:center}.wiki-row-link{text-decoration:none;margin:0 -12px;padding-left:16px;padding-right:16px;border-radius:6px}.wiki-row-link:hover{background:var(--panel-raised)}.md-view{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.editor-textarea{min-height:320px;font-family:var(--mono);font-size:12.5px;line-height:1.6;resize:vertical}.pill-run-queued{color:var(--grey)}.pill-run-running{color:var(--warn);border-color:rgba(var(--warn-rgb),.45)}.pill-run-running:before{animation:pill-pulse 1.2s ease-in-out infinite}.pill-run-passed{color:var(--ok);border-color:rgba(var(--ok-rgb),.35)}.pill-run-failed{color:var(--danger);border-color:rgba(var(--danger-rgb),.45)}.pill-run-error{color:var(--danger);background:transparent;border-color:var(--danger)}.test-output{margin:0;font-family:var(--mono);font-size:12px;line-height:1.55;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:14px;overflow:auto;max-height:60vh;white-space:pre-wrap;overflow-wrap:anywhere}.sidebar-top{display:flex;align-items:flex-start;justify-content:space-between;gap:4px}.notif-badge{position:absolute;top:-3px;right:-3px;background:var(--accent-fill);color:var(--on-accent);font-size:9px;font-weight:700;border-radius:999px;min-width:15px;height:15px;line-height:15px;text-align:center;padding:0 3px}.notif-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.notif-panel{position:fixed;z-index:95;top:66px;right:18px;width:360px;max-width:calc(100vw - 24px);max-height:70vh;display:flex;flex-direction:column;background:var(--tc-panel-2);border:1px solid rgba(var(--tc-line-rgb),.08);border-radius:20px;box-shadow:var(--tc-shadow-float);overflow:hidden}@media (max-width: 899px){.notif-panel{top:58px;right:12px}}.notif-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);font-weight:700;font-size:13px}.notif-list{overflow-y:auto}.notif-item{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;padding:10px 14px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-size:13px}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--panel-raised)}.notif-item.unread{color:var(--text);font-weight:500}.notif-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--accent);flex:0 0 auto}.notif-dot.read{background:var(--border)}.notif-time{display:block;font-size:11px;color:var(--text-faint);margin-top:2px;font-weight:400}.notif-empty{padding:22px 14px;color:var(--text-faint);font-size:13px;text-align:center}.pill-sev-high{color:var(--danger);border-color:rgba(var(--danger-rgb),.45)}.pill-sev-med{color:var(--warn);border-color:rgba(var(--warn-rgb),.4)}.pill-sev-low{color:var(--grey)}.metric-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--border);background:var(--panel-raised);color:var(--text-dim);white-space:nowrap}.metric-chip .metric-val{color:var(--text)}.score-big{font-size:42px;font-weight:700;line-height:1}.score-big .score-denom{font-size:15px;font-weight:600;color:var(--text-faint)}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:16px}.score-cat-label{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-dim);margin-bottom:4px}.score-bar{height:8px;background:var(--bg);border:1px solid var(--border);border-radius:999px;overflow:hidden}.score-bar-fill{height:100%;border-radius:999px;transition:width .3s ease}.finding{padding:12px 0;border-bottom:1px solid var(--border)}.finding:last-child{border-bottom:none}.finding-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.finding-title{font-weight:600}.finding-detail{color:var(--text-dim);font-size:13px;overflow-wrap:anywhere}.impact-badge{font-size:10px;font-weight:700;color:var(--ok);border:1px solid rgba(var(--ok-rgb),.35);border-radius:4px;padding:1px 6px;white-space:nowrap}.tag-fixable,.tag-offsite{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;border-radius:4px;padding:1px 6px;white-space:nowrap}.tag-fixable{color:var(--calm);border:1px solid rgba(var(--calm-rgb),.4)}.tag-offsite{color:var(--grey);border:1px solid var(--border)}.trend-svg{display:block;width:100%;height:auto;margin:6px 0 14px}.prompt-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px}.prompt-row:last-child{border-bottom:none}.prompt-text{flex:1;min-width:0;overflow-wrap:anywhere}.competitor-chip{display:inline-block;font-size:10px;font-weight:600;color:var(--text-dim);border:1px solid var(--border);background:var(--panel-raised);border-radius:4px;padding:1px 6px;margin:1px 3px 1px 0;white-space:nowrap}.excerpt{color:var(--text-faint);font-size:12px;overflow-wrap:anywhere}.log-details summary{cursor:pointer;color:var(--text-dim);font-size:13px;font-weight:600}.log-details pre{margin-top:10px}.mention-yes{color:var(--ok);font-weight:700}.mention-no{color:var(--text-faint);font-weight:700}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}.table tr:last-child td{border-bottom:none}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.invite-code{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:15px;color:var(--accent);background:var(--bg);border:1px dashed var(--accent);border-radius:var(--radius);padding:10px 14px;margin-bottom:14px;overflow-wrap:anywhere}.invite-email-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px}.invite-link{font-size:12px}.invite-email-failed{color:var(--danger);cursor:help}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.stack-sm>*+*{margin-top:8px}.tag-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;line-height:1.6;color:var(--text-dim);background:var(--panel-raised);border:1px solid var(--border);border-radius:999px;padding:1px 9px;white-space:nowrap}.tag-chip-category{color:var(--calm);border-color:rgba(var(--calm-rgb),.4);background:rgba(var(--calm-rgb),.1)}.tag-chip-btn{cursor:pointer;font-family:inherit}.tag-chip-btn:hover{color:var(--text);border-color:var(--text-faint)}.tag-chip-btn.is-active{color:var(--accent);border-color:rgba(var(--accent-rgb),.45);background:var(--accent-soft)}.tag-chip-removable{padding-right:4px}.tag-chip-x{background:none;border:none;cursor:pointer;color:var(--text-faint);font-size:13px;line-height:1;padding:0 3px}.tag-chip-x:hover{color:var(--accent)}.tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:6px 8px}.tag-input:focus-within{border-color:var(--accent)}.tag-input-field{flex:1;min-width:140px;background:none;border:none;outline:none;color:var(--text);font:inherit;padding:2px 0}.tag-input-field::placeholder{color:var(--text-faint)}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.input-inline{width:auto;min-width:150px;padding:5px 8px;font-size:12px}.pill-mon-up{color:var(--ok);border-color:rgba(var(--ok-rgb),.35)}.pill-mon-down{color:var(--danger);border-color:rgba(var(--danger-rgb),.45)}.pill-mon-down:before{animation:pill-pulse 1.2s ease-in-out infinite}.pill-mon-unknown{color:var(--calm);border-color:rgba(var(--calm-rgb),.35)}.pill-mon-paused{color:var(--grey)}.monitor-banner{margin:16px 0;padding:10px 14px;border-radius:10px;border:1px solid rgba(var(--danger-rgb),.45);background:rgba(var(--danger-rgb),.08);color:var(--danger);font-weight:600}.monitor-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:16px 0 24px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--panel-raised)}.monitor-add .field{flex:1 1 200px;margin:0}.monitor-add .muted{flex:1 1 100%;margin:0}.monitor-stats{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}.monitor-rule{margin:4px 0 20px;padding:10px 14px;border-left:2px solid var(--border);font-size:13px;line-height:1.6}.monitor-rules-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:24px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--panel-raised)}.monitor-rules-form .field{flex:1 1 160px;margin:0}.field-hint{font-size:11px;color:var(--text-dim)}.import-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin:16px 0}.import-controls .field{margin:0}.import-actions{display:flex;gap:12px;align-items:center}.check-ok{color:var(--ok)}.check-fail{color:var(--danger);font-weight:600}.danger-zone{margin-top:40px;padding-top:20px;border-top:1px solid var(--border)}.dv-row{gap:12px}.dv-row__link{text-decoration:none;color:inherit}.dv-page{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.dv-work{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:12px}.dv-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.dv-head__text{display:flex;flex-direction:column;gap:2px;min-width:0}.dv-head__title{margin:0;font:600 24px/1.1 var(--font);letter-spacing:-.03em}.dv-head__actions{margin-left:auto;display:flex;gap:8px}.dv-stage{flex:1 1 0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding-bottom:14px}.dv-stage[data-solo]{grid-template-columns:minmax(0,1fr) minmax(260px,340px)}.dv-panel{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--panel);border:1px solid rgba(var(--tc-line-rgb),.06);border-radius:20px;padding:10px}.dv-panel__head{display:flex;align-items:center;gap:10px;padding:2px 4px 10px}.dv-panel__head .os-tile{width:24px;height:24px;border-radius:8px;font-size:11px}.dv-panel__title{font:600 13px/1 var(--font)}.dv-term,.dv-pane{display:flex;flex-direction:column;flex:1 1 0;min-width:0;min-height:0;overflow:hidden}.dv-term__screen{flex:1 1 0;min-height:0;overflow:hidden;padding:10px 12px;border-radius:12px;background:#0f100e}.dv-term__screen .xterm,.dv-term__screen .xterm-viewport{height:100%}.dv-term__screen .xterm-screen{overflow:hidden}.dv-term__bar{display:flex;align-items:center;gap:12px;padding:8px 4px 0;font-size:11.5px;color:var(--text-faint);flex-wrap:wrap}.dv-term__status:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--grey);vertical-align:1px}.dv-term__status[data-status=live]:before{background:rgb(var(--ok-rgb))}.dv-term__status[data-status=connecting]:before{background:rgb(var(--warn-rgb))}.dv-term__note{color:var(--text-dim)}.dv-term__signin{color:var(--accent)}.dv-term__hint{margin-left:auto}.dv-pane__note{margin:0 4px 8px}.dv-pane__frame{position:relative;flex:1 1 0;min-height:0;border-radius:12px;overflow:hidden;background:#fff}.dv-pane__frame iframe{width:100%;height:100%;border:0;display:block}.dv-pane__empty{flex:1 1 0;display:grid;place-items:center;color:var(--text-faint);border:1px dashed var(--border);border-radius:12px;padding:20px;text-align:center}.dv-phone-note{display:none}@media (max-width: 1100px){.dv-stage,.dv-stage[data-solo]{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,3fr) minmax(0,2fr)}}@media (max-width: 640px){.dv-stage{display:none}.dv-phone-note{display:block}}.os-approvals{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:99px;background:rgba(var(--orange-rgb),.12);color:var(--orange);font:500 12.5px/1 var(--font);text-decoration:none;white-space:nowrap}.os-approvals__dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pill-pulse 1.2s ease-in-out infinite}.srv-cred{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--border)}.srv-cred__main{flex:1;min-width:0}.srv-cred__name{font-weight:600}.srv-cred__fp{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srv-pub{white-space:pre-wrap;word-break:break-all;font:12px/1.5 var(--mono);background:var(--panel-raised);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;-webkit-user-select:all;user-select:all}.srv-facts{overflow-y:auto;padding:10px 14px 14px}.srv-facts__list{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;margin:4px 0 14px;font-size:13px}.srv-facts__list dt{color:var(--text-faint)}.srv-facts__list dd{margin:0;overflow-wrap:anywhere}.srv-facts__fp{font-size:11px;white-space:pre-wrap}.srv-facts__h{font:600 13px/1 var(--font);margin:0 0 6px}.srv-facts__notes{white-space:pre-wrap;margin:0 0 14px}.srv-facts__actions{display:flex;gap:8px;flex-wrap:wrap}.stg__head,.fp__head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.stg__title,.fp__title{display:flex;flex-direction:column;gap:2px;margin-right:auto;min-width:0}.stg__empty,.stg__start{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.stg__row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stg__row .input{width:auto;min-width:220px}.stg__facts{margin:0 0 10px;padding:10px 12px;border-radius:10px;background:var(--panel-raised)}.stg__facts .kv dt{width:130px}.stg__issues{margin:0 0 10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(var(--warn-rgb),.35);background:rgba(var(--warn-rgb),.06);font-size:13px}.stg__issues--block{border-color:rgba(var(--danger-rgb),.4);background:rgba(var(--danger-rgb),.05)}.stg__issues ul{margin:6px 0 0;padding-left:18px}.stg__issues li+li{margin-top:4px}.stg__ready{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-bottom:8px}.stg__dns{margin:6px 0 0}.stg__log{max-height:280px;overflow:auto}.stg__actions{margin-top:12px}.stg-banner{border-left:4px solid var(--tc-pink)}.fix-cta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.fp__empty{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.fp-steps{margin:0;padding-left:20px;color:var(--text-dim);display:grid;gap:4px}.fp__drafting{display:flex;align-items:center;gap:10px}.fp-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(var(--accent-rgb),.2);border-top-color:var(--accent-fill);animation:fp-spin .9s linear infinite}@keyframes fp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.fp-spinner{animation:none}}.fp__summary{margin-bottom:12px}.fp__score{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;padding:10px 12px;margin-bottom:10px;border-radius:10px;background:var(--panel-raised)}.fp__score-n{font-size:22px;font-weight:700;margin-left:8px}.fp__score-n:first-child{margin-left:0}.fp__score .btn-link{margin-left:auto}.fp-ok{color:var(--ok)}.fp-bad{color:var(--danger)}.fp-items{list-style:none;margin:0;padding:0}.fp-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.fp-item:last-child{border-bottom:none}.fp-item[data-off] .fp-item__body{opacity:.5}.fp-item__check{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:2px;cursor:pointer}.fp-item__check input{width:16px;height:16px;accent-color:var(--accent-fill)}.fp-item__n{font:600 11px/1 var(--tc-mono);color:var(--text-faint)}.fp-item__body{flex:1;min-width:0}.fp-item__head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}.fp-item__title{font-weight:600}.fp-area{display:inline-flex;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(var(--tc-line-rgb),.06);color:var(--text-dim)}.fp-area[data-area=code]{background:rgba(var(--tc-cyan-rgb),.14);color:var(--tc-cyan-text)}.fp-area[data-area=server]{background:rgba(var(--tc-red-rgb),.08);color:var(--tc-red-text)}.fp-area[data-area=content]{background:rgba(var(--tc-pink-rgb),.1);color:var(--tc-pink-text)}.fp-item__why{margin:4px 0 0;color:var(--text-dim)}.fp-item__steps{margin-top:4px}.fp-item__steps summary{cursor:pointer;color:var(--text-faint)}.fp-item__steps ol{margin:6px 0 0;padding-left:20px;display:grid;gap:3px}.fp-item__verify{list-style:none;margin:6px 0 0;padding:0}.fp__staging{margin:12px 0 0;padding-top:12px;border-top:1px dashed var(--border-strong)}.fp__staging .card{margin-bottom:0}.fp__actions{margin-top:14px;flex-wrap:wrap}.fp__older{margin-top:12px}.fp__older ul{margin:6px 0 0;padding-left:18px;display:grid;gap:4px}.fpw-items{margin:0 0 12px;padding-left:20px;display:grid;gap:6px}.fpw-items li span:first-child{margin-right:6px}@media (max-width: 640px){.fix-cta{align-items:flex-start}.stg__facts .kv{flex-direction:column;gap:0}}.fp-interview .field textarea{resize:vertical}.fp-interview__progress{display:flex;align-items:center;gap:4px;margin:0 0 14px}.fp-interview__progress span[data-on],.fp-interview__progress span:not(.faint){width:22px;height:4px;border-radius:2px;background:rgba(var(--tc-line-rgb),.12)}.fp-interview__progress span[data-on]{background:var(--accent-fill)}.fp-interview__progress .faint{margin-left:8px}.fp-interview__done{margin-top:14px}.fp-interview__done ol{margin:8px 0 0;padding-left:20px;display:grid;gap:8px}
