:root{--bg-color:var(--surface-app);--glass-bg:var(--surface-card);--glass-border:var(--border-subtle);--accent-color:var(--accent);--success-text:var(--success);--warning-text:var(--warning-bright)}body{margin:0;padding:0;background-color:var(--surface-app);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-base);font-synthesis:none;-webkit-font-smoothing:antialiased;min-height:100vh}button,input,select,textarea{font:inherit}code,kbd,pre,samp{font-family:var(--font-mono)}.icon-button{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease}.icon-button:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.icon-button.is-active{background:var(--accent-bg-hover);color:var(--accent-text)}.icon-button:disabled{color:var(--text-faint);cursor:not-allowed}.icon-button.is-small{width:22px;height:22px;border-radius:var(--radius-sm)}.icon-button.is-danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger-text)}.is-spinning{animation:genie-spin .8s linear infinite}@keyframes genie-spin{to{transform:rotate(1turn)}}.inline-error{margin:0 0 12px;padding:9px 11px;border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-bg-soft);color:var(--danger-text-pale);font-size:var(--fs-sm)}.empty-panel{margin:24px 2px;text-align:center}.empty-panel h3{margin:0 0 7px;font-size:var(--fs-lg)}.empty-panel p{margin:0;color:var(--text-secondary);font-size:var(--fs-base);line-height:1.55}.eyebrow{margin:0;color:var(--text-muted);font-size:var(--fs-caption);font-weight:700;letter-spacing:.085em;text-transform:uppercase}a{color:inherit;text-decoration:none}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:250px;background:rgba(11,15,25,.9);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.admin-sidebar-header{min-height:64px;display:flex;align-items:center;padding:.75rem 1.5rem;border-bottom:1px solid var(--glass-border)}.admin-nav{flex:1 1;overflow-y:auto;padding:.75rem 0 1rem}.admin-nav-section{margin-bottom:.25rem}.admin-nav-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem 1.25rem;border:none;background:transparent;color:var(--text-secondary);font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;text-align:left}.admin-nav-section-toggle.active,.admin-nav-section-toggle:hover{color:#cbd5e1}.admin-nav-chevron{font-size:.7rem;opacity:.75}.admin-nav-section-items{padding-bottom:.35rem}.admin-nav-item{display:block;padding:.55rem 1.25rem .55rem 1.65rem;color:var(--text-secondary);transition:all .2s;font-weight:500;font-size:.9rem}.admin-nav-item.active,.admin-nav-item:hover{background:rgba(59,130,246,.1);color:var(--accent-color)}.admin-main{flex:1 1;display:flex;flex-direction:column;min-width:0}.admin-topbar{height:64px;border-bottom:1px solid var(--glass-border);display:flex;align-items:center;padding:0 1.5rem;justify-content:space-between;background:rgba(11,15,25,.65);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.admin-content{padding:2rem;flex:1 1;overflow-y:auto}.admin-table{width:100%;border-collapse:collapse;text-align:left}.admin-table td,.admin-table th{padding:1rem;border-bottom:1px solid hsla(0,0%,100%,.05)}.admin-table th{color:var(--text-secondary);font-weight:500;border-bottom:1px solid var(--glass-border)}.admin-table tr:hover{background:hsla(0,0%,100%,.02)}.glass-panel{background:var(--surface-card);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--border-subtle);border-radius:12px;box-shadow:none;padding:1.5rem}.container{max-width:1600px;margin:0 auto;padding:2rem;width:100%;box-sizing:border-box}.dash-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh;background:var(--surface-sidebar)}.dash-shell.tabbar-narrow{grid-template-columns:80px minmax(0,1fr)}.primary-sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:18px;height:100vh;padding:15px 12px;box-sizing:border-box;background:var(--surface-sidebar);overflow:hidden}.tabbar-header{display:flex;align-items:center;gap:8px;min-height:31px}.brand-mark-button{display:grid;place-items:center;flex-shrink:0;padding:0;border:0;border-radius:var(--radius-md);background:transparent;cursor:pointer}.brand-mark-button:hover .brand-mark{opacity:.85}.brand-mark{display:block;width:28px;height:28px;flex-shrink:0}.brand-name{font-size:var(--fs-lg);font-weight:720;letter-spacing:-.02em;color:var(--text-primary)}.nav-list{display:grid;grid-gap:3px;gap:3px}.nav-item{display:flex;gap:10px;align-items:center;padding:9px 10px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-default);font-size:var(--fs-base);text-align:left;white-space:nowrap;cursor:pointer}.nav-item:hover{color:var(--text-primary);background:var(--surface-menu)}.nav-item.is-active{background:var(--surface-active);color:var(--accent-text-strong)}.nav-glyph{width:17px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.nav-glyph svg{display:block}.sidebar-footer{display:flex;flex-direction:column;gap:7px;margin-top:auto;padding:10px 0 2px;color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap}.settings-button{width:100%;display:flex;gap:8px;padding:8px 12px;font-size:var(--fs-base);white-space:nowrap}.settings-button,.settings-icon{align-items:center;justify-content:center}.settings-icon{display:inline-flex;line-height:0}.settings-icon svg{display:block}.settings-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.auth-menu-container{position:relative;width:100%}.auth-menu-container.is-topbar,.auth-menu-container.is-topbar .settings-button{width:auto}.auth-menu-trigger{position:relative}.auth-menu-trigger-avatar{flex-shrink:0}.auth-user-menu{position:fixed;z-index:10001;width:232px;padding:4px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-menu);box-shadow:0 10px 24px rgba(0,0,0,.18);font-size:var(--fs-sm);box-sizing:border-box}.auth-user-menu-header{display:flex;align-items:center;gap:10px;padding:8px 8px 10px}.auth-user-menu-identity{display:grid;grid-gap:2px;gap:2px;min-width:0}.auth-user-menu-identity strong{overflow:hidden;color:var(--text-primary);font-size:var(--fs-base);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.auth-user-menu-identity span{color:var(--text-muted);font-size:var(--fs-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.auth-user-menu-section{display:grid;margin-top:4px;padding-top:4px;border-top:1px solid var(--border-subtle)}.auth-user-menu-note{padding:4px 8px;color:var(--text-muted);font-size:var(--fs-caption);line-height:1.4}.auth-user-menu-item{display:block;width:100%;padding:7px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-strong);font-size:var(--fs-sm);text-align:left;text-decoration:none;cursor:pointer;box-sizing:border-box}.auth-user-menu-item:hover:not(:disabled){background:var(--surface-active);color:var(--text-primary)}.auth-user-menu-item.is-danger{color:var(--danger-text)}.auth-user-menu-item.is-danger:hover{background:var(--danger-bg);color:var(--danger-text-bright)}.user-avatar{position:relative;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:linear-gradient(145deg,var(--accent-brand-start,#6e56cf),var(--accent-brand-end,#9b8afb));color:var(--text-on-accent);font-weight:700;line-height:1}.user-avatar-face{display:grid;place-items:center;width:100%;height:100%;border-radius:inherit;overflow:hidden}.user-avatar-face img{display:block;width:100%;height:100%;object-fit:cover}.tabbar-narrow .primary-sidebar{padding-inline:8px;align-items:center}.tabbar-narrow .tabbar-header{justify-content:center;width:100%}.tabbar-narrow .brand-name{display:none}.tabbar-narrow .nav-list{justify-items:center;width:100%;gap:4px}.tabbar-narrow .primary-sidebar .nav-item{width:48px;min-height:50px;padding:6px 4px 5px;flex-direction:column;justify-content:center;gap:3px;text-align:center;white-space:normal}.tabbar-narrow .primary-sidebar .nav-label{display:block;max-width:100%;overflow:hidden;font-size:var(--fs-caption);font-weight:500;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.tabbar-narrow .primary-sidebar .nav-glyph{width:auto}.tabbar-narrow .sidebar-footer{align-items:center;width:100%}.tabbar-narrow .auth-menu-container{display:flex;justify-content:center;width:100%}.tabbar-narrow .sidebar-footer .settings-button{width:40px;height:40px;padding:0;justify-content:center}.tabbar-narrow .sidebar-footer .settings-label{display:none}@media (max-width:900px){.dash-shell,.dash-shell.tabbar-narrow{grid-template-columns:80px minmax(0,1fr)}.dash-shell .primary-sidebar{padding-inline:8px;align-items:center}.dash-shell .brand-name,.dash-shell .sidebar-footer .settings-label{display:none}.dash-shell .nav-list{justify-items:center;width:100%}.dash-shell .primary-sidebar .nav-item{width:48px;min-height:50px;padding:6px 4px 5px;flex-direction:column;justify-content:center;gap:3px}.dash-shell .primary-sidebar .nav-label{font-size:var(--fs-caption)}.dash-shell .sidebar-footer{align-items:center;width:100%}.dash-shell .sidebar-footer .settings-button{width:40px;height:40px;padding:0}}.dash-workspace{min-width:0;background:var(--surface-app);display:flex;flex-direction:column;min-height:100vh}.dash-workspace-fill{flex:1 1;min-height:0;display:flex;flex-direction:column}.dash-workspace-fill .chat-layout.embedded,.dash-workspace-fill .chat-workspace-embedded{height:100vh;min-height:100vh;margin:0;border-radius:0;border:none;max-width:none}.dash-workspace-scroll{flex:1 1;overflow:auto;padding:28px 32px 40px;max-width:1120px;width:100%;box-sizing:border-box}.dash-module-header{max-width:650px;margin-bottom:24px}.dash-module-header h1{margin:7px 0 9px;color:var(--text-primary);font-size:var(--fs-2xl);font-weight:650}.dash-module-header>p:last-child{margin:0;color:var(--text-secondary);font-size:var(--fs-md);line-height:1.5}.dash-module-header-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;max-width:none}.dash-module-header-row>div{max-width:650px}.dash-section{margin-top:28px}.dash-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px;margin-bottom:8px}.dash-section-head h2{margin:0;color:var(--text-primary);font-size:var(--fs-lg);font-weight:600}.dash-section-head span{color:var(--text-muted);font-size:var(--fs-sm)}.dash-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px}.dash-stat{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card)}.dash-stat-label{color:var(--text-secondary);font-size:var(--fs-sm)}.dash-stat-value{color:var(--text-primary);font-size:var(--fs-2xl);font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.dash-stat-meta{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--text-muted);font-size:var(--fs-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-table-wrap{overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card)}.dash-table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--fs-base)}.dash-table th{position:-webkit-sticky;position:sticky;top:0;padding:9px 14px;border-bottom:1px solid var(--border-subtle);background:var(--surface-card);color:var(--text-muted);font-size:var(--fs-sm);font-weight:500;white-space:nowrap}.dash-table td{padding:10px 14px;border-bottom:1px solid var(--border-faint);color:var(--text-default)}.dash-table tr:last-child td{border-bottom:0}.dash-table .is-num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.dash-empty,.dash-table .is-muted{color:var(--text-muted)}.dash-empty{padding:28px 14px;text-align:center}.dash-badge-row{display:flex;flex-wrap:wrap;gap:4px}.dash-badge{padding:1px 7px;border-radius:var(--radius-full);background:var(--accent-tint-12);color:var(--accent-text);font-weight:600}.dash-badge,.dash-tag{font-size:var(--fs-caption)}.dash-tag{margin-left:8px;padding:1px 6px;border-radius:var(--radius-sm);background:var(--surface-active);color:var(--text-muted)}.dash-strike{margin-left:6px;color:var(--text-faint);font-size:var(--fs-sm);text-decoration:line-through}.text-button.is-danger{color:var(--danger-text)}.text-button.is-danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger-text-bright)}.vault-usage{margin-bottom:20px;padding:14px 16px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card)}.vault-usage-head{display:flex;align-items:center;gap:8px;min-height:32px;margin-bottom:10px}.vault-usage-title{color:var(--text-primary);font-size:var(--fs-md);font-weight:600}.vault-usage-numbers{margin-left:auto;color:var(--text-secondary);font-size:var(--fs-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vault-usage-numbers strong{color:var(--text-primary);font-weight:600}.vault-usage-sep{margin:0 6px;color:var(--text-faint)}.vault-usage-track{height:6px;border-radius:var(--radius-full);background:var(--surface-active);overflow:hidden}.vault-usage-fill{height:100%;border-radius:inherit;background:var(--accent);transition:width .4s ease}.vault-usage-fill.is-warning{background:var(--warning)}.vault-usage-fill.is-danger{background:var(--danger)}.device-cell{display:flex;flex-direction:column;gap:2px}.device-name{display:inline-flex;align-items:center;gap:6px;color:var(--text-primary);font-weight:500}.device-kind{display:block;color:var(--text-muted);font-size:var(--fs-sm)}.device-presence{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary)}.device-presence:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--text-faint)}.device-presence.is-online{color:var(--success-bright)}.device-presence.is-online:before{background:var(--success)}.device-actions{display:inline-flex;gap:2px;justify-content:flex-end}.device-rename-form{display:flex;align-items:center;gap:6px}.device-rename-form .input-field{height:30px;margin:0;font-size:var(--fs-base);max-width:220px}@media (max-width:900px){.dash-workspace-scroll{padding:20px 16px 32px}}.center-wrapper,.page-loading{display:flex;align-items:center;justify-content:center;min-height:100vh}.page-loading{flex-direction:column;gap:12px;background:var(--surface-app)}.page-loading-mark{width:40px;height:40px;animation:page-loading-pulse 1.2s ease-in-out infinite alternate}.page-loading-label{color:var(--text-muted);font-size:var(--fs-sm)}@keyframes page-loading-pulse{0%{opacity:.45;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.page-loading-mark{animation:none}}.auth-page{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:100vh;padding:32px 16px;box-sizing:border-box}.auth-card{width:100%;max-width:400px;padding:32px 32px 24px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:0 8px 28px rgba(20,20,40,.06);box-sizing:border-box}.auth-head{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:24px;text-align:center}.auth-brand-mark{width:44px;height:44px;margin-bottom:6px}.auth-head h1{margin:0;font-size:var(--fs-xl);font-weight:650;color:var(--text-primary)}.auth-head p{margin:0;color:var(--text-secondary);font-size:var(--fs-base)}.auth-fields{display:flex;flex-direction:column;gap:12px}.auth-fields .input-field,.auth-fields .sms-code-row{margin-bottom:0}.auth-row-end{display:flex;justify-content:flex-end;margin-top:-4px}.auth-link{color:var(--accent-link);font-size:var(--fs-sm)}.auth-link:hover{text-decoration:underline}.auth-submit{box-sizing:border-box;width:100%;height:40px;font-size:var(--fs-md)}.auth-switch{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:18px 0 0;color:var(--text-secondary);font-size:var(--fs-sm)}.auth-notice{border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--text-default)}.auth-notice,.auth-success{padding:9px 11px;border-radius:var(--radius-md);font-size:var(--fs-sm)}.auth-success{background:var(--success-bg);color:var(--success-bright)}.auth-footer{display:flex;gap:8px;color:var(--text-faint);font-size:var(--fs-sm)}.auth-footer a{color:var(--text-muted)}.auth-footer a:hover{color:var(--text-primary)}.icp-filing{color:var(--text-faint);font-size:var(--fs-caption);text-decoration:none}.icp-filing:hover{color:var(--text-muted)}.auth-tabs{max-width:none;margin-bottom:16px}.auth-text{margin:0;color:var(--text-secondary);font-size:var(--fs-base);line-height:1.5;text-align:center}.auth-fields .inline-error{margin:0}.auth-fields a.auth-submit{text-decoration:none}.sms-code-row{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px}.sms-code-row .input-field{margin-bottom:0}.sms-code-row .secondary-button{height:40px}.btn,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px 16px;border:1px solid transparent;border-radius:var(--btn-radius);background:var(--btn-primary-bg);color:var(--btn-primary-fg);font-size:var(--fs-md);font-weight:600;line-height:1.3;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.btn-secondary{width:auto;white-space:nowrap;border-color:var(--btn-secondary-border);background:var(--btn-secondary-bg);color:var(--btn-secondary-fg)}.btn-secondary:hover:not(:disabled){background:var(--btn-secondary-bg-hover);color:var(--btn-secondary-fg-hover)}.btn-secondary:disabled,.btn:disabled{border-color:transparent;background:var(--btn-disabled-bg);color:var(--btn-disabled-fg);cursor:not-allowed}.input-field{width:100%;height:40px;padding:0 12px;background:var(--surface-input);border:1px solid var(--border-input);border-radius:var(--radius-md);color:var(--text-primary);margin-bottom:1.2rem;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease;font-size:var(--fs-md)}.input-field::placeholder{color:var(--text-faint)}.input-field:focus{outline:none;border-color:var(--accent-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-focus) 18%,transparent);background:var(--surface-card)}.link-text{color:var(--accent-link);text-decoration:none;font-size:.9rem;text-align:center;display:block;margin-top:1rem}.link-text:hover{text-decoration:underline}.download-page{gap:28px;width:100%;max-width:1040px;min-height:100vh;margin:0 auto;padding:56px 20px 32px;box-sizing:border-box}.download-head,.download-page{display:flex;flex-direction:column;align-items:center}.download-head{gap:8px;text-align:center}.download-head h1{margin:6px 0 0;color:var(--text-primary);font-size:var(--fs-2xl);font-weight:650}.download-head p{margin:0;color:var(--text-secondary);font-size:var(--fs-md)}.download-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px;width:100%}.download-card{display:flex;flex-direction:column;padding:18px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card)}.download-card.is-current{border-color:var(--accent-border-bright);box-shadow:0 0 0 1px var(--accent-border-bright)}.download-card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.download-card-icon{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-md);background:var(--surface-active);color:var(--text-default)}.download-card.is-current .download-card-icon{background:var(--accent-tint-12);color:var(--accent-text)}.download-card-icon-svg{width:22px;height:22px}.download-card-heading{flex:1 1;min-width:0}.download-card-title{display:flex;align-items:center;gap:8px;margin:0 0 2px;color:var(--text-primary);font-size:var(--fs-lg);font-weight:600;line-height:1.3}.download-card-sub{margin:0;line-height:1.4}.download-card-meta,.download-card-sub{color:var(--text-secondary);font-size:var(--fs-sm)}.download-card-meta{margin:0 0 4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.download-card-file{margin:0;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-caption);word-break:break-all}.download-card-actions{margin-top:auto;padding-top:14px}.download-card-actions a{text-decoration:none}.privacy-wrapper{align-items:flex-start;padding:2rem 1.25rem 3rem}.privacy-page{width:100%;max-width:820px;padding:2rem 2.25rem 2.5rem;box-sizing:border-box}.privacy-toolbar{display:flex;justify-content:flex-end;margin-bottom:.5rem}.privacy-lang{font-size:.9rem;color:var(--text-secondary)}.privacy-lang-current{color:var(--text-primary);font-weight:600}.privacy-lang-sep{margin:0 .45rem;opacity:.5}.privacy-lang-link{color:var(--accent-link);text-decoration:none}.privacy-lang-link:hover{text-decoration:underline}.privacy-page .markdown-preview-body>h1:first-child{margin-top:.25rem}.privacy-page .markdown-preview-body table{font-size:.9rem}.privacy-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--glass-border)}.privacy-footer .link-text{margin-top:.65rem}.privacy-icp-filing{display:block;margin-top:1rem}@media (max-width:640px){.privacy-page{padding:1.5rem 1.25rem 2rem}}.vault-explorer-container{display:flex;height:680px;margin-bottom:20px;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card)}.vault-explorer-sidebar{display:flex;flex-direction:column;width:300px;min-width:240px;border-right:1px solid var(--border-subtle);background:var(--surface-panel)}.vault-sidebar-head{padding:12px;border-bottom:1px solid var(--border-subtle)}.vault-sidebar-toolbar{display:flex;align-items:center;gap:2px;margin-bottom:10px}.vault-sidebar-title{flex:1 1;color:var(--text-primary);font-size:var(--fs-base);font-weight:600}.vault-sidebar-foot{display:flex;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:var(--fs-caption)}.vault-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%)}.vault-preview-panel{flex:1 1;display:flex;flex-direction:column;min-width:0;background:var(--surface-card)}.vault-preview-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:12px 20px;border-bottom:1px solid var(--border-subtle)}.vault-preview-icon{display:inline-grid;place-items:center;color:var(--text-secondary)}.vault-preview-title{margin:0;color:var(--text-primary);font-size:var(--fs-md);font-weight:600}.vault-preview-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px;color:var(--text-muted);font-size:var(--fs-caption)}.vault-preview-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.vault-preview-mode-switch{width:auto;max-width:none;margin-right:6px}.vault-preview-mode-switch .theme-switcher-option{flex:none;padding-inline:12px}.vault-type-badge{padding:1px 6px;border-radius:var(--radius-sm);background:var(--surface-active);color:var(--text-secondary);font-size:var(--fs-caption)}.vault-tree-item{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-default);font-size:var(--fs-base);text-align:left;cursor:pointer;box-sizing:border-box;transition:background .15s ease,color .15s ease}.vault-tree-item:hover{background:var(--surface-hover);color:var(--text-primary)}.vault-tree-item.is-active{background:var(--accent-bg-hover);color:var(--accent-text);font-weight:500}.vault-tree-dir{color:var(--text-primary);font-weight:500}.vault-tree-arrow{flex-shrink:0}.vault-file-icon{display:inline-grid;place-items:center;flex-shrink:0;color:var(--text-muted)}.vault-tree-item.is-active .vault-file-icon{color:inherit}.vault-file-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-file-size{margin-left:6px;color:var(--text-faint);font-size:var(--fs-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vault-search-input{width:100%;height:32px;padding:0 28px 0 10px;border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text-primary);font-size:var(--fs-sm);box-sizing:border-box}.vault-search-input::placeholder{color:var(--text-muted)}.vault-search-input:focus{outline:none;border-color:var(--accent-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-focus) 18%,transparent)}.markdown-preview-body{color:var(--text-strong,var(--text-primary));font-size:.95rem;line-height:1.7}.markdown-preview-body a{color:var(--accent-link)}.markdown-preview-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:inherit}.markdown-preview-body pre{background:var(--surface-code,var(--surface-raised));border:1px solid var(--border-subtle);border-radius:8px;padding:.75rem .9rem;overflow-x:auto}.markdown-preview-body pre code{font-size:.88rem}.dismiss-genie-dialog{width:min(420px,100%);margin:auto;padding:1.35rem 1.4rem 1.2rem;display:flex;flex-direction:column;gap:.75rem}.dismiss-genie-title{margin:0;font-size:1.1rem;font-weight:600}.dismiss-genie-body{margin:0;font-size:.92rem;line-height:1.5;color:var(--text-secondary)}.dismiss-genie-note{margin:0;font-size:.8rem;line-height:1.45;color:var(--text-secondary);opacity:.85}.dismiss-genie-ack{display:flex;align-items:flex-start;gap:.55rem;font-size:.9rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dismiss-genie-ack input{margin-top:.2rem;flex-shrink:0}.dismiss-genie-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.35rem}.archived-genie-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.archived-genie-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card)}.archived-genie-meta{flex:1 1;min-width:0}.archived-genie-name{color:var(--text-primary);font-size:var(--fs-md);font-weight:600}.archived-genie-sub{margin-top:2px;color:var(--text-muted);font-size:var(--fs-sm)}.archived-genie-actions{display:flex;gap:6px;flex-shrink:0}.archived-genie-details{padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card)}.archived-genie-details-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.archived-genie-soul{margin:0;max-height:180px;overflow:auto;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-code,var(--surface-app));font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.5;white-space:pre-wrap;word-break:break-word}.archived-genie-files{margin:10px 0 0;padding-left:18px;max-height:140px;overflow:auto;color:var(--text-secondary);font-size:var(--fs-sm)}.settings-modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto;background:var(--overlay-backdrop-light)}.settings-modal{display:flex;flex-direction:column;flex-shrink:0;width:min(720px,100%);max-height:min(86vh,720px);margin:auto 0;padding:0!important;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:0 20px 50px rgba(0,0,0,.3)}.settings-modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 14px 20px;border-bottom:1px solid var(--border-subtle)}.settings-modal-header h2{margin:0;color:var(--text-primary);font-size:var(--fs-lg);font-weight:600}.settings-close-btn{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer}.settings-close-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.settings-content{flex:1 1;min-height:0;overflow:auto;padding:16px 20px 20px}.settings-nav-item{padding:6px 12px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer}.settings-nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.settings-nav-item.is-active{background:var(--accent-bg-hover);color:var(--accent-text);font-weight:600}.permission-dialog-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.permission-dialog{width:420px;max-width:90vw;padding:24px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:0 20px 50px rgba(0,0,0,.3);box-sizing:border-box}.settings-dialog{width:760px;height:min(640px,88vh);max-width:90vw;padding:0;display:flex;overflow:hidden;background:var(--surface-panel)}.settings-dialog-nav{width:200px;flex:0 0 200px;display:flex;flex-direction:column;gap:4px;padding:24px 12px;border-right:1px solid var(--border-subtle);background:var(--surface-sidebar);overflow-y:auto;box-sizing:border-box}.settings-dialog-title{margin:0 0 12px 8px;color:var(--text-secondary);font-size:var(--fs-lg);font-weight:600}.settings-dialog-main{flex:1 1;min-width:0;min-height:0;display:flex;flex-direction:column}.settings-dialog-toolbar{flex:0 0 auto;display:flex;justify-content:flex-end;padding:12px 16px 0}.settings-dialog-toolbar .close-button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer}.settings-dialog-toolbar .close-button:hover{background:var(--surface-hover);color:var(--text-primary)}.settings-dialog-body{flex:1 1;min-width:0;min-height:0;padding:0 28px 28px;overflow-y:auto}.settings-group{display:flex;flex-direction:column;gap:12px}.settings-group+.settings-group{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-subtle)}.settings-group h3{font-size:var(--fs-lg)}.settings-group h3,.settings-group h4{margin:0;color:var(--text-primary);font-weight:600}.settings-group h4{font-size:var(--fs-md)}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-field-label{color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500}.settings-bind-form .input-field,.settings-field .input-field,.settings-group>.input-field,.settings-password-form .input-field{height:34px;margin-bottom:0;font-size:var(--fs-base)}.settings-number{width:120px!important}.settings-inline-row{display:flex;gap:8px;align-items:center}.settings-inline-row .input-field{flex:1 1;min-width:0}.settings-inline-row button{flex-shrink:0}.settings-muted{margin:0;color:var(--text-muted);font-size:var(--fs-sm);line-height:1.5}.settings-muted kbd{padding:0 5px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-input);color:var(--text-secondary);font-size:var(--fs-caption)}.settings-body{margin:0;color:var(--text-default);font-size:var(--fs-base);line-height:1.5}.settings-error{margin:0;color:var(--danger-text);font-size:var(--fs-sm)}.settings-success{margin:0;color:var(--success-bright);font-size:var(--fs-sm)}.settings-check{display:flex;align-items:flex-start;gap:10px;color:var(--text-default);font-size:var(--fs-md);cursor:pointer}.settings-check input{margin-top:2px;flex-shrink:0}.settings-check>span{display:flex;flex-direction:column;gap:2px}.settings-link-row{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-faint);color:var(--text-default);font-size:var(--fs-base);text-decoration:none}.settings-link-row:hover{color:var(--accent-link)}.settings-actions{display:flex;gap:8px;flex-wrap:wrap}.settings-account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-faint)}.settings-account-value{color:var(--text-primary);font-size:var(--fs-md);margin-top:2px}.settings-account-badge{flex-shrink:0;padding:1px 8px;border-radius:var(--radius-full);background:var(--success-bg);color:var(--success-bright);font-size:var(--fs-caption);font-weight:600}.settings-bind-form,.settings-password-form{display:flex;flex-direction:column;gap:8px;max-width:420px}.theme-switcher{display:flex;gap:2px;width:100%;max-width:360px;padding:2px;border:1px solid var(--border-faint);border-radius:var(--radius-full);background:var(--surface-app);box-sizing:border-box}.theme-switcher-option{flex:1 1;display:flex;align-items:center;justify-content:center;gap:6px;height:28px;padding:0 12px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--text-muted);font-size:var(--fs-base);line-height:1;white-space:nowrap;cursor:pointer}.theme-switcher-option svg{flex-shrink:0}.theme-switcher-option:hover{color:var(--text-default);background:var(--surface-hover)}.theme-switcher-option.is-active{background:var(--accent-bg-hover);color:var(--accent-text)}.palette-switcher{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px;width:100%;max-width:420px}.palette-switcher-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border:1px solid var(--border-faint);border-radius:var(--radius-lg);background:var(--surface-app);color:var(--text-muted);font-size:var(--fs-sm);line-height:1.2;cursor:pointer}.palette-switcher-option:hover{color:var(--text-default);background:var(--surface-hover);border-color:var(--border-default)}.palette-switcher-option.is-active{border-color:var(--accent-border-bright);background:var(--accent-bg-hover);color:var(--accent-text)}.palette-swatch{width:22px;height:22px;border-radius:var(--radius-full);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.18)}@media (max-width:640px){.settings-dialog{flex-direction:column;height:88vh}.settings-dialog-nav{width:auto;flex:0 0 auto;flex-direction:row;padding:12px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border-subtle)}.settings-dialog-title{display:none}}.genie-figure-avatar{display:inline-grid;place-items:center;flex-shrink:0;overflow:visible}.genie-figure-avatar.is-tile{background:var(--surface-active);overflow:hidden}.feedback-workspace{max-width:720px}.feedback-tabs{display:inline-flex;gap:6px;padding:4px;margin-bottom:18px;border-radius:var(--radius-lg);background:var(--surface-active)}.feedback-tab{border:none;background:transparent;color:var(--text-secondary);padding:7px 14px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-base);font-weight:600}.feedback-tab.is-active,.feedback-tab:hover{color:var(--text-primary)}.feedback-tab.is-active{background:var(--surface-card);box-shadow:0 1px 2px rgba(0,0,0,.06)}.feedback-list{display:grid;grid-gap:10px;gap:10px}.feedback-card{display:grid;grid-gap:8px;gap:8px;width:100%;text-align:left;padding:14px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);color:inherit;cursor:pointer}.feedback-card:hover{border-color:var(--border-default);background:var(--surface-raised)}.feedback-card.is-static{cursor:default}.feedback-card.is-static:hover{border-color:var(--border-subtle);background:var(--surface-card)}.feedback-card h2{margin:0;font-size:var(--fs-xl)}.feedback-card-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.feedback-admin-badge,.feedback-hidden,.feedback-status,.feedback-type{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--fs-caption);font-weight:700}.feedback-type{background:var(--surface-active);color:var(--text-secondary)}.feedback-type.is-bug{background:var(--danger-bg-soft);color:var(--danger-text)}.feedback-status{background:var(--surface-active);color:var(--text-muted)}.feedback-status.is-resolved{color:var(--success)}.feedback-hidden{background:var(--warning-bg);color:var(--warning-bright)}.feedback-admin-badge{background:var(--accent-bg-hover);color:var(--accent-text);margin-left:4px}.feedback-card-title{font-size:var(--fs-md)}.feedback-card-body{margin:0;color:var(--text-secondary);font-size:var(--fs-base);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.feedback-card-foot{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--text-muted);font-size:var(--fs-sm)}.feedback-gallery{display:flex;flex-wrap:wrap;gap:8px}.feedback-gallery img{display:block;width:72px;height:72px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.feedback-gallery.is-large img{width:120px;height:120px}.feedback-detail{display:grid;grid-gap:14px;gap:14px}.feedback-detail-toolbar{display:flex;justify-content:space-between;gap:12px}.feedback-detail-author{margin:0;color:var(--text-muted);font-size:var(--fs-base)}.feedback-detail-body{white-space:pre-wrap;font-size:var(--fs-md);line-height:1.6;color:var(--text-default)}.feedback-replies{display:grid;grid-gap:10px;gap:10px}.feedback-replies h3{margin:8px 0 0;font-size:var(--fs-md)}.feedback-reply{padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card)}.feedback-reply header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px;color:var(--text-muted);font-size:var(--fs-sm)}.feedback-reply p{margin:0 0 6px;white-space:pre-wrap;font-size:var(--fs-base);line-height:1.55}.feedback-composer,.feedback-reply-composer{display:grid;grid-gap:14px;gap:14px;max-width:640px}.feedback-field{display:grid;grid-gap:6px;gap:6px;font-size:var(--fs-sm);color:var(--text-secondary)}.feedback-field input,.feedback-field select,.feedback-field textarea,.feedback-reply-composer textarea{width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-size:var(--fs-md);resize:vertical}.feedback-field select{padding-right:28px}.feedback-files{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.feedback-file-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border-radius:var(--radius-full);background:var(--surface-active);color:var(--text-default);font-size:var(--fs-sm)}.feedback-check{display:flex;align-items:center;gap:8px;font-size:var(--fs-base);color:var(--text-secondary)}.feedback-muted{color:var(--text-muted);font-size:var(--fs-base)}.feedback-disabled{padding:40px 12px}@media (max-width:640px){.settings-modal-body{flex-direction:column}.settings-nav{width:100%;flex-direction:row;border-right:none;border-bottom:1px solid var(--glass-border);overflow-x:auto}}.deploy-env-ribbon{position:fixed;z-index:2147483000;top:14px;left:-34px;width:120px;padding:2px 0;transform:rotate(-45deg);background:#ea580c;color:#fff;font-size:10px;font-weight:700;letter-spacing:.12em;line-height:14px;text-align:center;opacity:.88;box-shadow:0 1px 4px rgba(0,0,0,.35);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.deploy-env-ribbon.is-stage{background:#7c3aed}.deploy-env-ribbon.is-local{background:#475569}:root{--surface-app:#101114;--surface-titlebar:#121318;--surface-panel:#15161a;--surface-sidebar:#17181c;--surface-card:#191a20;--surface-raised:#1d1e24;--surface-menu:#24252b;--surface-hover:#27282e;--surface-active:#2a2b32;--surface-code:#292a31;--surface-tooltip:#24252b;--surface-scrollbar:#2a2b36;--surface-scrollbar-hover:#454758;--surface-track:#353640;--surface-window-control:#45464d;--border-subtle:#2a2b31;--border-faint:#27282e;--border-default:#3a3947;--border-strong:#4b4c57;--border-input:#454650;--border-raised:#44454f;--border-accent:#7166d6;--text-primary:#f4f4f7;--text-strong:#e8e8ec;--text-default:#c6c6cd;--text-secondary:#9899a4;--text-muted:#858691;--text-faint:#6d6e7a;--text-inverse:#1f1f23;--text-on-accent:#fff;--brand-mark-bg:#f2f2f4;--brand-mark-fg:#16161a;--text-on-warning:#1f1f23;--accent-bg-deep:#1b1a24;--accent-bg:#2a2932;--accent-bg-raised:#2d2a42;--accent-bg-hover:#302e42;--accent-bg-strong:#25223b;--accent-avatar:#403979;--accent-avatar-user:#3e3870;--accent-button:#776be5;--accent-button-hover:#8a7ef2;--accent-button-strong:#5c4dff;--accent-button-strong-hover:#4a3cff;--accent:#8b80ff;--accent-bright:#9e92ff;--accent-hover:#a89fff;--accent-strong:#534b94;--accent-strong-soft:#5d578d;--accent-mid:#756be3;--accent-avatar-border:#665acd;--accent-border:#4a4570;--accent-border-soft:#4a4575;--accent-border-bright:#897ef0;--accent-focus:#8a7dff;--accent-text:#9e92ff;--accent-text-muted:#a49af3;--accent-text-soft:#b3a0f0;--accent-text-code:#d0cbff;--accent-text-bright:#c4bcff;--accent-text-strong:#e9e7ff;--accent-text-faint:#aaa8c1;--accent-link:#a79dff;--accent-link-table:#8a7cfa;--accent-tag:#b9b1f1;--accent-tag-bg:#2b2938;--accent-pill-bg:#302d48;--accent-pill:#c4bfff;--accent-grad-start:#7468e5;--accent-grad-end:#aa9dff;--accent-brand-start:#9e94ff;--accent-brand-end:#5d4dd6;--accent-avatar-start:#9c90ff;--accent-avatar-end:#6657d9;--accent-stream:#9085ff;--accent-resizer:rgba(136,124,242,.4);--accent-tint-12:rgba(139,128,255,.12);--accent-tint-16:rgba(139,128,255,.16);--accent-tint-35:rgba(139,128,255,.35);--accent-tint-13:rgba(144,133,255,.13);--accent-tint-12b:rgba(179,160,240,.12);--success:#61d99a;--success-soft:#77d69d;--success-bright:#88d8a6;--success-brighter:#8cdbab;--success-badge:#7ed39e;--danger-text-badge:#eb9ba9;--success-bg:#273d31;--success-bg-alt:#263b31;--success-tint-bg:#252d43;--success-tint-text:#a9b6ff;--danger:#ff6d75;--danger-strong:#d64560;--danger-strong-hover:#e85d77;--danger-text:#f0aab5;--danger-text-bright:#ffd4da;--danger-text-soft:#f3a9b6;--danger-text-pale:#f2b9c3;--danger-text-pinker:#e3b4be;--danger-text-rose:#e5a9b7;--danger-text-deep:#ffd9df;--danger-bg:#492b32;--danger-bg-soft:#352027;--danger-bg-button:#44262e;--danger-bg-button-hover:#58303a;--danger-bg-eval:#4a2931;--danger-bg-deep:#2a141b;--danger-border:#843f4f;--danger-border-soft:#a95161;--danger-border-bright:#d96678;--danger-border-eval:#6b2536;--danger-badge-bg:#40303a;--danger-badge:#bd3131;--danger-icon-alt:#f07d7d;--danger-border-debug:#8c3b3b;--danger-outline-editor:#e5534b;--danger-alt:#bf4f60;--danger-alt-hover:#da6173;--danger-menu-text:#ff5c5c;--danger-chart:#ed7581;--warning:#f4c452;--warning-bright:#ffd176;--warning-brighter:#f0cc76;--warning-bg:#49391d;--warning-bg-alt:#4a3d20;--warning-border:#a27832;--info:#7ec8e3;--info-bright:#9ecaff;--info-bg:#293d53;--info-text-judging:#9caeff;--overlay-backdrop:rgba(0,0,0,.6);--overlay-backdrop-strong:rgba(0,0,0,.68);--overlay-backdrop-medium:rgba(0,0,0,.54);--overlay-backdrop-light:rgba(0,0,0,.4)}:root[data-theme=light]{--surface-app:#f4f4f6;--surface-titlebar:#e7e7ec;--surface-panel:#fafafc;--surface-sidebar:#efeff2;--surface-card:#fff;--surface-raised:#fbfbfd;--surface-menu:#fff;--surface-hover:#ececf0;--surface-active:#e2e2e9;--surface-code:#f1f1f5;--surface-tooltip:#fff;--surface-scrollbar:#c7c8d1;--surface-scrollbar-hover:#a8a9b7;--surface-track:#e4e4e9;--surface-window-control:#d6d7de;--border-subtle:#e6e6eb;--border-faint:#ebebf0;--border-default:#d6d6de;--border-strong:#b9bac6;--border-input:#c8c9d3;--border-raised:#d1d2da;--border-accent:#7166d6;--text-primary:#1d1e23;--text-strong:#26272e;--text-default:#3d3e48;--text-secondary:#6c6d79;--text-muted:#80818d;--text-faint:#999aa5;--text-inverse:#f7f7fa;--text-on-accent:#fff;--brand-mark-bg:#16161a;--brand-mark-fg:#fff;--text-on-warning:#1f1f23;--accent-bg-deep:#f0eeff;--accent-bg:#edeafb;--accent-bg-raised:#e9e4fb;--accent-bg-hover:#e3ddf8;--accent-bg-strong:#e6e1f9;--accent-avatar:#6a5cd8;--accent-avatar-user:#7266da;--accent-button:#6a5bd8;--accent-button-hover:#7a6ce6;--accent-button-strong:#5c4dff;--accent-button-strong-hover:#4a3cff;--accent:#6f61e6;--accent-bright:#6759e0;--accent-hover:#5d4fd9;--accent-strong:#b9b0f0;--accent-strong-soft:#c7c0f3;--accent-mid:#756be3;--accent-avatar-border:#8579e2;--accent-border:#c2baf2;--accent-border-soft:#cdc6f3;--accent-border-bright:#8b7ef0;--accent-focus:#7a6df0;--accent-text:#5f51d3;--accent-text-muted:#6257cd;--accent-text-soft:#6f5fd0;--accent-text-code:#5c4ed0;--accent-text-bright:#5346c8;--accent-text-strong:#3f339e;--accent-text-faint:#7c75a6;--accent-link:#5f51d3;--accent-link-table:#5d4ed6;--accent-tag:#5f52c8;--accent-tag-bg:#eceafa;--accent-pill-bg:#e8e4fb;--accent-pill:#5a4dc9;--accent-grad-start:#7468e5;--accent-grad-end:#a194f5;--accent-brand-start:#8d82f5;--accent-brand-end:#5d4dd6;--accent-avatar-start:#8d81f5;--accent-avatar-end:#6657d9;--accent-stream:#7c6ff0;--accent-resizer:rgba(108,96,232,.35);--accent-tint-12:rgba(108,96,232,.1);--accent-tint-16:rgba(108,96,232,.14);--accent-tint-35:rgba(108,96,232,.28);--accent-tint-13:rgba(108,96,232,.11);--accent-tint-12b:rgba(128,112,230,.12);--success:#22a565;--success-soft:#2fae70;--success-bright:#1f9e60;--success-brighter:#17935a;--success-badge:#23a266;--danger-text-badge:#c23a54;--success-bg:#e2f5ea;--success-bg-alt:#e4f6ec;--success-tint-bg:#e8ecff;--success-tint-text:#4c5fd7;--danger:#e0475a;--danger-strong:#c8364f;--danger-strong-hover:#d84a63;--danger-text:#b8435a;--danger-text-bright:#a82038;--danger-text-soft:#b44256;--danger-text-pale:#ad3d52;--danger-text-pinker:#b04459;--danger-text-rose:#b23f55;--danger-text-deep:#9c1a30;--danger-bg:#fdeef0;--danger-bg-soft:#fbe7ea;--danger-bg-button:#fae3e7;--danger-bg-button-hover:#f6d4da;--danger-bg-eval:#fdeef0;--danger-bg-deep:#f9dbe0;--danger-border:#e0a3ae;--danger-border-soft:#d98e9c;--danger-border-bright:#e07084;--danger-border-eval:#eebbc4;--danger-badge-bg:#fbdfe4;--danger-badge:#d23c3c;--danger-icon-alt:#d95f5f;--danger-border-debug:#e0a8a8;--danger-outline-editor:#d43d35;--danger-alt:#c8405a;--danger-alt-hover:#b93350;--danger-menu-text:#d83c3c;--danger-chart:#d95563;--warning:#d99a17;--warning-bright:#c98a0a;--warning-brighter:#b8860f;--warning-bg:#fbf1d8;--warning-bg-alt:#faf0d3;--warning-border:#d9b45e;--info:#3f93b8;--info-bright:#2f7fc4;--info-bg:#e3f0fa;--info-text-judging:#5161d8}:root{--font-sans:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Segoe UI","Noto Sans CJK SC",ui-sans-serif,sans-serif;--font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--fs-caption:11px;--fs-sm:12px;--fs-base:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--surface-input:var(--surface-panel);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:999px;--btn-radius:var(--radius-md);--btn-padding:7px 12px;--btn-primary-bg:var(--accent-button);--btn-primary-bg-hover:var(--accent-button-hover);--btn-primary-fg:var(--text-on-accent);--btn-secondary-bg:transparent;--btn-secondary-bg-hover:var(--surface-active);--btn-secondary-border:var(--border-input);--btn-secondary-fg:var(--text-strong);--btn-secondary-fg-hover:var(--text-primary);--btn-text-fg:var(--accent-text-soft);--btn-text-fg-hover:var(--accent-text-code);--btn-text-bg-hover:var(--accent-bg-hover);--btn-danger-bg:var(--danger-bg-button);--btn-danger-bg-hover:var(--danger-bg-button-hover);--btn-danger-border:var(--danger-border-soft);--btn-danger-border-hover:var(--danger-border-bright);--btn-danger-fg:var(--danger-text-deep);--btn-disabled-bg:var(--surface-active);--btn-disabled-fg:var(--text-faint)}.danger-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:var(--btn-padding);border:1px solid transparent;border-radius:var(--btn-radius);font-size:var(--fs-sm);font-weight:600;line-height:1.3;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.primary-button{background:var(--btn-primary-bg);color:var(--btn-primary-fg)}.primary-button:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.secondary-button{border-color:var(--btn-secondary-border);background:var(--btn-secondary-bg);color:var(--btn-secondary-fg)}.secondary-button:hover:not(:disabled){background:var(--btn-secondary-bg-hover);color:var(--btn-secondary-fg-hover)}.danger-button{border-color:var(--btn-danger-border);background:var(--btn-danger-bg);color:var(--btn-danger-fg)}.danger-button:hover:not(:disabled){border-color:var(--btn-danger-border-hover);background:var(--btn-danger-bg-hover)}.danger-button.is-compact,.primary-button.is-compact,.secondary-button.is-compact{padding:4px 10px}.text-button{padding:4px 6px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--btn-text-fg);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.text-button:hover:not(:disabled){background:var(--btn-text-bg-hover);color:var(--btn-text-fg-hover)}.danger-button:disabled,.primary-button:disabled,.secondary-button:disabled{border-color:transparent;background:var(--btn-disabled-bg);color:var(--btn-disabled-fg);cursor:not-allowed}.text-button:disabled{background:transparent;color:var(--btn-disabled-fg);cursor:not-allowed}.send-button{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 7px;border:0;border-radius:var(--radius-full);background:var(--btn-primary-bg);color:var(--btn-primary-fg);font-size:var(--fs-sm);font-weight:600}.send-button:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.send-button:disabled{background:var(--btn-disabled-bg);color:var(--btn-disabled-fg)}:where(select){min-height:30px;padding:5px 8px;border:1px solid var(--border-input);border-radius:var(--radius-sm);background-color:var(--surface-input);color:var(--text-strong);font-size:var(--fs-sm)}select:not([multiple]){-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b8d98' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:12px;cursor:pointer}select:not([multiple]):hover:not(:disabled){border-color:var(--border-strong)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-focus) 55%,transparent);outline-offset:1px}select:disabled{color:var(--text-faint);background-color:var(--surface-active);cursor:not-allowed}input[type=checkbox],input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;display:inline-grid;place-content:center;width:16px;height:16px;margin:0;border:1.5px solid var(--border-strong);border-radius:4px;background:var(--surface-input);vertical-align:middle;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}input[type=radio]{border-radius:50%}input[type=checkbox]:hover:not(:disabled),input[type=radio]:hover:not(:disabled){border-color:var(--accent)}input[type=checkbox]:checked,input[type=checkbox]:indeterminate{border-color:var(--accent-button);background:var(--accent-button) no-repeat center /12px}input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E")}input[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E")}input[type=radio]:checked{border-color:var(--accent-button);background:radial-gradient(circle,var(--accent-button) 0 4px,var(--surface-input) 4.5px)}input[type=checkbox]:disabled,input[type=radio]:disabled{border-color:var(--border-default);background-color:var(--surface-active);cursor:not-allowed}input[type=checkbox]:checked:disabled{border-color:var(--text-faint);background-color:var(--text-faint)}input[type=radio]:checked:disabled{border-color:var(--text-faint);background:radial-gradient(circle,var(--text-faint) 0 4px,var(--surface-active) 4.5px)}input[type=checkbox].switch{box-sizing:border-box;width:30px;height:18px;padding:0 2px;place-content:center start;border:0;border-radius:var(--radius-full);background:var(--border-strong);transition:background-color .15s ease}input[type=checkbox].switch:before{content:"";width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s ease}input[type=checkbox].switch:checked{background:var(--accent-button)}input[type=checkbox].switch:checked:before{transform:translateX(12px)}input[type=checkbox].switch:disabled{opacity:.55}input[type=range]{accent-color:var(--accent-button)}.genie-figure{display:block;overflow:visible;color:var(--text-strong)}.genie-figure.is-animated .genie-figure-eye{transform-box:fill-box;transform-origin:center;animation:genie-figure-blink 5.2s ease-in-out infinite}.genie-figure.is-animated .genie-figure-eye+.genie-figure-eye{animation-delay:.03s}@keyframes genie-figure-blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}.genie-figure-scene-question{transform-box:fill-box;transform-origin:50% 100%;animation-name:genie-figure-question-drop;animation-iteration-count:infinite;animation-timing-function:linear;animation-fill-mode:both}@keyframes genie-figure-question-drop{0%{transform:translateY(-26px);opacity:0;animation-timing-function:cubic-bezier(.55,0,1,.45)}4%{opacity:1}14%{transform:translateY(0) scale(1.08,.86);animation-timing-function:cubic-bezier(0,.55,.45,1)}19%{transform:translateY(-5px) scale(1);animation-timing-function:cubic-bezier(.55,0,1,.45)}24%{transform:translateY(0)}62%{transform:translateY(0);opacity:1}74%,to{transform:translateY(0);opacity:0}}@media (prefers-reduced-motion:reduce){.genie-figure-scene-question,.genie-figure.is-animated .genie-figure-eye{animation:none}}.genie-figure-editor{display:grid;grid-template-columns:minmax(180px,220px) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.genie-figure-stage{display:grid;justify-items:center;grid-gap:10px;gap:10px;padding:14px 10px;border:1px solid var(--border-default);border-radius:14px}.genie-figure-stage-preview{display:grid;place-items:center;width:100%;padding:6px 0;cursor:-webkit-grab;cursor:grab}.genie-figure-states{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 4px}.genie-figure-state{margin:0;display:grid;justify-items:center;grid-gap:2px;gap:2px;width:44px;font-size:10px;color:var(--text-muted)}.genie-figure-hint{margin:0;font-size:11px;line-height:1.4;color:var(--text-muted);text-align:center}.genie-figure-parts{display:grid;grid-gap:10px;gap:10px;min-width:0}.genie-figure-part-row{display:grid;grid-template-columns:56px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center}.genie-figure-part-label{font-size:12px;color:var(--text-muted)}.genie-figure-options{display:flex;flex-wrap:wrap;gap:6px}.genie-figure-option{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--border-default);border-radius:10px;background:transparent;cursor:pointer}.genie-figure-option:hover{background:var(--surface-hover)}.genie-figure-option.is-selected{border-color:var(--text-strong);background:var(--surface-hover)}.genie-figure-swatch{width:26px;height:26px;padding:0;border:0;border-radius:999px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.genie-figure-swatch.is-selected{box-shadow:0 0 0 2px var(--surface-raised),0 0 0 4px var(--text-strong)}@media (max-width:640px){.genie-figure-editor{grid-template-columns:minmax(0,1fr)}}