.toast[data-v-23fc4b86]{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:12px 16px;background:var(--ink);color:#fff;border-radius:10px;box-shadow:var(--shadow-lg);font-size:14px}.ok[data-v-23fc4b86]{color:#0e9f6e;stroke-width:2.25}.err[data-v-23fc4b86]{color:#f87171}.toast-enter-active[data-v-23fc4b86],.toast-leave-active[data-v-23fc4b86]{transition:opacity .15s ease,transform .15s ease}.toast-enter-from[data-v-23fc4b86],.toast-leave-to[data-v-23fc4b86]{opacity:0;transform:translate(-50%,8px)}@font-face{font-family:Public Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/public-sans-latin-ext-MQgHevqp.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/public-sans-latin-DdeTHZLK.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/jetbrains-mono-latin-ext-DIC32ArD.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/jetbrains-mono-latin-6fWv1k7M.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #14181c;--text: #363e47;--text-2: #4c555f;--muted: #6b7683;--faint: #9aa5b1;--line: #e1e5ea;--line-soft: #edf0f3;--line-strong: #cbd2da;--bg: #fbfcfd;--surface: #ffffff;--sunken: #f5f7f9;--accent: #1d4ed8;--accent-hover: #173caa;--accent-soft: #eef3fe;--accent-line: #bacdfb;--focus: rgba(53, 99, 228, .28);--ok-bg: #e8f5ef;--ok: #035c43;--ok-icon: #047857;--warn-bg: #fdf3e6;--warn: #8a3f06;--danger-bg: #fdecec;--danger: #b01b1b;--danger-line: #e5484d;--info-bg: #e9f3fa;--info: #075079;--shadow-sm: 0 1px 2px rgba(20, 24, 28, .06), 0 1px 3px rgba(20, 24, 28, .05);--shadow-md: 0 2px 4px rgba(20, 24, 28, .05), 0 6px 14px rgba(20, 24, 28, .07);--shadow-lg: 0 8px 20px rgba(20, 24, 28, .08), 0 20px 44px rgba(20, 24, 28, .1);--ease: cubic-bezier(.2, 0, 0, 1);--mono: "JetBrains Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Public Sans,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}#app{height:100%}a{color:var(--accent)}a:hover{color:var(--accent-hover)}button,input,select,textarea{font-family:inherit}h1,h2,h3,p{margin:0}svg.i{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:6px;font-size:14px;font-weight:500;line-height:1;cursor:pointer;border:1px solid transparent;white-space:nowrap;text-decoration:none;transition:background-color .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease)}.btn:active{transform:translateY(.5px)}.btn-lg{height:44px;padding:0 18px}.btn-sm{height:28px;padding:0 10px;font-size:13px;gap:6px}.btn-pri{background:var(--accent);color:#fff}.btn-pri:hover{background:var(--accent-hover);color:#fff}.btn-sec{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-sec:hover{background:var(--sunken);border-color:var(--faint)}.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:hover{background:var(--line-soft)}.guide-on,.guide-on:hover{background:var(--accent-soft);color:var(--accent-hover);border-color:var(--accent-line)!important}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b01b1b}.btn-danger-sec{background:var(--surface);color:var(--danger);border-color:var(--line-strong)}.btn-danger-sec:hover{background:var(--danger-bg);border-color:var(--danger-line)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn:focus-visible,.iconbtn:focus-visible,.nav:focus-visible,.pill:focus-visible,.tab:focus-visible,.seg:focus-visible,.cardbtn:focus-visible,.sw:focus-visible,.optcard:focus-within{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:#3563e4}.iconbtn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-2);cursor:pointer;padding:0}.iconbtn:hover{background:var(--line-soft);color:var(--ink)}.iconbtn:disabled{opacity:.35;cursor:not-allowed}.nav{display:flex;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px;border-radius:6px;border:0;background:transparent;color:var(--text);font-size:14px;font-weight:500;cursor:pointer;text-align:left;text-decoration:none}.nav:hover{background:var(--sunken);color:var(--ink)}.nav-on,.nav-on:hover{background:var(--accent-soft);color:var(--accent-hover)}.pill{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.pill:hover{border-color:var(--faint)}.pill-on,.pill-on:hover{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-hover)}.pill .n{font-family:var(--mono);font-size:11px;color:var(--muted)}.pill-on .n{color:var(--accent-hover)}.tab{height:40px;padding:0 2px;margin-right:20px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:14px;font-weight:500;cursor:pointer}.tab:hover{color:var(--ink)}.tab-on,.tab-on:hover{color:var(--accent-hover);border-bottom-color:var(--accent)}.segwrap{display:flex;padding:3px;gap:3px;background:var(--line-soft);border-radius:8px}.seg{flex:1 1 0;height:32px;border:0;border-radius:6px;background:transparent;color:var(--text-2);font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;white-space:nowrap}.seg:hover{color:var(--ink)}.seg-on,.seg-on:hover{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.seg:disabled{opacity:.45;cursor:not-allowed}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-sm)}.cardbtn{display:flex;flex-direction:column;gap:12px;flex-grow:1;padding:20px;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit;border-radius:10px 10px 0 0}.card{transition:border-color .12s var(--ease),box-shadow .18s var(--ease)}.card:hover{border-color:var(--line-strong)!important;box-shadow:var(--shadow-md)!important}.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.inp{height:36px;width:100%;padding:0 12px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);font-size:14px;box-shadow:0 1px 1px #14181c0a}.inp:hover{border-color:var(--faint)}.inp:focus{outline:none;border-color:#3563e4;box-shadow:0 0 0 3px var(--focus)}.inp:disabled{background:var(--sunken);color:var(--muted);cursor:not-allowed}textarea.inp{height:auto;padding:10px 12px;line-height:1.5;resize:vertical}select.inp{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 17px) 16px,calc(100% - 12px) 16px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.lbl{font-size:13px;font-weight:500;color:var(--ink)}.hint{font-size:12px;color:var(--muted);line-height:1.45}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px}.optcard{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);cursor:pointer;font-size:14px;color:var(--ink)}.optcard:hover{border-color:var(--faint)}.optcard input{width:16px;height:16px;accent-color:var(--accent);margin:0}.filepick{position:relative;overflow:hidden}.filepick input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.filepick:focus-within{box-shadow:0 0 0 3px var(--focus)}.sw{width:36px;height:20px;border-radius:999px;background:var(--line-strong);border:0;position:relative;cursor:pointer;padding:0;flex-shrink:0;transition:background-color .12s var(--ease)}.sw span{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 1px 2px #14181c33;transition:transform .12s var(--ease)}.sw-on{background:var(--accent)}.sw-on span{transform:translate(16px)}.sw:disabled{opacity:.45;cursor:not-allowed}.drop{transition:background-color .12s var(--ease),border-color .12s var(--ease)}.drop-on{background:var(--accent-soft)!important;border-color:var(--accent)!important}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.b-ok{background:var(--ok-bg);color:var(--ok)}.b-warn{background:var(--warn-bg);color:var(--warn)}.b-grey{background:var(--line-soft);color:var(--text)}.b-accent{background:var(--accent-soft);color:var(--accent-hover)}.b-danger{background:var(--danger-bg);color:var(--danger)}.b-outline{background:var(--surface);border:1px solid var(--line);color:var(--text-2)}.compat{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border-radius:4px;font-size:12px;font-weight:500;background:var(--surface);border:1px solid var(--line);color:var(--text)}.mono{font-family:var(--mono)}.row:hover{background:var(--bg)}.callout{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:6px;font-size:13px;line-height:1.45}.callout-info{background:var(--info-bg);color:var(--info)}.callout-warn{background:var(--warn-bg);color:var(--warn)}.callout-danger{background:var(--danger-bg);color:var(--danger)}.code-dark{margin:0;overflow:auto;padding:14px 16px;background:var(--ink);color:var(--line-soft);border-radius:6px;font-family:var(--mono);font-size:12px;line-height:1.6;white-space:pre-wrap}.code-light{margin:0;overflow:auto;padding:14px 16px;background:var(--sunken);border:1px solid var(--line);color:#242a31;border-radius:6px;font-family:var(--mono);font-size:12px;line-height:1.6;white-space:pre-wrap}.step-n{width:26px;height:26px;border-radius:999px;background:var(--accent-soft);color:var(--accent-hover);font-family:var(--mono);font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-n-on{background:var(--accent);color:#fff}.page{display:flex;flex-direction:column;gap:24px;max-width:1128px}.page-wide{max-width:none}.page-head{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap}.page-head>div{display:flex;flex-direction:column;gap:6px;flex-grow:1;min-width:0}.page-title{font-size:32px;line-height:1.22;font-weight:700;letter-spacing:-.014em;color:var(--ink)}.page-lead{max-width:720px;color:var(--text-2)}.locked{max-width:560px;margin:80px auto;padding:40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.tile-ico{width:44px;height:44px;border-radius:10px;background:var(--sunken);color:var(--text-2);display:flex;align-items:center;justify-content:center}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fade{animation:fade .18s var(--ease)}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.slide{animation:slide .22s cubic-bezier(.16,1,.3,1)}@keyframes slide{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.scroll::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px;border:3px solid transparent;background-clip:padding-box}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){.fade,.slide,.spin{animation:none}}
