@font-face{font-family:Satoshi;font-style:normal;font-weight:400 500;font-display:swap;src:url(../assets/fonts/Satoshi-Medium.otf)format("opentype")}@font-face{font-family:Satoshi;font-style:normal;font-weight:600 900;font-display:swap;src:url(../assets/fonts/Satoshi-Bold.otf)format("opentype")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#dfe9ea;--scrim:linear-gradient(180deg, #ffffff4d, #ffffffa8);--panel:#fff;--panel-2:#f7fafa;--panel-border:#edf1f1;--border:#e3e9ea;--text:#050505;--muted:#5f5f5f;--accent:#71bcbf;--accent-btn:#4c9ea2;--accent-btn-hover:#3f8b8f;--accent-ink:#2f7376;--accent-text:#fff;--brand:#d24ad2;--ok:#15803d;--ok-bg:#eaf7ee;--warn:#b45309;--warn-bg:#fdf4e3;--err:#b91c1c;--err-bg:#fdeceb;--idle:#9aa1ab;--shadow:0 1px 2px #0505050d, 0 10px 30px #05050512;--shadow-sm:0 1px 2px #0505050f;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--wordmark:url(../assets/themes/light/cavu.png)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#050505;--scrim:linear-gradient(180deg, #050505db, #050505f0);--panel:#0f1112;--panel-2:#17191a;--panel-border:#272b2c;--border:#2b2f30;--text:#fff;--muted:#a7adad;--accent:#71bcbf;--accent-btn:#71bcbf;--accent-btn-hover:#8bcbce;--accent-ink:#8ed2d5;--accent-text:#04252a;--ok:#58d68a;--ok-bg:#12291c;--warn:#e8b063;--warn-bg:#2e2411;--err:#f4796b;--err-bg:#301917;--idle:#6b7373;--shadow:0 1px 2px #00000080, 0 12px 34px #00000073;--shadow-sm:0 1px 2px #00000080;--wordmark:url(../assets/themes/dark/cavu.png)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#050505;--scrim:linear-gradient(180deg, #050505db, #050505f0);--panel:#0f1112;--panel-2:#17191a;--panel-border:#272b2c;--border:#2b2f30;--text:#fff;--muted:#a7adad;--accent:#71bcbf;--accent-btn:#71bcbf;--accent-btn-hover:#8bcbce;--accent-ink:#8ed2d5;--accent-text:#04252a;--ok:#58d68a;--ok-bg:#12291c;--warn:#e8b063;--warn-bg:#2e2411;--err:#f4796b;--err-bg:#301917;--idle:#6b7373;--shadow:0 1px 2px #00000080, 0 12px 34px #00000073;--shadow-sm:0 1px 2px #00000080;--wordmark:url(../assets/themes/dark/cavu.png)}*{box-sizing:border-box}body{background:var(--page);min-height:100vh;color:var(--text);margin:0;padding:30px 20px 56px;font:14px/1.5 Satoshi,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.page-bg{z-index:-1;background:var(--scrim),url(../assets/bg-image2.webp) 0 0 /cover no-repeat,var(--page);position:fixed;inset:0}.wrap{max-width:1080px;margin:0 auto}.theme-toggle{z-index:10;border:1px solid var(--panel-border);background:var(--panel);width:38px;height:38px;color:var(--muted);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:999px;place-items:center;padding:0;transition:color .15s,border-color .15s;display:grid;position:fixed;top:16px;right:16px}.theme-toggle:hover{color:var(--accent-ink);border-color:var(--accent)}.theme-toggle svg{width:18px;height:18px;display:block}.theme-toggle .icon-sun{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .icon-moon{display:none}:root:not([data-theme=light]) .theme-toggle .icon-sun{display:block}}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}:root[data-theme=dark] .theme-toggle .icon-sun,:root[data-theme=light] .theme-toggle .icon-moon{display:block}:root[data-theme=light] .theme-toggle .icon-sun{display:none}header{text-align:center;margin:6px 0 26px}.wordmark{background:var(--wordmark) center /contain no-repeat;width:112px;height:36px;margin:0 auto 18px}h1{letter-spacing:-.02em;margin:0 0 8px;font-size:27px}h1,h1 .brand{font-weight:700}h1 .brand{color:var(--brand)}header p{max-width:760px;color:var(--muted);margin:0 auto}hr{border:0;border-top:1px solid var(--border);margin:22px 0}.panel{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);border-radius:12px;margin-bottom:18px;padding:24px}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}label{margin-bottom:6px;font-weight:600;display:block}.hint{color:var(--muted);margin-top:5px;font-size:12px;font-weight:400}input:not(:where([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=submit],[type=button],[type=reset])),select,textarea{border:1px solid var(--border);background:var(--panel-2);width:100%;min-height:40px;color:var(--text);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.25;transition:border-color .15s}input:not(:where([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=submit],[type=button],[type=reset])):hover,select:hover,textarea:hover{border-color:var(--accent)}input:not(:where([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=submit],[type=button],[type=reset])):focus,select:focus,textarea:focus{outline:2px solid var(--accent-ink);outline-offset:-1px;border-color:var(--accent-ink)}select{cursor:pointer;height:40px;padding-right:34px}input[type=checkbox],input[type=radio]{accent-color:var(--accent-btn)}textarea{resize:vertical;min-height:88px;line-height:1.45;display:block}.dropzone{text-align:center;border:1px dashed var(--border);background:var(--panel-2);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:96px;padding:16px;font-weight:400;transition:border-color .15s;display:flex;position:relative}.dropzone.dragging,.dropzone:focus-within,.dropzone:hover{border-color:var(--accent-ink)}.dropzone b{font-weight:600}.dropzone input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.mono{font-family:var(--mono);font-size:13px}.token-row{align-items:stretch;gap:8px;display:flex}.token-row input{flex:auto;min-width:0}button{font:inherit;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:8px;padding:10px 18px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent-btn);border-color:var(--accent-btn);color:var(--accent-text);padding:12px 24px;font-size:15px}button.primary:hover:not(:disabled){background:var(--accent-btn-hover);border-color:var(--accent-btn-hover)}button.ghost{color:var(--muted);padding:10px 14px;font-weight:500}button.ghost:hover:not(:disabled){color:var(--accent-ink)}button.danger{color:var(--err);border-color:var(--err)}button.danger:hover:not(:disabled){background:var(--err);color:var(--panel);border-color:var(--err)}button.link{border-color:var(--accent);color:var(--accent-ink);background:0 0;padding:4px 10px;font-size:12.5px;font-weight:600}button.link:hover{background:var(--accent-btn);border-color:var(--accent-btn);color:var(--accent-text)}fieldset{border:0;margin:0;padding:0}.field-label{margin-bottom:6px;font-weight:600}.modes{flex-wrap:wrap}.mode,.modes{gap:10px;display:flex}.mode{border:1px solid var(--border);background:var(--panel-2);cursor:pointer;border-radius:10px;flex:220px;align-items:flex-start;padding:12px 14px;transition:border-color .15s}.mode.selected,.mode:hover{border-color:var(--accent)}.mode.selected{box-shadow:inset 0 0 0 1px var(--accent)}.mode input{margin:2px 0 0}.mode b,.mode small{display:block}.mode small{color:var(--muted);font-size:12px;font-weight:400}details.advanced{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}details.advanced summary{cursor:pointer;font-weight:600}details.advanced summary:hover{color:var(--accent-ink)}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;display:flex}.actions .spacer{flex:auto}.counters{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.counter{border:1px solid var(--border);background:var(--panel-2);border-radius:10px;min-width:96px;padding:10px 14px}.counter b{font-variant-numeric:tabular-nums;font-size:19px;font-weight:700;display:block}.counter span{color:var(--muted);font-size:12px}.activity{border:1px solid var(--border);background:var(--panel-2);border-radius:10px;align-items:center;gap:10px;margin-bottom:16px;padding:11px 14px;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent-ink);border-radius:50%;flex:none;width:13px;height:13px;animation:.8s linear infinite spin}.spinner.hidden{display:none}@keyframes spin{to{transform:rotate(1turn)}}.banner{border:1px solid #0000;border-radius:10px;margin-bottom:16px;padding:16px}.banner.ok{background:var(--ok-bg);border-color:var(--ok)}.banner.err{background:var(--err-bg);border-color:var(--err)}.banner.warn{background:var(--warn-bg);border-color:var(--warn)}.banner h2{margin:0 0 6px;font-size:15px;font-weight:700}.banner ul{margin:8px 0 0;padding-left:18px}.banner a{color:inherit}.banner code{font-family:var(--mono);background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:2px 7px;font-size:13px;display:inline-block}.banner p{margin:8px 0 0}.section-title{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;font-weight:700;display:flex}.section-title .count{color:var(--muted);font-weight:400}.section-title .spacer{flex:auto}.subpanel{border-radius:10px;margin-bottom:16px;padding:16px}.loc,.subpanel{border:1px solid var(--border);background:var(--panel-2)}.loc{font-family:var(--mono);color:var(--muted);border-radius:8px;margin-bottom:8px;padding:9px 12px;font-size:12px}ul.items{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}li.item{border:1px solid var(--border);background:var(--panel-2);border-left-width:3px;border-radius:10px;grid-template-columns:1fr auto;align-items:start;gap:6px 12px;padding:12px 14px;display:grid}li.item[data-status=running]{border-left-color:var(--accent)}li.item[data-status=created]{border-left-color:var(--ok)}li.item[data-status=dry-run]{border-left-color:var(--accent)}li.item[data-status=skipped]{border-left-color:var(--warn)}li.item[data-status=failed]{border-left-color:var(--err)}li.item[data-status=not-run]{opacity:.6}.item .name{font-weight:600}.item .slug{font-family:var(--mono);color:var(--muted);word-break:break-all;font-size:12px}.item .msg{color:var(--muted);font-size:12.5px}.item .msg.err{color:var(--err)}.item .right{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.pill{letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;background:var(--border);color:var(--muted);border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:700}.pill.running{background:var(--accent-btn);color:var(--accent-text)}.pill.created,.pill.dry-run{background:var(--ok-bg);color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok)}.pill.skipped{background:var(--warn-bg);color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn)}.pill.failed{background:var(--err-bg);color:var(--err);box-shadow:inset 0 0 0 1px var(--err)}button.pill{cursor:pointer;border:0}button.pill:hover:not(:disabled){box-shadow:inset 0 0 0 2px}button.pill:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}button.pill:disabled{cursor:not-allowed;opacity:.6}.steps{flex-wrap:wrap;grid-column:1/-1;gap:0;margin-top:2px}.step,.steps{align-items:center;display:flex}.step{gap:6px}.step .dot{background:var(--panel);width:9px;height:9px;box-shadow:inset 0 0 0 1.5px var(--idle);border-radius:50%;flex:none}.step .lbl{color:var(--idle);white-space:nowrap;font-size:11.5px}.step.done .dot{background:var(--ok);box-shadow:none}.step.done .lbl{color:var(--muted)}.step.active .dot{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.step.active .lbl{color:var(--accent-ink);font-weight:700}.step.failed .dot{background:var(--err);box-shadow:none}.step.failed .lbl{color:var(--err);font-weight:700}.step .bar{background:var(--border);width:16px;height:1.5px;margin:0 6px}.step:last-child .bar{display:none}a.open{color:var(--accent-ink);border:1px solid var(--accent);white-space:nowrap;border-radius:7px;padding:4px 10px;font-size:12.5px;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s}a.open:hover{background:var(--accent-btn);border-color:var(--accent-btn);color:var(--accent-text)}.empty{color:var(--muted);padding:6px 0}.multiselect{position:relative}.multiselect-trigger{border:1px solid var(--border);background:var(--panel-2);width:100%;min-height:40px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:14px;line-height:1.25;display:flex}.multiselect-trigger:hover:not(:disabled){border-color:var(--accent)}.multiselect-trigger:disabled{opacity:.55;cursor:not-allowed}.multiselect-trigger.empty{color:var(--muted)}.multiselect-trigger svg{width:16px;height:16px;color:var(--muted);flex:none}.multiselect-panel{z-index:20;border:1px solid var(--panel-border);background:var(--panel);box-shadow:var(--shadow);border-radius:10px;padding:10px;position:absolute;top:calc(100% + 6px);left:0;right:0}.multiselect-search{margin-bottom:8px}.multiselect-options{max-height:260px;overflow-y:auto}.multiselect-option{cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:0;padding:7px 6px;font-weight:400;display:flex}.multiselect-option:hover{background:var(--panel-2)}.multiselect-option input{flex:none;margin-top:2px}.multiselect-option b{font-size:13.5px;font-weight:600;display:block}.multiselect-option small{color:var(--muted);font-size:12px;font-family:var(--mono);display:block}.multiselect-option small.inherited{color:var(--accent-ink);font-family:inherit}.multiselect-option:has(input:disabled){cursor:default;opacity:.7}.multiselect-empty{color:var(--muted);margin:0;padding:8px 6px}.multiselect-actions{border-top:1px solid var(--border);align-items:center;gap:12px;margin-top:8px;padding-top:8px;display:flex}.multiselect-actions .spacer{flex:auto}ul.tools{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}li.tool{border:1px solid var(--border);background:var(--panel-2);border-radius:10px;flex-direction:column;gap:5px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}li.tool:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}li.tool:focus-within{border-color:var(--accent-ink);box-shadow:0 0 0 2px var(--accent)}.tool-link{color:var(--accent-ink);font-size:15px;font-weight:700;text-decoration:none}.tool-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.tool-link:focus-visible{outline:none}.tool-desc{color:var(--muted);font-size:13px}.tool-path{color:var(--muted);word-break:break-all;font-size:12px}.page-foot{color:var(--muted);text-align:center;margin:4px 0 0;font-size:12.5px}.page-foot a{color:var(--accent-ink)}pre.console{background:var(--panel-2);border:1px solid var(--border);max-height:320px;font-family:var(--mono);white-space:pre-wrap;word-break:break-word;border-radius:10px;margin:0;padding:14px;font-size:12px;line-height:1.55;overflow:auto}pre.console .l-warn{color:var(--warn)}pre.console .l-error{color:var(--err)}pre.console .l-tag{color:var(--muted)}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}dialog{border:1px solid var(--panel-border);background:var(--panel);color:var(--text);border-radius:14px;width:calc(100% - 32px);max-width:460px;padding:0;box-shadow:0 18px 50px #05050559}dialog::backdrop{background:#0505058c}dialog.wide{max-width:780px}.dialog-body{padding:22px}.dialog-body h2{margin:0 0 8px;font-size:18px;font-weight:700}.dialog-body p{margin:0}.dialog-note{color:var(--muted);margin-top:12px;font-size:12.5px}.dialog-facts{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;margin-top:14px;padding:8px 12px;font-size:13px}.dialog-facts div{justify-content:space-between;gap:14px;padding:4px 0;display:flex}.dialog-facts div+div{border-top:1px solid var(--border)}.dialog-facts span:first-child{color:var(--muted)}.dialog-facts span:last-child{font-family:var(--mono);text-align:right;word-break:break-all}.dialog-actions{border-top:1px solid var(--border);background:var(--panel-2);border-radius:0 0 14px 14px;justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.dialog-head{border-bottom:1px solid var(--border);padding:20px 22px 14px}.dialog-head h2{margin:0 0 4px;font-size:17px;font-weight:700}.dialog-head .slug{font-family:var(--mono);color:var(--muted);word-break:break-all;font-size:12px}.dialog-scroll{max-height:min(60vh,560px);padding:4px 22px 16px;overflow-y:auto}.field{border-bottom:1px solid var(--border);padding:14px 0}.field:last-child{border-bottom:0}.field .key{font-family:var(--mono);color:var(--accent-ink);word-break:break-all;font-size:12.5px;font-weight:700}.field .note{color:var(--muted);margin-top:2px;font-size:12px}.field pre{background:var(--panel-2);border:1px solid var(--border);max-height:220px;font-family:var(--mono);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:8px 0 0;padding:10px 12px;font-size:12px;line-height:1.55;overflow:auto}@media (prefers-reduced-motion:reduce){*{transition:none!important}.spinner{animation-duration:2s}}
