@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-DHTKMUil.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-B1g8a0vD.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-BpXpdlRW.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-BsaNuasd.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-BVZ5su8S.woff2) format("woff2-variations");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-DMe4EKeb.woff2) format("woff2-variations");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{color-scheme:light;--bg: #faf9f5;--bg-sidebar: #f3f1ea;--surface: #ffffff;--surface-2: #f0eee6;--surface-3: #e6e3d9;--border: #e5e2d8;--border-strong: #d3cfc3;--text: #1f1e1b;--text-2: #5c5a53;--text-3: #6f6c64;--accent: #6f5ee8;--accent-hover: color-mix(in srgb, var(--accent) 85%, black);--accent-fg: #ffffff;--accent-fill: color-mix(in srgb, var(--accent) 94%, black);--accent-fill-hover: color-mix(in srgb, var(--accent) 82%, black);--accent-soft: color-mix(in srgb, var(--accent) 12%, transparent);--accent-border: color-mix(in srgb, var(--accent) 38%, transparent);--danger: #c4413b;--success: #2f8a57;--warning: #b7791f;--code-bg: #f7f6f1;--overlay: rgba(30, 28, 22, .28);--ring: 0 0 0 1.5px var(--accent), 0 0 0 4px var(--accent-soft);--ring-offset: 0 0 0 2px var(--surface), 0 0 0 3.5px var(--accent);--shadow-sm: 0 1px 2px rgba(31, 30, 27, .06);--shadow-md: 0 1px 2px rgba(31, 30, 27, .04), 0 6px 20px -4px rgba(31, 30, 27, .12);--shadow-lg: 0 2px 6px rgba(31, 30, 27, .04), 0 28px 64px -16px rgba(31, 30, 27, .26);--shadow-composer: 0 1px 2px rgba(31, 30, 27, .03), 0 6px 24px -6px rgba(31, 30, 27, .09);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 22px;--font-sans: "Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Source Serif 4 Variable", ui-serif, Georgia, serif;--font-mono: "JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--font-chat: var(--font-sans);--chat-size: 15.5px;--thread-width: 768px;--sidebar-w: 264px;--header-h: 52px;--ease: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--tip-bg: #2b2a27;--tip-fg: #f6f4ee;--toast-bg: #2b2a27;--toast-fg: #f4f2ec;--toast-border: transparent;--scroll-thumb: color-mix(in srgb, var(--text) 18%, transparent);--scroll-thumb-hover: color-mix(in srgb, var(--text) 30%, transparent);--seg-thumb: var(--surface);--switch-off: #d9d5ca}:root[data-theme=dark]{color-scheme:dark;--bg: #262624;--bg-sidebar: #1f1e1d;--surface: #30302e;--surface-2: #393835;--surface-3: #45443f;--border: #3e3d39;--border-strong: #52504a;--text: #f4f2ec;--text-2: #c2bfb5;--text-3: #9a978e;--accent: #9384f8;--accent-hover: color-mix(in srgb, var(--accent) 86%, black);--accent-fill: color-mix(in srgb, var(--accent) 74%, black);--accent-fill-hover: color-mix(in srgb, var(--accent) 66%, black);--danger: #e5534b;--success: #4cb782;--warning: #e3a33b;--code-bg: #1e1d1c;--overlay: rgba(0, 0, 0, .55);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 1px 2px rgba(0, 0, 0, .25), 0 10px 28px -6px rgba(0, 0, 0, .55);--shadow-lg: 0 2px 8px rgba(0, 0, 0, .3), 0 32px 72px -16px rgba(0, 0, 0, .7);--shadow-composer: 0 1px 2px rgba(0, 0, 0, .2), 0 8px 28px -8px rgba(0, 0, 0, .45);--tip-bg: #0f0f0e;--tip-fg: #f4f2ec;--toast-bg: #3a3936;--toast-fg: #f4f2ec;--toast-border: rgba(255, 255, 255, .06);--seg-thumb: var(--surface-3);--switch-off: #55534d}:root[data-accent=clay]{--accent: #c15f3c}:root[data-accent=orange]{--accent: #bd5200}:root[data-accent=blue]{--accent: #2563eb}:root[data-accent=green]{--accent: #15803d}:root[data-theme=dark][data-accent=clay]{--accent: #d97757}:root[data-theme=dark][data-accent=orange]{--accent: #f76b1c}:root[data-theme=dark][data-accent=violet]{--accent: #9384f8}:root[data-theme=dark][data-accent=blue]{--accent: #5b93f7}:root[data-theme=dark][data-accent=green]{--accent: #3fb36b}:root[data-chat-font=serif]{--font-chat: var(--font-serif)}:root[data-text-size=sm]{--chat-size: 14px}:root[data-text-size=lg]{--chat-size: 17px}:root[data-wide]{--thread-width: 1040px}*,*:before,*:after{box-sizing:border-box}html{height:100%;background:var(--bg);accent-color:var(--accent);-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.5;font-synthesis-weight:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow:hidden}#root{height:100vh;height:100dvh}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.01em;text-wrap:balance}img,video{max-width:100%}svg.icon{flex-shrink:0}button,input,textarea,select,optgroup{font:inherit;color:inherit;letter-spacing:inherit}button{margin:0;padding:0;background:transparent;border:0;cursor:pointer}button:disabled{cursor:default}input::placeholder,textarea::placeholder{color:var(--text-3);opacity:1}a{color:var(--accent);text-decoration:none;text-underline-offset:2px}a:hover{text-decoration:underline}hr{height:1px;margin:0;border:0;background:var(--border)}kbd,code,pre,samp{font-family:var(--font-mono)}::selection{background:color-mix(in srgb,var(--accent) 24%,transparent)}[hidden]{display:none!important}:focus{outline:none}:where(button,a,summary,select,[role=button],[role=tab],[role=switch],[role=radio],[role=option],[tabindex]:not([tabindex="-1"])):focus-visible{box-shadow:var(--ring)}.btn:focus-visible,.icon-btn:focus-visible,.switch:focus-visible,.segmented-opt:focus-visible,.toast-action:focus-visible,.toast-close:focus-visible{box-shadow:var(--ring)}.btn-primary:focus-visible,.btn-destructive:focus-visible,.switch.on:focus-visible{box-shadow:var(--ring-offset)}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box;border:3px solid transparent;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hover)}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 14px;border:1px solid transparent;border-radius:calc(var(--radius-sm) + 2px);font-family:var(--font-sans);font-size:13.5px;font-weight:500;line-height:1;white-space:nowrap;text-decoration:none;-webkit-user-select:none;user-select:none;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .12s ease,opacity .14s ease}.btn:hover{text-decoration:none}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-fill);color:var(--accent-fg);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--accent-fill-hover)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-danger{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 9%,transparent);border-color:color-mix(in srgb,var(--danger) 55%,transparent)}.btn-destructive{background:var(--danger);color:#fff;box-shadow:var(--shadow-sm)}.btn-destructive:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 86%,black)}.btn-sm{height:28px;padding:0 10px;gap:6px;font-size:12.5px;border-radius:var(--radius-sm)}.btn-lg{height:40px;padding:0 18px;font-size:14px;border-radius:calc(var(--radius-sm) + 3px)}.btn-block{display:flex;width:100%}.icon-btn{display:inline-grid;place-items:center;flex-shrink:0;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-2);cursor:pointer;transition:background-color .14s ease,color .14s ease,box-shadow .14s ease}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-btn:active:not(:disabled),.icon-btn.active,.icon-btn[aria-pressed=true],.icon-btn[aria-expanded=true]{background:var(--surface-3);color:var(--text)}.icon-btn:disabled{opacity:.4;cursor:default}.icon-btn.sm{width:26px;height:26px;border-radius:7px}.input,.textarea,.select{display:block;width:100%;min-width:0;background-color:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:10px;font-family:var(--font-sans);font-size:14px;line-height:1.45;outline:none;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.input,.select{height:38px;padding:0 12px}.input.sm,.select.sm{height:32px;padding:0 10px;font-size:13px;border-radius:8px}.textarea{min-height:84px;padding:9px 12px;resize:vertical}.input:hover:not(:disabled):not(:focus),.textarea:hover:not(:disabled):not(:focus),.select:hover:not(:disabled):not(:focus){border-color:color-mix(in srgb,var(--text) 26%,var(--border-strong))}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input:disabled,.textarea:disabled,.select:disabled{background-color:var(--surface-2);color:var(--text-3);cursor:not-allowed}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:color-mix(in srgb,var(--danger) 60%,transparent)}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 6.25 8 9.75l3.5-3.5' fill='none' stroke='%238c8980' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 11px center;background-size:15px 15px;background-repeat:no-repeat}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:13px;font-weight:500;color:var(--text)}.field-hint{font-size:12px;line-height:1.5;color:var(--text-3)}.field-error{font-size:12px;color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:6px;background:var(--surface-2);color:var(--text-2);font-size:11.5px;font-weight:500;line-height:1;white-space:nowrap}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-success{background:color-mix(in srgb,var(--success) 13%,transparent);color:var(--success)}.badge-warning{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.badge-danger{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.spinner{display:inline-block;flex-shrink:0;width:14px;height:14px;border:2px solid color-mix(in srgb,currentColor 20%,transparent);border-top-color:currentColor;border-radius:50%;vertical-align:middle;animation:ui-spin .7s linear infinite}.spinner.sm{width:11px;height:11px;border-width:1.5px}@keyframes ui-spin{to{transform:rotate(360deg)}}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;background:var(--surface);color:var(--text-2);font-family:var(--font-sans);font-size:11.5px;font-weight:500;line-height:1;white-space:nowrap}.kbd+.kbd{margin-left:3px}.divider{height:1px;margin:8px 0;border:0;background:var(--border);flex-shrink:0}.muted{color:var(--text-3)}.mono{font-family:var(--font-mono);font-variant-ligatures:none}.truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grow{flex:1;min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overscroll-behavior:contain;animation:ui-fade .16s ease both}.modal{position:relative;display:flex;flex-direction:column;width:100%;max-height:min(88dvh,920px);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:ui-modal-in .2s var(--ease-out) both}.modal-sm{max-width:420px}.modal-md{max-width:540px}.modal-lg{max-width:880px}.modal-xl{max-width:1120px}.modal-head{display:flex;align-items:flex-start;gap:12px;padding:20px 20px 4px 24px;flex-shrink:0}.modal-titles{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding-top:2px}.modal-title{font-size:17px;font-weight:600;line-height:1.35;letter-spacing:-.01em;color:var(--text)}.modal-desc{font-size:13.5px;line-height:1.5;color:var(--text-2)}.modal-head .modal-close{margin:-2px -4px 0 0;color:var(--text-3)}.modal-close-float{position:absolute;top:12px;right:12px;z-index:2}.modal-close-float .modal-close{color:var(--text-3)}.modal-body{flex:1;min-height:0;padding:16px 24px 22px;overflow-y:auto;overscroll-behavior:contain}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;padding:0 24px 20px}@keyframes ui-fade{0%{opacity:0}}@keyframes ui-modal-in{0%{opacity:0;transform:translateY(6px) scale(.985)}}@keyframes ui-sheet-in{0%{transform:translateY(100%)}}.dialog .modal-body{padding-top:10px}.dialog-form{display:flex;flex-direction:column;gap:16px}.dialog-message{font-size:14px;line-height:1.55;color:var(--text-2);white-space:pre-line;overflow-wrap:anywhere}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.popover{position:fixed;top:0;left:0;z-index:1100;min-width:200px;max-width:calc(100vw - 16px);padding:5px;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);font-size:13.5px;animation:ui-pop .15s var(--ease-out) both}.popover[data-side=top]{--pop-dy: 4px}.popover[data-side=bottom]{--pop-dy: -4px}.popover[data-side=left]{--pop-dx: 4px}.popover[data-side=right]{--pop-dx: -4px}@keyframes ui-pop{0%{opacity:0;transform:translate(var(--pop-dx, 0),var(--pop-dy, 0)) scale(.97)}}.menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:6px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:13.5px;line-height:1.35;text-align:left;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .1s ease}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-2);text-decoration:none;box-shadow:none}.menu-item:active:not(:disabled){background:var(--surface-3)}.menu-item:disabled,.menu-item[aria-disabled=true]{opacity:.45;cursor:default;background:transparent}.menu-item.has-desc{align-items:flex-start;padding-top:8px;padding-bottom:8px}.menu-item-icon{display:inline-grid;place-items:center;flex-shrink:0;color:var(--text-2)}.menu-item.has-desc .menu-item-icon{margin-top:1px}.menu-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item-desc{font-size:12px;line-height:1.4;color:var(--text-3)}.menu-item-hint{flex-shrink:0;margin-left:12px;font-size:12px;color:var(--text-3);letter-spacing:.02em}.menu-item-check{display:inline-grid;place-items:center;flex-shrink:0;width:16px;color:var(--accent)}.menu-item.danger,.menu-item.danger .menu-item-icon{color:var(--danger)}.menu-item.danger:hover,.menu-item.danger:focus-visible{background:color-mix(in srgb,var(--danger) 9%,transparent)}.menu-sep{height:1px;margin:5px 6px;background:var(--border)}.menu-label{padding:8px 10px 4px;font-size:11.5px;font-weight:500;color:var(--text-3);-webkit-user-select:none;user-select:none}.toaster{position:fixed;top:calc(var(--header-h) + 10px);right:16px;z-index:1300;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;width:360px;max-width:calc(100vw - 32px);min-height:44px;padding:8px 8px 8px 14px;background:var(--toast-bg);color:var(--toast-fg);border:1px solid var(--toast-border);border-radius:var(--radius);box-shadow:var(--shadow-md);font-size:13.5px;line-height:1.4;pointer-events:auto;animation:ui-toast-in .22s var(--ease-out) both}.toast.leaving{animation:ui-toast-out .16s ease both}.toast-icon{display:inline-grid;place-items:center;flex-shrink:0;width:20px;height:20px;border-radius:50%}.toast-success .toast-icon{color:#fff;background:#2f8a57}.toast-error .toast-icon{color:#ff8d86;background:transparent}.toast-msg{flex:1;min-width:0;overflow-wrap:anywhere}.toast-action{flex-shrink:0;height:26px;padding:0 10px;border-radius:7px;color:var(--toast-fg);font-size:13px;font-weight:600;background:#ffffff1a}.toast-action:hover{background:#ffffff2e}.toast-close{display:inline-grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:6px;color:color-mix(in srgb,var(--toast-fg) 55%,transparent);opacity:0;transition:opacity .12s ease,background-color .12s ease}.toast:hover .toast-close,.toast-close:focus-visible{opacity:1}.toast-close:hover{background:#ffffff1a;color:var(--toast-fg)}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes ui-toast-out{to{opacity:0;transform:translateY(-4px) scale(.98)}}.tooltip{position:fixed;top:0;left:0;z-index:1400;display:flex;align-items:center;gap:6px;max-width:260px;padding:5px 8px;border-radius:7px;background:var(--tip-bg);color:var(--tip-fg);box-shadow:var(--shadow-sm);font-size:12px;font-weight:500;line-height:1.35;white-space:pre-line;pointer-events:none;opacity:0}.tooltip.on{opacity:1;animation:ui-tip-in .12s ease-out both}.tooltip[data-side=top]{--tip-dy: 3px}.tooltip[data-side=bottom]{--tip-dy: -3px}.tooltip[data-side=left]{--tip-dx: 3px}.tooltip[data-side=right]{--tip-dx: -3px}.tooltip-kbd{padding:1px 5px;border-radius:4px;background:#ffffff1f;color:color-mix(in srgb,var(--tip-fg) 75%,transparent);font-family:var(--font-sans);font-size:11px;letter-spacing:.04em}@keyframes ui-tip-in{0%{opacity:0;transform:translate(var(--tip-dx, 0),var(--tip-dy, 0))}}.switch{position:relative;display:inline-block;flex-shrink:0;width:34px;height:20px;padding:0;border:0;border-radius:999px;background:var(--switch-off);cursor:pointer;transition:background-color .16s ease,box-shadow .14s ease}.switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003,0 1px 1px #0000000f;transition:transform .18s var(--ease)}.switch.on{background:var(--accent)}.switch.on .switch-thumb{transform:translate(14px)}.switch:disabled{opacity:.45;cursor:not-allowed}.switch.sm{width:28px;height:16px}.switch.sm .switch-thumb{width:12px;height:12px}.switch.sm.on .switch-thumb{transform:translate(12px)}.switch-label{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.switch-label.disabled{color:var(--text-3);cursor:not-allowed}.segmented{position:relative;display:inline-flex;align-items:stretch;gap:2px;padding:3px;border-radius:10px;background:var(--surface-2);isolation:isolate}.segmented.block{display:flex;width:100%}.segmented.block .segmented-opt{flex:1}.segmented-thumb{position:absolute;top:3px;bottom:3px;left:0;z-index:0;border-radius:7px;background:var(--seg-thumb);box-shadow:var(--shadow-sm),0 0 0 .5px color-mix(in srgb,var(--text) 6%,transparent);pointer-events:none}.segmented.ready .segmented-thumb{transition:transform .2s var(--ease),width .2s var(--ease)}.segmented-opt{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--text-2);font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:color .14s ease}.segmented-opt:hover:not(:disabled){color:var(--text)}.segmented-opt.on{color:var(--text)}.segmented:not(.has-thumb) .segmented-opt.on{background:var(--seg-thumb);box-shadow:var(--shadow-sm)}.segmented-opt.icon-only{padding:0 9px}.segmented-opt:disabled{opacity:.45;cursor:not-allowed}.segmented.sm{padding:2px;border-radius:8px}.segmented.sm .segmented-thumb{top:2px;bottom:2px;border-radius:6px}.segmented.sm .segmented-opt{height:24px;padding:0 9px;font-size:12px;border-radius:6px}.segmented.sm .segmented-opt.icon-only{padding:0 7px}.auth-wrap{position:relative;display:flex;flex-direction:column;align-items:center;height:100%;min-height:100%;padding:24px 16px;overflow-y:auto;background:var(--bg)}.auth-top{position:absolute;top:14px;right:14px;z-index:2}.auth-main{flex:1;display:flex;align-items:center;justify-content:center;width:100%;padding:32px 0 16px}.auth-card{display:flex;flex-direction:column;gap:18px;width:100%;max-width:380px;padding:32px 28px 28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-composer);animation:ui-modal-in .26s var(--ease-out) both}.auth-head{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;margin-bottom:2px}.auth-mark{display:block;width:48px;height:48px;margin-bottom:8px;border-radius:11px;box-shadow:0 1px 3px #241a352e}.auth-badge{display:grid;place-items:center;width:44px;height:44px;margin-bottom:8px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.auth-title{font-family:var(--font-serif);font-size:26px;font-weight:500;line-height:1.2;letter-spacing:-.015em;color:var(--text)}.auth-sub{max-width:300px;font-size:14px;line-height:1.55;color:var(--text-2)}.auth-sub strong{font-weight:600;color:var(--text)}.auth-fields{display:flex;flex-direction:column;gap:14px}.auth-note{margin-top:-4px;font-size:12.5px;line-height:1.55;color:var(--text-3)}.auth-callout{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--danger) 22%,transparent);color:var(--danger);font-size:13px;line-height:1.45;animation:ui-fade .16s ease both}.auth-callout svg{margin-top:1px}.auth-card .btn-block+.btn-block{margin-top:-8px}.auth-foot{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 0 4px;font-size:12px;color:var(--text-3);text-align:center}.auth-probe{margin:auto;color:var(--text-3);animation:ui-fade .3s ease .25s both}@media(max-width:820px){.input,.textarea,.select{font-size:16px}.modal-backdrop:has(.modal-lg,.modal-xl){padding:0}.modal.modal-lg,.modal.modal-xl{max-width:none;height:100%;max-height:none;padding-top:env(safe-area-inset-top);border:0;border-radius:0;animation:ui-sheet-in .26s var(--ease-out) both}}@media(max-width:640px){.modal-backdrop{align-items:flex-end;padding:12px 0 0}.modal{max-width:none;max-height:calc(100dvh - 12px);border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:env(safe-area-inset-bottom);animation:ui-sheet-in .26s var(--ease-out) both}.modal-head{padding:18px 16px 4px 20px}.modal-body{padding:14px 20px 20px}.modal-foot{padding:0 20px 18px}.dialog-actions .btn{flex:1;height:40px}.toaster{top:calc(12px + env(safe-area-inset-top));right:12px;bottom:auto;left:12px;align-items:center}.toast{width:100%;max-width:440px}.toast-close{opacity:1}.auth-card{padding:28px 20px 22px;border-radius:var(--radius-lg)}.auth-title{font-size:24px}}@media(pointer:coarse){.icon-btn{width:36px;height:36px}.icon-btn.sm{width:30px;height:30px}.menu-item{min-height:40px}}@media(hover:none){.toast-close{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spinner{animation-duration:1.6s!important;animation-iteration-count:infinite!important}}
