@font-face{font-family:Archivo;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-ui:"Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--bg:#f2ecdf;--glow:#fbf6ea;--plate:#fbf8f1;--sunk:#e7dfcf;--glass:#f6f1e5;--line:#ddd4c2;--text:#13242b;--muted:#566871;--brass:#94702c;--brass-dim:#c9b48b;--online:#0b8562;--attention:#c2481a;--stopped:#80919a;--danger:#bf2a36;--pip-off:#d9d0be;--shadow:0 1px 2px #3c2d0f1a}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0a1418;--glow:#16303a;--plate:#111e24;--sunk:#0d191e;--glass:#0c171c;--line:#1f3139;--text:#e9eff1;--muted:#93a7b1;--brass:#d6ab5c;--brass-dim:#6b5833;--online:#46d6a8;--attention:#ff9060;--stopped:#5f7480;--danger:#ff6468;--pip-off:#2a3e47;--shadow:0 1px 2px #00000059}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(60rem 26rem at 50% -8rem, var(--glow), transparent 75%) no-repeat, var(--bg);min-height:100dvh;color:var(--text);font:400 16px/1.4 var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}a{color:inherit}:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:6px}.top{max-width:1040px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.brand{align-items:center;gap:10px;min-width:0;min-height:44px;text-decoration:none;display:flex}.brand-mark{width:32px;height:32px;color:var(--brass);flex:none}.brand-name{color:var(--brass);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:650;font-stretch:118%;line-height:1.25;display:block}.brand-host{overflow-wrap:anywhere;font-size:17px;font-weight:620;line-height:1.2;display:block}.top-tools{flex:none;align-items:center;gap:16px;display:flex}.top-link{min-height:44px;color:var(--muted);letter-spacing:.09em;text-transform:uppercase;align-items:center;padding:0 2px;font-size:12px;font-weight:650;font-stretch:116%;text-decoration:none;display:inline-flex}.top-link[aria-current=page]{color:var(--brass)}.top-user{color:var(--muted);font:500 12px/1 var(--font-mono);display:none}.top-logout{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin:0 -11px 0 -8px;padding:0;display:inline-flex}.top-logout:hover:not(:disabled){color:var(--brass)}.top-logout:disabled{opacity:.45}.top-logout svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.freshness{color:var(--muted);font:500 12px/1 var(--font-mono);flex:none;align-items:center;gap:7px;display:inline-flex}.live-dot{background:var(--online);border-radius:50%;width:7px;height:7px;animation:2.8s ease-in-out infinite breathe}.freshness-lost{color:var(--danger)}.freshness-lost .live-dot{background:var(--danger);animation:none}@keyframes breathe{50%{opacity:.35}}main{max-width:1040px;padding:4px 16px calc(40px + env(safe-area-inset-bottom));margin:0 auto}.banner{border:1px solid var(--danger);background:color-mix(in srgb, var(--danger) 10%, var(--plate));overflow-wrap:anywhere;border-radius:12px;margin:0 0 12px;padding:10px 12px;font-size:14px}.loading,.empty{color:var(--muted);text-align:center;margin:0;padding:32px 0}.env-switch{border:1px solid var(--line);background:var(--sunk);border-radius:13px;gap:4px;margin-bottom:10px;padding:4px;display:flex}.env-tab{min-height:44px;color:var(--muted);text-transform:capitalize;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:7px;font-weight:620;font-stretch:108%;text-decoration:none;display:flex}.env-tab[aria-current=page]{background:var(--plate);color:var(--text);box-shadow:var(--shadow)}.env-tab-protected[aria-current=page]{color:var(--danger)}.env-badge{background:var(--attention);min-width:19px;color:var(--plate);font:500 12px/1.2 var(--font-mono);text-align:center;border-radius:7px;padding:2px 5px}.hero{border:1px solid var(--line);background:var(--plate);box-shadow:var(--shadow);border-radius:18px;align-items:center;gap:16px;padding:14px;display:flex;position:relative;overflow:hidden}.hero-protected:before{content:"";background:var(--danger);height:3px;position:absolute;inset:0 0 auto}.porthole{flex:none;width:124px;height:124px}.porthole-bezel{fill:var(--sunk);stroke:var(--brass);stroke-width:2.5px}.porthole-glass{fill:var(--glass);stroke:var(--brass-dim);stroke-width:1px}.porthole-bolt{fill:var(--brass)}.porthole-track,.porthole-segment{fill:none;stroke-width:9px}.porthole-track{stroke:var(--pip-off)}.porthole-segment{animation:.45s ease-out both segment-in}.porthole-dial{fill:none;stroke:var(--brass-dim);stroke-width:6px}.porthole-keyhole{fill:var(--brass)}.segment-online{stroke:var(--online)}.segment-attention{stroke:var(--attention)}.segment-stopped{stroke:var(--stopped)}@keyframes segment-in{0%{opacity:0}}.porthole-count{fill:var(--text);font-size:38px;font-weight:640;font-stretch:112%}.porthole-of{fill:var(--muted);font-family:var(--font-mono);font-size:10.5px;font-weight:500}.hero-text{min-width:0}.env-chip{border:1px solid var(--line);color:var(--muted);font:500 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:4px 7px;display:inline-block}.hero-protected .env-chip{border-color:var(--danger);color:var(--danger)}.hero h1{letter-spacing:-.012em;text-wrap:balance;margin:8px 0 4px;font-size:24px;font-weight:650;font-stretch:112%;line-height:1.12}.hero-sub{color:var(--muted);margin:0;font-size:14px}.group,.outside{margin-top:20px}.group-title{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;align-items:baseline;gap:7px;margin:0 2px 8px;font-size:12px;font-weight:650;font-stretch:116%;display:flex}.group-attention .group-title{color:var(--attention)}.group-count{font:500 12px/1 var(--font-mono);letter-spacing:0}.plate{border:1px solid var(--line);background:var(--plate);box-shadow:var(--shadow);border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.row{align-items:center;gap:12px;min-height:56px;padding:10px 14px;display:flex}.row+.row,.plate>li+li{border-top:1px solid var(--line)}.row-link{color:inherit;text-decoration:none;transition:background-color .12s}.row-link:hover{background:color-mix(in srgb, var(--brass) 7%, var(--plate))}.row-link:active{background:color-mix(in srgb, var(--brass) 14%, var(--plate))}.row-link:focus-visible{outline-offset:-3px}.row-chevron{width:14px;height:14px;color:var(--muted);flex:none}.glyph{flex:none;width:16px;height:16px}.glyph-online{color:var(--online)}.glyph-attention{color:var(--attention)}.glyph-stopped{color:var(--stopped)}.row-main{flex:1;min-width:0}.row-name{overflow-wrap:anywhere;font-size:16px;font-weight:580;display:block}.row-stopped .row-name{color:var(--muted)}.row-note{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.32;display:block}.row-path{color:var(--muted);font:500 12px/1.35 var(--font-mono);overflow-wrap:anywhere;margin-top:2px;display:block}.containers{flex:none;align-items:center;gap:9px;display:flex}.pips{gap:3px;display:flex}.pip{background:var(--pip-off);border-radius:2px;width:6px;height:6px}.pip-on{background:var(--online)}.ratio{min-width:2.4em;color:var(--muted);font:500 13px/1 var(--font-mono);text-align:right}.outside summary{min-height:44px;color:var(--muted);cursor:pointer;align-items:center;gap:10px;padding:0 2px;list-style:none;display:flex}.outside summary::-webkit-details-marker{display:none}.outside-title{letter-spacing:.09em;text-transform:uppercase;align-items:baseline;gap:7px;font-size:12px;font-weight:650;font-stretch:116%;display:flex}.outside-hint{font-size:13px}.chevron{width:16px;height:16px;margin-left:auto;transition:transform .15s}.outside[open] .chevron{transform:rotate(180deg)}.back-link{min-height:44px;color:var(--muted);text-transform:capitalize;align-items:center;gap:4px;margin:0 0 6px -4px;padding-right:8px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.back-chevron{width:18px;height:18px}.hero h1{overflow-wrap:anywhere}.hero-project{color:var(--muted);font:500 12px/1.35 var(--font-mono);overflow-wrap:anywhere;margin-top:4px;display:block}.page-title{letter-spacing:-.012em;margin:8px 0 4px;font-size:26px;font-weight:650;font-stretch:112%;line-height:1.12}.page-sub{color:var(--muted);margin:0 0 14px;font-size:14px}.panel{margin-top:16px}.panel-note{color:var(--muted);margin:8px 2px 0;font-size:13px}.reasons{margin:8px 0 0;padding:0;list-style:none}.reason{border:1px solid var(--line);background:var(--plate);overflow-wrap:anywhere;border-radius:12px;padding:10px 12px 10px 15px;font-size:14px;line-height:1.35;position:relative;overflow:hidden}.reason:before{content:"";background:var(--brass);width:3px;position:absolute;inset:0 auto 0 0}.reason+.reason{margin-top:6px}.btn{border:1px solid var(--line);background:var(--sunk);min-height:44px;color:var(--text);font:600 14px/1 var(--font-ui);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0 14px;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--brass-dim)}.btn:disabled{cursor:default;opacity:.55}.btn-primary{border-color:var(--brass);background:var(--brass);color:var(--plate)}.btn-primary:hover:not(:disabled){border-color:var(--brass)}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-danger:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb, var(--danger) 9%, transparent)}.action-row{width:100%;min-height:56px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:12px;padding:11px 14px;transition:background-color .12s;display:flex}.action-row:hover:not(:disabled){background:color-mix(in srgb, var(--brass) 7%, var(--plate))}.action-row:active:not(:disabled){background:color-mix(in srgb, var(--brass) 14%, var(--plate))}.action-row:focus-visible{outline-offset:-3px}.action-row:disabled{cursor:default;opacity:.55}.action-icon{width:18px;height:18px;color:var(--brass);flex:none;margin-top:1px}.action-text{min-width:0}.action-name{font-weight:620;display:block}.action-hint{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.32;display:block}.action-danger .action-name,.action-danger .action-icon{color:var(--danger)}a.action-row{text-decoration:none}.action-chevron{align-self:center;margin-left:auto}.container-row{flex-wrap:wrap}.container-row .row-main{flex:200px}.row-subject{color:var(--muted);font-weight:500}.row-reason{color:var(--attention)}.row-actions{flex-wrap:wrap;flex:100%;gap:8px;padding-left:28px;display:flex}.row-actions .btn{flex:130px}.row-logs{min-width:44px;min-height:44px;color:var(--brass);letter-spacing:.09em;text-transform:uppercase;flex:none;justify-content:flex-end;align-self:flex-start;align-items:center;margin:-6px -4px -6px 0;padding:0 4px;font-size:12px;font-weight:650;font-stretch:116%;text-decoration:none;display:inline-flex}.console{background:var(--plate)}.console-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:10px 14px;display:flex}.console-status{overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;font-weight:600;display:inline-flex}.console-ok .glyph{color:var(--online)}.console-failed{color:var(--attention)}.console-duration{color:var(--muted);font:500 12px/1 var(--font-mono);flex:none}.console-output{background:var(--sunk);max-height:44dvh;color:var(--text);font:500 12.5px/1.5 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:12px 14px;overflow:auto}.console-line{display:block}.console-stderr{color:var(--muted)}.console-system{color:var(--brass)}.console-empty{background:var(--sunk);color:var(--muted);margin:0;padding:16px 14px;font-size:14px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.back-link-plain{text-transform:none;overflow-wrap:anywhere}.log-title{align-items:center;gap:10px;margin:0 0 12px;display:flex}.log-title .page-title{margin:0}.env-chip-protected{border-color:var(--danger);color:var(--danger)}.log-tools{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.log-service{grid-column:1/-1;min-width:0;display:block;position:relative}.log-select{border:1px solid var(--brass-dim);background:var(--sunk);width:100%;min-height:44px;color:var(--text);font:500 15px/1.2 var(--font-mono);text-overflow:ellipsis;cursor:pointer;appearance:none;border-radius:10px;padding:0 38px 0 12px;display:block}.log-select-chevron{width:16px;height:16px;color:var(--brass);pointer-events:none;margin-top:-8px;position:absolute;top:50%;right:12px}.btn-tool{white-space:nowrap;gap:8px}.btn-tool[aria-pressed=true],.btn-tool-on{border-color:var(--brass);background:color-mix(in srgb, var(--brass) 12%, var(--plate));color:var(--brass)}.btn-icon{width:16px;height:16px;color:var(--brass);flex:none}.log-plate{position:relative}.log-plate-protected:before{content:"";z-index:1;background:var(--danger);height:3px;position:absolute;inset:0 0 auto}.log-dot{background:var(--stopped);border-radius:50%;flex:none;width:7px;height:7px}.log-dot-paused{background:var(--brass)}.log-dot-lost{background:var(--attention)}.log-held{color:var(--muted);font:500 12px/1.3 var(--font-mono)}.log-window{position:relative}.log-output,.log-empty{height:max(280px, calc(100dvh - 347px - env(safe-area-inset-bottom)))}.log-output{overscroll-behavior:contain;max-height:none}.log-empty{text-align:center;justify-content:center;align-items:center;display:flex}.log-line{text-indent:-1.4em;margin-left:-14px;padding-left:calc(14px + 1.4em);display:block}.log-stderr{box-shadow:inset 2px 0 0 var(--attention)}.log-time{color:var(--muted);margin-right:1ch;display:none}.log-timed .log-time{display:inline}.log-bottom{position:absolute;bottom:12px;right:12px;box-shadow:0 2px 10px #00000047}.link-button{min-height:44px;color:var(--brass);font:650 13px/1 var(--font-ui);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 2px;text-decoration:underline;display:inline-flex}.var-messages{margin-top:16px}.var-messages>:last-child{margin-bottom:0}.var-notice{margin:0 0 8px}.var-banner{margin:8px 0 0}.var-empty{padding:18px 0}.var-unlock{width:100%}.var-row{padding:6px 14px 12px}.var-head{align-items:center;gap:8px;min-height:44px;display:flex}.var-title{flex:1;min-width:0}.var-key{font:500 14px/1.3 var(--font-mono);overflow-wrap:anywhere;display:block}.var-tags{flex-wrap:wrap;gap:4px 6px;margin-top:4px;display:flex}.var-tag{border:1px solid var(--line);color:var(--muted);font:500 11px/1 var(--font-mono);border-radius:6px;flex:none;padding:3px 6px}.var-tag-mod{border-color:var(--brass);color:var(--brass)}.var-tag-new{border-color:var(--online);color:var(--online)}.var-tag-del{border-color:var(--danger);color:var(--danger)}.var-actions{flex:none;gap:6px;margin-left:auto;display:flex}.var-action{padding:0 12px}.var-square{width:44px;color:var(--muted);padding:0}.var-square-danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.var-action-icon{width:16px;height:16px}.var-mask{color:var(--muted);font:500 14px/1.4 var(--font-mono);letter-spacing:.14em;display:block}.var-input{margin-top:0}.var-head+.var-input,.var-head+.var-pre{margin-top:4px}.var-pre{border:1px solid var(--line);background:var(--sunk);max-height:200px;color:var(--text);font:500 13px/1.45 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;margin:0;padding:10px 12px;overflow:auto}.var-row-deleted .var-key{color:var(--muted);text-decoration:line-through}.var-add-plate{margin-top:8px}.var-add{padding:12px 14px 14px}.var-add-fields{gap:10px;display:grid}.var-add-field{min-width:0;color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:12px;font-weight:650;font-stretch:116%;display:block}.var-add-field .var-input{color:var(--text);letter-spacing:0;text-transform:none;margin-top:6px}.var-add-error{margin-top:10px}.var-savebar{bottom:calc(10px + env(safe-area-inset-bottom));z-index:2;border:1px solid var(--brass-dim);background:var(--plate);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:8px 8px 8px 14px;display:flex;position:sticky;box-shadow:0 2px 14px #00000038}.var-savebar-count{font-size:14px;font-weight:600}.var-savebar-actions{flex:none;gap:8px;display:flex}.var-summary{gap:10px;margin-top:14px;display:grid}.var-summary-group{align-items:flex-start;gap:10px;display:flex}.var-summary-keys{font:500 13px/1.3 var(--font-mono);overflow-wrap:anywhere;flex-wrap:wrap;gap:4px 10px;margin:0;padding:2px 0 0;list-style:none;display:flex}.porthole-clock{font-variant-numeric:tabular-nums;font-size:30px}.journal-outcome{max-width:34%;color:var(--online);font:500 12px/1.3 var(--font-mono);text-align:right;flex:none}.journal-outcome-failed{color:var(--attention)}.login{max-width:none;min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));justify-content:center;align-items:center;display:flex}.login-panel{width:100%;max-width:360px}.login-head{text-align:center;flex-direction:column;align-items:center;margin-bottom:18px;display:flex}.porthole-locked{width:148px;height:148px}.login-brand{margin:14px 0 4px}.login-title{letter-spacing:-.012em;margin:0;font-size:27px;font-weight:650;font-stretch:112%;line-height:1.12}.login-form{border:1px solid var(--line);background:var(--plate);box-shadow:var(--shadow);border-radius:18px;padding:16px}.login-field{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:12px;font-weight:650;font-stretch:116%;display:block}.login-field+.login-field{margin-top:14px}.login-field .sheet-input{color:var(--text);letter-spacing:0;text-transform:none}.login-note{border:1px solid var(--line);background:var(--plate);color:var(--text);overflow-wrap:anywhere;border-radius:12px;margin:0 0 12px;padding:10px 12px 10px 15px;font-size:14px;line-height:1.35;position:relative;overflow:hidden}.login-note:before{content:"";background:var(--brass);width:3px;position:absolute;inset:0 auto 0 0}.login-error{color:var(--danger);overflow-wrap:anywhere;margin:12px 0 0;font-size:14px}.login-submit{width:100%;margin-top:16px}.sheet{border:1px solid var(--line);background:var(--plate);width:100%;max-width:100%;color:var(--text);border-bottom:0;border-radius:18px 18px 0 0;margin:0;padding:0;animation:.2s ease-out sheet-up;position:fixed;inset:auto 0 0;overflow:hidden;box-shadow:0 -8px 30px #00000040}.sheet::backdrop{background:#08101494}.sheet-protected{border-top:3px solid var(--danger)}.sheet-body{padding:20px 16px calc(16px + env(safe-area-inset-bottom))}.sheet-title{overflow-wrap:anywhere;margin:0 0 8px;font-size:21px;font-weight:650;font-stretch:110%;line-height:1.18}.sheet-text{color:var(--muted);margin:0;font-size:15px;line-height:1.4}.sheet-field{margin-top:14px;font-size:14px;display:block}.sheet-field code{background:var(--sunk);font:500 13px/1.4 var(--font-mono);overflow-wrap:anywhere;border-radius:5px;padding:1px 5px}.sheet-input{border:1px solid var(--brass-dim);background:var(--sunk);width:100%;min-height:44px;color:var(--text);font:500 16px/1 var(--font-mono);border-radius:10px;margin-top:6px;padding:0 12px;display:block}.sheet-error{color:var(--danger);overflow-wrap:anywhere;margin:12px 0 0;font-size:14px}.sheet-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;display:grid}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}.form-plate{border:1px solid var(--line);background:var(--plate);box-shadow:var(--shadow);border-radius:14px;padding:16px}.field+.field{margin-top:14px}.field-label{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:12px;font-weight:650;font-stretch:116%;display:block}.field .sheet-input,.field .log-select{margin-top:6px}.field-select{margin-top:6px;display:block;position:relative}.field-select .log-select{margin-top:0}.field-hint{color:var(--muted);overflow-wrap:anywhere;margin-top:6px;font-size:13px;line-height:1.32;display:block}.field-warn{color:var(--attention)}.form-actions{justify-content:flex-end;margin-top:18px;display:flex}.form-actions .btn{width:100%}.btn-block{width:100%;text-decoration:none}.promote-actions{flex-direction:column;gap:8px;display:flex}.plan-layout{flex-direction:column;gap:16px;display:flex}.plan-content{order:1}.plan-content>.group:first-child{margin-top:0}.plan-actions{order:2}.summary-plate{padding:4px 14px}.summary{margin:0}.summary>div{padding:10px 0}.summary>div+div{border-top:1px solid var(--line)}.summary dt{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:12px;font-weight:650;font-stretch:116%}.summary dd{font:500 13px/1.4 var(--font-mono);overflow-wrap:anywhere;margin:4px 0 0}.summary-target{color:var(--brass)}.reasons-attention .reason:before{background:var(--attention)}.empty-plate{border:1px dashed var(--line);border-radius:14px;padding:18px 14px;font-size:14px}.steps{counter-reset:step}.step-number{border:1px solid var(--brass-dim);width:24px;height:24px;color:var(--brass);font:500 12px/1 var(--font-mono);border-radius:7px;flex:none;justify-content:center;align-items:center;display:inline-flex}.diff{background:var(--sunk);max-height:60dvh;color:var(--text);font:500 12.5px/1.5 var(--font-mono);margin:0;padding:8px 0;overflow:auto}.diff-line{text-indent:-2ch;white-space:pre-wrap;overflow-wrap:anywhere;padding:0 14px 0 calc(14px + 2ch);display:block}.diff-line:empty:before{content:" "}.diff-add{background:color-mix(in srgb, var(--online) 15%, transparent)}.diff-add:before{content:"+ ";color:var(--online)}.diff-del{background:color-mix(in srgb, var(--danger) 13%, transparent)}.diff-del:before{content:"- ";color:var(--danger)}.diff-context:before{content:"  "}.diff-gap{color:var(--muted);text-align:center}.key-plate{padding:12px 14px}.key-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.key-chip{border:1px solid var(--line);background:var(--sunk);font:500 12.5px/1.3 var(--font-mono);overflow-wrap:anywhere;border-radius:6px;padding:3px 7px;display:inline-block}.key-note{color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.35}.row-path-strong{color:var(--text);margin-top:0;font-size:13px}@media (width<=479px){.top-tools{gap:8px}.top-link{letter-spacing:.04em;font-size:11px}.freshness time,.freshness-label,.brand>span:last-child{display:none}.brand{flex:none}}@media (width<=359px){.top{gap:8px}.top-tools{gap:4px}.top-link{letter-spacing:0;font-stretch:100%}}.porthole-word{font-size:20px}.claude-state{align-items:center;gap:7px;display:inline-flex}.trust-plate{border-color:var(--brass-dim);padding:14px}.trust-plate .sheet-actions{margin-top:14px}.trust-question{background:var(--sunk);font:500 13px/1.45 var(--font-mono);overflow-wrap:anywhere;border-radius:10px;margin:10px 0 0;padding:10px 12px}.claude-app-pill{border:1px solid var(--brass-dim);color:var(--brass);font:500 11px/1 var(--font-mono);border-radius:6px;flex:none;padding:3px 7px}.check-field{cursor:pointer;align-items:flex-start;gap:10px;min-height:44px;margin-top:14px;padding:10px 0 2px;font-size:15px;display:flex}.check-field input{width:18px;height:18px;accent-color:var(--brass);flex:none;margin:1px 0 0}.check-field .field-hint{margin-top:2px}@media (width>=880px){.sheet{border-bottom:1px solid var(--line);border-radius:18px;width:440px;max-width:calc(100vw - 32px);animation:.16s ease-out sheet-in;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.sheet-protected{border-top:3px solid var(--danger)}@keyframes sheet-in{0%{opacity:0}}.row-actions{flex:none;padding-left:0}.row-actions .btn{flex:none}.row-logs{align-self:center;margin:0}.log-tools{grid-template-columns:minmax(0,320px) auto auto;justify-content:start}.log-service{grid-column:auto}.log-output,.log-empty{height:max(320px,100dvh - 296px)}.container-row{flex-wrap:nowrap}.var-add-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;align-items:end}.var-messages{margin-top:0}.form-plate{max-width:560px}.plan-layout{grid-template-rows:auto 1fr;grid-template-columns:300px minmax(0,1fr);align-items:start;gap:16px 28px;display:grid}.plan-summary{grid-area:1/1}.plan-actions{grid-area:2/1}.plan-content{grid-area:1/2/3/3}.form-actions .btn{width:auto}.top-user{display:inline}.porthole-locked{width:176px;height:176px}.layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:28px;display:grid}.aside{position:sticky;top:16px}.hero{text-align:center;flex-direction:column;gap:14px;padding:26px 20px 22px}.porthole{width:196px;height:196px}.content>.group:first-child{margin-top:0}.hero h1{font-size:27px}}.project-hero{flex-wrap:wrap;margin-top:2px}.project-hero .porthole{width:88px;height:88px}.project-hero .hero-text{flex:1}.project-hero h1{margin:6px 0 2px;font-size:22px}.project-actions{flex-wrap:wrap;flex-basis:100%;gap:8px;display:flex}.project-actions .btn{white-space:nowrap;flex:auto;padding:0 12px;text-decoration:none}.project-tabs{border:1px solid var(--line);background:var(--sunk);scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:13px;gap:4px;margin:12px 0 14px;padding:4px;display:flex;overflow-x:auto}.project-tabs::-webkit-scrollbar{display:none}.project-tab{min-height:44px;color:var(--muted);white-space:nowrap;border-radius:9px;flex:none;align-items:center;padding:0 14px;font-weight:620;font-stretch:108%;text-decoration:none;display:flex}.project-tab[aria-current=page]{background:var(--plate);color:var(--text);box-shadow:var(--shadow)}.project-env{margin-bottom:14px}.deploy-grid{gap:14px;margin-top:14px;display:grid}.deploy-grid:first-child{margin-top:0}.deploy-title{margin-bottom:6px}.summary-status{align-items:center;gap:7px;display:flex}.summary-empty{color:var(--muted)}.summary-gap{color:var(--attention)}.summary-link{color:var(--brass);text-underline-offset:3px;position:relative}.summary-link:after{content:"";position:absolute;inset:-13px -4px}.row-project{min-height:44px;color:var(--brass);letter-spacing:.09em;text-transform:uppercase;align-items:center;margin:-8px 0 2px 42px;padding:0 4px;font-size:12px;font-weight:650;font-stretch:116%;text-decoration:none;display:inline-flex}.files-layout{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.files-layout-open .files-side,.files-hint{display:none}.crumbs{font:500 13px/1.3 var(--font-mono);flex-wrap:wrap;align-items:center;gap:0 2px;margin:0 2px;display:flex}.crumb-part{align-items:center;display:inline-flex}.crumb{min-height:44px;color:var(--brass);overflow-wrap:anywhere;align-items:center;padding:0 3px;text-decoration:none;display:inline-flex}.crumb-sep{color:var(--muted)}.files-tools{flex-wrap:wrap;gap:6px;margin:6px 0 10px;display:flex}.files-tools .btn-tool{gap:6px;padding:0 10px}.file-list .row{min-height:52px;padding:8px 12px}.file-row-selected{background:color-mix(in srgb, var(--brass) 11%, var(--plate))}.file-row-blocked .file-name{color:var(--muted)}.file-icon{width:18px;height:18px;color:var(--brass);flex:none}.file-icon-changed,.file-icon-secret{color:var(--attention)}.file-icon-blocked{color:var(--muted)}.file-name{font:500 14px/1.3 var(--font-mono);overflow-wrap:anywhere;display:block}.file-back{margin-bottom:2px}.file-head{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px;display:flex}.file-head-main{flex:200px;min-width:0}.file-path{font:500 14px/1.3 var(--font-mono);overflow-wrap:anywhere;display:block}.file-truncated{flex:none}.file-secret .summary-link{margin-left:2px}.code-view{background:var(--sunk);color:var(--text);font:500 12.5px/1.55 var(--font-mono);tab-size:4;margin:0;padding:10px 0;overflow-x:auto}.code-row{padding-right:12px;display:flex}.code-row:hover{background:color-mix(in srgb, var(--brass) 6%, transparent)}.code-row-active{background:color-mix(in srgb, var(--brass) 18%, transparent)}.code-num{width:5ch;color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;flex:none;padding-right:1.5ch;text-decoration:none;position:relative}.code-num:after{content:"";position:absolute;inset:-12px -4px}.code-text{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;min-width:0}.hl-comment{color:var(--muted)}.hl-string{color:var(--online)}.hl-constant{color:var(--attention)}.hl-keyword,.hl-storage{color:var(--brass)}.hl-entity,.hl-support{color:color-mix(in srgb, var(--text) 75%, var(--brass))}.hl-variable{color:color-mix(in srgb, var(--text) 85%, var(--online))}.markdown{overflow-wrap:anywhere;padding:16px;font-size:15.5px;line-height:1.6}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4{letter-spacing:-.01em;margin:1.4em 0 .5em;font-weight:650;font-stretch:110%;line-height:1.2}.markdown h1{font-size:24px}.markdown h2{border-bottom:1px solid var(--line);padding-bottom:.3em;font-size:19.5px}.markdown h3{font-size:16.5px}.markdown p,.markdown ul,.markdown ol,.markdown blockquote,.markdown table,.markdown pre{margin:.7em 0}.markdown a{color:var(--brass);text-underline-offset:3px}.markdown code{background:var(--sunk);font:500 .85em/1.4 var(--font-mono);border-radius:5px;padding:1px 4px}.markdown pre{background:var(--sunk);border-radius:10px;padding:10px 12px;overflow-x:auto}.markdown pre code{background:0 0;padding:0;font-size:12.5px}.markdown blockquote{border-left:3px solid var(--brass-dim);color:var(--muted);margin-left:0;padding:2px 0 2px 12px}.markdown table{border-collapse:collapse;font-size:14px;display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--line);text-align:left;padding:6px 10px}.markdown th{background:var(--sunk);font-weight:620}.markdown hr{border:0;border-top:1px solid var(--line);margin:1.2em 0}.markdown input[type=checkbox]{accent-color:var(--brass);margin-right:6px}.file-plate{overflow:hidden}.commits-panel{margin-top:16px}.commits-panel .outside-title{flex:none}.commits-panel .outside-hint{min-width:0;font:500 12px/1.3 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.commit-list{margin-top:4px}.commit-row{gap:3px;padding:11px 14px;display:grid}.commit-head{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.commit-hash{color:var(--brass);font:500 12.5px/1.3 var(--font-mono)}.commit-subject{overflow-wrap:anywhere;flex:60%;min-width:0;font-weight:580}.commit-files{color:var(--muted);font:500 12px/1.35 var(--font-mono);overflow-wrap:anywhere}button.db-row,.db-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.db-layout{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.db-list.group{margin-top:0}.db-meta{align-items:center;gap:8px;margin:0 2px 6px;display:flex}.db-meta .row-note{margin:0}.db-schema .reason{margin:8px 0 0}.erd-plate{background:var(--sunk);overflow:auto}.erd{padding:2px;display:block}.erd-box{fill:var(--plate);stroke:var(--line)}.erd-head{fill:color-mix(in srgb, var(--brass) 16%, var(--plate))}.erd-title{fill:var(--text);font:650 12px var(--font-ui)}.erd-col{fill:var(--text);font:500 11px var(--font-mono)}.erd-pk{fill:var(--brass)}.erd-type{fill:var(--muted);font:500 11px var(--font-mono)}.erd-link{fill:none;stroke:var(--brass-dim);stroke-width:1.3px}.erd-arrow{fill:var(--brass)}.db-table .outside-title{font:500 14px/1.3 var(--font-mono);letter-spacing:0;overflow-wrap:anywhere;text-transform:none;align-items:center}.db-table-body{margin-top:2px;padding:4px 14px 12px}.db-table-body .summary>div{padding:8px 0}.db-pk{color:var(--brass)}.db-extra{padding-top:10px}.db-extra-title{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:650;font-stretch:116%}.db-preview{margin-top:12px}.data-scroll{border:1px solid var(--line);border-radius:10px;overflow:auto}.data-table{border-collapse:collapse;width:100%;font:500 12.5px/1.4 var(--font-mono)}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:6px 10px}.data-table th{background:var(--sunk);color:var(--muted);position:sticky;top:0}.data-null{color:var(--muted)}.scripts-layout .group:first-child{margin-top:0}.script-row{padding:12px 14px}.script-head{align-items:flex-start;gap:8px;display:flex}.script-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.script-actions .btn{flex:auto}.log-tools-single{grid-template-columns:1fr}.project-logs .log-output,.project-logs .log-empty{height:max(280px,62dvh)}.log-section+.log-section{margin-top:12px}.log-section-output{max-height:40dvh}@media (width>=880px){.hero.project-hero{text-align:left;flex-flow:row;padding:14px 20px}.project-hero .porthole{width:104px;height:104px}.project-hero h1{font-size:24px}.project-actions{flex-wrap:nowrap;flex-basis:auto;margin-left:auto}.project-actions .btn{flex:none}.project-tabs{width:fit-content;max-width:100%}.deploy-grid{grid-template-columns:1fr 1fr}.files-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:22px}.files-layout-open .files-side{display:block}.files-side{max-height:calc(100dvh - 32px);position:sticky;top:16px;overflow-y:auto}.file-back{display:none}.files-hint{display:block}.db-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:22px 28px}.db-list{position:sticky;top:16px}.db-layout>.banner,.db-layout>.loading,.db-layout>.empty{grid-column:1/-1}.scripts-layout{max-width:780px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.settings-group{margin-top:24px}.settings-group .form-plate,.settings-list{margin-top:10px}.settings-row{flex-wrap:wrap;justify-content:space-between}.settings-row .row-main{flex:200px;min-width:0}.settings-row-actions{flex:none;gap:8px;display:flex}.settings-actions{gap:10px}.settings-actions .btn{flex:1 1 0;width:auto}.settings-text{margin:0;line-height:1.4}.qr-code{border-radius:8px;width:min(240px,100%);height:auto;margin:14px auto;display:block}.secret-text{overflow-wrap:anywhere}.recovery-codes{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.cert-rows-nested{border-top:1px solid var(--line);background:color-mix(in srgb, var(--sunk) 35%, var(--plate));margin:0;padding:0;list-style:none}.cert-rows-nested>.row{padding-left:22px}.cert-row,.registry-tag{align-items:flex-start}.cert-row>.glyph{margin-top:3px}.cert-host{flex-wrap:wrap;align-items:center;gap:4px 7px;display:flex}.cert-headline{color:var(--text);font-weight:560}.cert-expiring,.cert-expired,.cert-failed{color:var(--attention)}.cert-reason{font:500 12px/1.4 var(--font-mono);overflow-wrap:anywhere}.cert-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-top:8px;display:flex}.cert-footer .field-hint{margin-top:0}.cert-summary{cursor:pointer;list-style:none}.cert-summary::-webkit-details-marker{display:none}.cert-chevron{transition:transform .15s}.cert-domain[open] .cert-chevron{transform:rotate(90deg)}.cert-others{margin:14px 2px 8px}.registry-tag-name{font:500 14px/1.3 var(--font-mono)}.registry-fate-delete{color:var(--danger);font-weight:600}.registry-fate-unknown{color:var(--attention)}.registry-actions{flex-direction:column;gap:10px}.builds-layout .build-intro{margin:0;line-height:1.4}.builds-layout .var-notice{margin:10px 0 0}.build-console-label .file-name{display:inline}.artifact-row{padding:12px 14px}.artifact-row+.artifact-row{border-top:1px solid var(--line)}.artifact-head{align-items:flex-start;gap:8px;display:flex}.artifact-row .script-actions .btn{flex:1 1 0;text-decoration:none}.artifact-qr{text-align:center;margin-top:12px}.artifact-qr .qr-code{width:min(260px,100%)}.artifact-link{font:500 11px/1.35 var(--font-mono);overflow-wrap:anywhere;text-align:left;margin-top:8px;display:block}.access-title{margin:0;font-size:16px;font-weight:650}.access-title+.field-hint{margin-top:4px}.access-list{margin-top:12px}.access-empty{text-align:left;padding:14px 0 4px}.access-add{margin-top:14px}.access-add-row{gap:8px;margin-top:6px;display:flex}.access-add-row .sheet-input{flex:auto;min-width:0}.access-add-row .btn{flex:none}.access-envs{border:0;margin:4px 0 0;padding:0}.access-envs .env-chip{vertical-align:1px;margin-left:8px}.access-notice{margin:10px 2px 0}.dev-auth-facts{border-top:1px solid var(--line);margin:12px 0 0}.dev-auth-fact{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding:10px 0;display:flex}.dev-auth-fact dt{color:var(--muted);font-size:14px}.dev-auth-fact dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:600}.dev-auth-form{margin-top:16px}.dev-auth-form>.field-hint{margin-top:14px}.dev-auth-form .field-hint+.sheet-error{margin-top:10px}.dev-auth-notice{margin-top:12px}.dev-auth-reminder{margin-top:14px}.import-entry{margin:0 0 16px}.import-sources{border:0;min-width:0;margin:0;padding:0}.import-sources>.field-label{margin-bottom:8px;padding:0}.import-repo{border:1px solid var(--line);background:var(--plate);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;min-height:44px;padding:12px 14px;display:flex}.import-repo+.import-repo{margin-top:8px}.import-repo-checked{border-color:var(--brass-dim);box-shadow:var(--shadow)}.import-repo input{width:18px;height:18px;accent-color:var(--brass);flex:none;margin:2px 0 0}.import-repo-main{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.import-repo-name{overflow-wrap:anywhere;font-size:16px;font-weight:650}.import-repo-path,.import-repo-meta{color:var(--muted);overflow-wrap:anywhere;font-size:13px;line-height:1.35}.import-repo-path{font:500 12px/1.35 var(--font-mono)}.import-repo-main .field-hint{margin-top:2px}.import-tags{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.import-tag{border:1px solid var(--line);max-width:100%;color:var(--muted);font:500 11.5px/1.5 var(--font-mono);overflow-wrap:anywhere;border-radius:999px;padding:2px 8px}.import-tag-ok{border-color:color-mix(in srgb, var(--online) 45%, transparent);color:var(--online)}.import-tag-warn{border-color:color-mix(in srgb, var(--attention) 45%, transparent);color:var(--attention)}.import-tag-prod{border-color:var(--brass-dim);color:var(--brass)}.import-fields{margin-top:16px}.import-fields .var-notice{margin:14px 0 0}.import-fields .var-notice+.field{margin-top:14px}.import-plan .row-main{min-width:0}.import-plan .row-note{overflow-wrap:anywhere}.import-result{margin-top:20px}.import-plan>.group:first-child{margin-top:0}.import-plan>.summary-plate{margin-top:16px}.import-commit{color:var(--muted);margin-top:2px;display:block}.import-lost{margin:0;padding:0;list-style:none}@media (width<=340px){.import-repo{gap:10px;padding:10px 12px}.import-tag{padding:2px 6px;font-size:11px}}.site-toolbar{flex-wrap:wrap;gap:8px;display:flex}.site-toolbar .btn{flex:140px}.site-notice{margin:0 2px 12px}.site-group-hint{margin:-2px 2px 8px}.site-summary{cursor:pointer;align-items:flex-start;list-style:none}.site-summary::-webkit-details-marker{display:none}.site-summary .glyph,.site-chevron{margin-top:3px}.site-chevron{transition:transform .15s}.site-item[open]>.site-summary .site-chevron{transform:rotate(90deg)}.site-host{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.site-more{color:var(--muted);font:500 13px/1 var(--font-mono)}.site-target{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:13px}.site-details{border-top:1px solid var(--line);background:color-mix(in srgb, var(--sunk) 35%, var(--plate));padding-bottom:14px}.site-details>.field-hint{margin:0;padding:12px 14px 0}.site-details .cert-rows-nested{background:0 0;border-top:0}.site-facts{border-top:1px solid var(--line);margin:0 14px}.site-fact{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding:9px 0;display:flex}.site-fact dt{color:var(--muted);font-size:14px}.site-fact dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:600}.site-fact code{font:500 13px/1.4 var(--font-mono)}.site-details .reasons{margin:12px 14px 0}.site-actions{flex-wrap:wrap;gap:8px;padding:12px 14px 0;display:flex}.site-actions:empty{display:none}.site-actions .btn{flex:120px}.site-confirm{padding:12px 14px 0}.site-confirm .field{margin-top:14px}.site-confirm .settings-actions{flex-wrap:wrap}.site-confirm .settings-actions .btn{flex:130px}.site-file{margin:12px 14px 0}.site-file summary{min-height:44px;color:var(--muted);cursor:pointer;padding:12px 0;font-size:14px;font-weight:600}.site-text{background:var(--sunk);font:500 12.5px/1.45 var(--font-mono);tab-size:4;white-space:pre;border-radius:10px;margin:0;padding:10px 12px;overflow-x:auto}.site-form{margin-top:4px}.site-form-title{overflow-wrap:anywhere;margin:0 0 14px;font-size:18px;font-weight:650}.site-form>.field-hint,.site-form .check-field+.field{margin-top:14px}
