@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-latin-400.woff2)format("woff2")}:root{color-scheme:light;--bg:#fff;--fg:#14171c;--muted:#4b5260;--line:#e3e6ea;--line-strong:#d2d6dc;--soft:#f7f8fa;--sidebar:#fbfbfc;--hover:#14171c0d;--selected:#14171c14;--brand:#2f4f08;--brand-hover:#223a05;--on-brand:#fff;--ok:#0f7b3d;--bad:#b42318;--warn:#8a5a00;--warn-bg:#fdf6e3;--warn-line:#f0e2b6;--warn-ink:#5c4400;--code-bg:#0d1015;--code-ink:#e6e9ee;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--top-h:56px}*{box-sizing:border-box}html,body{background:var(--soft);color:var(--fg);margin:0}body{font-feature-settings:"cv11", "ss03";font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.55}a{color:var(--fg);text-underline-offset:3px}code,.mono{font-family:var(--mono);font-size:.875em}:not(pre)>code{background:var(--soft);border:1px solid var(--line);border-radius:5px;padding:1px 5px}pre{background:var(--code-bg);color:var(--code-ink);border-radius:12px;padding:16px 18px;font-size:13.5px;line-height:1.7;overflow-x:auto}pre code{font-size:inherit;background:0 0;border:0;padding:0}h1{margin:0;font-size:24px;font-weight:600;line-height:1.3}h2{margin:24px 0 8px;font-size:18px;font-weight:600;line-height:1.35}h3{margin:16px 0 8px;font-size:16px;font-weight:600;line-height:1.4}p{margin:0 0 12px}.small{color:var(--muted);font-size:14px}.muted{color:var(--muted)}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ok{color:var(--ok)}.bad{color:var(--bad)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.console{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.test-strip{background:var(--warn-bg);border-bottom:1px solid var(--warn-line);color:var(--warn-ink);text-align:center;margin:0;padding:5px 16px;font-size:14px;font-weight:600;line-height:1.4}.top{height:var(--top-h);background:var(--bg);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:10px;padding:0 20px;display:flex}.top .wordmark{color:var(--fg);white-space:nowrap;align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.top .wordmark img{width:26px;height:26px}.top .wordmark .sub{color:var(--muted);font-weight:500}.top .slash{background:var(--line-strong);width:1px;height:20px;margin:0 4px;transform:rotate(18deg)}.top select{cursor:pointer;background:0 0;border:0;max-width:260px;padding:6px 8px;font-size:14px;font-weight:600}.top select:hover{background:var(--hover)}.top .spacer{flex:1}.top .top-link{color:var(--fg);border-radius:8px;padding:6px 10px;font-size:14px;font-weight:600;text-decoration:none}.top .top-link:hover{background:var(--hover)}.menu-btn{width:40px;height:40px;color:var(--fg);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:none}.menu-btn:hover{background:var(--hover)}.mode{background:var(--soft);border-radius:8px;gap:2px;padding:2px;display:flex}.mode button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 12px;font-size:14px;font-weight:600}.mode button[aria-pressed=true]{background:var(--bg);color:var(--fg);box-shadow:0 0 0 1px #14171c1a}.mode button:disabled{color:#9aa1ab;cursor:not-allowed}.console-body{flex:1;min-height:0;display:flex;overflow:hidden}.console-nav{background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:244px;display:flex;overflow-y:auto}.console-nav nav{flex:1;padding:12px}.console-nav ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.console-nav li a{color:#3a404a;border-radius:8px;align-items:center;height:34px;padding:0 10px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .12s ease-out,color .12s ease-out;display:flex}.console-nav li a:hover{background:var(--hover);color:var(--fg)}.console-nav li a[aria-current=page]{background:var(--selected);color:var(--fg);font-weight:600}.console-nav .nav-foot{border-top:1px solid var(--line);padding:10px 12px}.console-user{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding:10px 22px 14px;display:flex}.console-user .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.console-main{flex:1;min-width:0;padding:32px 40px 72px;overflow-y:auto}.console-main>*{max-width:1600px}.scrim{display:none}@media (width<=899px){.menu-btn{display:inline-flex}.top{padding:0 12px}.top .top-link,.top .slash{display:none}.console-nav{z-index:30;width:280px;transition:transform .2s ease-out;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.console.nav-open .console-nav{transform:none;box-shadow:0 8px 32px #14171c2e}.console.nav-open .scrim{z-index:25;background:#14171c66;display:block;position:fixed;inset:0}.console-main{padding:24px 16px 64px}}@media (width<=599px){.top .wordmark .name{display:none}.top select{max-width:150px}}.auth-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.auth-bar{align-items:center;gap:16px;height:64px;padding:0 24px;display:flex}.auth-bar .wordmark{color:var(--fg);align-items:center;gap:10px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.auth-bar .wordmark img{width:26px;height:26px}.auth-bar .wordmark .sub{color:var(--muted);font-weight:500}.auth{flex:1;width:100%;max-width:400px;margin:0 auto;padding:48px 24px 64px}.auth h1{margin-bottom:8px}.auth-foot{justify-content:center;gap:24px;padding:24px;font-size:14px;display:flex}.auth-foot a{color:var(--muted);text-decoration:none}.auth-foot a:hover{color:var(--fg)}@media (width<=480px){.auth{padding-top:24px}}.page-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-head h1{flex:1}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.block{background:var(--bg);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:4px 20px 20px}.block-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.stack{flex-direction:column;gap:16px;display:flex}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;display:grid}@media (width<=1000px){.split{grid-template-columns:1fr}}.btn{border:1px solid var(--line-strong);background:var(--bg);min-height:36px;color:var(--fg);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:6px 14px;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;transition:transform .1s ease-out,background-color .16s ease-out,border-color .16s ease-out;display:inline-flex}.btn:hover{background:var(--soft);border-color:#b9bfc7}.btn:active:not(:disabled){transform:scale(.98)}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn.danger{color:var(--bad)}.btn.danger:hover{border-color:var(--bad);background:#fef3f2}.btn.primary.danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn.small{min-height:30px;padding:4px 10px;font-size:14px}.btn:disabled{opacity:.55;cursor:not-allowed}.link{font:inherit;color:var(--brand);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:14px;font-weight:600}.link:hover{text-decoration:underline}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:14px;font-weight:600}.field-hint{color:var(--muted);font-size:14px}input,select,textarea{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line-strong);border-radius:8px;padding:9px 12px;font-size:15px;transition:border-color .16s ease-out}input:hover,select:hover,textarea:hover{border-color:#b9bfc7}input:focus,select:focus,textarea:focus{border-color:var(--fg);box-shadow:0 0 0 .5px var(--fg);outline:none}input[type=color]{width:64px;height:42px;padding:2px}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--brand)}fieldset{border:0;margin:0;padding:0}.choices,.events{flex-direction:column;gap:8px;display:flex}.check{align-items:center;gap:8px;display:flex}.scopes{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.scope{justify-content:space-between;align-items:center;gap:8px;display:flex}.search .field{flex:1;min-width:220px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 14px 10px 0}th{color:var(--muted);font-size:14px;font-weight:600}.row-actions{justify-content:flex-end;gap:8px;display:flex}.list{margin:0;padding:0;list-style:none}.list>li{border-bottom:1px solid var(--line);padding:12px 0}.list>li:last-child{border-bottom:0}.list-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.detail{flex-direction:column;gap:12px;padding:12px 0 0;display:flex}.facts{grid-template-columns:max-content 1fr;gap:6px 16px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.checks,.checklist{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.checks span{font-weight:600}.steps li{margin-bottom:12px}.meter{width:160px;accent-color:var(--brand);margin-top:4px;display:block}.note{background:var(--bg);border:1px solid var(--line);border-radius:12px;margin:0 0 16px;padding:12px 16px}.note p{margin:0}.note.error{color:var(--bad);background:#fef3f2;border-color:#f6d0cc}.once{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:12px;margin-bottom:16px;padding:12px 16px}.once p{margin:0 0 8px}.once-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.once-value{word-break:break-all;flex:1}.dialog{border:1px solid var(--line);background:var(--bg);width:min(560px,100vw - 32px);color:var(--fg);border-radius:12px;padding:24px}.dialog::backdrop{background:#14171c66}.dialog h2{margin-top:0}.preview iframe{border:1px solid var(--line);background:var(--soft);border-radius:12px;width:100%;height:680px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.block .note,.block .once{background:var(--soft);border:0}
