:root{--bg: #0a0a0b;--panel: #121214;--card: #18181b;--tile: #212125;--field: #0e0e10;--line: rgba(255, 255, 255, .07);--line-2: rgba(255, 255, 255, .12);--fg: #f2f2f0;--fg-2: #c9c9ce;--dim: #8b8b93;--acc: #ffb84d;--acc-soft: rgba(255, 184, 77, .12);--acc-line: rgba(255, 184, 77, .4);--ok: #34d399;--warn: #fbbf24;--crit: #f87171;--blue: #7aa2ff;--violet: #b18cff;--green: #4ade80;--r-lg: 18px;--r-md: 14px;--r-sm: 10px;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;color-scheme:dark;font-family:var(--sans);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{min-width:320px;font-size:14px;line-height:1.45;background-color:var(--bg);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px;background-attachment:fixed}h1,h2,h3,h4,p,ul,ol,dl,dd{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}code,kbd,pre,.mono{font-family:var(--mono)}code{background:var(--tile);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:12px}:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:6px}::selection{background:#ffb84d4d}.icon{width:16px;height:16px;flex:none}.icon-xs{width:13px;height:13px;flex:none}.muted,.dim{color:var(--dim)}.bad{color:var(--crit)}.ok-text{color:var(--ok)}.hint{font-size:12px;margin-top:8px}.hint.bad{color:var(--crit)}.glow{position:fixed;top:-30vh;right:-20vw;width:80vw;height:80vh;pointer-events:none;z-index:0;background:radial-gradient(closest-side,rgba(255,184,77,.13),transparent);will-change:transform;animation:drift 32s ease-in-out infinite alternate}@keyframes drift{to{transform:translate3d(-8vw,6vh,0) scale(1.08)}}@media(prefers-reduced-motion:reduce){.glow{animation:none}*{transition:none!important;animation-duration:.01ms!important}}.shell{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:22px 24px 40px}.top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px 18px;margin-bottom:26px}.brand{display:flex;align-items:center;gap:12px}.brand b{display:block;font-size:22px;font-weight:800;letter-spacing:-.03em;line-height:1.1}.brand small{display:block;color:var(--dim);font-size:12px;font-family:var(--mono)}.logo{width:40px;height:40px;border-radius:12px;background:var(--card);border:1px solid var(--line-2);display:grid;place-items:center}.logo i{width:11px;height:11px;border-radius:50%;background:var(--acc);box-shadow:0 0 14px var(--acc)}.search{justify-self:end;display:flex;align-items:center;gap:8px;width:min(320px,100%);padding:0 10px;height:38px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--field);color:var(--dim)}.search:focus-within{border-color:var(--acc-line)}.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--fg)}.search kbd{font-size:11px;padding:1px 6px;border:1px solid var(--line-2);border-radius:5px}.btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--card);font-weight:600;font-size:13px;white-space:nowrap}.btn:hover{border-color:var(--acc-line)}.btn.solid{background:var(--acc);border-color:var(--acc);color:#1a1000}.btn.on{color:var(--acc);border-color:var(--acc-line)}.tabs{grid-column:1 / -1;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:4px;border:1px solid var(--line);border-radius:var(--r-md);background:#121214d9}.tabs::-webkit-scrollbar{display:none}.tabs a{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:9px;color:var(--dim);font-weight:600;font-size:13px;white-space:nowrap}.tabs a:hover{color:var(--fg);background:var(--card)}.tabs a.on{color:var(--fg);background:var(--tile);box-shadow:inset 0 -2px 0 var(--acc)}.page{animation:in .25s ease-out}@keyframes in{0%{opacity:0;transform:translate3d(0,6px,0)}}.loading{padding:40px 0;text-align:center}.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:30px;padding-top:16px;border-top:1px solid var(--line);color:var(--dim);font-size:12px}.foot a{display:inline-flex;align-items:center;gap:6px}.foot a:hover{color:var(--fg)}.panel{background:#121214eb;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:20px;margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.panel h2{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:700;letter-spacing:-.01em}.panel h2>.icon{color:var(--acc)}.count{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--dim);background:var(--tile);border:1px solid var(--line);padding:2px 8px;border-radius:999px}.link{color:var(--acc);font-size:13px;font-weight:600}.link:hover{text-decoration:underline}.grid-2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}.grid-2>.panel{margin-bottom:18px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin:6px 0 22px}.page-head>div{min-width:0}.page-head h1{display:flex;align-items:center;gap:10px;font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-.035em;line-height:1.05}.page-head .lede{width:100%}.page-head>div .lede{margin-top:6px}.eyebrow{color:var(--acc);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:6px}.lede{color:var(--dim);font-size:15px}.notice h2{margin-bottom:6px}.notice p{color:var(--fg-2)}.notice ol{margin-top:10px;padding-left:20px;color:var(--fg-2);display:grid;gap:6px}.notice.error{border-color:#f8717159}.new-guests{display:grid;gap:8px;justify-items:start;border-color:var(--acc-line)}.hero-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;font-size:12px}.live{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border-radius:999px;border:1px solid var(--acc-line);background:var(--acc-soft);color:var(--acc);font-size:12px;font-weight:600}.live i{width:6px;height:6px;border-radius:50%;background:var(--acc);animation:blink 2s ease-in-out infinite}@keyframes blink{50%{opacity:.3}}.status-line{font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-.035em;line-height:1.05}.hero .lede{margin-top:8px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;min-width:0}.stat small{display:flex;align-items:center;gap:6px;color:var(--dim);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stat b{display:block;font-family:var(--mono);font-size:24px;font-weight:600;margin:8px 0 2px;letter-spacing:-.02em}.stat>.muted{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meter{height:4px;background:var(--tile);border-radius:4px;margin-top:12px;overflow:hidden}.meter span{display:block;height:100%;background:var(--acc);transform-origin:left;transition:transform .6s ease}.meter.warn span{background:var(--warn)}.meter.crit span{background:var(--crit)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none;background:#55555c}.dot.up{background:var(--ok);box-shadow:0 0 0 3px #34d39926}.dot.down{background:var(--crit);box-shadow:0 0 0 3px #f871712e}.bar{height:4px;background:#ffffff0f;border-radius:4px;overflow:hidden;margin-top:6px}.bar span{display:block;height:100%;border-radius:4px;background:var(--acc);transition:width .6s ease}.bar span.warn{background:var(--warn)}.bar span.crit{background:var(--crit)}.pills{display:inline-flex;gap:5px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;border:1px solid var(--line-2);color:var(--dim);font-size:11px;font-weight:600;white-space:nowrap}.pill.mono{font-weight:500}.pill i{width:6px;height:6px;border-radius:50%;background:currentColor}.pill.up{color:var(--ok);border-color:#34d3994d;background:#34d39914}.pill.down{color:var(--crit);border-color:#f871714d;background:#f8717114}.pill.new{color:var(--acc);border-color:var(--acc-line);background:var(--acc-soft)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;background:var(--tile);border:1px solid var(--line);padding:3px 8px;border-radius:7px;color:var(--fg-2);white-space:nowrap}.chip button{border:0;background:none;padding:0 2px;color:var(--dim)}.badge{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--tile);border:1px solid var(--line);font-family:var(--mono);font-size:11px;font-weight:700;color:var(--acc);flex:none}.site-list{list-style:none;padding:0;display:grid;gap:2px}.site-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 8px;border-radius:var(--r-sm)}.site-list li:hover{background:var(--card)}.site-list li>a:not(.link){flex:1 1 auto;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-list li>a:not(.link):hover{color:var(--acc)}.site-list li>.mono,.site-list li>.muted{font-size:12px}.site-list li>.uptime-wrap,.site-list li>.uptime-bars{flex-basis:100%;padding-left:18px}.uptime-wrap{display:flex;align-items:center;gap:10px}.uptime-bars{flex:1;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;height:16px}.uptime-bars.empty{height:16px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--tile) 0 4px,transparent 4px 6px)}.uptime-bars i{border-radius:2px;background:var(--tile)}.uptime-bars i.ok{background:#34d399bf}.uptime-bars i.part{background:var(--warn)}.uptime-bars i.bad{background:var(--crit)}.uptime-pct{font-family:var(--mono);font-size:11px;color:var(--dim);min-width:44px;text-align:right}.storage+.storage{margin-top:14px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.storage .mono{font-size:12px}.tools{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:8px;border:1px solid var(--line-2);background:var(--card);color:var(--dim);font-size:12px;font-weight:600}.toggle:hover{color:var(--fg)}.toggle.on{color:var(--acc);border-color:var(--acc-line);background:var(--acc-soft)}.charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.charts>div{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;min-width:0}.chart-title{font-weight:700;font-size:13px;margin-bottom:10px;display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}.chart-title .muted{font-weight:400;font-size:12px}.chart svg{display:block;width:100%;height:130px;touch-action:none}.grid-line{stroke:#ffffff0d;stroke-width:1;vector-effect:non-scaling-stroke}.cursor-line{stroke:#ffffff59;stroke-width:1;vector-effect:non-scaling-stroke}.chart-foot{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:11px}.chart-legend{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;color:var(--fg-2)}.chart-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}.chart-empty{padding:40px 0;text-align:center}.temps{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.temp-pill{display:inline-flex;align-items:baseline;gap:6px;font-size:12px;padding:4px 10px;border-radius:8px;background:var(--card);border:1px solid var(--line);color:var(--fg-2)}.temp-pill b{font-family:var(--mono);color:var(--ok)}.temp-pill.warn b,.chip.temp.warn{color:var(--warn)}.temp-pill.crit b,.chip.temp.crit{color:var(--crit)}.chip.temp{font-family:var(--mono);color:var(--ok)}.disks{list-style:none;padding:0;display:grid;gap:6px}.disks li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);font-size:13px}.disks li.bad-disk{border-color:#f8717166}.disk-facts{margin-left:auto;display:inline-flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12px}.guests{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.vm{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:15px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s}.vm:hover{border-color:var(--line-2)}.vm.off{opacity:.6}.vm-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.vm h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;min-width:0}.vm h3 .mono{font-size:12px;font-weight:500}.vm-meta{font-size:11px;color:var(--dim);margin-top:-4px}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tile{background:var(--tile);border-radius:9px;padding:8px 10px;min-width:0}.tile small{font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--dim);text-transform:uppercase}.tile b{display:block;font-family:var(--mono);font-size:13px;font-weight:600;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile .bar{margin-top:5px;height:3px}.acts{display:flex;gap:6px;margin-top:auto}.act{flex:1;display:grid;place-items:center;height:30px;font-family:var(--mono);font-size:13px;background:var(--tile);border:1px solid var(--line);border-radius:8px;color:var(--fg-2)}.act:hover:not(:disabled){border-color:var(--acc-line);color:var(--acc)}.act.danger{flex:1.6;font-family:var(--sans);font-size:12px;font-weight:600;color:var(--crit)}.member-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.member-head h2{font-size:18px}.member-head .muted{font-size:12px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;flex:none;border:1px solid}.avatar.blue{color:var(--blue);background:#7aa2ff1f;border-color:#7aa2ff59}.avatar.violet{color:var(--violet);background:#b18cff1f;border-color:#b18cff59}.avatar.green{color:var(--green);background:#4ade801a;border-color:#4ade804d}.projs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.proj{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s}.proj:hover{border-color:var(--acc-line)}.proj-top{display:flex;justify-content:space-between;align-items:center}.proj h4{font-size:18px;font-weight:700;letter-spacing:-.01em}.proj p{color:var(--fg-2);font-size:13px}.proj-links{display:flex;gap:16px;margin-top:auto;padding-top:4px;font-size:13px;font-weight:600}.proj-links a{display:inline-flex;align-items:center;gap:6px;color:var(--acc)}.proj-links a:hover{text-decoration:underline}.soon{border:1px dashed var(--line-2);border-radius:var(--r-md);padding:20px;color:var(--dim)}.link-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.link-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md)}.link-card:hover{border-color:var(--acc-line)}.link-card>span:nth-child(2){flex:1;min-width:0}.link-card b,.link-card small{display:block}.link-card small{font-size:12px}.topo{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.topo-map{overflow-x:auto}.topo-svg{display:block;min-width:640px;width:100%;height:auto;touch-action:none;-webkit-user-select:none;user-select:none}.host-frame{fill:#ffffff04;stroke:var(--line-2);stroke-dasharray:5 6}.host-label{fill:var(--dim);font-size:13px;font-family:var(--mono)}.edge{fill:none;stroke:#ffffff24;stroke-width:1.6}.edge.live{stroke:var(--acc-line);stroke-dasharray:6 8;animation:flow 1.6s linear infinite}@keyframes flow{to{stroke-dashoffset:-28}}.edge-label{fill:var(--dim);font-size:11px;font-family:var(--mono);text-anchor:middle}.node{cursor:grab}.node:active{cursor:grabbing}.node rect{fill:var(--card);stroke:var(--line-2);stroke-width:1.2;transition:stroke .2s}.node.proxy rect{stroke:var(--acc-line)}.node.edge rect{fill:var(--tile)}.node.picked rect,.node:focus-visible rect{stroke:var(--acc);stroke-width:2}.node:focus{outline:none}.node .led{fill:var(--ok)}.node.off .led{fill:#55555c}.node.off{opacity:.55}.node.edge .led{fill:var(--blue)}.n-label{fill:var(--fg);font-size:13px;font-weight:700}.n-sub{fill:var(--dim);font-size:11px;font-family:var(--mono)}.topo-info{position:sticky;top:16px;display:grid;gap:12px}.topo-info h2{font-size:20px}.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px}.facts dt{color:var(--dim)}.facts dd{text-align:right}.primary,.ghost,.danger,.link-btn,.send,.mark{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--r-sm);font-weight:600;font-size:13px}.primary{padding:10px 16px;border:1px solid var(--acc);background:var(--acc);color:#1a1000}.primary:hover:not(:disabled){filter:brightness(1.08)}.ghost{padding:6px 11px;border:1px solid var(--line-2);background:var(--card);color:var(--fg-2);font-size:12px}.ghost:hover:not(:disabled){border-color:var(--acc-line);color:var(--acc)}.danger{padding:6px 11px;border:1px solid rgba(248,113,113,.35);background:#f8717114;color:var(--crit);font-size:12px}.link-btn{padding:0;border:0;background:none;color:var(--acc);font-size:12px}.x{border:0;background:none;color:var(--dim);font-size:18px;line-height:1;padding:2px 6px;border-radius:6px}.x:hover{color:var(--crit);background:#f871711a}.message{padding:10px 14px;border-radius:var(--r-sm);font-size:13px;margin:0 0 12px;border:1px solid var(--line-2);background:var(--card)}.message.success{border-color:#34d3994d;color:var(--ok)}.message.error{border-color:#f8717159;color:var(--crit)}.form{display:grid;gap:14px;max-width:560px}.form h2{margin-bottom:2px}.form label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--fg-2)}.form label>span{display:inline-flex;align-items:center;gap:6px}.form input,.form select,.add-row input,.add-row textarea,.scratch,.log-filter,.log-tools select{width:100%;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--field);color:var(--fg);outline:0}.form input:focus,.form select:focus,.add-row input:focus,.add-row textarea:focus,.scratch:focus,.log-filter:focus{border-color:var(--acc-line);box-shadow:0 0 0 3px var(--acc-soft)}.form .primary{justify-self:start}.login{margin-top:6px}.key-form .row input{flex:1}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.segmented{display:grid;grid-template-columns:auto 1fr 1fr;align-items:center;gap:6px;padding:4px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--field)}.segmented>.help{padding:0 4px 0 8px}.segmented button:not(.help-btn){display:flex;align-items:center;justify-content:center;gap:8px;padding:9px;border:0;border-radius:9px;background:transparent;color:var(--dim);font-weight:600;font-size:13px}.segmented button.on{background:var(--tile);color:var(--fg);box-shadow:inset 0 0 0 1px var(--acc-line)}.with-help{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}details.more summary{cursor:pointer;font-weight:600;display:flex;align-items:center;gap:8px}details.more[open] summary{margin-bottom:14px}.builder{max-width:820px;margin:10px auto 26px;text-align:center}.builder .eyebrow{justify-content:center}.builder h1{display:inline;font-size:clamp(28px,4.5vw,46px);font-weight:800;letter-spacing:-.035em;line-height:1.08}.ai-box{margin-top:22px;text-align:left;background:var(--field);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:14px 14px 12px 16px}.ai-box:focus-within{border-color:var(--acc-line);box-shadow:0 0 0 4px var(--acc-soft)}.ai-box textarea{width:100%;min-height:78px;resize:vertical;border:0;outline:0;background:transparent;font-family:var(--mono);font-size:14px;line-height:1.6}.ai-box textarea::placeholder{color:#5f5f66}.ai-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.ai-row .pill{padding:3px 4px 3px 11px;background:var(--card);font-weight:600}.ai-row .pill>span{display:inline-flex;align-items:center;gap:5px}.ai-row .pill input,.ai-row .pill select{width:128px;border:0;outline:0;background:transparent;color:var(--fg);font-size:13px;padding:4px 6px}.ai-row .pill select option{background:var(--card)}.ai-row .pill:focus-within{border-color:var(--acc-line)}.ai-row>.chip{font-size:12px;padding:4px 6px 4px 11px;color:var(--acc);border-color:var(--acc-line);background:var(--acc-soft)}.ai-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.quality{display:inline-flex;padding:2px;border:1px solid var(--line-2);border-radius:999px;background:var(--card)}.quality button{border:0;background:none;padding:4px 11px;border-radius:999px;color:var(--dim);font-size:12px;font-weight:600}.quality button.on{background:var(--tile);color:var(--acc)}.mark{padding:6px 10px;border:1px solid var(--line-2);background:var(--card);color:var(--fg-2);font-size:12px;border-radius:999px}.send{padding:8px 16px;border:0;border-radius:999px;background:var(--acc);color:#1a1000}.ideas{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:14px}.ideas button:not(.help-btn){border:1px solid var(--line-2);background:var(--card);border-radius:999px;padding:6px 12px;font-size:12px;color:var(--fg-2)}.ideas button:not(.help-btn):hover{border-color:var(--acc-line);color:var(--fg)}.result-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}.summary{margin-top:6px}.spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,184,77,.25);border-top-color:var(--acc);animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.notice h2 .spinner{margin-right:4px}.add-row{display:flex;gap:8px;margin-bottom:12px}.add-row .primary{padding:10px 12px;align-self:flex-start}.add-row textarea,.scratch{resize:vertical;font-family:var(--sans)}.scratch{min-height:160px;line-height:1.6}.todo-list,.prompt-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:2px}.todo-list li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-sm)}.todo-list li:hover,.prompt-list li:hover{background:var(--card)}.todo-list label{flex:1;display:flex;align-items:flex-start;gap:10px;cursor:pointer}.todo-list input[type=checkbox]{margin-top:3px;accent-color:var(--acc);width:16px;height:16px;flex:none}.todo-list li.done span{color:var(--dim);text-decoration:line-through}.prompt-list li{padding:11px 10px;border-radius:var(--r-sm);border-bottom:1px solid var(--line)}.prompt-list p{margin-bottom:8px;white-space:pre-wrap;font-family:var(--mono);font-size:13px}.prompt-actions{display:flex;align-items:center;gap:8px;font-size:11px}.prompt-actions .muted{margin-right:auto}.deploy{max-width:640px}.log-box{margin-top:12px}.log-box summary,.history summary{cursor:pointer;list-style:none}.log-box summary::-webkit-details-marker,.history summary::-webkit-details-marker{display:none}.log-box summary{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--acc)}.log-box summary:before,.history summary:before{content:"▸";color:var(--dim);transition:transform .2s}.log-box[open] summary:before,.history details[open]>summary:before{transform:rotate(90deg)}.log-box pre,.log-pre{margin:10px 0 0;max-height:360px;overflow:auto;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r-md);background:#0b0b0d;font:12px/1.65 var(--mono);color:var(--fg-2)}.log-pre{max-height:min(68vh,900px);min-height:320px}.log-pre.wrap,.log-box pre{white-space:pre-wrap;word-break:break-word}.log-box pre .bad,.log-pre .bad{color:var(--crit)}.log-box pre .warn,.log-pre .warn{color:var(--warn)}.log-box pre .stepline,.log-pre .stepline{color:var(--acc);font-weight:600}.history{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:4px}.history>li>details>summary{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r-sm);flex-wrap:wrap}.history>li>details>summary:hover{background:var(--card)}.h-title{font-weight:600}.h-when{margin-left:auto;white-space:nowrap;font-size:12px}.history .muted{font-size:12px}.h-body{padding:4px 10px 12px 38px;font-size:13px;color:var(--fg-2)}.h-body p{margin:4px 0}.pkg{margin:0 0 10px;padding:10px 12px;background:#0b0b0d;border:1px solid var(--line);border-radius:var(--r-sm);font-size:12px;max-height:260px;overflow:auto}.cb-space{width:16px;flex:none}.state{display:grid;place-items:center;width:20px;height:20px;flex:none;border-radius:50%;font-size:11px;font-weight:800;background:var(--tile);color:var(--dim)}.state.done{background:#34d39924;color:var(--ok)}.state.failed{background:#f8717124;color:var(--crit)}.state.warnstate{background:var(--acc-soft);color:var(--acc)}.state .spinner{width:12px;height:12px}.mini-chip{padding:3px 9px;gap:6px;font-size:11px}.mini-chip .spinner{width:10px;height:10px}.logs{display:grid;grid-template-columns:270px minmax(0,1fr);gap:18px;align-items:start}.log-sources{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;padding:12px}.log-sources details+details{margin-top:6px}.log-sources summary{cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);padding:6px 8px;display:flex;justify-content:space-between}.log-sources button{display:block;width:100%;text-align:left;border:0;background:none;padding:7px 10px;border-radius:8px;font-size:13px;color:var(--fg-2)}.log-sources button:hover{background:var(--card)}.log-sources button.on{background:var(--tile);color:var(--acc)}.log-tools{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.log-tools h2{font-size:15px}.log-filter{width:160px;padding:6px 10px;font-size:12px}.log-tools select{width:auto;padding:6px 10px;font-size:12px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--acc);animation:blink 1.4s infinite}.help{position:relative;display:inline-flex;vertical-align:middle;line-height:1;font-weight:400;letter-spacing:normal;text-transform:none}.help-btn{display:grid;place-items:center;width:16px;height:16px;padding:0;border:1px solid var(--line-2);border-radius:50%;background:transparent;color:var(--dim);font-size:10px;font-weight:800}.help-btn:hover,.help-btn[aria-expanded=true]{color:var(--acc);border-color:var(--acc-line)}.help.big .help-btn{width:18px;height:18px;font-size:11px}.help-pop{position:fixed;z-index:1000;display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r-md);background:#1c1c20;box-shadow:0 18px 40px -12px #000000b3;font-size:13px;line-height:1.5;color:var(--fg-2);text-align:left;text-transform:none;letter-spacing:normal;font-weight:400}.help-pop strong{color:var(--acc);font-size:12px}.help-pop b{color:var(--fg)}@media(max-width:960px){.grid-2,.topo,.logs,.charts{grid-template-columns:1fr}.topo-info,.log-sources{position:static;max-height:none}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.shell{padding:14px 14px 30px}.top{grid-template-columns:minmax(0,1fr) auto}.search{grid-column:1 / -1;grid-row:3;justify-self:stretch;width:100%}.tabs{grid-row:2}.panel{padding:16px;border-radius:var(--r-md)}.pair{grid-template-columns:1fr}.ai-actions{margin-left:0;width:100%;justify-content:flex-end}.disk-facts{margin-left:0}}
