:root{--ac: #2f5bd0;--ac-tint: color-mix(in srgb, var(--ac) 7%, #fff);--ac-tint2: color-mix(in srgb, var(--ac) 14%, #fff);--ac-border: color-mix(in srgb, var(--ac) 34%, #fff);--ac-dark: color-mix(in srgb, var(--ac) 88%, #000);--text: #1a1d23;--text-soft: #344054;--text-muted: #5b6675;--text-faint: #68707e;--text-ghost: #868d96;--bg-app: #f5f6f8;--bg-panel: #f7f8fa;--bg-hover: #f2f3f6;--bg-white: #fff;--border: #e4e7ec;--border-strong: #d5d9e0;--border-soft: #e6e9ee;--border-faint: #eef0f3;--border-hair: #f0f1f4;--wave-idle: #c3ccda;--green: #187a4b;--green-bright: #22a565;--green-bg: #e7f4ec;--amber: #b78209;--amber-text: #8a6100;--amber-bg: #fdf2d9;--amber-border: #e6c260;--red: #c0392b;--red-text: #a02b1e;--red-bg: #fdecea;--red-border: #f3d6d2;--syntax-punct: #6b7280;--syntax-tag: #2f5bd0;--syntax-attr: #a04e1e;--syntax-value: #187a4b;--toast-bg: #1a1d23;--paper: #f4ecdb;--paper-border: #e2d7bf;--paper-line: #cbb99a;--paper-ink: #7a6740;--paper-ink-dark: #5a4a2a;--paper-ink-soft: #8a7a58;--font-sans: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", monospace;--font-serif: "Lora", Georgia, serif;--shadow-card: 0 6px 16px -8px rgba(20, 25, 40, .2);--shadow-menu: 0 10px 26px -10px rgba(20, 25, 40, .25);--shadow-dialog: 0 16px 40px -12px rgba(20, 25, 40, .3);--shadow-btn: 0 1px 2px rgba(20, 25, 40, .12)}:root[data-theme=dark]{--ac: #5b8cff;--ac-tint: color-mix(in srgb, var(--ac) 18%, #14161a);--ac-tint2: color-mix(in srgb, var(--ac) 30%, #14161a);--ac-border: color-mix(in srgb, var(--ac) 46%, #14161a);--ac-dark: color-mix(in srgb, var(--ac) 85%, #fff);--ac-solid: #3d6fe0;--text: #e7eaf0;--text-soft: #c4cad4;--text-muted: #99a2b1;--text-faint: #828a97;--text-ghost: #666e7a;--bg-app: #131519;--bg-panel: #181b20;--bg-hover: #262b33;--bg-white: #1e2127;--border: #2d323b;--border-strong: #3c424c;--border-soft: #272c34;--border-faint: #222630;--border-hair: #1e222a;--wave-idle: #3c424c;--green: #35b978;--green-bright: #22a565;--green-bg: #12321f;--amber: #dfb24a;--amber-text: #e4bd63;--amber-bg: #322709;--amber-border: #6a5518;--red: #e0695b;--red-text: #ec8b80;--red-bg: #3a1c18;--red-border: #572822;--syntax-punct: #9aa3b2;--syntax-tag: #7aa2ff;--syntax-attr: #d68a5c;--syntax-value: #4fc98a;--toast-bg: #2b3038;--paper: #2a2620;--paper-border: #3b342a;--paper-line: #4c4433;--paper-ink: #cabb96;--paper-ink-dark: #e2d5af;--paper-ink-soft: #a99a78;--shadow-card: 0 6px 16px -8px rgba(0, 0, 0, .6);--shadow-menu: 0 10px 26px -10px rgba(0, 0, 0, .7);--shadow-dialog: 0 16px 40px -12px rgba(0, 0, 0, .75);--shadow-btn: 0 1px 2px rgba(0, 0, 0, .5)}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg-app);font-family:var(--font-sans);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px}a{color:var(--ac);text-decoration:none}a:hover{color:color-mix(in srgb,var(--ac) 80%,#000)}button{font:inherit;cursor:pointer}input,textarea,select{font:inherit}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.btn{flex:none;height:34px;padding:0 14px;border:1px solid var(--border-strong);background:var(--bg-white);border-radius:5px;font-size:13px;white-space:nowrap;color:var(--text-soft);display:inline-flex;align-items:center;gap:6px}.btn:hover{background:var(--bg-panel)}.btn:disabled{cursor:not-allowed;color:var(--text-faint);background:var(--border);border-color:var(--border)}.btn-primary{flex:none;height:34px;padding:0 16px;border:none;background:var(--ac);border-radius:5px;font-size:13px;font-weight:600;white-space:nowrap;color:#fff;display:inline-flex;align-items:center;gap:7px;box-shadow:var(--shadow-btn)}.btn-primary:hover{background:var(--ac-dark)}.btn-primary:disabled{cursor:not-allowed;background:var(--border);color:var(--text-faint);box-shadow:none}:root[data-theme=dark] .btn-primary{background:var(--ac-solid)}:root[data-theme=dark] .btn-primary:hover{background:#3565d6}:root[data-theme=dark] .btn-danger{background:#c9463a}:root[data-theme=dark] .btn-danger:hover{background:#bf3f34}.btn-danger{flex:none;height:34px;padding:0 14px;border:none;background:var(--red);border-radius:5px;font-size:13px;font-weight:600;white-space:nowrap;color:#fff}.seg{flex:none;display:flex;gap:2px;background:var(--bg-hover);padding:3px;border-radius:5px;font-size:12.5px}.seg>button{padding:4px 11px;border-radius:4px;border:none;background:none;white-space:nowrap;color:var(--text-muted)}.seg>button.active{background:var(--bg-white);font-weight:600;color:var(--text);box-shadow:0 1px 2px #14192814}.label-caps{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--text-faint)}.mono{font-family:var(--font-mono)}.truncate{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nowrap{flex:none;white-space:nowrap}.clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.hover-card{cursor:pointer;border:1px solid var(--border);transition:border-color .15s ease,box-shadow .15s ease}.hover-card:hover:not([data-disabled=true]){border-color:var(--ac-border);box-shadow:inset 0 0 0 1px var(--ac-border),var(--shadow-card)}.hover-card:focus-visible{outline:2px solid var(--ac);outline-offset:2px}.hover-card[data-disabled=true]{cursor:default}.hover-card:hover:not([data-disabled=true]) .hover-card-cta{color:var(--ac)!important}.filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border-soft);background:transparent;border-radius:999px;padding:3px 12px 3px 10px;font-size:11.5px;font-weight:500;color:var(--text-faint);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.filter-chip:hover{color:var(--text-soft);background:var(--bg-hover)}.filter-chip:focus-visible{outline:2px solid var(--ac);outline-offset:2px}.filter-chip-dot{flex:none;width:7px;height:7px;border-radius:999px;border:1.5px solid var(--text-faint);background:transparent;transition:border-color .15s ease,background .15s ease}.filter-chip[aria-pressed=true]{color:var(--ac);border-color:var(--ac-border);background:var(--ac-tint)}.filter-chip[aria-pressed=true] .filter-chip-dot{border-color:var(--ac);background:var(--ac)}.cat-tag{color:var(--tag-hue);background:color-mix(in srgb,var(--tag-hue) 12%,var(--bg-white));border:1px solid color-mix(in srgb,var(--tag-hue) 32%,var(--bg-white))}:root[data-theme=dark] .cat-tag{color:color-mix(in srgb,var(--tag-hue) 62%,#fff);background:color-mix(in srgb,var(--tag-hue) 22%,var(--bg-white));border-color:color-mix(in srgb,var(--tag-hue) 38%,var(--bg-white))}.cat-fg{color:var(--tag-hue)}:root[data-theme=dark] .cat-fg{color:color-mix(in srgb,var(--tag-hue) 62%,#fff)}.ent{color:var(--tag-hue);background:color-mix(in srgb,var(--tag-hue) 12%,var(--bg-white));border:1px solid color-mix(in srgb,var(--tag-hue) 30%,var(--bg-white))}:root[data-theme=dark] .ent{color:color-mix(in srgb,var(--tag-hue) 62%,#fff);background:color-mix(in srgb,var(--tag-hue) 22%,var(--bg-white));border-color:color-mix(in srgb,var(--tag-hue) 40%,var(--bg-white))}.hue-fill{background:var(--tag-hue)}:root[data-theme=dark] .hue-fill{background:color-mix(in srgb,var(--tag-hue) 62%,#fff)}.badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap}.badge-progress{background:var(--amber-bg);color:var(--amber-text)}.badge-done{background:var(--green-bg);color:var(--green)}.badge-rejected{background:var(--red-bg);color:var(--red-text)}.admin-user-search{display:flex;align-items:center;gap:8px;width:240px;height:34px;padding:0 12px;color:var(--text-faint);background:var(--bg-white);border:1px solid var(--border);border-radius:5px}.admin-user-search input{min-width:0;width:100%;color:var(--text);background:transparent;border:0;outline:0;font-size:13px}.admin-user-filters{min-height:48px;flex:none;display:flex;align-items:center;gap:10px;padding:7px 22px;background:var(--bg-white);border-bottom:1px solid var(--border-soft);overflow-x:auto}.admin-user-filters button{padding:5px 11px;white-space:nowrap;color:var(--text-muted);background:none;border:0;border-radius:5px;font-size:13px}.admin-user-filters button.active{color:var(--ac);background:var(--ac-tint);font-weight:600}.admin-user-filters button span{color:var(--text-faint);font-weight:500}.admin-users-content{flex:1;min-height:0;padding:24px 22px;overflow-y:auto}.admin-users-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:7px;background:var(--bg-white)}.admin-users-table{min-width:780px}.admin-users-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(145px,.8fr) minmax(150px,.8fr) minmax(190px,auto);gap:16px;align-items:center;min-height:68px;padding:12px 16px;border-top:1px solid var(--border-faint)}.admin-users-head{min-height:40px;color:var(--text-faint);background:var(--bg-panel);border-top:0;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.admin-user-email{margin-top:3px;overflow:hidden;color:var(--text-muted);font-size:12px;text-overflow:ellipsis}.admin-badge{color:var(--ac);background:var(--ac-tint)}.admin-user-actions{display:flex;justify-content:flex-end;gap:7px}.admin-user-actions button{height:30px;padding:0 11px;font-size:12px}.admin-reject-button{color:var(--red-text);border-color:var(--red-border)}.admin-fixed-label{color:var(--text-faint);font-size:11.5px}.admin-users-empty{padding:44px 16px;color:var(--text-faint);text-align:center;font-size:13px}.admin-users-error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 12px;color:var(--red-text);background:var(--red-bg);border:1px solid var(--red-border);border-radius:6px;font-size:13px}@media (max-width: 720px){.admin-user-search{width:min(42vw,240px)}.admin-users-content{padding:18px 14px}}.range-dual{position:relative;height:26px}.range-dual .range-track{position:absolute;top:11px;left:0;right:0;height:4px;border-radius:2px;background:var(--border-strong)}.range-dual .range-fill{position:absolute;top:11px;height:4px;border-radius:2px;background:var(--ac)}.range-dual input[type=range]{position:absolute;top:0;left:0;width:100%;height:26px;margin:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:none}.range-dual input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:var(--ac);border:2px solid var(--bg-white);box-shadow:var(--shadow-btn);cursor:pointer}.range-dual input[type=range]::-moz-range-thumb{pointer-events:auto;width:14px;height:14px;border-radius:50%;background:var(--ac);border:2px solid var(--bg-white);box-shadow:var(--shadow-btn);cursor:pointer}.range-dual input[type=range]::-webkit-slider-runnable-track{height:4px;background:transparent}.range-dual input[type=range]::-moz-range-track{height:4px;background:transparent}.spinner{width:16px;height:16px;border:2px solid var(--ac);border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.auth-split{height:100%;display:flex}.auth-brand{position:relative;flex:1.15;display:flex;flex-direction:column;justify-content:center;gap:22px;padding:56px clamp(48px,6vw,96px);overflow:hidden;color:#fff;background:radial-gradient(120% 120% at 15% 0%,#23262e,#1a1d23 45%,#141519)}.auth-brand-glow{position:absolute;top:-20%;left:-10%;width:60%;height:80%;background:radial-gradient(closest-side,rgba(91,140,255,.22),transparent 70%);filter:blur(8px);pointer-events:none}.auth-brand-tagline{position:relative;max-width:30ch;font-size:15px;line-height:1.6;color:#9aa0ab}.auth-form-col{flex:1;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--bg-app)}.auth-card{width:320px;max-width:100%;display:flex;flex-direction:column;gap:14px}.auth-card-mark{display:none;align-items:center;gap:10px;margin-bottom:2px}.brand-mark{position:relative;display:flex;flex-direction:column;gap:14px}.brand-mark-line{display:flex;align-items:baseline;font-family:var(--font-sans);font-weight:600;letter-spacing:-.035em;line-height:1;font-size:clamp(42px,5.2vw,70px);color:#fff}.brand-mark-slash{color:#6f8fe0}.brand-mark-suffix{display:inline-block;font-weight:300;color:#ffffff6b;animation:brandSuffixIn .62s cubic-bezier(.2,.7,.2,1) both}.brand-mark-by{font-family:var(--font-mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#8a8f98}@keyframes brandSuffixIn{0%{opacity:0;transform:translateY(-.16em);clip-path:inset(0 0 100% 0)}60%{opacity:1}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}@media (prefers-reduced-motion: reduce){.brand-mark-suffix{animation-duration:.01ms}}@media (max-width: 860px){.auth-brand{display:none}.auth-card-mark{display:flex}}.gear-btn{display:inline-flex;align-items:center;flex:none;color:var(--text-muted);cursor:pointer}.gear-btn svg{transition:transform .4s ease,color .2s ease}.gear-btn:hover{color:var(--text-soft)}.gear-btn:hover svg{transform:rotate(90deg)}.card-actions{display:flex;align-items:center;gap:2px}@media (hover: hover){.card-actions{opacity:0;pointer-events:none;transition:opacity .12s ease}.hover-card:hover .card-actions,.hover-card:focus-within .card-actions{opacity:1;pointer-events:auto}}.artifact-btn{display:inline-flex;align-items:center;flex:none;color:var(--text-ghost);cursor:pointer}.artifact-btn svg{transition:color .2s ease}.artifact-btn:hover{color:var(--text-soft)}.artifact-btn.saved,.artifact-btn.saved:hover{color:var(--ac);cursor:default}.reorder-grip{opacity:0;transition:opacity .15s ease}.version-card-header:hover .reorder-grip,.reorder-grip:focus,.reorder-grip:focus-visible{opacity:1}.menu{background:var(--bg-white);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-menu);padding:5px;font-size:13px;min-width:180px}.menu-item{padding:7px 10px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:8px}.menu-item:hover{background:var(--bg-hover)}.menu-item.danger{color:var(--red)}.menu-item.danger:hover{background:var(--red-bg)}.menu-sep{height:1px;background:var(--border-hair);margin:4px 0}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14192859;display:flex;align-items:center;justify-content:center;z-index:50}.dialog{width:320px;background:var(--bg-white);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-dialog);padding:16px;display:flex;flex-direction:column;gap:12px}.dup-list{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-white)}.dup-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 11px;border:none;border-top:1px solid var(--border-hair);background:transparent;font:inherit;color:inherit;transition:background .12s,opacity .12s}.dup-list>.dup-row:first-child{border-top:none}.dup-row-step{cursor:pointer}.dup-row-step:hover{background:var(--ac-tint)}.dup-row-step:focus-visible{outline:2px solid var(--ac);outline-offset:-2px}.dup-row.is-selected,.dup-row.is-selected:hover{background:var(--ac-tint)}.dup-row.is-excluded{opacity:.45}.dup-row-sample{cursor:default}.dup-radio{flex:none;box-sizing:border-box;width:16px;height:16px;border-radius:50%;border:2px solid var(--text-ghost);display:flex;align-items:center;justify-content:center}.dup-row.is-selected .dup-radio{border-color:var(--ac)}.dup-radio-dot{width:8px;height:8px;border-radius:50%;background:var(--ac)}.dup-marker{flex:none;box-sizing:border-box;width:16px;height:16px;border-radius:50%;background:var(--border-strong)}.dup-body{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.dup-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600}.dup-row.is-selected .dup-title{color:var(--ac-dark)}.dup-cap{flex:none;font-size:11px;color:var(--text-muted)}.dup-row.is-selected .dup-cap{color:var(--ac);font-weight:600}.dup-row.is-excluded .dup-cap{color:var(--text-faint)}.dup-row-sample .dup-title{color:var(--text-soft)}.dup-row-sample .dup-cap{color:var(--text-faint)}.dialog-close{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:none;border-radius:5px;color:var(--text-faint);cursor:pointer;font-size:14px;line-height:1}.dialog-close:hover{background:var(--bg-hover);color:var(--text-soft)}.dialog-close:focus-visible{outline:2px solid var(--ac);outline-offset:2px}.cmp-rows{background:var(--bg-white);border:1px solid var(--border-soft);border-radius:8px;overflow:hidden}.cmp-row{display:grid;grid-template-columns:16px minmax(0,1fr) minmax(0,1.4fr) auto;align-items:center;gap:12px;min-height:42px;padding:0 12px;cursor:pointer;border-top:1px solid var(--border-faint)}.cmp-rows>.cmp-row:first-child{border-top:none}.cmp-row:hover:not([aria-disabled=true]){background:var(--bg-hover)}.cmp-row[aria-checked=true]{background:var(--ac-tint);box-shadow:inset 2px 0 0 var(--ac)}.cmp-row[aria-disabled=true]{opacity:.5;cursor:not-allowed}.cmp-row:focus-visible{outline:2px solid var(--ac);outline-offset:-2px}@media (max-width: 760px){.cmp-row{grid-template-columns:16px minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:3px;padding:8px 12px}.cmp-row>:nth-child(1){grid-row:1 / span 2}.cmp-row>:nth-child(2){grid-column:2 / span 2}}.hscroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.hscroll::-webkit-scrollbar{height:6px}.hscroll::-webkit-scrollbar-track{background:transparent}.hscroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.hscroll::-webkit-scrollbar-thumb:hover{background:var(--text-ghost)}.vscroll{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.vscroll::-webkit-scrollbar{width:8px}.vscroll::-webkit-scrollbar-track{background:transparent}.vscroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px;border:2px solid transparent;background-clip:content-box}.vscroll::-webkit-scrollbar-thumb:hover{background:var(--text-ghost);background-clip:content-box}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--toast-bg);color:#fff;border-radius:6px;padding:11px 13px;display:flex;align-items:center;gap:10px;font-size:12.5px;box-shadow:0 10px 26px -10px #14192866;z-index:60}.toast-check{width:18px;height:18px;border-radius:50%;background:var(--green-bright);display:flex;align-items:center;justify-content:center;flex:none}.toast-check--error{background:var(--red);color:#fff;font-size:11px;font-weight:700}.audioplayer{display:flex;flex-direction:column;gap:11px;background:var(--bg-white);border:1px solid var(--border);border-radius:10px;padding:14px;box-shadow:var(--shadow-card)}.audioplayer.compact{gap:0;padding:9px 11px;border-radius:9px;box-shadow:none}.audioplayer.errored{border-color:var(--red-border);color:var(--red-text)}.ap-main{display:flex;align-items:center;gap:14px}.audioplayer.compact .ap-main{gap:10px}.ap-play{flex:none;width:44px;height:44px;border-radius:50%;border:none;background:var(--ac);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px -2px color-mix(in srgb,var(--ac) 60%,transparent);transition:transform .08s ease}.ap-play:hover{transform:scale(1.04)}.ap-play:active{transform:scale(.96)}.audioplayer.compact .ap-play{width:32px;height:32px}:root[data-theme=dark] .ap-play{background:var(--ac-solid)}.ap-wave{flex:1;min-width:0;position:relative;cursor:pointer;touch-action:none}.ap-wave svg{display:block}.ap-head{position:absolute;top:-2px;bottom:-2px;width:2px;margin-left:-1px;border-radius:2px;background:var(--ac);pointer-events:none}.ap-bar-track{position:absolute;top:50%;left:0;right:0;height:6px;transform:translateY(-50%);background:var(--wave-idle);border-radius:3px;overflow:hidden}.ap-bar-fill{height:100%;background:var(--ac);border-radius:3px}.ap-time{flex:none;min-width:84px;text-align:right;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.audioplayer.compact .ap-time{min-width:76px;font-size:11.5px}.ap-time b{color:var(--text-soft);font-weight:500}.ap-hr{height:1px;background:var(--border-faint)}.ap-ctrls{display:flex;align-items:center;gap:8px}.ap-iconbtn{width:28px;height:28px;flex:none;border:1px solid var(--border-strong);background:var(--bg-white);color:var(--text-muted);border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.ap-iconbtn:hover{background:var(--bg-hover)}.ap-iconbtn.ghost{border-color:transparent;background:transparent}.ap-iconbtn.ghost:hover{background:var(--bg-hover)}.ap-iconbtn.active{border-color:var(--ac-border);background:var(--ac-tint);color:var(--ac)}:root[data-theme=dark] .ap-iconbtn.active{color:var(--text)}.ap-vol{display:flex;align-items:center;gap:4px}.ap-vol input[type=range]{width:66px;accent-color:var(--ac);cursor:pointer}.ap-meta{font-size:10.5px;color:var(--text-faint)}.ap-error-mark{flex:none;width:28px;height:28px;border-radius:50%;background:var(--red-text);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.ap-linkbtn{border:none;background:none;padding:0;color:var(--red-text);text-decoration:underline;cursor:pointer;font:inherit}.select-dot{flex:none;box-sizing:border-box;width:16px;height:16px;border-radius:50%;border:2px solid var(--text-ghost);background:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.select-dot:hover,.select-dot.on{border-color:var(--ac)}.select-dot:focus-visible{outline:2px solid var(--ac);outline-offset:2px}.select-dot:disabled{cursor:not-allowed;opacity:.6}.select-dot-core{width:8px;height:8px;border-radius:50%;background:var(--ac)}.cmp-typebar{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:10px 20px;background:var(--bg-white);border-bottom:1px solid var(--border-soft)}.cmp-typebar-lbl{flex:none;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.cmp-typetabs{display:inline-flex;gap:6px}.cmp-typetab{flex:none;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 15px;border:1px solid var(--border);border-radius:8px;background:var(--bg-white);color:var(--text-muted);font-size:13.5px;font-weight:500;white-space:nowrap;cursor:pointer}.cmp-typetab:hover{background:var(--bg-hover)}.cmp-typetab.active{background:var(--ac-tint);border-color:var(--ac-border);color:var(--ac-dark);font-weight:600}.cmp-typetab:focus-visible{outline:2px solid var(--ac);outline-offset:1px}.cmp-typetab-n{font-family:var(--font-mono);font-size:11px;color:var(--text-ghost);background:var(--bg-hover);border-radius:10px;padding:1px 7px}.cmp-typetab.active .cmp-typetab-n{color:var(--ac);background:color-mix(in srgb,var(--ac) 14%,transparent)}.cmp-stepdd{position:relative;display:inline-flex;min-width:0}.cmp-stepdd-face{display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;border-radius:5px;padding:2px 7px;margin:-2px 0;background:none;font-size:11.5px;color:var(--text-soft);cursor:pointer;white-space:nowrap}.cmp-stepdd-face:hover{background:var(--bg-hover);border-color:var(--border)}.cmp-stepdd-face:focus-visible{outline:2px solid var(--ac);outline-offset:1px}.cmp-stepdd-caret{font-size:8.5px;color:var(--text-ghost)}.cmp-stepdd-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:210px;background:var(--bg-white);border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow-menu);padding:4px}.cmp-stepdd-menu>button{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;font-size:12px;color:var(--text-soft);padding:6px 9px;border-radius:5px;cursor:pointer;text-align:left;white-space:nowrap}.cmp-stepdd-menu>button:hover{background:var(--bg-hover)}.cmp-stepdd-menu>button.sel{background:var(--ac-tint);color:var(--ac-dark);font-weight:600}.cmp-stepdd-tool{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--text-ghost)}.cmp-iconbtn{width:22px;height:22px;flex:none;border:none;background:none;padding:0;border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--text-ghost);font-size:15px;line-height:1;cursor:pointer}.cmp-iconbtn:hover{background:var(--bg-hover);color:var(--text-soft)}.cmp-iconbtn:focus-visible{outline:2px solid var(--ac);outline-offset:1px}.cmp-linkbtn{border:none;background:none;padding:0;font:inherit;font-size:11px;color:var(--ac);text-decoration:none;cursor:pointer}.cmp-linkbtn:hover{text-decoration:underline}.cmp-linkbtn:focus-visible{outline:2px solid var(--ac);outline-offset:2px;border-radius:3px}.cmp-vlabel{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--text-faint)}.cmp-pipes{flex:none;display:flex;flex-direction:column;gap:8px;padding:12px 18px;background:var(--bg-white);border-bottom:1px solid var(--border-soft)}.cmp-pipe{display:flex;align-items:baseline;gap:12px}.cmp-pipe-title{flex:none;width:160px;font-size:12.5px;font-weight:600;color:var(--text)}.cmp-pipe-title:hover{color:var(--ac)}.cmp-pipe-steps{display:flex;align-items:center;flex-wrap:wrap;gap:4px 2px;min-width:0}.cmp-pipe-seg{display:inline-flex;align-items:center;gap:4px}.cmp-pipe-arrow{color:var(--text-ghost);font-size:11px}.cmp-pipe-step{font-size:11.5px;line-height:1.1;padding:3px 9px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-faint);white-space:nowrap}.cmp-pipe-step.match{cursor:pointer;border-color:var(--ac-border);color:var(--ac-dark);background:var(--bg-white)}.cmp-pipe-step.match:hover{background:var(--ac-tint)}.cmp-pipe-step.match:focus-visible{outline:2px solid var(--ac);outline-offset:1px}.cmp-pipe-step.chosen{background:var(--ac);border-color:var(--ac);color:#fff;font-weight:600}.cmp-warn{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:11px;font-weight:600;color:var(--amber);background:var(--amber-bg);border-radius:6px;padding:2px 8px}.pz-viewport{position:relative;overflow:hidden;touch-action:pan-y;-webkit-user-select:none;user-select:none}.pz-viewport.pz-own{touch-action:none;overscroll-behavior:contain}.pz-viewport[data-zoomed="1"]{touch-action:none;cursor:grab}.pz-viewport[data-zoomed="1"]:active{cursor:grabbing}.pz-viewport.pz-selecting{cursor:crosshair;touch-action:none}.pz-viewport.pz-inert{touch-action:auto}.pz-viewport:focus-visible{outline:2px solid var(--ac);outline-offset:-2px}.pz-stage{transform-origin:0 0}.zoom-float{position:absolute;top:8px;right:8px;z-index:4;display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border-strong);border-radius:6px;background:color-mix(in srgb,var(--bg-white) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-btn);opacity:0;transition:opacity .12s ease}.pz-viewport:hover>.zoom-float,.pz-viewport:focus-within>.zoom-float,.pz-viewport[data-zoomed="1"]>.zoom-float{opacity:1}@media (hover: none){.zoom-float{opacity:1}}.pz-group{display:flex;align-items:center;gap:2px}.pz-btn{height:22px;min-width:22px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:none;color:var(--text-muted);font-size:12px;line-height:1}.pz-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.pz-btn:disabled{color:var(--text-ghost)}.pz-btn:focus-visible{outline:2px solid var(--ac);outline-offset:-2px}.pz-sep{width:1px;height:16px;background:var(--border)}.pz-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media (pointer: coarse){.pz-btn{height:34px;min-width:34px}}@media (prefers-reduced-motion: reduce){.zoom-float{transition:none}}.pz-fixed{position:absolute;width:0;height:0}.pz-fixed>*{position:absolute;transform:scale(calc(1 / var(--pz-k, 1)))}.icon-btn{height:28px;width:28px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-panel);color:var(--text-soft)}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.icon-btn:focus-visible{outline:2px solid var(--ac);outline-offset:2px}.pz-viewer{padding:0;border:none;background:none;width:100vw;max-width:100vw;height:100vh;max-height:100vh;overflow:hidden}.pz-viewer[open]{display:flex;flex-direction:column}.pz-viewer::backdrop{background:#000000b8}.pz-viewer-body{flex:1;min-height:0;padding:30px 32px 8px}.pz-viewer .zoom-float{opacity:1;top:10px;right:10px}.pz-viewer-close{position:absolute;top:14px;right:16px;z-index:5;border-color:#ffffff52;background:#ffffff1f;color:#fff}.pz-viewer-close:hover{background:#ffffff3d;color:#fff}.pz-viewer-caption{flex:none;padding:0 32px 14px;text-align:center;font-size:12px;color:#ffffffbf}.pz-viewer-error{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px solid var(--paper-border);border-radius:4px;background:var(--paper);color:var(--paper-ink);font-size:13px}.seg>button:focus-visible{outline:2px solid var(--ac);outline-offset:-2px;border-radius:4px}
