.toast-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-soft);cursor:pointer;transition:background var(--transition-fast)}.toast-close:hover{background:var(--bg-subtle)}.points-records-popover{position:fixed;right:56px;top:58px;width:340px;max-height:480px;display:flex;flex-direction:column;border-radius:var(--radius-md);background:var(--bg-panel-strong);border:1px solid var(--line-soft);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);overflow:hidden}.popover-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--line-soft);flex-shrink:0}.popover-balance{display:flex;flex-direction:column;gap:2px}.popover-balance-label{font-size:var(--font-xs);color:var(--text-muted)}.popover-balance-value{font-size:var(--font-lg);font-weight:var(--font-weight-bold);color:var(--color-info);line-height:1}.popover-recharge-btn{padding:6px 14px;border:none;border-radius:var(--radius-xs);background:var(--color-info);color:#fff;font-size:var(--font-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.popover-recharge-btn:hover{background:#3d6ae6}.popover-records{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2) var(--space-3)}.popover-record-list{display:flex;flex-direction:column;gap:2px}.popover-record-item{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-xs);transition:background var(--transition-fast)}.popover-record-item:hover{background:var(--bg-subtle)}.popover-record-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);flex-shrink:0}.popover-record-icon.consume{background:var(--color-error-soft);color:var(--color-error)}.popover-record-icon.earn{background:var(--color-success-soft);color:var(--color-success)}.popover-record-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.popover-record-reason{font-size:var(--font-sm);color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover-record-time{font-size:var(--font-xs);color:var(--text-muted)}.popover-record-amount{flex-shrink:0;text-align:right}.popover-record-amount span{font-size:var(--font-sm);font-weight:var(--font-weight-semibold)}.popover-record-amount .consume{color:var(--color-error)}.popover-record-amount .earn{color:var(--color-success)}.popover-pagination{display:flex;align-items:center;justify-content:center;gap:2px;padding:var(--space-2) 0}.popover-pagination button{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;font-size:var(--font-xs);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.popover-pagination button:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-strong)}.popover-pagination button.active{background:var(--color-info);color:#fff}.popover-pagination button:disabled{opacity:.3;cursor:not-allowed}.popover-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-6) 0}.popover-empty p{margin:0;font-size:var(--font-sm);color:var(--text-muted)}.popover-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-6) 0}.popover-loading .btn-spinner{width:20px;height:20px}.popover-footer{flex-shrink:0;padding:var(--space-2) var(--space-4) var(--space-3);border-top:1px solid var(--line-soft);text-align:center}.popover-footer-link{font-size:var(--font-xs);color:var(--color-info);background:none;border:none;cursor:pointer;transition:opacity var(--transition-fast)}.popover-footer-link:hover{opacity:.8}.search-input-wrapper{position:relative;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--bg-subtle);border:1px solid var(--line-soft);min-width:240px;max-width:360px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-input-wrapper:focus-within{border-color:var(--text-muted);box-shadow:none;outline:none}.search-input-icon{flex-shrink:0;opacity:.5;color:var(--text-soft)}.search-input-field{flex:1;border:none;background:transparent;padding:0;font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-strong);outline:none;min-width:0}.search-input-field:focus{outline:none}.search-input-field::placeholder{color:var(--text-muted)}.search-input-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-soft);cursor:pointer;border-radius:50%;transition:color var(--transition-fast),background var(--transition-fast)}.search-input-clear:hover{color:var(--text-strong);background:var(--bg-subtle)}.search-input-wrapper.toolbar{min-width:240px;max-width:360px}.app-shell{height:100vh;border-radius:0;clip-path:none;overflow:hidden;background:transparent}.app-frame{position:relative;isolation:isolate;height:100vh;display:grid;grid-template-rows:64px minmax(0,1fr) 32px;border-radius:0;clip-path:none;overflow:hidden;border:1px solid var(--line-soft);background:#fffffffa;box-shadow:var(--shadow-lg)}[data-theme=dark] .app-frame{background:#1e2530fa}html[data-tauri=true] .app-shell,html[data-tauri=true] .app-frame{border-radius:var(--radius-xl);clip-path:inset(0 round var(--radius-xl))}.app-toolbar{position:relative;z-index:300;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line-soft);background:#fffffffa}[data-theme=dark] .app-toolbar{background:#1e2530fa}.toolbar-drag-surface{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-width:0;min-height:40px;cursor:grab;-webkit-user-select:none;user-select:none}.toolbar-drag-surface:active{cursor:grabbing}.toolbar-brand-block{display:flex;align-items:center;gap:var(--space-3);min-width:0}.toolbar-brand-link{text-decoration:none;color:inherit}.toolbar-brand-link:hover{text-decoration:none}.toolbar-brand-dot{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-xs);box-shadow:0 10px 24px #4f7cff38,inset 0 1px #ffffff57}.toolbar-copy{min-width:0;display:grid;gap:2px}.toolbar-copy strong,.toolbar-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-copy strong{font-size:var(--font-base);letter-spacing:-.01em}.toolbar-copy span{color:var(--text-soft);font-size:var(--font-xs)}.toolbar-search{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--bg-subtle);border:1px solid var(--line-soft);min-width:240px;max-width:360px}.toolbar-search-icon{font-size:var(--font-sm);opacity:.6}.toolbar-search-input{flex:1;border:none;background:transparent;font-size:var(--font-sm);color:var(--text-strong)}.toolbar-search-input::placeholder{color:var(--text-muted)}.toolbar-right-group{display:flex;align-items:center;gap:10px;flex-shrink:0}.toolbar-points-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--line-soft);border-radius:var(--radius-full);background:var(--bg-subtle);color:var(--color-info);font-size:var(--font-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.toolbar-points-badge:hover{border-color:var(--line-strong);background:var(--color-info-soft)}.toolbar-points-badge svg{flex-shrink:0}.theme-toggle{display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;flex-shrink:0}.theme-toggle-track{position:relative;display:flex;align-items:center;width:56px;height:28px;padding:0 4px;border-radius:var(--radius-full);background:var(--bg-subtle);border:1px solid var(--line-soft);transition:background var(--transition-fast),border-color var(--transition-fast)}.theme-toggle:hover .theme-toggle-track{border-color:var(--line-strong)}.theme-toggle-icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:12px;transition:opacity var(--transition-fast)}.theme-toggle-sun,.theme-toggle-moon{opacity:.5}[data-theme=dark] .theme-toggle-sun{opacity:.4}[data-theme=dark] .theme-toggle-moon,[data-theme=light] .theme-toggle-sun{opacity:1}[data-theme=light] .theme-toggle-moon{opacity:.4}.theme-toggle-thumb{position:absolute;left:4px;width:20px;height:20px;border-radius:50%;background:var(--bg-panel-strong);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),background var(--transition-fast)}.theme-toggle-thumb.dark{transform:translate(24px)}.toolbar-user{position:relative;z-index:200;display:flex;align-items:center}.toolbar-user-btn{padding:0;border:none;background:transparent;cursor:pointer;border-radius:50%;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.toolbar-user-btn:hover{transform:scale(1.05)}.toolbar-user-btn:active{transform:scale(.98)}.toolbar-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--bg-accent);color:var(--text-inverse);font-size:var(--font-xs);font-weight:var(--font-weight-semibold);overflow:hidden}.toolbar-avatar img{width:100%;height:100%;object-fit:cover}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:240px;padding:var(--space-2);border-radius:var(--radius-md);background:var(--bg-panel-strong);border:1px solid var(--line-soft);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown)}.user-dropdown-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)}.user-dropdown-avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--bg-accent);color:var(--text-inverse);font-size:var(--font-base);font-weight:var(--font-weight-bold);overflow:hidden}.user-dropdown-avatar img{width:100%;height:100%;object-fit:cover}.user-dropdown-info{min-width:0;display:flex;flex-direction:column;gap:2px}.user-dropdown-name{font-size:var(--font-base);font-weight:var(--font-weight-semibold);color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}.user-dropdown-email{font-size:var(--font-xs);color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-divider{height:1px;margin:var(--space-2) 0;background:var(--line-soft)}.user-dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-body);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);text-align:left}.user-dropdown-item:hover{background:var(--bg-subtle);color:var(--text-strong)}.user-dropdown-item.danger{color:var(--color-error)}.user-dropdown-item.danger:hover{background:var(--color-error-soft);color:var(--color-error)}.user-dropdown-item svg{flex-shrink:0}.logout-modal{width:100%;max-width:360px;padding:var(--space-6);border-radius:var(--radius-lg);background:var(--bg-panel-strong);box-shadow:var(--shadow-lg);text-align:center}.logout-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:var(--space-4);border-radius:50%;background:var(--color-error-soft);color:var(--color-error)}.logout-modal-title{margin:0 0 var(--space-2);font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.logout-modal-text{margin:0 0 var(--space-6);font-size:var(--font-sm);color:var(--text-soft)}.logout-modal-actions{display:flex;justify-content:center;gap:var(--space-3)}.toolbar-actions{display:flex;align-items:center;gap:6px;padding:5px;border-radius:var(--radius-full);background:var(--bg-subtle);border:1px solid var(--line-soft)}.toolbar-button{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--window-btn-color);background:var(--window-btn-bg);border:1px solid var(--line-soft);cursor:pointer;transition:transform var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);box-shadow:var(--shadow-sm)}.toolbar-button:hover{transform:translateY(-1px);background:var(--window-btn-hover-bg);border-color:var(--line-strong)}.toolbar-button.danger:hover{color:var(--window-btn-danger-color);border-color:#cc567438;background:var(--window-btn-danger-bg)}.toolbar-icon{position:relative;display:inline-block;width:14px;height:14px}.toolbar-icon-minimize:before,.toolbar-icon-expand:before,.toolbar-icon-close:before,.toolbar-icon-close:after,.toolbar-icon-expand:after{content:"";position:absolute;border-radius:var(--radius-full);background:currentColor}.toolbar-icon-minimize:before{left:1px;right:1px;top:6px;height:2px}.toolbar-icon-expand:before{inset:1px;border:2px solid currentColor;background:transparent;border-radius:4px}.toolbar-icon-expand.is-maximized:after{width:8px;height:8px;right:-1px;top:-1px;border:2px solid currentColor;background:var(--window-expand-bg);border-radius:2px}.toolbar-icon-close:before,.toolbar-icon-close:after{width:2px;height:14px;left:6px;top:0}.toolbar-icon-close:before{transform:rotate(45deg)}.toolbar-icon-close:after{transform:rotate(-45deg)}.app-body{display:grid;grid-template-columns:180px minmax(0,1fr);gap:0;overflow:hidden;transition:grid-template-columns .22s cubic-bezier(.22,1,.36,1)}.app-body.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.app-body.no-sidebar{grid-template-columns:minmax(0,1fr)}.app-sidebar{display:flex;flex-direction:column;padding:var(--space-4);border-right:1px solid var(--line-soft);background:var(--bg-card-solid);transition:padding .22s cubic-bezier(.22,1,.36,1),border-color var(--transition-fast);contain:layout paint}.app-sidebar.collapsed{padding-left:12px;padding-right:12px}.sidebar-collapse-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:var(--space-2) var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-panel-strong);color:var(--text-soft);cursor:pointer;position:relative;transition:transform .18s ease,color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.sidebar-collapse-glyph{position:relative;width:20px;height:20px;flex-shrink:0}.sidebar-collapse-glyph:before{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform-origin:center}.sidebar-collapse-glyph.collapse:before{transform:translate(-35%,-50%) rotate(-135deg)}.sidebar-collapse-glyph.expand:before{transform:translate(-65%,-50%) rotate(45deg)}.sidebar-collapse-btn:hover{color:var(--text-strong);border-color:var(--line-strong);background:var(--bg-subtle);transform:translate(2px)}.sidebar-collapse-label{flex:1;text-align:left;white-space:nowrap;transform-origin:left center;transition:opacity .14s ease,transform .18s ease,max-width .22s cubic-bezier(.22,1,.36,1);max-width:120px;font-size:.85em}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1)}.app-sidebar.collapsed .sidebar-nav{align-items:center}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--text-body);font-size:var(--font-base);font-weight:var(--font-weight-medium);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast),transform .18s ease,padding .22s cubic-bezier(.22,1,.36,1);position:relative;overflow:visible}.sidebar-nav-item:hover{background:#4f7cff14;color:var(--text-strong);text-decoration:none;transform:translate(2px)}.sidebar-nav-item.active{background:#4f7cff1f;color:var(--color-accent-start);font-weight:var(--font-weight-semibold)}.sidebar-nav-icon{font-size:var(--font-md);line-height:1;flex-shrink:0;transition:transform .2s ease,color var(--transition-fast)}.sidebar-nav-label{flex:1;transform-origin:left center;transition:opacity .14s ease,transform .18s ease,max-width .22s cubic-bezier(.22,1,.36,1);max-width:120px;white-space:nowrap}.app-sidebar.collapsed .sidebar-nav-item{width:48px;min-height:48px;justify-content:center;padding:var(--space-3);align-self:center;gap:0}.app-sidebar.collapsed .sidebar-nav-label,.app-sidebar.collapsed .sidebar-status-text,.app-sidebar.collapsed .sidebar-collapse-label{opacity:0;transform:translate(-8px) scale(.96);max-width:0;pointer-events:none}.app-sidebar.collapsed .sidebar-collapse-label,.app-sidebar.collapsed .sidebar-nav-label{display:none}.app-sidebar.collapsed .sidebar-nav-icon,.app-sidebar.collapsed .sidebar-collapse-glyph{transform:scale(1.02)}.app-sidebar.collapsed .sidebar-footer{display:flex;flex-direction:column;justify-content:center;align-items:stretch}.app-sidebar.collapsed .sidebar-nav-item:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(-6px);padding:8px 10px;border-radius:10px;background:#0f172ae6;color:#fff;font-size:var(--font-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .18s ease;z-index:30}.app-sidebar.collapsed .sidebar-nav-item:hover:after,.app-sidebar.collapsed .sidebar-nav-item:focus-visible:after{opacity:1;transform:translateY(-50%) translate(0)}.sidebar-footer{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:var(--space-2)}.sidebar-status{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);transition:padding .22s cubic-bezier(.22,1,.36,1)}.sidebar-status-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success)}.sidebar-status-text{font-size:var(--font-xs);color:var(--text-soft);white-space:nowrap;transition:opacity .14s ease,transform .18s ease,max-width .22s cubic-bezier(.22,1,.36,1);max-width:72px}.app-sidebar.collapsed .sidebar-collapse-btn{width:100%;min-height:48px;justify-content:center;padding:var(--space-2);align-self:stretch;border-color:#94a3b82e;background:#0f172a0a;border-radius:14px;box-shadow:none;color:#0f172ab8;gap:0}.app-sidebar.collapsed .sidebar-collapse-btn:hover,.app-sidebar.collapsed .sidebar-collapse-btn:focus-visible{background:#4f7cff1a;border-color:#4f7cff38;color:#0f172aeb;transform:translate(0)}.app-sidebar.collapsed .sidebar-collapse-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #4f7cff24}.app-sidebar.collapsed .sidebar-collapse-btn:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(-6px);padding:8px 10px;border-radius:10px;background:#0f172ae6;color:#fff;font-size:var(--font-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .18s ease;z-index:30}.app-sidebar.collapsed .sidebar-collapse-btn:hover:after,.app-sidebar.collapsed .sidebar-collapse-btn:focus-visible:after{opacity:1;transform:translateY(-50%) translate(0)}@media(prefers-reduced-motion:reduce){.app-body,.app-sidebar,.sidebar-collapse-btn,.sidebar-nav-item,.sidebar-nav-icon,.sidebar-nav-label,.sidebar-status,.sidebar-status-text,.sidebar-collapse-label,.app-sidebar.collapsed .sidebar-nav-item:after{transition:none!important}}.app-main{display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at top right,rgba(79,124,255,.06),transparent 30%),var(--bg-surface)}.app-content{flex:1;overflow-y:auto;padding:var(--space-6)}.app-statusbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-5);border-top:1px solid var(--line-soft);background:var(--bg-panel);-webkit-user-select:none;user-select:none}.statusbar-left,.statusbar-right{display:flex;align-items:center;gap:var(--space-2)}.statusbar-text{font-size:11px;color:var(--text-muted);letter-spacing:.01em}.statusbar-dot{width:3px;height:3px;border-radius:50%;background:var(--line-soft);flex-shrink:0}.statusbar-link{font-size:11px;color:var(--text-muted);text-decoration:none;letter-spacing:.01em;transition:color var(--transition-fast)}.statusbar-link:hover{color:var(--text-soft)}.statusbar-divider{width:1px;height:12px;background:var(--line-soft)}@media(min-width:1200px){.app-body{grid-template-columns:180px minmax(0,1fr)}.app-body.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}}@media(max-width:899px){.app-body{grid-template-columns:64px minmax(0,1fr)}.sidebar-nav-label{display:none}.sidebar-nav-item{justify-content:center;padding:var(--space-3)}.sidebar-status-text,.sidebar-collapse-label{display:none}.sidebar-collapse-btn{width:100%;min-height:48px;justify-content:center;padding:var(--space-3);align-self:stretch}.toolbar-search{display:none}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-page);padding:var(--space-6);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-50%;right:-30%;width:80%;height:120%;background:radial-gradient(ellipse,rgba(79,124,255,.08) 0%,transparent 60%);pointer-events:none}.login-page:after{content:"";position:absolute;bottom:-40%;left:-20%;width:60%;height:100%;background:radial-gradient(ellipse,rgba(77,182,255,.06) 0%,transparent 50%);pointer-events:none}.login-container{width:100%;max-width:400px;position:relative;z-index:1}.login-back-link{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text-muted);font-size:var(--font-sm);text-decoration:none;margin-bottom:var(--space-6);transition:color var(--transition-fast)}.login-back-link:hover{color:var(--text-body);text-decoration:none}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-logo{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-lg);background:var(--bg-accent);color:var(--text-inverse);font-size:2rem;font-weight:var(--font-weight-bold);margin-bottom:var(--space-5);box-shadow:var(--shadow-accent)}.login-header h1{margin:0 0 var(--space-2);font-size:var(--font-2xl);font-weight:var(--font-weight-bold);color:var(--text-strong);letter-spacing:-.02em}.login-header p{margin:0;color:var(--text-soft);font-size:var(--font-base)}.login-card{padding:var(--space-8);border-radius:var(--radius-xl);background:#fffffffa;border:1px solid var(--line-soft);box-shadow:var(--shadow-lg)}[data-theme=dark] .login-card{background:#1e2530fa}.login-card.card-glass{background:#fffffffa}[data-theme=dark] .login-card.card-glass{background:#1e2530fa}.login-card.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97)}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.login-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-error-soft);border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--font-sm);font-weight:var(--font-weight-medium)}.login-error-icon{flex-shrink:0}.form-input{width:100%;padding:var(--space-4);padding-left:calc(var(--space-4) + 18px + var(--space-3));border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-surface);font-family:var(--font-family);font-size:var(--font-base);color:var(--text-strong);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.login-button{position:relative;width:100%;padding:var(--space-4);border:none;border-radius:var(--radius-sm);background:var(--bg-accent);color:var(--text-inverse);font-family:var(--font-family);font-size:var(--font-base);font-weight:var(--font-weight-semibold);cursor:pointer;box-shadow:var(--shadow-accent);transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-accent),0 0 0 3px #4f7cff26}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-button.loading{color:transparent}.login-spinner{position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.login-footer{text-align:center;padding-top:var(--space-4);color:var(--text-soft);font-size:var(--font-sm)}.login-link{color:var(--color-info);text-decoration:none;font-weight:var(--font-weight-semibold);margin-left:var(--space-1);transition:color var(--transition-fast)}.login-link:hover{color:var(--color-accent-end)}.login-copyright{text-align:center;margin-top:var(--space-8);color:var(--text-muted);font-size:var(--font-xs)}.register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-page);padding:var(--space-6);position:relative;overflow:hidden}.register-page:before{content:"";position:absolute;top:-50%;right:-30%;width:80%;height:120%;background:radial-gradient(ellipse,rgba(79,124,255,.08) 0%,transparent 60%);pointer-events:none}.register-page:after{content:"";position:absolute;bottom:-40%;left:-20%;width:60%;height:100%;background:radial-gradient(ellipse,rgba(77,182,255,.06) 0%,transparent 50%);pointer-events:none}.register-container{width:100%;max-width:420px;position:relative;z-index:1}.register-header{text-align:center;margin-bottom:var(--space-6)}.register-logo{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-lg);background:var(--bg-accent);color:var(--text-inverse);font-size:2rem;font-weight:var(--font-weight-bold);margin-bottom:var(--space-5);box-shadow:var(--shadow-accent)}.register-header h1{margin:0 0 var(--space-2);font-size:var(--font-2xl);font-weight:var(--font-weight-bold);color:var(--text-strong);letter-spacing:-.02em}.register-header p{margin:0;color:var(--text-soft);font-size:var(--font-base)}.register-card{padding:var(--space-6);border-radius:var(--radius-xl);background:#fffffffa;border:1px solid var(--line-soft);box-shadow:var(--shadow-lg)}[data-theme=dark] .register-card{background:#1e2530fa}.register-card.card-glass{background:#fffffffa}[data-theme=dark] .register-card.card-glass{background:#1e2530fa}.register-card.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-6px)}20%,40%,60%,80%{transform:translate(6px)}}.register-form{display:flex;flex-direction:column;gap:var(--space-4)}.register-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-error-soft);border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--font-sm);font-weight:var(--font-weight-medium)}.register-error-icon{flex-shrink:0}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--text-body)}.input-icon{position:absolute;left:var(--space-4);display:flex;align-items:center;justify-content:center;color:var(--text-muted);pointer-events:none;transition:color var(--transition-fast)}.form-input{width:100%;padding:var(--space-3) var(--space-4);padding-left:calc(var(--space-4) + 18px + var(--space-3));border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-surface);font-family:var(--font-family);font-size:var(--font-base);color:var(--text-strong);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--line-focus);box-shadow:var(--shadow-glow),0 0 0 4px #4f7cff14;background:var(--bg-panel-strong)}.form-input:focus+.input-icon,.input-wrapper:focus-within .input-icon{color:var(--color-info)}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-input.error{border-color:var(--color-error)}.form-input.error:focus{box-shadow:0 0 0 3px var(--color-error-soft)}.field-error{font-size:var(--font-xs);color:var(--color-error);margin-top:var(--space-1)}.input-action{position:absolute;right:var(--space-3);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.input-action:hover{color:var(--text-body);background:var(--bg-subtle)}.password-strength{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.strength-bar{flex:1;height:4px;background:var(--bg-subtle);border-radius:2px;overflow:hidden}.strength-fill{height:100%;border-radius:2px;transition:width var(--transition-normal),background-color var(--transition-normal)}.strength-fill.weak{width:33%;background:var(--color-error)}.strength-fill.medium{width:66%;background:var(--color-warning)}.strength-fill.strong{width:100%;background:var(--color-success)}.strength-label{font-size:var(--font-xs);white-space:nowrap}.strength-label.weak{color:var(--color-error)}.strength-label.medium{color:var(--color-warning)}.strength-label.strong{color:var(--color-success)}.register-button{position:relative;width:100%;padding:var(--space-4);margin-top:var(--space-2);border:none;border-radius:var(--radius-sm);background:var(--bg-accent);color:var(--text-inverse);font-family:var(--font-family);font-size:var(--font-base);font-weight:var(--font-weight-semibold);cursor:pointer;box-shadow:var(--shadow-accent);transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.register-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-accent),0 0 0 3px #4f7cff26}.register-button:active:not(:disabled){transform:translateY(0)}.register-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.register-button.loading{color:transparent}.register-spinner{position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.register-footer{text-align:center;padding-top:var(--space-3);color:var(--text-soft);font-size:var(--font-sm)}.register-link{color:var(--color-info);text-decoration:none;font-weight:var(--font-weight-semibold);margin-left:var(--space-1);transition:color var(--transition-fast)}.register-link:hover{color:var(--color-accent-end)}.register-copyright{text-align:center;margin-top:var(--space-6);color:var(--text-muted);font-size:var(--font-xs)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.1em;line-height:1}.btn-icon-only,.card-padding-none{padding:0}.card-padding-sm{padding:var(--space-3)}.card-padding-lg{padding:var(--space-8)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--space-4);color:var(--text-muted);font-size:var(--font-base);pointer-events:none}.input-with-icon{padding-left:calc(var(--space-4) + 24px)}.input-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-sm);border-radius:var(--radius-xs)}.input-lg{padding:var(--space-4) var(--space-5);font-size:var(--font-md)}.modal-sm{max-width:400px}.modal-md{max-width:620px}.modal-lg{max-width:840px}.modal-xl{max-width:1040px}.skeleton-rect{border-radius:var(--radius-sm)}.sidebar{display:flex;flex-direction:column;height:100%;background:var(--bg-card-solid)}.sidebar-header{padding:var(--space-4);border-bottom:1px solid var(--line-soft)}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);overflow-y:auto}.sidebar-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--text-body);text-decoration:none;font-size:var(--font-base);font-weight:var(--font-weight-medium);transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-item:hover{background:#4f7cff14;color:var(--text-strong)}.sidebar-item.active{background:#4f7cff1f;color:var(--color-accent-start);font-weight:var(--font-weight-semibold)}.sidebar-item-icon{font-size:var(--font-md);line-height:1}.sidebar-item-label{flex:1}.sidebar-item-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:#4f7cff24;color:var(--color-accent-start);font-size:var(--font-xs);font-weight:var(--font-weight-bold)}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--line-soft)}.toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-panel);border-bottom:1px solid var(--line-soft)}.toolbar-left{display:flex;align-items:center;gap:var(--space-3);justify-content:flex-start}.toolbar-center{display:flex;align-items:center;justify-content:center}.toolbar-right{display:flex;align-items:center;gap:var(--space-3);justify-content:flex-end}.streaming-text{font-family:var(--font-family);color:var(--text-body);line-height:1.7}.streaming-content{position:relative}.streaming-h1{margin:0 0 var(--space-4);font-size:var(--font-2xl);font-weight:var(--font-weight-bold);color:var(--text-strong);line-height:1.3}.streaming-h2{margin:var(--space-4) 0 var(--space-3);font-size:var(--font-xl);font-weight:var(--font-weight-semibold);color:var(--text-strong);line-height:1.35}.streaming-h3{margin:var(--space-3) 0 var(--space-2);font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong);line-height:1.4}.streaming-p{margin:0 0 var(--space-3)}.streaming-p:last-of-type{margin-bottom:0}.streaming-bold{font-weight:var(--font-weight-semibold);color:var(--text-strong)}.streaming-cursor{display:inline-block;margin-left:2px;color:var(--color-accent-start);font-weight:var(--font-weight-bold);animation:cursor-blink .6s infinite}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.export-panel-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-6)}.export-panel{width:min(1320px,calc(100vw - 48px));max-width:100%;height:560px;max-height:90vh;background:var(--bg-panel-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.export-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--line-soft)}.export-panel-title{font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong);margin:0}.export-panel-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-soft);font-size:var(--font-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.export-panel-close:hover{background:var(--bg-subtle);color:var(--text-strong)}.export-panel-content{flex:1;display:flex;overflow:hidden}.export-panel-formats{width:240px;flex-shrink:0;padding:var(--space-4);border-right:1px solid var(--line-soft);overflow-y:auto}.format-list{display:flex;flex-direction:column;gap:var(--space-2)}.format-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast);text-align:left}.format-option:hover{background:var(--bg-subtle)}.format-option-active{background:var(--bg-accent-soft);border-color:var(--line-strong)}.format-icon{font-size:24px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.format-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.format-name{font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-strong)}.format-description{font-size:var(--font-xs);color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.format-check{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bg-accent);color:var(--text-inverse);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-bold)}.export-panel-preview{flex:1;display:flex;flex-direction:column;padding:var(--space-4);min-width:0;min-height:0;gap:var(--space-3);overflow:hidden}.platform-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:color-mix(in srgb,var(--platform-color) 12%,transparent);border:1px solid color-mix(in srgb,var(--platform-color) 24%,transparent);border-radius:var(--radius-full);width:fit-content}.platform-badge-icon{font-size:var(--font-sm)}.platform-badge-name{font-size:var(--font-xs);font-weight:var(--font-weight-medium);color:var(--text-strong)}.thesis-outline-preview{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.thesis-outline-preview-label{font-size:var(--font-xs);color:var(--text-soft);letter-spacing:.04em}.thesis-outline-preview-list{display:flex;flex-wrap:wrap;gap:8px;max-height:156px;overflow-y:auto;padding-right:4px;align-content:flex-start}.thesis-outline-preview-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#ffffffb3;border:1px solid rgba(148,163,184,.2);color:var(--text-body);font-size:var(--font-xs)}.thesis-outline-preview-chip strong{color:#1d4ed8;font-size:11px}.thesis-preview-layout{flex:1;min-height:0;display:grid;grid-template-columns:224px minmax(0,1fr);gap:var(--space-3)}.thesis-outline-nav{min-height:0;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:linear-gradient(180deg,#f6f9fcf5,#f0f5fae6);border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-sm)}.thesis-outline-nav-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-right:4px}.thesis-outline-nav-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;text-align:left;border:1px solid rgba(148,163,184,.16);border-radius:14px;background:#ffffffd1;color:var(--text-body);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.thesis-outline-nav-item:hover{border-color:#4f7cff3d;background:#fffffffa;transform:translateY(-1px)}.thesis-outline-nav-item strong{flex-shrink:0;color:#1d4ed8;font-size:11px}.thesis-outline-nav-item span{min-width:0;font-size:var(--font-sm);line-height:1.45}.thesis-outline-nav-item-active{border-color:#4f7cff47;background:linear-gradient(135deg,#4f7cff1f,#4db6ff29);color:var(--text-strong);box-shadow:0 10px 20px #4f7cff1a}.thesis-preview-main{min-width:0;min-height:0;display:flex;flex-direction:column;gap:var(--space-2)}.thesis-preview-heading{font-size:var(--font-xs);color:var(--text-soft);letter-spacing:.04em}.preview-area{flex:1;min-height:0;background:var(--code-bg);border-radius:var(--radius-sm);overflow:hidden}.preview-area-thesis{background:#eef2f7}.preview-html{width:100%;height:100%;overflow:auto}.preview-html-thesis{background:#eef2f7}.preview-content{width:100%;height:100%;margin:0;padding:var(--space-4);background:transparent;border:none;color:var(--code-text);font-family:SF Mono,Menlo,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word;overflow:auto}.preview-html::-webkit-scrollbar,.preview-content::-webkit-scrollbar{width:8px}.preview-html::-webkit-scrollbar-track,.preview-content::-webkit-scrollbar-track{background:transparent}.preview-html::-webkit-scrollbar-thumb,.preview-content::-webkit-scrollbar-thumb{background:#94a3b873;border-radius:4px}.preview-content::-webkit-scrollbar{width:8px}.preview-content::-webkit-scrollbar-track{background:transparent}.preview-content::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.preview-content::-webkit-scrollbar-thumb:hover{background:#ffffff40}.preview-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-shrink:0}.preview-actions{display:grid;grid-template-columns:repeat(2,180px);justify-content:flex-end;gap:var(--space-2);flex-shrink:0}.preview-actions .btn{width:180px;min-width:180px;height:56px;white-space:nowrap}.preview-stats{display:flex;flex-direction:column;gap:var(--space-1)}.stat-item{font-size:var(--font-sm);color:var(--text-body)}.stat-hint{font-size:var(--font-xs);color:var(--text-soft)}.stat-hint.emoji-hint{color:var(--color-accent-start)}.copy-button{background:var(--bg-accent)!important;transition:background-color var(--transition-normal)}.copy-button.copy-success{background:var(--color-success)!important}@media(max-width:640px){.export-panel{width:100%;height:100%;max-height:100%;border-radius:0}.export-panel-content{flex-direction:column}.export-panel-formats{width:100%;max-height:180px;border-right:none;border-bottom:1px solid var(--line-soft)}.format-list{flex-direction:row;flex-wrap:wrap}.format-option{flex:1;min-width:45%}.thesis-preview-layout{grid-template-columns:1fr}.thesis-outline-nav{min-height:auto}.thesis-outline-nav-list{max-height:180px}.preview-footer{flex-direction:column;align-items:stretch}.preview-actions{width:100%;flex-direction:column;align-items:stretch}.preview-stats{text-align:center}}.version-history-overlay{position:fixed;inset:0;background:#00000080;z-index:var(--z-modal)}.version-history-panel{position:absolute;right:0;top:0;bottom:0;width:380px;max-width:100%;background:var(--bg-panel-strong);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.version-history-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--line-soft)}.version-history-title{font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong);margin:0}.version-history-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-soft);font-size:var(--font-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.version-history-close:hover{background:var(--bg-subtle);color:var(--text-strong)}.version-history-content{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5)}.version-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-10);color:var(--text-soft)}.loading-spinner{width:24px;height:24px;border:2px solid var(--line-soft);border-top-color:var(--color-accent-start);border-radius:50%;animation:spin .8s linear infinite}.version-error{display:flex;align-items:center;justify-content:center;padding:var(--space-6);color:var(--color-error);font-size:var(--font-sm)}.version-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-10);text-align:center}.empty-icon{font-size:48px;opacity:.5}.empty-text{font-size:var(--font-base);color:var(--text-body)}.empty-hint{font-size:var(--font-xs);color:var(--text-soft)}.version-timeline{display:flex;flex-direction:column}.version-item{display:flex;gap:var(--space-4);padding-bottom:var(--space-4)}.version-timeline-marker{display:flex;flex-direction:column;align-items:center;width:20px;flex-shrink:0}.timeline-dot{width:12px;height:12px;background:var(--bg-accent);border-radius:50%;flex-shrink:0;box-shadow:0 0 0 4px var(--bg-accent-soft)}.timeline-line{width:2px;flex:1;background:linear-gradient(180deg,var(--color-accent-start) 0%,var(--line-soft) 100%);margin-top:var(--space-2)}.version-content{flex:1;min-width:0;background:var(--bg-subtle);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.version-info{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.version-time{font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-strong)}.version-word-diff{font-size:var(--font-xs);font-weight:var(--font-weight-medium);padding:2px 8px;border-radius:var(--radius-full)}.word-diff-positive{background:var(--color-success-soft);color:var(--color-success)}.word-diff-negative{background:var(--color-error-soft);color:var(--color-error)}.word-diff-neutral{background:var(--bg-subtle);color:var(--text-soft)}.version-meta{margin-bottom:var(--space-3)}.version-word-count{font-size:var(--font-xs);color:var(--text-soft)}.version-actions{display:flex;gap:var(--space-2)}.version-preview{display:flex;flex-direction:column;gap:var(--space-4)}.version-preview-meta{display:flex;gap:var(--space-4);font-size:var(--font-sm);color:var(--text-soft)}.version-preview-content{max-height:400px;overflow-y:auto;padding:var(--space-4);background:var(--bg-subtle);border-radius:var(--radius-sm)}.preview-html{font-size:var(--font-base);line-height:1.75;color:var(--text-body)}.preview-html h1,.preview-html h2,.preview-html h3{color:var(--text-strong);margin-bottom:var(--space-3)}.preview-html p{margin-bottom:var(--space-3)}.restore-confirm-content{text-align:center}.restore-confirm-content p{margin:0 0 var(--space-2);color:var(--text-body)}.restore-warning{font-size:var(--font-sm);color:var(--color-warning)}@media(max-width:480px){.version-history-panel{width:100%}}.image-picker-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#00000080}.image-picker-panel{width:100%;max-width:960px;max-height:85vh;display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--bg-panel-strong);box-shadow:var(--shadow-lg);overflow:hidden}.image-picker-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--line-soft)}.image-picker-header h2{margin:0;font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.image-picker-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-soft);font-size:var(--font-lg);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.image-picker-close:hover{background:var(--bg-subtle);color:var(--text-strong)}.image-picker-search{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--line-soft);background:var(--bg-surface)}.search-input-wrapper{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--bg-panel-strong);border:1px solid var(--line-soft);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-input-wrapper:focus-within{border-color:var(--line-focus);box-shadow:var(--shadow-glow)}.search-icon{font-size:var(--font-lg);opacity:.6}.search-input{flex:1;border:none;background:transparent;font-family:var(--font-family);font-size:var(--font-md);color:var(--text-strong);outline:none}.search-input::placeholder{color:var(--text-muted)}.search-filters{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-4)}.filter-group{display:flex;gap:var(--space-2)}.filter-btn{padding:var(--space-2) var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-full);background:transparent;font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-body);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.filter-btn:hover{border-color:var(--line-strong);background:var(--bg-subtle)}.filter-btn.active{border-color:transparent;background:var(--bg-accent);color:var(--text-inverse)}.view-toggle{display:flex;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-xs);background:var(--bg-subtle)}.view-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-xs);background:transparent;font-size:var(--font-md);color:var(--text-soft);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.view-btn:hover{color:var(--text-body)}.view-btn.active{background:var(--bg-panel-strong);color:var(--text-strong);box-shadow:var(--shadow-sm)}.image-picker-body{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6)}.image-picker-results{display:grid;gap:var(--space-4)}.image-picker-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.image-picker-waterfall{column-count:3;column-gap:var(--space-4)}.image-picker-waterfall .image-picker-item{break-inside:avoid;margin-bottom:var(--space-4)}.image-picker-item{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-subtle);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.image-picker-grid .image-picker-item{aspect-ratio:4/3}.image-picker-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.image-picker-item img{width:100%;height:100%;object-fit:cover;display:block}.image-picker-item-overlay .image-picker-item img{transition:transform var(--transition-normal)}.image-picker-item:hover img{transform:scale(1.05)}.image-picker-item-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-3);background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.3) 50%,transparent 100%);opacity:0;transition:opacity var(--transition-fast)}.image-picker-item:hover .image-picker-item-overlay{opacity:1}.image-picker-photographer{display:flex;align-items:center;gap:6px;font-size:var(--font-sm);color:#fff;margin-bottom:var(--space-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-picker-actions{display:flex;gap:var(--space-2)}.image-action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-xs);background:#fffffff2;color:#000c;font-size:var(--font-base);cursor:pointer;box-shadow:0 1px 3px #00000026;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.image-action-btn:hover{background:#fffffff2;color:#000000e6;transform:scale(1.1);box-shadow:0 2px 6px #0003}html[data-theme=dark] .image-action-btn{background:#ffffffe6;color:#000000d9}html[data-theme=dark] .image-action-btn:hover{background:#fff;color:#000000f2}.image-action-insert{background:var(--bg-accent)}.image-action-insert:hover{background:var(--bg-accent);filter:brightness(1.1)}.image-skeleton-item{border-radius:var(--radius-sm);overflow:hidden}.image-picker-waterfall .image-skeleton-item{break-inside:avoid;margin-bottom:var(--space-4)}.image-picker-empty,.image-picker-api-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);text-align:center}.empty-icon,.api-prompt-icon{font-size:3rem;margin-bottom:var(--space-4)}.image-picker-empty h3,.image-picker-api-prompt h3{margin:0 0 var(--space-2);font-size:var(--font-lg);color:var(--text-strong)}.image-picker-empty p,.image-picker-api-prompt p{margin:0 0 var(--space-5);color:var(--text-soft)}.image-picker-error{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-error-soft);color:var(--color-error);font-size:var(--font-sm);margin-bottom:var(--space-4)}.image-picker-download-error{background:var(--color-warning-soft, rgba(245, 158, 11, .1));color:var(--color-warning, #f59e0b)}.error-close-btn{margin-left:auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-xs);background:transparent;color:inherit;cursor:pointer;opacity:.7;transition:opacity var(--transition-fast)}.error-close-btn:hover{opacity:1}.image-action-downloaded{background:var(--color-success, #22c55e);cursor:default}.image-action-downloaded:hover{background:var(--color-success, #22c55e);transform:none}.image-action-btn:disabled{opacity:.6;cursor:not-allowed}.image-action-btn .spinning{animation:spin 1s linear infinite}.image-picker-load-more{display:flex;justify-content:center;padding:var(--space-6) 0}.image-picker-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6);color:var(--text-soft)}.loading-spinner{width:20px;height:20px;border:2px solid var(--line-soft);border-top-color:var(--color-accent-start);border-radius:50%;animation:spin .8s linear infinite}.image-preview-overlay{position:fixed;inset:0;z-index:calc(var(--z-modal) + 10);display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:#000000d9}.image-preview-content{position:relative;display:flex;flex-direction:column;max-width:90vw;max-height:90vh;border-radius:var(--radius-lg);background:var(--bg-panel-strong);overflow:hidden;box-shadow:var(--shadow-lg)}.image-preview-close{position:absolute;top:var(--space-4);right:var(--space-4);z-index:10;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#00000080;color:#fff;font-size:var(--font-lg);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast)}.image-preview-close:hover{background:#000000b3;transform:scale(1.1)}.image-preview-image{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#000}.image-preview-image img{max-width:100%;max-height:60vh;object-fit:contain}.image-preview-info{padding:var(--space-5) var(--space-6);border-top:1px solid var(--line-soft)}.image-preview-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.image-preview-photographer{display:flex;flex-direction:column;gap:var(--space-1)}.photographer-label{font-size:var(--font-xs);color:var(--text-soft)}.image-preview-photographer a{font-weight:var(--font-weight-semibold);color:var(--text-strong);text-decoration:none}.image-preview-photographer a:hover{color:var(--color-accent-start)}.image-preview-size{font-size:var(--font-sm);color:var(--text-soft);padding:var(--space-2) var(--space-3);background:var(--bg-subtle);border-radius:var(--radius-xs)}.image-preview-sizes{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.size-label{font-size:var(--font-sm);color:var(--text-soft)}.size-options{display:flex;gap:var(--space-2)}.size-option{padding:var(--space-2) var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-xs);background:transparent;font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-body);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.size-option:hover{border-color:var(--line-strong)}.size-option.active{border-color:var(--color-accent-start);background:var(--bg-accent-soft);color:var(--color-accent-start)}.image-preview-actions{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.image-preview-attribution{font-size:var(--font-xs);color:var(--text-muted)}.image-preview-attribution a{color:var(--text-soft);text-decoration:underline}.image-preview-attribution a:hover{color:var(--color-accent-start)}@media(max-width:768px){.image-picker-panel{max-width:100%;max-height:100%;border-radius:0}.image-picker-grid{grid-template-columns:repeat(2,1fr)}.image-picker-waterfall{column-count:2}.search-filters{flex-direction:column;gap:var(--space-3)}.image-preview-content{max-width:95vw;max-height:95vh}}.tiptap-editor{width:100%;min-height:500px;max-width:760px;margin:0}.tiptap-loading{display:flex;align-items:center;justify-content:center}.tiptap-loading-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--text-soft)}.tiptap-loading-spinner{width:24px;height:24px;border:2px solid var(--line-soft);border-top-color:var(--color-accent-start);border-radius:50%;animation:spin .8s linear infinite}.tiptap-prose{outline:none;font-family:var(--font-family);font-size:16px;line-height:1.8;color:var(--text-strong);padding:var(--space-6)}.tiptap-empty:before{content:attr(data-placeholder);float:left;color:var(--text-muted);pointer-events:none;height:0}.tiptap-prose:focus{outline:none}.tiptap-prose h1{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--text-strong);margin:2rem 0 1rem;line-height:1.3}.tiptap-prose h1:first-child{margin-top:0}.tiptap-prose h2{font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--text-strong);margin:1.75rem 0 .875rem;line-height:1.35}.tiptap-prose h3{font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--text-strong);margin:1.5rem 0 .75rem;line-height:1.4}.tiptap-prose p{margin:1em 0}.tiptap-prose p:first-child{margin-top:0}.tiptap-prose p:last-child{margin-bottom:0}.tiptap-prose strong{font-weight:var(--font-weight-bold);color:var(--text-strong)}.tiptap-prose em{font-style:italic}.tiptap-prose a,.tiptap-link{color:var(--color-accent-start);text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--transition-fast)}.tiptap-prose a:hover,.tiptap-link:hover{border-bottom-color:var(--color-accent-start)}.tiptap-citation{display:inline-flex;align-items:center;justify-content:center;padding:.08rem .38rem;margin:0 .08rem;border-radius:999px;background:#dbeafec2;color:#1d4ed8;font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.tiptap-citation:hover{background:#bfdbfeeb;color:#1e3a8a}.tiptap-citation:active{transform:translateY(1px)}.tiptap-prose ul,.tiptap-prose ol{margin:1em 0;padding-left:1.5em}.tiptap-prose li{margin:.5em 0}.tiptap-prose ul{list-style-type:disc}.tiptap-prose ol{list-style-type:decimal}.tiptap-prose li>ul,.tiptap-prose li>ol{margin:.25em 0}.tiptap-prose .tableWrapper{margin:1.5em 0;overflow-x:auto}.tiptap-prose table,.tiptap-table{width:100%;min-width:520px;border-collapse:collapse;table-layout:fixed;background:var(--bg-panel-strong);border:1px solid var(--line-soft);border-radius:var(--radius-xs)}.tiptap-prose th,.tiptap-prose td{padding:.75em .9em;border:1px solid var(--line-soft);vertical-align:top;text-align:left}.tiptap-prose th{background:var(--bg-subtle);color:var(--text-strong);font-weight:var(--font-weight-semibold)}.tiptap-prose tr:nth-child(2n) td{background:#f4f7fbb8}.tiptap-prose .selectedCell{position:relative}.tiptap-prose .selectedCell:after{content:"";position:absolute;inset:0;background:#4f7cff1f;pointer-events:none}.tiptap-prose .column-resize-handle{position:absolute;top:0;right:-2px;bottom:-2px;width:4px;background:var(--color-accent-start);opacity:.35;pointer-events:none}.tiptap-prose blockquote{position:relative;margin:1.5em 0;padding:1em 1.5em;background:var(--bg-subtle);border-radius:var(--radius-xs);color:var(--text-body);font-style:italic}.tiptap-prose blockquote:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--color-accent-start) 0%,var(--color-accent-end) 100%);border-radius:2px}.tiptap-prose blockquote p{margin:0}.tiptap-prose code{background:var(--bg-subtle);padding:.2em .4em;border-radius:4px;font-family:SF Mono,Monaco,Menlo,monospace;font-size:.9em;color:var(--text-strong)}.tiptap-prose pre{margin:1.5em 0;padding:1.25em 1.5em;background:var(--code-bg);border-radius:var(--radius-sm);overflow-x:auto}.tiptap-prose pre code{background:none;padding:0;border-radius:0;font-size:.875em;color:var(--code-text);line-height:1.6}.tiptap-prose img,.tiptap-image{display:block;max-width:100%;height:auto;margin:1.5em auto;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.tiptap-prose img.ProseMirror-selectednode,.tiptap-image.ProseMirror-selectednode{outline:2px solid var(--color-accent-start);outline-offset:2px}.tiptap-prose hr{border:none;height:1px;background:var(--line-soft);margin:2em 0}.tiptap-prose::selection,.tiptap-prose *::selection{background:#4f7cff33}@media(max-width:768px){.tiptap-prose{padding:var(--space-4);font-size:15px}.tiptap-prose h1{font-size:1.75rem}.tiptap-prose h2{font-size:1.375rem}.tiptap-prose h3{font-size:1.125rem}}.editor-toolbar{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:#fffffffa;border-bottom:1px solid var(--line-soft);position:sticky;top:0;z-index:var(--z-sticky)}[data-theme=dark] .editor-toolbar{background:#1e2530fa}.toolbar-group{display:flex;align-items:center;gap:2px}.toolbar-divider{width:1px;height:20px;background:var(--line-soft);margin:0 var(--space-2)}.toolbar-spacer{flex:1}.toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-body);font-family:var(--font-family);font-size:var(--font-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);-webkit-user-select:none;user-select:none}.toolbar-btn:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-strong)}.toolbar-btn:active:not(:disabled){transform:scale(.95)}.toolbar-btn.active{background:var(--bg-accent-soft);color:var(--color-accent-start)}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-icon{width:16px;height:16px}.toolbar-icon-bold{font-weight:700;font-size:14px}.toolbar-icon-italic{font-style:italic;font-family:Georgia,serif;font-size:14px}.toolbar-btn-reference{width:auto;min-width:38px;padding:0 8px}.toolbar-btn-table{position:relative}.toolbar-icon-reference{font-size:11px;letter-spacing:.02em}.toolbar-btn-wrapper{position:relative}.toolbar-input-popup{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:var(--space-2);display:flex;gap:var(--space-2);padding:var(--space-2);background:var(--bg-panel-strong);border:1px solid var(--line-soft);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:var(--z-dropdown);animation:fadeInDown .15s ease}.toolbar-input-popup-table{align-items:flex-end}.toolbar-field-group{display:flex;flex-direction:column;gap:6px;min-width:72px;color:var(--text-soft);font-size:var(--font-xs);font-weight:var(--font-weight-medium)}.toolbar-input-number{width:72px}.toolbar-checkbox-row{display:inline-flex;align-items:center;gap:8px;color:var(--text-body);font-size:var(--font-xs);white-space:nowrap}.toolbar-checkbox-row input{accent-color:var(--color-accent-start)}@keyframes fadeInDown{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toolbar-input{width:240px;padding:var(--space-2) var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-xs);background:var(--bg-surface);font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-strong);outline:none;transition:border-color var(--transition-fast)}.toolbar-input:focus{border-color:var(--line-focus)}.toolbar-input::placeholder{color:var(--text-muted)}.toolbar-input-btn{padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-xs);background:var(--bg-accent);color:var(--text-inverse);font-family:var(--font-family);font-size:var(--font-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:opacity var(--transition-fast);white-space:nowrap}.toolbar-input-btn:hover{opacity:.9}@media(max-width:768px){.editor-toolbar{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.editor-toolbar::-webkit-scrollbar{display:none}.toolbar-input-popup{left:0;transform:none;right:auto}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.toolbar-input{width:180px}}.platform-selector{position:relative;display:inline-flex}.platform-selector.disabled{opacity:.6;pointer-events:none}.platform-selector-trigger{display:inline-flex;align-items:center;gap:var(--space-2);height:36px;padding:8px 12px;border:1px solid var(--line-soft);border-radius:var(--radius-xs);background:var(--bg-panel-strong);font-family:var(--font-family);font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-body);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.platform-selector-trigger:hover:not(:disabled){border-color:var(--line-strong)}.platform-selector-trigger.open{border-color:var(--line-focus);box-shadow:var(--shadow-glow)}.platform-selector-trigger .platform-icon{font-size:1.1em}.platform-selector-trigger .platform-name{color:var(--text-strong)}.platform-chevron{width:14px;height:14px;color:var(--text-soft);transition:transform var(--transition-fast)}.platform-chevron.rotated{transform:rotate(180deg)}.platform-dropdown{position:absolute;top:calc(100% + var(--space-1));left:0;min-width:280px;padding:4px;background:var(--bg-panel-strong);border:1px solid var(--line-soft);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:calc(var(--z-sticky) + 10)}.platform-option{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:8px 10px;border:none;border-radius:var(--radius-xs);background:transparent;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.platform-option:hover{background:var(--bg-subtle)}.platform-option.selected{background:var(--bg-accent-soft)}.platform-option .platform-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;color:var(--text-soft)}.platform-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.platform-option .platform-name{font-family:var(--font-family);font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-strong);line-height:1.3}.platform-desc{font-size:11px;color:var(--text-muted);line-height:1.3;white-space:nowrap}.platform-limit{flex-shrink:0;padding:1px 6px;background:var(--color-warning-soft);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-medium);color:var(--status-draft-color)}.platform-check{width:14px;height:14px;flex-shrink:0;color:var(--color-accent-start)}@media(max-width:480px){.platform-dropdown{min-width:220px}}.version-panel-backdrop{position:fixed;inset:0;background:#00000080;z-index:calc(var(--z-modal) - 1)}.version-panel{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;background:var(--bg-panel-strong);box-shadow:var(--shadow-lg);z-index:var(--z-modal);display:flex;flex-direction:column}.version-panel-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line-soft)}.version-panel-title{flex:1;margin:0;font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.version-panel-back,.version-panel-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-soft);cursor:pointer;transition:background var(--transition-fast)}.version-panel-back:hover,.version-panel-close:hover{background:var(--bg-subtle)}.version-panel-back svg,.version-panel-close svg{width:18px;height:18px}.version-panel-content{flex:1;overflow-y:auto;padding:var(--space-4)}.version-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);gap:var(--space-3);color:var(--text-soft)}.version-loading-spinner{width:24px;height:24px;border:2px solid var(--line-soft);border-top-color:var(--color-accent-start);border-radius:50%;animation:spin .8s linear infinite}.version-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center}.version-empty-icon{font-size:2.5rem;margin-bottom:var(--space-4)}.version-empty p{margin:0;color:var(--text-body)}.version-empty-hint{margin-top:var(--space-2)!important;font-size:var(--font-sm);color:var(--text-soft)}.version-list{display:flex;flex-direction:column}.version-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-2);border:none;border-radius:var(--radius-xs);background:transparent;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.version-item:hover{background:var(--bg-subtle)}.version-timeline{display:flex;flex-direction:column;align-items:center;padding-top:4px}.version-dot{width:10px;height:10px;border-radius:50%;background:var(--bg-accent);flex-shrink:0}.version-line{width:2px;flex:1;min-height:32px;background:var(--line-soft);margin-top:var(--space-1)}.version-info{flex:1;min-width:0}.version-time{font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-strong);margin-bottom:4px}.version-meta{display:flex;align-items:center;gap:var(--space-2)}.version-words{font-size:var(--font-xs);color:var(--text-soft)}.version-diff{font-size:var(--font-xs);font-weight:var(--font-weight-medium);padding:1px 4px;border-radius:4px}.version-diff.positive{background:var(--color-success-soft);color:var(--status-completed-color)}.version-diff.negative{background:var(--color-error-soft);color:var(--color-error)}.version-arrow{width:16px;height:16px;color:var(--text-muted);flex-shrink:0;margin-top:2px}.version-preview{display:flex;flex-direction:column;height:100%}.version-preview-meta{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--line-soft);margin-bottom:var(--space-4)}.version-preview-time{font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-strong)}.version-preview-words{font-size:var(--font-sm);color:var(--text-soft)}.version-preview-content{flex:1;overflow-y:auto;padding:var(--space-3);background:var(--bg-subtle);border-radius:var(--radius-sm);font-size:var(--font-sm);line-height:1.7;color:var(--text-body)}.version-preview-content h1,.version-preview-content h2,.version-preview-content h3{font-weight:var(--font-weight-semibold);color:var(--text-strong);margin:1em 0 .5em}.version-preview-content h1:first-child,.version-preview-content h2:first-child,.version-preview-content h3:first-child{margin-top:0}.version-preview-content p{margin:.75em 0}.version-preview-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--line-soft);margin-top:var(--space-4)}@media(max-width:480px){.version-panel{width:100vw}}.workspace-page{display:flex;flex-direction:column;gap:var(--space-8);padding-bottom:var(--space-8)}.workspace-header{margin-bottom:var(--space-2)}.workspace-header h1{margin:0 0 var(--space-2);font-size:var(--font-2xl);font-weight:var(--font-weight-bold);color:var(--text-strong)}.workspace-header p{margin:0;color:var(--text-soft);font-size:var(--font-base)}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}@media(max-width:900px){.quick-actions{grid-template-columns:1fr}}.quick-action-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--bg-panel-strong);cursor:pointer;text-align:left;transition:box-shadow var(--transition-fast),border-color var(--transition-fast);box-shadow:var(--shadow-card)}.quick-action-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--line-strong)}.quick-action-card.quick-action-ai{background:var(--bg-accent);border-color:transparent;box-shadow:var(--shadow-accent)}.quick-action-card.quick-action-ai .quick-action-content h3,.quick-action-card.quick-action-ai .quick-action-content p{color:var(--text-inverse)}.quick-action-card.quick-action-ai:hover{box-shadow:var(--shadow-accent),0 0 0 3px #4f7cff26}.quick-action-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--radius-sm);background:var(--bg-accent-soft);font-size:1.5rem;flex-shrink:0}.quick-action-ai .quick-action-icon{background:#fff3}.quick-action-content h3{margin:0 0 var(--space-1);font-size:var(--font-md);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.quick-action-content p{margin:0;font-size:var(--font-sm);color:var(--text-soft)}.workspace-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.articles-section{display:flex;flex-direction:column;gap:var(--space-5)}.action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-xs);background:var(--bg-panel-strong);cursor:pointer;font-size:var(--font-sm);box-shadow:var(--shadow-sm);transition:background var(--transition-fast),transform var(--transition-fast)}.action-btn:hover{background:var(--bg-surface);transform:scale(1.1)}.action-btn.delete:hover{background:var(--color-error-soft)}.empty-icon{font-size:4rem;opacity:.5}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.agent-step-indicator{display:flex;flex-direction:column;gap:0;padding:var(--space-2) 0}.step-item{position:relative;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0;transform-origin:top left}.step-connector{position:absolute;left:11px;top:32px;bottom:-8px;width:2px;background:var(--line-soft);transition:background var(--transition-fast)}.step-connector.completed{background:var(--color-success)}.step-node{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-panel-strong);border:2px solid var(--line-soft);transition:border-color var(--transition-fast),background var(--transition-fast)}.step-node.pending{border-color:var(--line-soft)}.step-node.running{border-color:var(--color-accent-start);background:linear-gradient(135deg,#4f7cff1a,#4db6ff26)}.step-node.completed{border-color:var(--color-success);background:var(--color-success)}.step-node.failed{border-color:var(--color-error);background:var(--color-error)}.step-node.skipped{border-color:var(--text-muted);border-style:dashed;background:transparent}.step-icon{width:14px;height:14px}.step-icon.check,.step-icon.cross{color:#fff}.step-icon.skip{color:var(--text-muted)}.step-pulse{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent-start),var(--color-accent-end));animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.step-empty{width:6px;height:6px;border-radius:50%;background:var(--line-soft)}.step-content{flex:1;min-width:0;padding-top:1px}.step-header{display:flex;align-items:flex-start;gap:var(--space-2)}.step-icon-emoji{font-size:var(--font-sm)}.step-name{font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-body)}.step-title-group{display:flex;flex-direction:column;gap:2px}.step-role{font-size:11px;color:var(--text-soft);line-height:1.3}.step-item:has(.step-node.running) .step-name{color:var(--text-strong)}.step-item:has(.step-node.completed) .step-name{color:var(--color-success)}.step-item:has(.step-node.failed) .step-name{color:var(--color-error)}.step-item:has(.step-node.skipped) .step-name{color:var(--text-muted);text-decoration:line-through}.step-meta{display:flex;align-items:center;gap:var(--space-2);margin-top:2px;font-size:var(--font-xs);color:var(--text-soft)}.step-meta.running{color:var(--color-accent-start);opacity:.92}.step-meta.skipped{color:var(--text-muted)}.step-duration{color:var(--text-soft)}.step-tokens{color:var(--text-muted)}.step-tokens:before{content:"•";margin-right:var(--space-2);color:var(--text-muted)}.step-error{margin-top:4px;font-size:var(--font-xs);color:var(--color-error);word-break:break-word}.agent-panel{display:flex;flex-direction:column;height:100%;padding:var(--space-4);overflow-y:auto}.agent-panel-title{margin:0 0 var(--space-4);font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--text-strong);text-transform:uppercase;letter-spacing:.05em}.agent-panel-idle{display:flex;flex-direction:column;gap:var(--space-4)}.agent-input-group{display:flex;flex-direction:column;gap:var(--space-2)}.agent-label{font-size:var(--font-xs);font-weight:var(--font-weight-medium);color:var(--text-soft);text-transform:uppercase;letter-spacing:.03em}.agent-topic-input{width:100%;padding:var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-panel-strong);font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-body);resize:none;transition:border-color var(--transition-fast)}.agent-topic-input:focus{outline:none;border-color:var(--line-strong);box-shadow:var(--shadow-glow)}.agent-topic-input::placeholder{color:var(--text-muted)}.agent-mode-group{display:flex;flex-direction:column;gap:var(--space-2)}.agent-mode-tabs{display:flex;gap:var(--space-1);background:var(--bg-subtle);border-radius:var(--radius-sm);padding:3px}.agent-mode-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2) var(--space-1);border:none;border-radius:calc(var(--radius-sm) - 2px);background:transparent;font-family:var(--font-family);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.agent-mode-tab:hover{background:var(--bg-panel-strong)}.agent-mode-tab.active{background:var(--bg-panel-strong);box-shadow:var(--shadow-sm)}.mode-icon{font-size:var(--font-md)}.mode-label{font-size:var(--font-xs);font-weight:var(--font-weight-medium);color:var(--text-soft)}.agent-mode-tab.active .mode-label{color:var(--text-strong)}.agent-mode-hint{margin:0;font-size:var(--font-xs);color:var(--text-muted);text-align:center}.agent-style-group{display:flex;flex-direction:column;gap:var(--space-2)}.agent-style-select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-panel-strong);font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-body);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px}.agent-style-select:focus{outline:none;border-color:var(--line-strong)}.agent-single-buttons{display:flex;flex-direction:column;gap:var(--space-2)}.agent-single-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-panel-strong);font-family:var(--font-family);text-align:left;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.agent-single-btn:hover:not(:disabled){border-color:var(--line-strong);background:var(--bg-subtle);transform:translateY(-1px)}.agent-single-btn:disabled{opacity:.6;cursor:not-allowed}.single-btn-icon{font-size:1.2em;flex-shrink:0}.single-btn-content{display:flex;flex-direction:column;gap:2px;min-width:0}.single-btn-name{font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-body)}.single-btn-desc{font-size:var(--font-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-cost-hint{margin:0 0 var(--space-2);font-size:var(--font-xs);color:var(--text-muted);text-align:center}.agent-start-btn{width:100%;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-sm);background:var(--bg-accent);font-family:var(--font-family);font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--text-inverse);cursor:pointer;transition:opacity var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.agent-start-btn:hover:not(:disabled){box-shadow:var(--shadow-accent);transform:translateY(-1px)}.agent-start-btn:disabled{opacity:.5;cursor:not-allowed}.agent-panel-running{display:flex;flex-direction:column;gap:var(--space-3)}.agent-lock-warning{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-warning-soft, #fff3cd);color:#856404;font-size:var(--font-sm);font-weight:var(--font-weight-medium)}.agent-lock-warning svg{flex-shrink:0;color:#856404}.agent-current-status{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line-soft)}.agent-current-presence{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);border:1px solid rgba(79,124,255,.14);border-radius:var(--radius-sm);background:linear-gradient(135deg,#4f7cff14,#ffffffdb)}.agent-current-presence-badge{width:fit-content;padding:4px 8px;border-radius:999px;background:#ffffffc7;color:var(--color-accent-start);font-size:11px;font-weight:var(--font-weight-semibold)}.agent-current-presence-title{font-size:var(--font-base);color:var(--text-strong)}.agent-current-presence-detail{margin:0;font-size:var(--font-xs);color:var(--text-soft);line-height:1.55}.status-header{display:flex;justify-content:space-between;align-items:center}.status-label{font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-strong)}.status-timer{font-size:var(--font-sm);font-family:SF Mono,Monaco,monospace;color:var(--color-accent-start)}.agent-stream-output{max-height:160px;padding:var(--space-3);background:var(--bg-subtle);border-radius:var(--radius-xs);font-family:SF Mono,Monaco,monospace;font-size:var(--font-xs);color:var(--text-body);overflow-y:auto;line-height:1.5}.agent-stream-output::-webkit-scrollbar{width:6px}.agent-stream-output::-webkit-scrollbar-track{background:transparent}.agent-stream-output::-webkit-scrollbar-thumb{background:var(--line-soft);border-radius:3px}.agent-stats{display:flex;gap:var(--space-3);font-size:var(--font-xs);color:var(--text-soft)}.stat-item{display:flex;align-items:center;gap:var(--space-1)}.agent-cancel-btn{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-error);border-radius:var(--radius-sm);background:transparent;font-family:var(--font-family);font-size:var(--font-sm);color:var(--color-error);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.agent-cancel-btn:hover{background:var(--color-error);color:#fff}.agent-paused{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line-soft)}.paused-header{display:flex;align-items:center;gap:var(--space-2)}.paused-label{font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--color-success)}.agent-paused-output{width:100%;min-height:120px;padding:var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-panel-strong);font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-body);resize:vertical;line-height:1.6}.agent-paused-output:focus{outline:none;border-color:var(--line-strong)}.paused-actions{display:flex;flex-direction:column;gap:var(--space-2)}.paused-btn{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.paused-btn.continue{border:none;background:var(--bg-accent);color:var(--text-inverse)}.paused-btn.continue:hover{box-shadow:var(--shadow-accent);transform:translateY(-1px)}.paused-btn.skip{border:1px solid var(--line-soft);background:transparent;color:var(--text-body)}.paused-btn.skip:hover{background:var(--bg-subtle)}.paused-btn.apply{border:1px solid var(--color-success);background:transparent;color:var(--color-success)}.paused-btn.apply:hover{background:var(--color-success);color:#fff}.agent-panel-completed{display:flex;flex-direction:column;gap:var(--space-3)}.agent-summary{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--bg-subtle);border-radius:var(--radius-sm)}.agent-summary-headline{margin-bottom:var(--space-1);font-size:var(--font-xs);color:var(--text-soft);line-height:1.55}.summary-row{display:flex;justify-content:space-between;align-items:center}.summary-label{font-size:var(--font-sm);color:var(--text-soft)}.summary-value{font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-body)}.completed-actions{display:flex;flex-direction:column;gap:var(--space-2)}.agent-apply-btn{width:100%;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-sm);background:var(--bg-accent);font-family:var(--font-family);font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--text-inverse);cursor:pointer;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.agent-apply-btn:hover{box-shadow:var(--shadow-accent);transform:translateY(-1px)}.agent-reset-btn{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:transparent;font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-body);cursor:pointer;transition:background var(--transition-fast)}.agent-reset-btn:hover{background:var(--bg-subtle)}.agent-error{padding:var(--space-3);background:var(--color-error-soft);border-radius:var(--radius-xs);font-size:var(--font-xs);color:var(--color-error)}.thesis-workspace-panel{width:360px;flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--line-soft);background:radial-gradient(circle at top right,rgba(37,99,235,.12),transparent 34%),linear-gradient(180deg,#fffffff5,#f8fafcfa)}.thesis-panel-hero{display:flex;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--line-soft)}.thesis-panel-hero-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;min-width:36px;height:36px;min-height:36px;border-radius:10px;color:#1d4ed8;background:#2563eb1f}.thesis-panel-hero-copy h3{margin:0;font-size:1rem;color:var(--text-strong)}.thesis-panel-hero-copy p{margin:6px 0 0;font-size:var(--font-sm);line-height:1.6;color:var(--text-soft)}.thesis-panel-eyebrow{display:inline-block;margin-bottom:4px;font-size:.72rem;font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:#1d4ed8}.thesis-panel-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 12px 0}.thesis-panel-tabs button{border:none;border-radius:999px;padding:8px 10px;background:transparent;color:var(--text-soft);font-size:.76rem;font-weight:var(--font-weight-medium);cursor:pointer}.thesis-panel-tabs button.active{background:#2563eb1f;color:#1d4ed8}.thesis-panel-scroll{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-3) var(--space-3)}.thesis-panel-stack{display:flex;flex-direction:column;gap:var(--space-3)}.thesis-card{border:1px solid rgba(148,163,184,.18);box-shadow:0 16px 40px #0f172a0a}.thesis-card-header{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--text-strong)}.thesis-card-header h4{margin:0;font-size:.95rem}.thesis-card-header p{margin:4px 0 0;font-size:var(--font-xs);line-height:1.6;color:var(--text-soft)}.thesis-writing-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.thesis-writing-summary div,.thesis-draft-item{border-radius:16px;border:1px solid rgba(148,163,184,.16);background:#ffffffeb}.thesis-writing-summary div{padding:12px}.thesis-writing-summary strong{display:block;font-size:1.1rem;color:var(--text-strong)}.thesis-writing-summary span,.thesis-draft-item-footer span{display:block;margin-top:4px;font-size:var(--font-xs);line-height:1.6;color:var(--text-soft)}.thesis-writing-actions{display:flex;gap:10px;margin-bottom:14px}.thesis-writing-actions .btn-label{white-space:nowrap}.thesis-draft-list{display:flex;flex-direction:column;gap:10px}.thesis-draft-item{padding:12px 14px}.thesis-draft-item.ready{border-color:#2563eb33;background:linear-gradient(180deg,#eff6ffb8,#fffffff0)}.thesis-draft-item.active{border-color:#2563eb61;box-shadow:inset 0 0 0 1px #2563eb24}.thesis-draft-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.thesis-draft-item-top strong{display:block;font-size:var(--font-sm);color:var(--text-strong)}.thesis-draft-item-top p{margin:6px 0 0;font-size:var(--font-xs);line-height:1.7;color:var(--text-soft)}.thesis-draft-badge{flex-shrink:0;padding:6px 10px;border-radius:999px;font-size:.72rem}.thesis-draft-badge.ready{background:#2563eb1f;color:#1d4ed8}.thesis-draft-badge.pending{background:#0f172a0f;color:var(--text-soft)}.thesis-draft-item-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.thesis-draft-item-actions{display:inline-flex;align-items:center;gap:8px}.thesis-draft-item-footer button{border:none;border-radius:999px;padding:8px 12px;background:#0f172a0f;color:var(--text-body);font-size:var(--font-xs);cursor:pointer}.thesis-draft-item.ready .thesis-draft-item-footer button{background:#2563eb1f;color:#1d4ed8}.thesis-outline-list{display:flex;flex-direction:column;gap:8px}.thesis-outline-item{display:flex;align-items:center;gap:10px;border:1px solid var(--line-soft);border-radius:14px;padding:10px 12px;background:#ffffffe0;text-align:left;color:var(--text-body);cursor:pointer}.thesis-outline-main{flex:1;min-width:0;display:flex;align-items:center;border:none;padding:0;background:transparent;text-align:left;color:inherit;cursor:pointer}.thesis-outline-item.active{border-color:#2563eb47;background:#2563eb1a;color:#1d4ed8}.thesis-outline-item:hover{border-color:#2563eb33}.thesis-outline-index{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:#2563eb1f;color:#1d4ed8;font-size:.75rem;font-weight:var(--font-weight-semibold)}.thesis-outline-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thesis-phase-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.thesis-phase-row span{border-radius:999px;padding:8px 10px;text-align:center;font-size:var(--font-xs);color:var(--text-soft);background:#ffffffe0;border:1px solid var(--line-soft)}.thesis-phase-row .active{color:#1d4ed8;border-color:#2563eb47;background:#2563eb1f}.thesis-review-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.thesis-review-top h4{margin:0;font-size:.92rem}.thesis-review-top p{margin:4px 0 0;font-size:var(--font-xs);color:var(--text-soft)}.thesis-review-badge{flex-shrink:0;align-self:flex-start;padding:6px 10px;border-radius:999px;background:#f59e0b24;color:#b45309;font-size:.72rem}.thesis-outline-label{flex:1}.thesis-outline-actions{display:inline-flex;align-items:center;gap:6px}.thesis-outline-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid rgba(148,163,184,.22);background:#ffffffc7;color:#0f172ab8;transition:background .2s ease,border-color .2s ease,color .2s ease}.thesis-outline-action:hover:not(:disabled){background:#fffffff5;border-color:#47556947;color:#0f172aeb}.thesis-outline-action:disabled{opacity:.4;cursor:not-allowed}.thesis-review-snippet{margin:0;font-size:var(--font-sm);line-height:1.8;color:var(--text-body)}.thesis-review-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.thesis-review-actions button,.thesis-diagram-list button{border:1px solid var(--line-soft);border-radius:999px;padding:8px 12px;background:#ffffffe6;color:var(--text-body);font-size:var(--font-xs);cursor:pointer}.thesis-keyword-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.thesis-keyword-row span{padding:7px 10px;border-radius:999px;background:#0f172a0d;color:var(--text-body);font-size:var(--font-xs)}.thesis-visual-grid,.thesis-detection-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.thesis-visual-grid div,.thesis-detection-item{border-radius:14px;padding:12px;background:#ffffffe0;border:1px solid var(--line-soft)}.thesis-visual-grid strong,.thesis-detection-item strong{display:block;margin-bottom:6px;font-size:var(--font-sm);color:var(--text-strong)}.thesis-visual-grid p,.thesis-detection-item span,.thesis-empty-card p{margin:0;font-size:var(--font-xs);line-height:1.7;color:var(--text-soft)}.thesis-diagram-list{display:flex;flex-wrap:wrap;gap:8px}.thesis-detection-actions{display:flex;gap:10px;margin-top:14px}.thesis-empty-card{display:flex;align-items:center;gap:10px}@media(max-width:1280px){.thesis-workspace-panel{width:320px}.thesis-writing-summary{grid-template-columns:1fr}}@media(max-width:1024px){.thesis-workspace-panel{display:none}}.global-generation-overlay{position:fixed;inset:0;z-index:620;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,rgba(116,214,255,.2),transparent 34%),radial-gradient(circle at bottom,rgba(79,124,255,.16),transparent 32%),#f4f8fc94;-webkit-backdrop-filter:blur(18px) saturate(1.12);backdrop-filter:blur(18px) saturate(1.12);cursor:progress}.global-generation-card{width:min(460px,calc(100vw - 40px));display:flex;flex-direction:column;gap:18px;padding:26px 28px 24px;border-radius:30px;border:1px solid rgba(255,255,255,.72);background:linear-gradient(180deg,#ffffffe6,#f8fbffd1);box-shadow:0 28px 70px #1b2c4f1f,0 8px 22px #1b2c4f14}.global-generation-badge{align-self:flex-start;padding:7px 12px;border-radius:999px;background:linear-gradient(135deg,#4f7cff1f,#4db6ff29);border:1px solid rgba(79,124,255,.12);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#4564a5}.global-generation-visual{display:flex;align-items:center;justify-content:center;min-height:150px;padding:6px 0}.global-generation-svg{width:min(100%,320px);height:auto;overflow:visible}.global-generation-halo{fill:none;stroke:#4f7cff29;transform-origin:center}.global-generation-halo-outer{stroke-width:1.2;animation:generationHaloOuter 3.8s ease-in-out infinite}.global-generation-halo-inner{stroke-width:1;animation:generationHaloInner 3s ease-in-out infinite}.global-generation-wave{fill:none;stroke:url(#generationStroke);stroke-linecap:round;stroke-width:3;stroke-dasharray:14 14 120 20}.global-generation-wave-a{opacity:.88;animation:generationFlowA 4s linear infinite}.global-generation-wave-b{opacity:.62;stroke-width:2.4;animation:generationFlowB 4.8s linear infinite}.global-generation-wave-c{opacity:.42;stroke-width:2;animation:generationFlowC 5.4s linear infinite}.global-generation-node{fill:#fffffff0;stroke:#4f7cff61;stroke-width:2}.global-generation-node-left{animation:generationNodeFloat 2.6s ease-in-out infinite}.global-generation-node-center{fill:url(#generationCore);stroke:#4f7cff42;animation:generationCorePulse 2.8s ease-in-out infinite}.global-generation-node-right{animation:generationNodeFloat 3.2s ease-in-out infinite reverse}.global-generation-copy{display:flex;flex-direction:column;gap:8px;text-align:center}.global-generation-copy strong{font-size:1.2rem;font-weight:var(--font-weight-semibold);color:var(--text-strong)}.global-generation-copy p{font-size:var(--font-sm);line-height:1.8;color:var(--text-soft)}@keyframes generationFlowA{0%{stroke-dashoffset:0}to{stroke-dashoffset:-168}}@keyframes generationFlowB{0%{stroke-dashoffset:132}to{stroke-dashoffset:-48}}@keyframes generationFlowC{0%{stroke-dashoffset:86}to{stroke-dashoffset:-104}}@keyframes generationCorePulse{0%,to{transform:scale(.96);opacity:.88}50%{transform:scale(1.08);opacity:1}}@keyframes generationNodeFloat{0%,to{transform:translateY(0);opacity:.76}50%{transform:translateY(-4px);opacity:1}}@keyframes generationHaloOuter{0%,to{transform:scaleX(.98) scaleY(.96);opacity:.4}50%{transform:scaleX(1.03) scaleY(1.08);opacity:.78}}@keyframes generationHaloInner{0%,to{transform:scaleX(.96) scaleY(.9);opacity:.26}50%{transform:scaleX(1.08) scaleY(1.18);opacity:.58}}@media(max-width:768px){.global-generation-card{width:min(100%,calc(100vw - 28px));padding:22px 20px 20px;border-radius:24px}.global-generation-visual{min-height:128px}.global-generation-copy strong{font-size:1.08rem}}.modal.thesis-reference-dialog-shell{width:min(1120px,calc(100vw - 32px));max-width:min(1120px,calc(100vw - 32px));max-height:min(90vh,920px)}.thesis-reference-dialog{display:flex;flex-direction:column;gap:16px}.thesis-reference-dialog-intro{padding:16px 18px;border-radius:18px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(135deg,#f8fafcf5,#fffffffa)}.thesis-reference-dialog-intro strong{display:block;font-size:var(--font-sm);color:var(--text-strong)}.thesis-reference-dialog-intro p{margin:8px 0 0;font-size:var(--font-sm);line-height:1.7;color:var(--text-soft)}.thesis-reference-dialog-mode-switch{display:flex;gap:8px}.thesis-reference-dialog-mode-switch button{border:1px solid rgba(148,163,184,.24);background:#ffffffeb;color:var(--text-body);border-radius:999px;padding:8px 14px;font-size:var(--font-sm);cursor:pointer}.thesis-reference-dialog-mode-switch button.active{border-color:#2563eb38;background:#dbeafec7;color:#1d4ed8}.thesis-reference-dialog-mode-switch button:disabled{opacity:.5;cursor:not-allowed}.thesis-reference-dialog-layout{display:grid;gap:16px}.thesis-reference-dialog-layout.with-sidebar{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}.thesis-reference-dialog-sidebar,.thesis-reference-dialog-form{padding:14px 16px;border-radius:18px;border:1px solid rgba(148,163,184,.14);background:#fffffff5;box-shadow:0 10px 26px #0f172a0a}.thesis-reference-dialog-sidebar{display:flex;flex-direction:column;gap:12px;min-height:0}.thesis-reference-dialog-sidebar-header{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.thesis-reference-dialog-sidebar-header strong{color:var(--text-strong);font-size:var(--font-sm)}.thesis-reference-dialog-sidebar-header span{color:var(--text-soft);font-size:var(--font-xs)}.thesis-reference-dialog-list{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto}.thesis-reference-dialog-list-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:#f8fafceb;text-align:left;cursor:pointer;color:var(--text-body)}.thesis-reference-dialog-list-item.active{border-color:#2563eb38;background:#dbeafeb3;color:#1d4ed8}.thesis-reference-dialog-list-item span:last-child{min-width:0;line-height:1.6}.thesis-reference-dialog-form{display:flex;flex-direction:column;gap:14px}.thesis-reference-dialog-actions{display:flex;justify-content:flex-end;gap:10px;width:100%}@media(max-width:768px){.modal.thesis-reference-dialog-shell{width:min(100vw - 20px,100%);max-width:min(100vw - 20px,100%)}.thesis-reference-dialog-layout.with-sidebar{grid-template-columns:1fr}.thesis-reference-dialog-actions,.thesis-reference-dialog-mode-switch{flex-direction:column}}.modal.thesis-ai-modal-shell{width:min(1180px,calc(100vw - 32px));max-width:min(1180px,calc(100vw - 32px));max-height:min(90vh,920px);display:flex;flex-direction:column;overflow:hidden}.modal.thesis-ai-modal-shell .modal-body{flex:1;min-height:0;overflow-y:auto;padding-right:4px;padding-bottom:6px}.modal.thesis-ai-modal-shell .modal-footer{flex-shrink:0;margin-top:16px;padding-top:14px;border-top:1px solid rgba(148,163,184,.14);background:linear-gradient(180deg,#ffffffeb,#fff)}.thesis-ai-modal{display:flex;flex-direction:column;gap:14px}.thesis-ai-workspace{display:grid;gap:14px}.thesis-ai-workspace-body{grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);align-items:start}.thesis-ai-workspace-standard{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start}.thesis-ai-workspace-main,.thesis-ai-workspace-side{display:flex;flex-direction:column;gap:14px}.thesis-ai-panel-card{padding:14px 16px;border-radius:18px;border:1px solid rgba(148,163,184,.14);background:#fffffff0;box-shadow:0 10px 26px #0f172a0a}.thesis-ai-field{display:flex;flex-direction:column;gap:8px}.thesis-ai-field span{font-size:var(--font-xs);color:var(--text-soft)}.thesis-ai-field input,.thesis-ai-field select,.thesis-ai-field textarea{width:100%;border:1px solid var(--line-soft);border-radius:16px;padding:14px 16px;background:#fffffff5;font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-body);line-height:1.6;resize:vertical;outline:none}.thesis-ai-field input:focus,.thesis-ai-field select:focus,.thesis-ai-field textarea:focus{border-color:#2563eb6b;box-shadow:0 0 0 3px #2563eb1f}.thesis-ai-body-setup{display:flex;flex-direction:column;gap:12px;padding:18px 20px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:radial-gradient(circle at top right,rgba(37,99,235,.12),transparent 34%),linear-gradient(180deg,#f8fafcf5,#fffffff5)}.thesis-ai-body-setup-copy strong,.thesis-ai-chapter-hint-grid strong{display:block;font-size:var(--font-sm);color:var(--text-strong)}.thesis-ai-body-setup-copy p,.thesis-ai-chapter-hint-grid p{margin:6px 0 0;font-size:var(--font-xs);line-height:1.7;color:var(--text-soft)}.thesis-ai-body-stats{display:flex;flex-wrap:wrap;gap:8px}.thesis-ai-body-stats span{padding:7px 10px;border-radius:999px;background:#ffffffeb;border:1px solid rgba(37,99,235,.1);font-size:var(--font-xs);color:#1d4ed8}.thesis-ai-chapter-select-field{gap:6px}.thesis-ai-chapter-hint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.thesis-ai-chapter-hint-grid>div{padding:12px 14px;border-radius:16px;background:#ffffffeb;border:1px solid rgba(148,163,184,.18)}.thesis-ai-field textarea[readonly]{color:var(--text-soft);background:#f8fafce6}.thesis-ai-generate-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.thesis-ai-generate-card{align-items:center}.thesis-ai-generate-row span{flex:1;font-size:var(--font-xs);line-height:1.7;color:var(--text-soft)}.thesis-ai-result-grid{display:grid;grid-template-columns:1fr;gap:12px}.thesis-ai-result-wide{width:100%}.thesis-ai-result-card textarea{min-height:420px}.thesis-ai-citation-preview{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:16px;border:1px solid rgba(37,99,235,.12);background:#f8fafce6}.thesis-ai-citation-preview-header{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.thesis-ai-citation-preview-header strong{font-size:var(--font-sm);color:var(--text-strong)}.thesis-ai-citation-preview-header span{font-size:var(--font-xs);color:var(--text-soft)}.thesis-ai-citation-preview-body{display:flex;flex-direction:column;gap:10px;max-height:220px;overflow-y:auto;color:var(--text-body);font-size:var(--font-sm);line-height:1.8}.thesis-ai-citation-preview-body p{margin:0}.thesis-ai-citation-chip{display:inline-flex;align-items:center;justify-content:center;margin:0 2px;padding:1px 8px;border:none;border-radius:999px;background:#dbeafee6;color:#1d4ed8;font-size:inherit;font-weight:var(--font-weight-semibold);cursor:pointer}.thesis-ai-citation-chip:hover{background:#bfdbfef5;color:#1e3a8a}.thesis-ai-context-card textarea,.thesis-ai-context-field textarea{min-height:340px}.thesis-ai-context-card{gap:0}.thesis-ai-context-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:none;background:transparent;padding:0;font-size:var(--font-xs);font-weight:var(--font-weight-semibold);color:var(--text-soft);cursor:pointer;text-align:left}.thesis-ai-context-toggle span:first-child{color:var(--text-strong)}.thesis-ai-context-toggle span:last-child{color:#1d4ed8}.thesis-ai-context-toggle.expanded{margin-bottom:12px}.thesis-ai-context-field{gap:0}.thesis-ai-modal-actions{display:flex;justify-content:flex-end;gap:10px;width:100%}.thesis-ai-notice{padding:12px 14px;border-radius:14px;font-size:var(--font-sm);line-height:1.7}.thesis-ai-notice-info{background:#2563eb14;color:#1d4ed8}.thesis-ai-notice-warning{background:#f59e0b1f;color:#b45309}.thesis-ai-error{padding:12px 14px;border-radius:14px;background:#ef444414;color:#b91c1c;font-size:var(--font-sm)}.thesis-ai-reference-block{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid rgba(148,163,184,.14);border-radius:18px;background:#f8fafcd9}.thesis-ai-reference-header{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.thesis-ai-reference-header strong{font-size:var(--font-sm);color:var(--text-strong)}.thesis-ai-reference-header span,.thesis-ai-reference-note span,.thesis-ai-reference-note a{font-size:var(--font-xs);color:var(--text-soft)}.thesis-ai-reference-note a{color:#1d4ed8}.thesis-ai-reference-list{display:flex;flex-direction:column;gap:8px}.thesis-ai-reference-item{padding:10px 12px;border-radius:14px;background:#fffffff0;border:1px solid rgba(37,99,235,.08)}.thesis-ai-reference-item-button{width:100%;text-align:left;cursor:pointer}.thesis-ai-reference-item-button:hover{border-color:#2563eb2e;background:#eff6fff5}.thesis-ai-reference-item strong{display:block;font-size:var(--font-sm);color:var(--text-strong)}.thesis-ai-reference-item p{margin:6px 0 0;font-size:var(--font-xs);line-height:1.6;color:var(--text-soft)}.thesis-ai-reference-note{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:768px){.modal.thesis-ai-modal-shell{width:min(100vw - 20px,100%);max-width:min(100vw - 20px,100%)}.thesis-ai-workspace-body,.thesis-ai-workspace-standard{grid-template-columns:1fr}.thesis-ai-generate-row,.thesis-ai-modal-actions{flex-direction:column;align-items:stretch}.thesis-ai-chapter-hint-grid{grid-template-columns:1fr}.thesis-ai-result-card textarea,.thesis-ai-context-card textarea{min-height:0}}.editor-page{display:flex;flex-direction:column;height:100%;background:var(--bg-surface)}.editor-page.editor-loading{align-items:center;justify-content:center}.editor-loading-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--text-soft)}.editor-loading-spinner{width:28px;height:28px;border:2px solid var(--line-soft);border-top-color:var(--color-accent-start);border-radius:50%;animation:spin .8s linear infinite}.editor-top-header{position:relative;z-index:calc(var(--z-sticky) + 50);display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--bg-panel-strong);border-bottom:1px solid var(--line-soft);flex-shrink:0}.editor-back-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-body);font-family:var(--font-family);font-size:var(--font-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.editor-back-btn:hover{background:var(--bg-subtle)}.editor-back-btn svg{width:16px;height:16px}.editor-title-input{flex:1;min-width:0;padding:var(--space-2) 0;border:none;background:transparent;font-family:var(--font-family);font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--text-strong);outline:none}.editor-title-input::placeholder{color:var(--text-muted)}.editor-thesis-header-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.editor-thesis-header-copy strong{font-size:1.15rem;font-weight:var(--font-weight-bold);color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-thesis-header-copy span{font-size:var(--font-xs);color:var(--text-soft)}.editor-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.editor-document-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-size:var(--font-sm);font-weight:var(--font-weight-medium)}.editor-document-badge.thesis{color:#1d4ed8;background:#2563eb1f;border:1px solid rgba(37,99,235,.2)}.editor-retopic-btn{color:var(--color-error);background:transparent;border-color:#ef444452;box-shadow:none}.editor-retopic-btn:hover:not(:disabled){background:#ef444414;border-color:#ef444480;box-shadow:0 0 0 3px #ef444414}.editor-main{flex:1;display:flex;overflow:hidden}.editor-ai-panel{flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-panel);border-right:1px solid var(--line-soft);overflow:hidden}.editor-ai-panel.collapsed{width:48px}.ai-panel-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-soft);cursor:pointer;transition:background var(--transition-fast)}.ai-panel-toggle:hover{background:var(--bg-subtle)}.ai-panel-toggle svg{width:16px;height:16px}.ai-panel-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2)}.ai-panel-header .ai-panel-toggle{margin:0}.ai-panel-header-title{margin:0;font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--text-strong);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.editor-ai-panel .agent-panel-title{display:none}.ai-panel-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.ai-panel-title{margin:0 0 var(--space-4);font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--text-strong);text-transform:uppercase;letter-spacing:.05em}.ai-panel-buttons{display:flex;flex-direction:column;gap:var(--space-2)}.ai-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-panel-strong);font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-body);text-align:left;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.ai-btn:hover:not(:disabled){border-color:var(--line-strong);background:var(--bg-subtle)}.ai-btn:disabled{opacity:.6;cursor:not-allowed}.ai-btn-icon{font-size:1.2em}.ai-panel-hint{margin-top:var(--space-4);padding:var(--space-3);background:var(--bg-subtle);border-radius:var(--radius-xs);font-size:var(--font-xs);color:var(--text-soft);text-align:center}.editor-content-area{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.editor-wrapper{flex:1;display:flex;flex-direction:column;background:var(--bg-panel-strong);border-radius:var(--radius-lg);margin:var(--space-4);box-shadow:var(--shadow-card);overflow:hidden}.editor-thesis-tabs{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px 0;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,#f8fafce0,#fffffff5)}.editor-thesis-tab-buttons{display:flex;gap:10px;min-width:0;overflow-x:auto;padding-bottom:1px}.editor-thesis-tab-buttons button{border:none;border-radius:14px 14px 0 0;padding:12px 16px;background:transparent;color:var(--text-soft);font-size:var(--font-sm);font-weight:var(--font-weight-medium);cursor:pointer}.editor-thesis-tab-buttons button.active{background:#2563eb1a;color:#1d4ed8}.editor-thesis-ai-trigger{flex-shrink:0;margin-bottom:8px;border:1px solid rgba(37,99,235,.2);border-radius:999px;padding:8px 12px;background:linear-gradient(135deg,#2563eb1a,#7dd3fc1f);color:#1d4ed8;font-size:var(--font-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.editor-thesis-ai-trigger:hover{transform:translateY(-1px);border-color:#2563eb5c;box-shadow:0 12px 24px #2563eb1f}.editor-scroll-container{flex:1;overflow-y:auto;overflow-x:hidden}.editor-thesis-tab-panel{min-height:100%;width:100%;background:var(--bg-panel-strong)}.thesis-body-chapter-switcher{display:flex;flex-wrap:wrap;gap:10px;padding:14px 18px;overflow:visible;background:linear-gradient(180deg,#f8fafcbd,#ffffffe0)}.thesis-body-chapter-button{flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:9px 16px;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:#ffffffe6;color:var(--text-soft);cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff5c;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.thesis-body-chapter-button:hover{border-color:#2563eb33;color:var(--text-body);background:#fffffffa;transform:translateY(-1px)}.thesis-body-chapter-button.active{border-color:#2563eb47;background:linear-gradient(135deg,#2563eb24,#60a5fa14);color:#1d4ed8;box-shadow:0 10px 22px #2563eb1f}.thesis-body-chapter-button span{font-size:var(--font-sm);font-weight:var(--font-weight-semibold);white-space:nowrap}.thesis-body-chapter-button strong{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 10px;border-radius:999px;background:#0f172a0f;font-size:.72rem;font-weight:var(--font-weight-semibold);color:inherit;white-space:nowrap}.thesis-body-chapter-button.active strong{background:#ffffffb8}@media(max-width:900px){.thesis-body-chapter-switcher{flex-wrap:nowrap;padding-right:14px;overflow-x:auto;overflow-y:hidden}}.editor-thesis-cover-card{min-height:100%;padding:28px 32px 40px}.editor-thesis-cover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}.editor-thesis-meta-panel,.editor-thesis-references-panel{padding:28px 32px 40px}.editor-thesis-meta-panel-inner{max-width:920px}.editor-thesis-field-full{grid-column:1 / -1}.editor-thesis-form-header h3{margin:0;font-size:1.1rem;color:var(--text-strong)}.editor-thesis-form-header p{margin:6px 0 0;font-size:var(--font-sm);line-height:1.6;color:var(--text-soft)}.editor-thesis-field{display:flex;flex-direction:column;gap:8px;margin-top:18px}.editor-thesis-field span{font-size:var(--font-xs);color:var(--text-soft)}.editor-thesis-field input,.editor-thesis-field select,.editor-thesis-field textarea{width:100%;border:1px solid var(--line-soft);border-radius:16px;padding:14px 16px;background:#fffffff5;font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-body);outline:none;resize:vertical}.editor-thesis-field input:focus,.editor-thesis-field select:focus,.editor-thesis-field textarea:focus{border-color:#2563eb6b;box-shadow:0 0 0 3px #2563eb1f}.editor-reference-editor{display:grid;grid-template-columns:280px 1fr;gap:0;margin-top:18px;border-top:1px solid var(--line-soft)}.editor-reference-sidebar{border-right:1px solid var(--line-soft);padding:20px 20px 20px 0}.editor-reference-sidebar-header,.editor-reference-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-reference-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.editor-reference-sidebar-header strong,.editor-reference-detail-header strong{font-size:var(--font-sm);color:var(--text-strong)}.editor-reference-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.editor-reference-list-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;margin-right:16px;border:1px solid var(--line-soft);background:transparent;color:var(--text-body);text-align:left;cursor:pointer}.editor-reference-list-item.active{border-color:#2563eb57;background:#2563eb14}.editor-reference-list-item span:first-child{font-size:var(--font-xs);color:var(--text-soft)}.editor-reference-list-item span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--font-sm)}.editor-reference-detail{padding:20px 0 20px 24px}.editor-reference-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.editor-reference-form-grid-rich{align-items:start}.editor-thesis-references-panel textarea{min-height:420px;line-height:1.8}.editor-status-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-5);background:var(--bg-panel);border-top:1px solid var(--line-soft);flex-shrink:0}.word-counter{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-sm);color:var(--text-soft)}.word-counter-warning .word-count-text{color:var(--color-warning)}.word-counter-error .word-count-text{color:var(--color-error)}.word-count-text{font-weight:var(--font-weight-medium);color:var(--text-body)}.word-count-limit,.word-count-label{color:var(--text-soft);font-weight:var(--font-weight-normal)}.word-counter-divider{color:var(--text-muted)}.read-time{color:var(--text-soft)}.editor-status-info{display:flex;align-items:center;gap:var(--space-3)}.editor-article-status{padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-weight-medium)}.editor-article-status.draft{background:var(--color-warning-soft);color:#b45309}.editor-article-status.completed{background:var(--color-success-soft);color:#17646d}.editor-save-status{font-size:var(--font-sm);color:var(--text-soft)}.editor-save-status.saving{color:var(--color-info)}.editor-save-status.saved{color:var(--color-success)}.editor-save-status.error{color:var(--color-error)}@media(max-width:1024px){.editor-ai-panel{display:none}.editor-wrapper{margin:var(--space-3)}.editor-thesis-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.editor-top-header{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.editor-title-input{font-size:1.25rem}.editor-header-actions{flex-wrap:wrap}.editor-wrapper{margin:var(--space-2);border-radius:var(--radius-sm)}.editor-thesis-tabs{padding:10px 10px 0;align-items:stretch;flex-direction:column}.editor-thesis-tab-buttons{width:100%}.editor-thesis-tab-buttons button{flex-shrink:0;padding:10px 12px}.editor-thesis-ai-trigger{width:100%}.editor-thesis-form-shell{padding:14px}.editor-thesis-cover-card,.editor-thesis-meta-panel,.editor-thesis-references-panel{padding:18px}.editor-thesis-cover-grid,.editor-reference-editor,.editor-reference-form-grid{grid-template-columns:1fr}.editor-reference-sidebar{border-right:none;border-bottom:1px solid var(--line-soft);padding-right:0;padding-bottom:18px}.editor-reference-list-item{margin-right:0}.editor-reference-detail{padding-left:0}.editor-status-bar{flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-3)}}@media(max-width:480px){.editor-back-btn span,.editor-header-actions .btn span{display:none}}.styles-page{display:flex;flex-direction:column;gap:var(--space-6);animation:fadeIn .3s ease}.styles-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.styles-header-content h1{margin:0 0 var(--space-2);font-size:var(--font-2xl);font-weight:var(--font-weight-bold);color:var(--text-strong)}.styles-header-content p{margin:0;color:var(--text-soft);font-size:var(--font-base)}.btn-icon-plus{font-size:1.2em;font-weight:var(--font-weight-medium);margin-right:var(--space-1)}.styles-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);gap:var(--space-4)}.styles-loading-spinner{width:36px;height:36px;border:3px solid var(--line-soft);border-top-color:var(--color-accent-start);border-radius:50%;animation:spin .8s linear infinite}.styles-loading p{margin:0;color:var(--text-soft)}.styles-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center;background:var(--bg-panel-strong);border-radius:var(--radius-lg);border:2px dashed var(--line-soft)}.styles-empty-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-5);color:var(--text-muted)}.styles-empty h3{margin:0 0 var(--space-2);font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.styles-empty p{margin:0 0 var(--space-5);color:var(--text-soft);max-width:280px}.styles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-5)}@media(max-width:768px){.styles-grid{grid-template-columns:1fr}}.styles-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.styles-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.styles-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.styles-card-name{margin:0;font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong);line-height:1.3}.styles-card-badges{display:flex;gap:var(--space-2);flex-shrink:0}.styles-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.styles-badge-default{background:var(--bg-accent);color:var(--text-inverse)}.styles-badge-analyzed{background:var(--color-success-soft);color:#17646d}.styles-badge-pending{background:var(--bg-subtle);color:var(--text-muted)}.styles-card-description{margin:0;font-size:var(--font-sm);color:var(--text-soft);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.styles-card-meta{display:flex;align-items:center;gap:var(--space-4);padding-top:var(--space-2)}.styles-card-samples{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-sm);color:var(--text-muted)}.styles-card-samples svg{opacity:.6}.styles-card-actions{display:flex;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--line-soft)}.styles-card-actions .btn{flex:1}.styles-create-form{display:flex;flex-direction:column;gap:var(--space-4)}.styles-create-form .textarea{resize:vertical;min-height:80px}@media(max-width:640px){.styles-header{flex-direction:column;align-items:stretch}.styles-header .btn{align-self:flex-start}}.style-detail-page{display:flex;flex-direction:column;gap:var(--space-6)}.style-detail-loading,.style-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--space-4)}.style-detail-loading-spinner{width:36px;height:36px;border:3px solid var(--line-soft);border-top-color:var(--color-accent-start);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.style-detail-loading p,.style-detail-error h2{color:var(--text-soft)}.style-detail-error h2{font-size:var(--font-lg);font-weight:var(--font-weight-semibold);margin:0}.style-detail-header{display:flex;flex-direction:column;gap:var(--space-4)}.style-detail-back{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) 0;background:none;border:none;color:var(--text-soft);font-size:var(--font-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:color var(--transition-fast);align-self:flex-start}.style-detail-back:hover{color:var(--text-strong)}.style-detail-header-content{flex:1}.style-detail-title-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.style-detail-title-row h1{margin:0;font-size:var(--font-2xl);font-weight:var(--font-weight-bold);color:var(--text-strong)}.style-detail-badge-default{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);background:var(--bg-accent);color:var(--text-inverse);font-size:var(--font-xs);font-weight:var(--font-weight-semibold)}.style-detail-description{margin:0;color:var(--text-soft);font-size:var(--font-base);line-height:1.5}.style-detail-header-actions{display:flex;gap:var(--space-2)}.style-detail-edit-form{display:flex;flex-direction:column;gap:var(--space-3);max-width:480px}.style-detail-edit-form .textarea{resize:vertical;min-height:60px}.style-detail-edit-actions{display:flex;gap:var(--space-2)}.style-detail-content{display:flex;flex-direction:column;gap:var(--space-6)}.style-detail-section{padding:var(--space-6)}.style-detail-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.style-detail-section-header h2{margin:0;font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.style-detail-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);border:2px dashed var(--line-soft);border-radius:var(--radius-md);background:var(--bg-subtle);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.style-detail-upload-zone:hover{border-color:var(--line-strong);background:var(--bg-surface)}.style-detail-upload-zone.dragging{border-color:var(--color-accent-start);background:#4f7cff14}.style-detail-upload-icon{color:var(--text-muted);margin-bottom:var(--space-3)}.style-detail-upload-zone p{margin:0 0 var(--space-1);font-size:var(--font-base);font-weight:var(--font-weight-medium);color:var(--text-body)}.style-detail-upload-zone span{font-size:var(--font-sm);color:var(--text-muted)}.style-detail-samples{margin-top:var(--space-5)}.style-detail-samples-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-3);border-bottom:1px solid var(--line-soft);margin-bottom:var(--space-3)}.style-detail-samples-header span{font-size:var(--font-sm);color:var(--text-muted)}.style-detail-sample-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-subtle);border-radius:var(--radius-sm);margin-bottom:var(--space-2);transition:background-color var(--transition-fast)}.style-detail-sample-item:hover{background:var(--bg-surface)}.style-detail-sample-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--bg-accent-soft);color:var(--color-accent-start);flex-shrink:0}.style-detail-sample-info{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.style-detail-sample-name{font-size:var(--font-base);font-weight:var(--font-weight-medium);color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.style-detail-sample-meta{font-size:var(--font-sm);color:var(--text-muted)}.style-detail-sample-actions{display:flex;gap:var(--space-1);flex-shrink:0;margin-left:auto}.style-detail-sample-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.style-detail-sample-btn:hover{background:var(--bg-surface);color:var(--text-strong)}.style-detail-sample-btn-danger:hover{background:#ef44441a;color:var(--color-error)}.style-detail-analyzing{display:flex;flex-direction:column;gap:var(--space-4)}.style-detail-analyzing-indicator{display:flex;align-items:center;gap:var(--space-3);color:var(--text-soft);font-size:var(--font-sm)}.style-detail-pulse{width:10px;height:10px;border-radius:50%;background:var(--color-accent-start);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.style-detail-analyzing-content{padding:var(--space-4);background:var(--bg-subtle);border-radius:var(--radius-sm);min-height:120px;max-height:300px;overflow-y:auto;font-size:var(--font-sm);line-height:1.6}.style-detail-analysis{display:flex;flex-direction:column;gap:var(--space-5)}.style-detail-analysis-summary{padding:var(--space-5);background:var(--bg-accent-soft);border-radius:var(--radius-md);border-left:4px solid var(--color-accent-start)}.style-detail-analysis-summary blockquote{margin:0;font-size:var(--font-base);line-height:1.7;color:var(--text-body);font-style:italic}.style-detail-analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.style-detail-analysis-item{padding:var(--space-4);background:var(--bg-subtle);border-radius:var(--radius-sm)}.style-detail-analysis-item h4{margin:0 0 var(--space-2);font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.style-detail-analysis-item p{margin:0;font-size:var(--font-base);color:var(--text-strong);line-height:1.5}.style-detail-analysis-tags{padding:var(--space-4);background:var(--bg-subtle);border-radius:var(--radius-sm)}.style-detail-analysis-tags h4{margin:0 0 var(--space-3);font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.style-detail-tag-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.style-detail-tag{display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:var(--font-weight-medium)}.style-detail-tag-vocab{background:#4f7cff1f;color:#4060c8}.style-detail-tag-rhetoric{background:#31c4b71f;color:#17646d}.style-detail-tag-avoid{background:#ef44441f;color:#b42318}.style-detail-analysis-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-8);gap:var(--space-4)}.style-detail-analysis-empty-icon{color:var(--text-muted)}.style-detail-analysis-empty p{margin:0;max-width:320px;color:var(--text-soft);line-height:1.5}.style-detail-analysis-hint{font-size:var(--font-sm);color:var(--text-muted)}.style-detail-preview{display:flex;flex-direction:column;gap:var(--space-4)}.style-detail-preview-meta{display:flex;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--line-soft);font-size:var(--font-sm);color:var(--text-muted)}.style-detail-preview-content{max-height:60vh;overflow-y:auto;padding:var(--space-4);background:var(--bg-subtle);border-radius:var(--radius-sm);font-size:var(--font-base);line-height:1.8;word-wrap:break-word}.markdown-content h1{font-size:1.6em;font-weight:var(--font-weight-bold);color:var(--text-strong);margin:0 0 .8em;padding-bottom:.3em;border-bottom:1px solid var(--line-soft)}.markdown-content h2{font-size:1.4em;font-weight:var(--font-weight-semibold);color:var(--text-strong);margin:1.2em 0 .6em}.markdown-content h3{font-size:1.2em;font-weight:var(--font-weight-semibold);color:var(--text-strong);margin:1em 0 .5em}.markdown-content h4,.markdown-content h5,.markdown-content h6{font-size:1.05em;font-weight:var(--font-weight-semibold);color:var(--text-strong);margin:.8em 0 .4em}.markdown-content p{margin:0 0 .8em;line-height:1.8}.markdown-content ul,.markdown-content ol{padding-left:1.5em;margin:0 0 .8em}.markdown-content li{margin:.3em 0;line-height:1.6}.markdown-content code{background:var(--bg-inset);padding:2px 6px;border-radius:4px;font-size:.9em;font-family:Menlo,Monaco,Courier New,monospace;color:var(--text-strong)}.markdown-content pre{background:var(--bg-inset);padding:12px 16px;border-radius:var(--radius-sm);overflow-x:auto;margin:0 0 .8em}.markdown-content pre code{background:none;padding:0;font-size:.85em;line-height:1.6}.markdown-content blockquote{border-left:3px solid var(--color-accent-start);padding-left:12px;margin:0 0 .8em;color:var(--text-soft);font-style:italic}.markdown-content strong{font-weight:600;color:var(--text-strong)}.markdown-content em{font-style:italic}.markdown-content del{text-decoration:line-through;color:var(--text-muted)}.markdown-content a{color:var(--color-accent-start);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content hr{border:none;border-top:1px solid var(--line-soft);margin:1.5em 0}.markdown-content img{max-width:100%;height:auto;border-radius:var(--radius-sm)}@media(max-width:768px){.style-detail-header-actions{flex-wrap:wrap}.style-detail-analysis-grid{grid-template-columns:1fr}.style-detail-sample-item{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.style-detail-sample-actions{width:100%}.style-detail-sample-actions .btn{flex:1}}.image-library-page{display:flex;flex-direction:column;gap:var(--space-6);height:100%}.image-library-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.header-content h1{margin:0 0 var(--space-2);font-size:var(--font-2xl);font-weight:var(--font-weight-bold);color:var(--text-strong)}.header-content p{margin:0;color:var(--text-soft)}.image-library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--line-soft)}.image-library-search{display:flex;align-items:center;gap:var(--space-2);flex:1;max-width:320px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);background:var(--bg-panel-strong);border:1px solid var(--line-soft);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.image-library-search:focus-within{border-color:var(--line-focus);box-shadow:var(--shadow-glow)}.image-library-search-icon{font-size:var(--font-base);opacity:.5}.image-library-search-input{flex:1;border:none;background:transparent;font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-strong);outline:none}.image-library-search-input::placeholder{color:var(--text-muted)}.image-library-search-clear{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--bg-subtle);color:var(--text-soft);font-size:var(--font-xs);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.image-library-search-clear:hover{background:var(--bg-accent);color:var(--text-inverse)}.toolbar-view{display:flex;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-xs);background:var(--bg-subtle)}.toolbar-view .view-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-xs);background:transparent;font-size:var(--font-md);color:var(--text-soft);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.toolbar-view .view-btn:hover{color:var(--text-body)}.toolbar-view .view-btn.active{background:var(--bg-panel-strong);color:var(--text-strong);box-shadow:var(--shadow-sm)}.image-library-content{flex:1;overflow-y:auto}.image-library-group{margin-bottom:var(--space-8)}.group-title{margin:0 0 var(--space-4);font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em}.image-library-grid{display:grid;gap:var(--space-4)}.image-library-grid.image-library-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.image-library-waterfall{column-count:3;column-gap:var(--space-4)}.image-library-waterfall .image-library-item{break-inside:avoid;margin-bottom:var(--space-4)}.image-library-item{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-subtle);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.image-library-grid.image-library-grid .image-library-item{aspect-ratio:4/3}.image-library-item:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-card-hover)}.image-library-item.deleting{pointer-events:none}.image-library-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition-normal)}.image-library-item:hover img{transform:scale(1.08)}.image-library-item-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-3);background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.2) 40%,transparent 70%);opacity:0;transition:opacity var(--transition-fast)}.image-library-item:hover .image-library-item-overlay{opacity:1}.image-item-info{display:flex;flex-direction:column;gap:var(--space-1);margin-top:auto}.image-item-photographer,.image-item-query{display:flex;align-items:center;gap:6px}.image-item-photographer{font-size:var(--font-sm);color:#fff;font-weight:var(--font-weight-medium)}.image-item-query{font-size:var(--font-xs);color:#ffffffb3}.image-item-actions{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;gap:var(--space-2);opacity:0;transform:translateY(-8px);transition:opacity var(--transition-fast),transform var(--transition-fast)}.image-library-item:hover .image-item-actions{opacity:1;transform:translateY(0)}.image-item-action{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-xs);background:#fffffff2;font-size:var(--font-sm);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast)}.image-item-action:hover{background:#ffffff4d;transform:scale(1.1)}.image-item-action-danger:hover{background:var(--color-error)}.image-library-empty,.image-library-no-results,.image-library-loading,.image-library-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);text-align:center;min-height:400px;border-radius:var(--radius-lg);background:var(--bg-surface);border:1px dashed var(--line-soft)}.image-library-loading{color:var(--text-soft);gap:var(--space-4);border-style:solid}.image-library-loading .loading-spinner{animation:spin 1s linear infinite}.image-library-error{border-color:var(--color-error-soft, rgba(239, 68, 68, .2))}.error-icon{color:var(--color-error);margin-bottom:var(--space-4)}.image-library-error h3{margin:0 0 var(--space-2);color:var(--text-strong)}.image-library-error p{margin:0 0 var(--space-5);color:var(--text-soft)}.empty-icon,.no-results-icon{font-size:4rem;margin-bottom:var(--space-5);opacity:.8}.image-library-empty h3,.image-library-no-results h3{margin:0 0 var(--space-2);font-size:var(--font-xl);color:var(--text-strong)}.image-library-empty p,.image-library-no-results p{margin:0 0 var(--space-6);color:var(--text-soft)}.image-library-preview-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:#000000d9}.image-library-preview-content{position:relative;display:flex;flex-direction:column;max-width:90vw;max-height:90vh;border-radius:var(--radius-lg);background:var(--bg-panel-strong);overflow:hidden;box-shadow:var(--shadow-lg)}.preview-close{position:absolute;top:var(--space-4);right:var(--space-4);z-index:10;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#00000080;color:#fff;font-size:var(--font-lg);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast)}.preview-close:hover{background:#000000b3;transform:scale(1.1)}.preview-image{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#000}.preview-image img{max-width:100%;max-height:60vh;object-fit:contain}.preview-info{padding:var(--space-5) var(--space-6);border-top:1px solid var(--line-soft)}.preview-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.preview-photographer{display:flex;flex-direction:column;gap:var(--space-1)}.meta-label{font-size:var(--font-xs);color:var(--text-soft)}.preview-photographer a{font-weight:var(--font-weight-semibold);color:var(--text-strong);text-decoration:none}.preview-photographer a:hover{color:var(--color-accent-start)}.preview-size{font-size:var(--font-sm);color:var(--text-soft);padding:var(--space-2) var(--space-3);background:var(--bg-subtle);border-radius:var(--radius-xs)}.preview-query{font-size:var(--font-sm);color:var(--text-body);padding:var(--space-2) var(--space-3);background:var(--bg-subtle);border-radius:var(--radius-xs);margin-bottom:var(--space-4)}.preview-actions{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.preview-attribution{font-size:var(--font-xs);color:var(--text-muted)}.preview-attribution a{color:var(--text-soft);text-decoration:underline}.preview-attribution a:hover{color:var(--color-accent-start)}@media(max-width:768px){.image-library-header{flex-direction:column;align-items:stretch}.image-library-toolbar{flex-direction:column;gap:var(--space-3)}.image-library-search{max-width:none}.image-library-grid.image-library-grid{grid-template-columns:repeat(2,1fr)}.image-library-waterfall{column-count:2}.image-library-preview-content{max-width:95vw;max-height:95vh}}@media(max-width:480px){.image-library-waterfall{column-count:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.image-library-toast{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--bg-panel-strong);box-shadow:var(--shadow-lg);font-size:var(--font-sm);z-index:var(--z-toast)}.image-library-toast-error{background:var(--color-error-soft, rgba(239, 68, 68, .1));color:var(--color-error)}.image-library-toast button{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:inherit;opacity:.7;cursor:pointer;transition:opacity var(--transition-fast)}.image-library-toast button:hover{opacity:1}.settings-page{display:flex;flex-direction:column;gap:var(--space-6);max-width:680px;margin:0 auto;padding-bottom:var(--space-16)}.settings-header h1{margin:0;font-size:var(--font-2xl);font-weight:var(--font-weight-bold);color:var(--text-strong)}.settings-grid{display:flex;flex-direction:column;gap:var(--space-4)}.settings-card{padding:var(--space-5) var(--space-6);border-radius:var(--radius-md);border:1px solid var(--line-soft);background:var(--bg-card-solid);box-shadow:var(--shadow-sm)}.settings-card-title{margin:0 0 var(--space-4);font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.settings-card-danger{border-color:#ef444426;background:var(--color-error-soft, rgba(239, 68, 68, .04))}.settings-card-title-danger{display:flex;align-items:center;gap:var(--space-2);color:var(--color-error)}.account-row{display:flex;align-items:center;gap:var(--space-4)}.account-avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--bg-accent-soft, rgba(79, 124, 255, .1));color:var(--color-accent-start);font-size:var(--font-lg);font-weight:var(--font-weight-bold)}.account-meta{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.account-name{font-size:var(--font-base);font-weight:var(--font-weight-semibold);color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-email{font-size:var(--font-xs);color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-4) 0;border-bottom:1px solid var(--line-soft)}.settings-item-indent{padding-left:var(--space-8);border-bottom-style:dashed;opacity:.85}.settings-item-content{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.settings-item-label{font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-strong)}.settings-item-hint{font-size:var(--font-xs);color:var(--text-soft);line-height:1.4}.settings-item-control{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.theme-buttons{display:flex;gap:2px;padding:3px;border-radius:var(--radius-sm);background:var(--bg-subtle)}.theme-btn{display:flex;align-items:center;gap:6px;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-body);font-size:var(--font-sm);cursor:pointer;transition:all .15s ease}.theme-btn span{line-height:1}.theme-btn:hover{color:var(--text-strong)}.theme-btn-active{background:var(--bg-panel-strong);color:var(--text-strong);box-shadow:0 1px 3px #0000000f}.toggle-switch{position:relative;width:44px;height:24px;padding:0;border:none;border-radius:var(--radius-full);background:var(--bg-subtle);cursor:pointer;transition:background .18s ease}.toggle-switch-on{background:var(--color-accent-start)}.toggle-switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000001f;transition:transform .18s cubic-bezier(.22,1,.36,1)}.toggle-switch-on .toggle-switch-thumb{transform:translate(20px)}.toggle-switch:disabled{opacity:.4;cursor:not-allowed}.range-slider{width:100px;height:4px;border-radius:2px;background:var(--bg-subtle);outline:none;cursor:pointer;-webkit-appearance:none;appearance:none}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--color-accent-start);cursor:pointer;box-shadow:0 1px 4px #4f7cff4d;transition:transform .12s ease}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.range-slider::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:var(--color-accent-start);cursor:pointer;box-shadow:0 1px 4px #4f7cff4d}.range-value{font-size:var(--font-xs);color:var(--text-soft);font-variant-numeric:tabular-nums;min-width:28px}.select-input:hover{border-color:var(--line-strong)}.select-input:focus{border-color:var(--color-accent-start);box-shadow:0 0 0 3px #4f7cff1a}@media(max-width:640px){.settings-page{max-width:100%;padding-left:var(--space-4);padding-right:var(--space-4)}.settings-card{padding:var(--space-4)}.settings-item{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.settings-item-control{width:100%}.settings-item-indent{padding-left:var(--space-4)}.theme-buttons{width:100%}.theme-btn{flex:1;justify-content:center}}.settings-page{display:flex;flex-direction:column;gap:var(--space-6);max-width:960px;margin:0 auto;padding-bottom:var(--space-12)}.settings-header h1{margin:0 0 var(--space-2);font-size:var(--font-2xl);font-weight:var(--font-weight-bold);color:var(--text-strong)}.settings-header p{margin:0;color:var(--text-soft)}.settings-sections{display:flex;flex-direction:column;gap:var(--space-8)}.section-header{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.section-icon{font-size:var(--font-xl);line-height:1}.section-header h2{margin:0;font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.section-desc{margin:var(--space-1) 0 0;font-size:var(--font-sm);color:var(--text-soft)}.settings-card{padding:var(--space-5);border-radius:var(--radius-lg);background:#fffffffa;border:1px solid var(--line-soft);box-shadow:var(--shadow-card)}[data-theme=dark] .settings-card{background:#1e2530fa}.card-danger{border-color:#ef444433;background:var(--color-error-soft)}.settings-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--line-soft)}.settings-item:first-child{padding-top:0}.settings-item:last-child{border-bottom:none;padding-bottom:0}.settings-item-content{display:flex;flex-direction:column;gap:var(--space-1);flex:0 1 240px;min-width:0}.settings-item-label{font-weight:var(--font-weight-medium);color:var(--text-strong)}.settings-item-hint{font-size:var(--font-sm);color:var(--text-soft)}.settings-item-hint a{color:var(--color-accent-start);text-decoration:none}.settings-item-hint a:hover{text-decoration:underline}.settings-item-control{display:flex;align-items:center;gap:var(--space-3);flex:1 1 0;min-width:0;justify-content:flex-end}.settings-item-cards{align-items:flex-start}.settings-item-control-cards{align-self:stretch}.settings-item-value{color:var(--text-body);font-size:var(--font-sm)}.settings-item-action{justify-content:flex-end}.settings-item-warning,.settings-item-loading,.settings-item-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-sm);margin-bottom:var(--space-2)}.settings-item-warning{background:var(--color-warning-soft, rgba(234, 179, 8, .1));color:var(--color-warning, #ca8a04);border:1px solid var(--color-warning-line, rgba(234, 179, 8, .3))}.settings-item-loading{background:var(--bg-accent-soft, rgba(79, 124, 255, .1));color:var(--color-accent-start);border:1px solid var(--color-accent-line, rgba(79, 124, 255, .3))}.settings-item-error{background:var(--color-error-soft);color:var(--color-error);border:1px solid rgba(239,68,68,.3)}.spin-animation{animation:spin 1s linear infinite}.api-key-input:disabled,.api-key-toggle:disabled,.model-card:disabled{opacity:.5;cursor:not-allowed}.model-card:disabled:hover{transform:none;border-color:var(--line-soft)}.api-key-control{flex-wrap:wrap}.api-key-input-wrapper{position:relative;display:flex;align-items:center}.api-key-input{width:240px;padding-right:44px;font-family:monospace;font-size:var(--font-sm)}.api-key-toggle{position:absolute;right:var(--space-2);padding:var(--space-1);border:none;background:transparent;cursor:pointer;font-size:var(--font-base);opacity:.6;transition:opacity var(--transition-fast)}.api-key-toggle:hover{opacity:1}.status-indicator{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:700}.status-idle{background:var(--bg-subtle);border:2px solid var(--line-soft)}.status-loading{border:2px solid var(--color-accent-start);border-right-color:transparent;animation:spin .6s linear infinite}.status-valid{background:var(--color-success);color:#fff}.status-invalid{background:var(--color-error);color:#fff}.saved-indicator{font-size:var(--font-xs);color:var(--color-success);font-weight:var(--font-weight-medium);white-space:nowrap}.model-cards{display:flex;gap:var(--space-3);flex-wrap:wrap;width:100%;justify-content:flex-end}.model-card{display:flex;flex-direction:column;gap:var(--space-1);flex:1 1 190px;min-width:150px;max-width:240px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:2px solid var(--line-soft);background:var(--bg-surface);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast);text-align:left}.model-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.model-card-selected{border-color:var(--color-accent-start);background:var(--bg-accent-soft);box-shadow:0 0 0 3px #4f7cff1a}.model-name{font-weight:var(--font-weight-semibold);color:var(--text-strong);font-size:var(--font-sm)}.model-desc{font-size:var(--font-xs);color:var(--text-soft)}.model-price{font-size:var(--font-xs);color:var(--color-accent-start);font-weight:var(--font-weight-medium)}.theme-buttons{display:flex;gap:var(--space-2);padding:3px;border-radius:var(--radius-sm);background:var(--bg-subtle)}.theme-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-body);font-size:var(--font-sm);line-height:1.2;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);text-align:center}.theme-btn svg{flex-shrink:0}.theme-btn:hover{background:var(--bg-panel-strong)}.theme-btn-active{background:var(--bg-panel-strong);color:var(--text-strong);box-shadow:var(--shadow-sm)}.toggle-switch{position:relative;width:50px;height:28px;padding:0;border:none;border-radius:var(--radius-full);background:var(--bg-subtle);cursor:pointer;transition:background var(--transition-fast)}.toggle-switch-on{background:var(--color-success)}.toggle-switch-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #00000026;transition:transform var(--transition-fast)}.toggle-switch-on .toggle-switch-thumb{transform:translate(22px)}.toggle-switch:disabled{opacity:.5;cursor:not-allowed}.range-slider{width:120px;height:4px;border-radius:2px;background:var(--bg-subtle);outline:none;cursor:pointer;-webkit-appearance:none}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-accent-start);cursor:pointer;box-shadow:0 2px 4px #4f7cff4d}.range-slider::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:50%;background:var(--color-accent-start);cursor:pointer;box-shadow:0 2px 4px #4f7cff4d}.range-value{font-size:var(--font-sm);color:var(--text-soft);min-width:30px}.select-input{padding:var(--space-2) var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-xs);background:var(--bg-surface);color:var(--text-strong);font-size:var(--font-sm);cursor:pointer;outline:none;transition:border-color var(--transition-fast)}.select-input:hover,.select-input:focus{border-color:var(--line-focus)}.settings-section-danger .section-header h2{color:var(--color-error)}@media(max-width:640px){.settings-page{max-width:100%}.settings-item{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.settings-item-control{width:100%;flex-wrap:wrap}.api-key-input{width:100%}.model-cards{flex-direction:column;width:100%}.model-card{width:100%;max-width:none}.theme-buttons{width:100%;justify-content:space-between}.theme-btn{flex:1;min-width:0}}.recharge-modal{width:100%;max-width:460px;max-height:85vh;display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--bg-panel-strong);box-shadow:var(--shadow-lg);overflow:hidden}.recharge-header{flex-shrink:0;display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-6) var(--space-6) var(--space-4);position:relative}.recharge-header-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--color-info-soft);color:var(--color-info);flex-shrink:0}.recharge-title{margin:0;font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.recharge-subtitle{margin:var(--space-1) 0 0;font-size:var(--font-sm);color:var(--text-soft)}.recharge-close-btn{position:absolute;top:var(--space-5);right:var(--space-5);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-soft);border-radius:var(--radius-xs);background:transparent;color:var(--text-soft);cursor:pointer;transition:all var(--transition-fast)}.recharge-close-btn:hover{background:var(--bg-subtle);color:var(--text-strong)}.recharge-packages{flex:1;min-height:0;overflow-y:auto;padding:0 var(--space-6) var(--space-4)}.recharge-package-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);padding-bottom:calc(var(--space-3) + 30px);margin-bottom:var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;transition:all var(--transition-fast);position:relative}.recharge-package-card:hover{border-color:var(--line-strong);background:var(--bg-panel-strong)}.recharge-package-card.selected{border-color:var(--color-info);background:var(--color-info-soft);box-shadow:0 0 0 2px #4f7cff26}.recharge-package-info{flex:1;min-width:0}.recharge-package-name{margin:0;font-size:var(--font-base);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.recharge-package-desc{margin:var(--space-1) 0 0;font-size:var(--font-sm);color:var(--text-soft);line-height:1.4}.recharge-package-price{text-align:right;flex-shrink:0}.recharge-package-price-current{font-size:var(--font-lg);font-weight:var(--font-weight-bold);color:var(--color-info)}.recharge-package-price-original{font-size:var(--font-xs);color:var(--text-muted);text-decoration:line-through;margin-top:2px}.recharge-package-credits{position:absolute;bottom:var(--space-3);left:var(--space-4);display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);background:var(--color-info-soft);color:var(--color-info);font-size:var(--font-xs);font-weight:var(--font-weight-medium)}.recharge-actions{flex-shrink:0;display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6) var(--space-6);border-top:1px solid var(--line-soft);background:var(--bg-subtle)}.recharge-qr-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-6) var(--space-6)}.recharge-qr-canvas{width:200px;height:200px;border-radius:var(--radius-sm);background:#fff;padding:var(--space-2);box-shadow:var(--shadow-sm)}.recharge-qr-package{margin:0;font-size:var(--font-base);font-weight:var(--font-weight-medium);color:var(--text-strong)}.recharge-qr-countdown{display:flex;align-items:center;gap:4px;font-size:var(--font-sm);color:var(--text-soft)}.recharge-qr-countdown.expiring{color:var(--color-error)}.recharge-qr-hint{margin:0;font-size:var(--font-xs);color:var(--text-muted)}.recharge-qr-back{margin-top:var(--space-2)}.recharge-success{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-4)}.recharge-success-circle{width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-success-soft);color:var(--color-success);animation:success-pop .4s cubic-bezier(.34,1.56,.64,1)}.recharge-success-check{width:40px;height:40px;animation:check-draw .4s ease-out .15s forwards;stroke-dasharray:28;stroke-dashoffset:28}.recharge-success-text{margin:0;font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--color-success)}.recharge-success-detail{margin:0;font-size:var(--font-sm);color:var(--text-soft)}.recharge-expired{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--color-error)}.recharge-expired p{margin:0;font-size:var(--font-sm)}.recharge-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8) 0;color:var(--text-soft);font-size:var(--font-sm)}.recharge-loading .btn-spinner{width:20px;height:20px}.recharge-error{padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-error-soft);color:var(--color-error);font-size:var(--font-sm);margin-bottom:var(--space-3)}.recharge-error p{margin:0}@keyframes success-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes check-draw{to{stroke-dashoffset:0}}.profile-page{padding:var(--space-6) 0}.profile-container{max-width:900px;margin:0 auto;padding:0 var(--space-6)}.profile-page-title{margin:0;font-size:var(--font-2xl);font-weight:var(--font-weight-bold);color:var(--text-strong)}.profile-back-link{display:inline-block;margin-bottom:var(--space-4);font-size:var(--font-sm);color:var(--text-soft);text-decoration:none;transition:color var(--transition-fast)}.profile-back-link:hover{color:var(--color-accent-start)}.profile-page-subtitle{margin:var(--space-2) 0 0;font-size:var(--font-sm);color:var(--text-soft)}.profile-layout{display:flex;gap:var(--space-8);margin-top:var(--space-8)}.profile-sidebar{width:160px;flex-shrink:0}.profile-nav{display:flex;flex-direction:column;gap:var(--space-1)}.profile-nav-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:10px 14px;border:none;border-radius:var(--radius-xs);background:transparent;font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-soft);cursor:pointer;text-align:left;transition:all var(--transition-fast)}.profile-nav-item:hover{background:var(--bg-subtle);color:var(--text-strong)}.profile-nav-item.active{background:var(--color-info-soft);color:var(--color-info);font-weight:var(--font-weight-semibold)}.profile-content{flex:1;min-width:0}.profile-user-card{margin-bottom:var(--space-5)}.profile-user-info{display:flex;align-items:center;gap:var(--space-4)}.profile-user-name{margin:0;font-size:var(--font-md);font-weight:var(--font-weight-semibold);color:var(--text-strong);text-transform:capitalize}.profile-user-email{margin:var(--space-1) 0 0;font-size:var(--font-sm);color:var(--text-soft)}.profile-user-info .btn{margin-left:auto}.profile-points-card{margin-bottom:var(--space-5)}.profile-points-header{display:flex;justify-content:space-between;align-items:flex-start}.profile-points-label{margin:0;font-size:var(--font-sm);color:var(--text-soft)}.profile-points-balance{margin:var(--space-2) 0 0;font-size:36px;font-weight:var(--font-weight-bold);color:var(--color-info);line-height:1}.profile-points-cost{margin:var(--space-2) 0 0;font-size:var(--font-xs);color:var(--text-muted)}.profile-points-actions{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-end}.profile-points-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--line-soft)}.profile-points-stat{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--bg-subtle)}.profile-points-stat-label{font-size:var(--font-xs);color:var(--text-muted)}.profile-points-stat-value{display:block;margin-top:var(--space-1);font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.profile-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.profile-section-title{margin:0;font-size:var(--font-base);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.profile-refresh-btn{font-size:var(--font-xs);color:var(--text-muted);background:none;border:none;cursor:pointer;transition:color var(--transition-fast)}.profile-refresh-btn:hover{color:var(--text-soft)}.profile-order-list,.profile-record-list{display:flex;flex-direction:column;gap:var(--space-3)}.profile-order-item,.profile-record-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-surface)}.profile-order-info,.profile-record-info{flex:1;min-width:0}.profile-order-name-row{display:flex;align-items:center;gap:var(--space-3)}.profile-order-name{font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-strong)}.profile-order-meta{margin:var(--space-1) 0 0;font-size:var(--font-xs);color:var(--text-muted)}.profile-order-amount{text-align:right;flex-shrink:0;margin-left:var(--space-4)}.profile-order-price{margin:0;font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.profile-order-credits{margin:2px 0 0;font-size:var(--font-xs);color:var(--color-info)}.profile-order-pay-btn{margin-top:var(--space-2);padding:4px 14px;border:none;border-radius:var(--radius-full);background:var(--color-info);color:#fff;font-family:var(--font-family);font-size:var(--font-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.profile-order-pay-btn:hover{background:var(--color-info-dark, #3b6cd4)}.profile-record-info{display:flex;align-items:center;gap:var(--space-3)}.profile-record-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);flex-shrink:0}.profile-record-icon.consume{background:var(--color-error-soft);color:var(--color-error)}.profile-record-icon.earn{background:var(--color-success-soft);color:var(--color-success)}.profile-record-reason{margin:0;font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-strong)}.profile-record-time{margin:var(--space-1) 0 0;font-size:var(--font-xs);color:var(--text-muted)}.profile-record-amount{text-align:right;flex-shrink:0;margin-left:var(--space-4)}.profile-record-amount span{display:block;font-size:var(--font-sm);font-weight:var(--font-weight-semibold)}.profile-record-amount .consume{color:var(--color-error)}.profile-record-amount .earn{color:var(--color-success)}.profile-record-balance{font-size:var(--font-xs)!important;color:var(--text-muted)!important;font-weight:var(--font-weight-normal)!important;margin-top:2px}.profile-record-icon svg{color:inherit}.profile-pagination{display:flex;align-items:center;justify-content:center;gap:2px;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line-soft)}.profile-pagination button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-xs);background:transparent;font-family:var(--font-family);font-size:var(--font-xs);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.profile-pagination button:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-strong)}.profile-pagination button.active{background:var(--color-info);color:#fff}.profile-pagination button:disabled{opacity:.3;cursor:not-allowed}.profile-empty{text-align:center;padding:var(--space-10) 0}.profile-empty p{margin:0;font-size:var(--font-sm);color:var(--text-muted)}.profile-empty-action{display:inline-block;margin-top:var(--space-4);font-size:var(--font-xs);color:var(--color-info);background:none;border:none;cursor:pointer;text-decoration:underline}.profile-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-8) 0}.profile-loading .btn-spinner{width:24px;height:24px}.articles-page{display:flex;flex-direction:column;gap:var(--space-6);padding-bottom:var(--space-8)}.articles-header{margin-bottom:var(--space-2)}.articles-header-content{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.articles-header-text h1{margin:0 0 var(--space-2);font-size:var(--font-2xl);font-weight:var(--font-weight-bold);color:var(--text-strong)}.articles-header-text p{margin:0;color:var(--text-soft);font-size:var(--font-base)}.articles-header-actions{display:flex;gap:var(--space-3);flex-shrink:0}@media(max-width:600px){.articles-header-content{flex-direction:column}.articles-header-actions{width:100%}.articles-header-actions .btn{flex:1}}.articles-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.filter-group{display:flex;align-items:center;gap:var(--space-3);flex:1;overflow-x:auto}.filter-tabs{display:flex;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-sm);background:var(--bg-subtle)}.filter-tab{padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-xs);background:transparent;font-family:var(--font-family);font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-soft);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast)}.filter-tab:hover{color:var(--text-body)}.filter-tab.active{background:var(--bg-panel-strong);color:var(--text-strong);box-shadow:var(--shadow-sm)}.filter-divider{width:1px;height:24px;background:var(--line-soft);flex-shrink:0}.articles-content{display:flex;flex-direction:column;gap:var(--space-5)}.articles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}@media(max-width:1400px){.articles-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1000px){.articles-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.articles-grid{grid-template-columns:1fr}}.article-card{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--bg-panel-strong);cursor:pointer;transition:box-shadow var(--transition-fast),border-color var(--transition-fast);box-shadow:var(--shadow-card)}.article-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--line-strong)}.article-card:hover .article-actions{opacity:1;transform:translateY(0)}.article-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.platform-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-weight-medium)}.status-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-weight-semibold)}.status-badge.status-draft{background:var(--color-warning-soft);color:var(--status-draft-color)}.status-badge.status-completed{background:var(--color-success-soft);color:var(--status-completed-color)}.article-title{margin:0;font-size:var(--font-md);font-weight:var(--font-weight-semibold);color:var(--text-strong);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-excerpt{margin:0;font-size:var(--font-sm);color:var(--text-soft);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.article-excerpt.empty{color:var(--text-muted);font-style:italic}.article-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line-soft)}.article-meta{font-size:var(--font-xs);color:var(--text-muted)}.article-actions{position:absolute;right:var(--space-3);top:var(--space-3);display:flex;gap:var(--space-1);opacity:0;transform:translateY(-4px);transition:opacity var(--transition-fast),transform var(--transition-fast)}.action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-xs);background:var(--bg-panel-strong);cursor:pointer;font-size:var(--font-sm);color:var(--text-soft);box-shadow:var(--shadow-sm);transition:background var(--transition-fast),transform var(--transition-fast),color var(--transition-fast)}.action-btn:hover{background:var(--bg-surface);transform:scale(1.1);color:var(--text-strong)}.action-btn.delete:hover{background:var(--color-error-soft);color:var(--color-error)}.article-card-skeleton{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--bg-panel-strong)}.skeleton-footer{display:flex;justify-content:space-between;padding-top:var(--space-3);border-top:1px solid var(--line-soft)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12) var(--space-6);text-align:center}.empty-icon{color:var(--text-muted);opacity:.5}.empty-state h3{margin:0;font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.empty-state p{margin:0;color:var(--text-soft);max-width:300px}.pagination-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding-top:var(--space-4)}.pagination-controls{display:flex;align-items:center;gap:var(--space-1)}.pagination-btn{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 var(--space-2);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-panel-strong);color:var(--text-body);font-family:var(--font-family);font-size:var(--font-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.pagination-btn:hover:not(:disabled){background:var(--bg-surface);border-color:var(--line-strong);color:var(--text-strong)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn.pagination-num.active{background:var(--bg-accent);border-color:var(--bg-accent);color:var(--text-inverse);box-shadow:var(--shadow-accent)}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-muted)}.pagination-info{text-align:center;font-size:var(--font-sm);color:var(--text-muted)}.platform-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.platform-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px 18px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.platform-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-card)}.platform-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-sm);font-size:1.5rem}.platform-name{font-size:.95rem;font-weight:var(--font-weight-semibold);color:var(--text-strong)}.platform-desc{font-size:var(--font-xs);line-height:1.6;color:var(--text-soft)}.delete-confirm-text{margin:0;color:var(--text-body);line-height:1.6}.delete-confirm-text strong{color:var(--text-strong)}.thesis-planner-page{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:var(--space-4);height:100%;padding:var(--space-3);border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-xl);background:radial-gradient(circle at top left,rgba(37,99,235,.08),transparent 28%),linear-gradient(180deg,#f8fafcf5,#fffffffa);box-shadow:inset 0 1px #fff9;min-height:0;overflow:hidden}.thesis-planner-prefill-loading{display:inline-flex;align-items:center;gap:var(--space-3);width:fit-content;padding:var(--space-3) var(--space-4);border:1px solid var(--line-soft);border-radius:var(--radius-full);background:var(--bg-panel-strong);color:var(--text-soft);font-size:var(--font-sm)}.thesis-planner-prefill-spinner{width:16px;height:16px;border:2px solid var(--line-soft);border-top-color:var(--color-accent-start);border-radius:50%;animation:spin .8s linear infinite}.thesis-planner-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid rgba(148,163,184,.16);border-radius:calc(var(--radius-xl) - 6px);background:radial-gradient(circle at top left,rgba(37,99,235,.1),transparent 30%),linear-gradient(135deg,#ffffffc7,#f1f5ffeb);box-shadow:inset 0 1px #ffffffb8}.thesis-planner-hero-copy{display:flex;flex-direction:column;gap:var(--space-2);max-width:760px}.thesis-planner-eyebrow{display:inline-flex;align-items:center;width:fit-content;padding:6px 10px;border-radius:var(--radius-full);background:#2563eb14;color:#1d4ed8;font-size:var(--font-xs);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase}.thesis-planner-hero-copy p{max-width:62ch;color:var(--text-body)}.thesis-planner-hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);background:#ffffffc2;border:1px solid rgba(37,99,235,.12);color:#1e3a8a;font-size:var(--font-sm);font-weight:var(--font-weight-semibold)}.thesis-planner-layout{display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-3);align-items:stretch;min-height:0;overflow:hidden}.thesis-planner-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.thesis-planner-step{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-md);background:#ffffffb8;background-clip:padding-box;color:var(--text-body);text-align:left;box-shadow:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.thesis-planner-step:not(:disabled):hover{border-color:#2563eb3d;background:#ffffffe6;box-shadow:inset 0 0 0 1px #2563eb14}.thesis-planner-step:disabled{cursor:not-allowed;opacity:.56}.thesis-planner-step.active{border-color:#2563eb47;background:#fffffff0;box-shadow:inset 0 0 0 1px #2563eb14,inset 0 1px #ffffffb3}.thesis-planner-step.ready .thesis-planner-step-index{background:#2563eb1f;color:#1d4ed8}.thesis-planner-step-index{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#0f172a0f;color:var(--text-soft);font-size:var(--font-sm);font-weight:var(--font-weight-semibold);flex-shrink:0}.thesis-planner-step-copy{display:flex;flex-direction:column;gap:2px}.thesis-planner-step-copy span{color:var(--text-soft);font-size:var(--font-sm)}.thesis-planner-form-card,.thesis-planner-result-card{display:flex;flex-direction:column;gap:var(--space-5)}.thesis-planner-form-card{gap:var(--space-4);min-height:0;height:100%;overflow:hidden;border-radius:var(--radius-lg);border-color:#94a3b82e;background:#ffffffe0;box-shadow:none}.thesis-planner-result-card{gap:var(--space-4)}.thesis-planner-result-stage{display:flex;flex-direction:column;gap:var(--space-4);min-height:0;height:100%;overflow:hidden;border-radius:var(--radius-lg);border-color:#94a3b82e;background:#ffffffe0;box-shadow:none}.thesis-planner-form-body,.thesis-planner-result-stage-body{flex:1;min-height:0;overflow:auto;padding-right:4px}.thesis-planner-result-stage-body{display:flex;flex-direction:column}.thesis-planner-result-stage-body>.thesis-planner-result-card{min-height:100%}.thesis-planner-result-stage-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.thesis-planner-view-switch{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px;border-radius:var(--radius-full);background:#94a3b81a;border:1px solid rgba(148,163,184,.18)}.thesis-planner-view-tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 12px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--text-soft);font-size:var(--font-sm);font-weight:var(--font-weight-semibold)}.thesis-planner-view-tab.active{background:#fffffff5;color:#1d4ed8;box-shadow:var(--shadow-sm)}.thesis-planner-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.thesis-planner-section-header p{margin-top:var(--space-1);color:var(--text-soft)}.thesis-planner-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.thesis-planner-field-full{grid-column:1 / -1}.thesis-planner-field{gap:6px}.thesis-planner-topic-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.thesis-planner-inline-toggle{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:transparent;color:#1d4ed8;font-size:var(--font-xs);font-weight:var(--font-weight-semibold)}.thesis-planner-inline-toggle svg{transition:transform var(--transition-fast)}.thesis-planner-inline-toggle.expanded svg{transform:rotate(180deg)}.thesis-planner-optional-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:1px dashed rgba(148,163,184,.36);border-radius:var(--radius-md);background:#f8fafcc7;text-align:left;transition:border-color var(--transition-fast),background var(--transition-fast)}.thesis-planner-optional-toggle:hover{border-color:#2563eb3d;background:#f1f5ffdb}.thesis-planner-optional-toggle.expanded{border-style:solid;border-color:#2563eb2e;background:#f1f5ffe6}.thesis-planner-optional-copy{display:flex;flex-direction:column;gap:2px}.thesis-planner-optional-copy strong{font-size:var(--font-sm);color:var(--text-strong)}.thesis-planner-optional-copy span{font-size:var(--font-xs);color:var(--text-soft);line-height:1.45}.thesis-planner-optional-meta{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}.thesis-planner-optional-count{font-size:var(--font-xs);color:#1d4ed8;font-weight:var(--font-weight-semibold)}.thesis-planner-optional-icon{color:var(--text-soft);transition:transform var(--transition-fast)}.thesis-planner-optional-toggle.expanded .thesis-planner-optional-icon{transform:rotate(180deg)}.thesis-planner-field .input-label,.thesis-planner-form-card .input-group>.input-label{font-size:var(--font-xs)}.thesis-planner-field .input,.thesis-planner-form-card .input-group .input{padding:10px 12px;font-size:var(--font-sm)}.thesis-planner-page :is(.input,.btn,.thesis-planner-step,.thesis-planner-view-tab,.thesis-topic-option):focus-visible{outline:none}.thesis-planner-page :is(input.input,textarea.input,select.input):focus,.thesis-planner-page :is(input.input,textarea.input,select.input):focus-visible{border-color:#2563eb4d;box-shadow:0 0 0 2px #2563eb1f;background:#fffffffa}.thesis-planner-page .btn:focus-visible,.thesis-planner-page .thesis-planner-step:focus-visible,.thesis-planner-page .thesis-planner-view-tab:focus-visible,.thesis-planner-page .thesis-topic-option:focus-visible{border-color:#2563eb47;box-shadow:0 0 0 2px #2563eb1a}.thesis-planner-textarea{min-height:84px;max-height:128px}.thesis-planner-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.thesis-planner-primary-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2)}.thesis-planner-actions-hint{flex:1;color:var(--text-soft);font-size:var(--font-sm);line-height:1.45}.thesis-planner-empty-state{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px dashed var(--line-soft);border-radius:var(--radius-md);color:var(--text-soft);background:var(--bg-subtle)}.thesis-planner-loading-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:linear-gradient(180deg,#2563eb0a,#2563eb03)}.thesis-planner-loading-header{display:flex;align-items:flex-start;gap:var(--space-3)}.thesis-planner-loading-header p{margin-top:4px;color:var(--text-soft)}.thesis-planner-log-panel{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:#ffffffad;border:1px solid rgba(37,99,235,.1)}.thesis-planner-log-panel-static{margin-top:var(--space-2)}.thesis-planner-log-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.thesis-planner-log-header{display:inline-flex;align-items:center;gap:var(--space-2);color:#1d4ed8;font-size:var(--font-sm);font-weight:var(--font-weight-semibold)}.thesis-planner-log-stream{display:grid;gap:var(--space-2);max-height:220px;overflow-y:auto;padding-right:var(--space-1)}.thesis-planner-log-stream-static{max-height:144px}.thesis-planner-log-line{display:flex;align-items:flex-start;gap:var(--space-2);color:var(--text-body);font-size:var(--font-sm);line-height:1.45}.thesis-planner-log-bullet{width:8px;height:8px;margin-top:6px;border-radius:999px;background:#2563eb;flex-shrink:0}.thesis-planner-log-placeholder{display:flex;align-items:center;gap:var(--space-3);color:var(--text-soft);font-size:var(--font-sm)}.thesis-planner-log-cursor{width:10px;height:10px;border-radius:999px;background:#2563eb;box-shadow:0 0 0 4px #2563eb1f;animation:thesis-planner-pulse 1s ease-in-out infinite}.thesis-planner-loading-icon{flex-shrink:0;animation:spin .9s linear infinite;color:#2563eb}.thesis-planner-loading-outline{min-height:220px;justify-content:center}.thesis-planner-loading-lines{display:grid;gap:var(--space-3)}.thesis-planner-loading-lines span{display:block;height:14px;border-radius:999px;background:linear-gradient(90deg,#94a3b829,#2563eb29,#94a3b829);background-size:240px 100%;animation:thesis-planner-shimmer 1.2s linear infinite}.thesis-planner-loading-lines span:nth-child(1){width:92%}.thesis-planner-loading-lines span:nth-child(2){width:80%}.thesis-planner-loading-lines span:nth-child(3){width:88%}.thesis-planner-loading-lines span:nth-child(4){width:70%}@keyframes thesis-planner-shimmer{0%{background-position:-240px 0}to{background-position:240px 0}}@keyframes thesis-planner-pulse{0%,to{transform:scale(.92);opacity:.7}50%{transform:scale(1.08);opacity:1}}.thesis-planner-topic-list{display:grid;gap:var(--space-2)}.thesis-topic-option{display:flex;flex-direction:column;gap:var(--space-1);width:100%;padding:var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--bg-panel-strong);text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.thesis-topic-option:hover{border-color:#2563eb59;transform:translateY(-1px)}.thesis-topic-option.active{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.thesis-topic-option-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);color:var(--text-strong)}.thesis-topic-option p{color:var(--text-body);font-size:var(--font-sm);line-height:1.45}.thesis-topic-option span{color:var(--text-soft);font-size:var(--font-sm);line-height:1.45}.thesis-outline-preview-list{display:grid;gap:var(--space-3)}.thesis-outline-preview-item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-panel-strong);border:1px solid var(--line-soft)}.thesis-outline-preview-index{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#2563eb14;color:#1d4ed8;font-size:var(--font-sm);font-weight:var(--font-weight-semibold)}.thesis-outline-preview-copy{display:flex;flex-direction:column;gap:var(--space-1)}.thesis-outline-preview-copy p{color:var(--text-body);font-size:var(--font-sm);line-height:1.5}.thesis-outline-preview-copy ul,.thesis-writing-focus ul{list-style:disc;margin-top:var(--space-1);padding-left:1.2rem;color:var(--text-body)}.thesis-outline-preview-copy li,.thesis-writing-focus li{margin-top:2px;line-height:1.45}.thesis-writing-focus{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:#0f172a08;border:1px solid var(--line-soft)}.thesis-planner-export-bar{display:flex;flex-wrap:wrap;gap:var(--space-2)}.thesis-planner-create-actions{display:flex;justify-content:flex-end}.thesis-planner-stage-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-2);border-top:1px solid var(--line-soft);flex-shrink:0}.thesis-planner-stage-footer-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-left:auto}@media(min-width:1260px){.thesis-outline-preview-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1180px){.thesis-planner-result-stage-header,.thesis-planner-stage-footer{flex-direction:column;align-items:stretch}.thesis-planner-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.thesis-planner-actions,.thesis-planner-stage-footer-actions{flex-direction:column;align-items:stretch}.thesis-planner-primary-actions{justify-content:stretch}}@media(max-width:768px){.thesis-planner-page{gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-lg)}.thesis-planner-hero{flex-direction:column;align-items:flex-start;padding:var(--space-4)}.thesis-planner-steps,.thesis-planner-form-grid{grid-template-columns:1fr}.thesis-planner-log-toolbar,.thesis-planner-view-switch,.thesis-planner-export-bar,.thesis-planner-create-actions,.thesis-planner-primary-actions{flex-direction:column;align-items:stretch}.thesis-outline-preview-item{grid-template-columns:1fr}.thesis-outline-preview-index{width:40px;height:40px}}.public-site{min-height:100vh;overflow-x:clip;background:linear-gradient(180deg,#fafbfc,#f6f8fa);color:var(--text-strong)}html[data-theme=dark] .public-site{background:linear-gradient(180deg,#0d1117,#010409)}.public-site__header{position:sticky;top:0;z-index:var(--z-sticky);background:#fafbfcf5;border-bottom:1px solid rgba(208,215,222,.32);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}html[data-theme=dark] .public-site__header{background:#0d1117f5;border-bottom-color:#ffffff1f}.public-site__header-inner,.public-site__footer,.public-site__main{width:min(1180px,calc(100% - 32px));margin:0 auto}.public-site__header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0}.public-brand{display:inline-flex;align-items:center;gap:var(--space-3);color:inherit;text-decoration:none;flex-shrink:0}.public-brand:hover{text-decoration:none}.public-brand__mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:var(--bg-accent);color:var(--text-inverse);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-accent)}.public-brand__copy{display:flex;flex-direction:column;gap:2px}.public-brand__copy strong{font-size:var(--font-base)}.public-brand__copy span{font-size:var(--font-sm);color:var(--text-soft)}.public-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.public-mobile-menu-btn{display:none}.public-nav__link{padding:10px 16px;border-radius:10px;color:var(--text-body);text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.public-nav__link:hover,.public-nav__link.is-active{color:var(--text-strong);background:#4f7cff1f;text-decoration:none;transform:translateY(-1px)}.public-site__actions,.public-hero__actions,.public-cta__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.public-site__actions{justify-content:flex-end}.public-theme-switch{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:var(--radius-full);background:#ffffffeb;border:1px solid rgba(208,215,222,.4);box-shadow:0 4px 12px #00000014}html[data-theme=dark] .public-theme-switch{background:#141820eb;border-color:#ffffff1a;box-shadow:0 4px 12px #0003}.public-theme-switch__button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border-radius:var(--radius-full);color:var(--text-body);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.public-theme-switch__button:hover{transform:translateY(-1px)}.public-theme-switch__button.is-active{background:#4f7cff1f;border-radius:var(--radius-full)}.public-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:0 20px;border-radius:6px;border:1px solid transparent;font-weight:600;text-decoration:none;position:relative;overflow:hidden;font-size:.9rem;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.public-button:disabled{cursor:not-allowed;opacity:.6;transform:none;box-shadow:none}.public-button:hover{transform:translateY(-1px);text-decoration:none}.public-button--primary{background:#4f7cff;color:#fff;box-shadow:0 8px 20px #4f7cff4d}.public-button--primary:hover{background:#3d63e6;box-shadow:0 12px 28px #4f7cff66}.public-button--secondary,.public-button--ghost{background:#fff;color:var(--text-strong);border-color:#d0d7de}html[data-theme=dark] .public-button--secondary,html[data-theme=dark] .public-button--ghost{background:#1e242e;border-color:#ffffff26;color:#e0e6ed}.public-button--secondary:hover,.public-button--ghost:hover{background:#f8f9fa;border-color:#4f7cff}html[data-theme=dark] .public-button--secondary:hover,html[data-theme=dark] .public-button--ghost:hover{background:#262f3b;border-color:#4f7cff}.public-site__main{padding:48px 0 120px}.public-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center;padding:80px 0 120px;background:transparent;border:none;box-shadow:none;overflow:visible;position:relative}html[data-theme=dark] .public-hero{background:transparent}.public-hero__copy,.public-card,.public-cta,.public-faq{border:1px solid var(--line-soft);background:var(--bg-card);box-shadow:var(--shadow-card)}.public-hero__copy{position:relative;z-index:1;min-width:0;padding:0;border:0;background:transparent;box-shadow:none}.public-eyebrow{display:none}.public-hero h1{max-width:15ch;font-size:clamp(1.9rem,3.8vw,2.65rem);line-height:1.3;letter-spacing:-.025em;margin-bottom:20px;font-weight:700;text-wrap:balance}.public-hero p{max-width:65ch;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.7;color:#475569;margin-bottom:32px;font-weight:400}html[data-theme=dark] .public-hero p{color:#cbd5e1}.public-hero__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:0}.public-chip-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:var(--space-6);max-width:540px}.public-chip{display:inline-flex;align-items:center;min-height:58px;padding:0 16px;border:1px solid rgba(127,144,168,.16);border-radius:20px;color:var(--text-body);background:#ffffffd6;box-shadow:0 12px 28px #1d2b470f}html[data-theme=dark] .public-chip{background:#161b22d1;border-color:#ffffff14}.public-hero__visual{position:relative;z-index:1;min-width:0;display:flex;justify-content:flex-end}.public-hero__visual-shell{--hero-shell-start: rgba(79, 124, 255, .18);--hero-shell-end: rgba(77, 182, 255, .16);width:min(100%,452px);border-radius:calc(var(--radius-xl) - 2px);padding:16px;border:1px solid rgba(255,255,255,.56);background:linear-gradient(160deg,var(--hero-shell-start),var(--hero-shell-end) 62%,rgba(255,255,255,.8));box-shadow:inset 0 1px #fff6,0 22px 46px #2338601f;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.public-hero__visual-shell:hover{transform:translateY(-4px);box-shadow:inset 0 1px #fff6,0 28px 58px #23386029}.public-hero__visual-shell--home{--hero-shell-start: rgba(79, 124, 255, .18);--hero-shell-end: rgba(77, 182, 255, .14)}.public-hero__visual-shell--features{--hero-shell-start: rgba(49, 196, 183, .16);--hero-shell-end: rgba(79, 124, 255, .12)}.public-hero__visual-shell--scenarios{--hero-shell-start: rgba(79, 124, 255, .16);--hero-shell-end: rgba(245, 158, 11, .14)}.public-hero__visual-shell--resources{--hero-shell-start: rgba(77, 182, 255, .14);--hero-shell-end: rgba(49, 196, 183, .12)}html[data-theme=dark] .public-hero__visual-shell{border-color:#ffffff14;background:linear-gradient(160deg,#4f7cff2e,#1e2737f5 60%,#10161ffa)}.public-hero__visual-top{display:grid;gap:10px}.public-hero__visual-eyebrow{display:inline-flex;align-items:center;justify-self:start;min-height:30px;padding:0 12px;border-radius:var(--radius-full);background:#ffffffa3;color:var(--color-info);font-size:var(--font-sm);font-weight:var(--font-weight-semibold)}html[data-theme=dark] .public-hero__visual-eyebrow{background:#ffffff14}.public-hero__visual-copy strong{display:block;font-size:clamp(1.08rem,1.6vw,1.28rem);line-height:1.3;letter-spacing:-.02em;text-wrap:balance}.public-hero__visual-copy p,.public-card p,.public-faq p,.public-card__meta p{color:var(--text-body);line-height:1.7}.public-hero__visual-copy p{display:none}.public-hero__artframe{margin-top:14px;padding:10px;border-radius:calc(var(--radius-lg) + 2px);border:1px solid rgba(208,215,222,.32);background:#fffffff5}html[data-theme=dark] .public-hero__artframe{background:#0d111757;border-color:#ffffff14}.public-hero__artframe svg{display:block;width:auto;max-width:100%;height:auto;max-height:228px;margin:0 auto;animation:public-gentle-float 10s ease-in-out infinite}.public-hero__insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}@media(min-width:1101px){.public-hero__insights{display:none}}.public-hero__insight{padding:12px 12px 14px;border-radius:16px;background:#ffffff94;border:1px solid rgba(255,255,255,.52)}html[data-theme=dark] .public-hero__insight{background:#ffffff0d;border-color:#ffffff14}.public-hero__insight span{display:block;margin-bottom:6px;font-size:.73rem;color:var(--text-soft)}.public-hero__insight strong{display:block;font-size:.94rem;letter-spacing:-.02em}.public-section{margin-top:88px}.public-section:first-of-type{margin-top:0}.public-section__heading{display:grid;gap:12px;max-width:900px;margin-bottom:48px}.public-section__heading h2{font-size:clamp(2rem,4.5vw,3.2rem);letter-spacing:-.035em;line-height:1.15;text-wrap:balance}.public-cta h2,.public-card h3,.public-faq h3,.public-hero__visual-copy strong{text-wrap:balance}.public-section__heading p{color:var(--text-body);line-height:1.8;font-size:1.08rem}.public-grid{display:grid;gap:28px}.public-grid--mosaic,.public-grid--tracks,.public-grid--steps,.public-grid--details,.public-grid--two{grid-template-columns:repeat(12,minmax(0,1fr))}.public-grid--mosaic .public-card:nth-child(1){grid-column:span 6;min-height:320px}.public-grid--mosaic .public-card:nth-child(2),.public-grid--mosaic .public-card:nth-child(3){grid-column:span 3;min-height:280px}.public-grid--mosaic .public-card:nth-child(n+4){grid-column:span 4;min-height:240px}.public-grid--tracks .public-card,.public-grid--details .public-card,.public-grid--two>*{grid-column:span 6}.public-grid--steps .public-card{grid-column:span 3}.public-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.public-card,.public-faq{position:relative;overflow:hidden;display:flex;flex-direction:column;border-radius:12px;padding:32px;border:1px solid rgba(208,215,222,.48);background:var(--bg-card);transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}html[data-theme=dark] .public-card,html[data-theme=dark] .public-faq{border-color:#ffffff1f}.public-card:before,.public-faq:before{content:"";position:absolute;right:-40px;bottom:-40px;width:140px;height:140px;border-radius:999px;background:radial-gradient(circle,rgba(79,124,255,.08),transparent 70%);pointer-events:none;transition:opacity var(--transition-normal)}.public-card:hover,.public-faq:hover{border-color:#4f7cff52;box-shadow:0 16px 40px #2338601f;transform:translateY(-2px)}html[data-theme=dark] .public-card:hover,html[data-theme=dark] .public-faq:hover{border-color:#4f7cff47;box-shadow:0 16px 40px #0000004d}.public-card__topline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.public-card__eyebrow{display:inline-flex;align-items:center;min-height:28px;padding:4px 12px;border-radius:6px;background:#4f7cff1a;color:var(--color-info);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;flex-shrink:0}.public-card__icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#4f7cff1a;color:var(--color-info)}.public-card h3,.public-faq h3{margin-bottom:14px;font-size:clamp(1.15rem,2vw,1.4rem);letter-spacing:-.02em;line-height:1.3}.public-card--detail{padding-bottom:28px;min-height:200px}.public-card--mosaic:nth-child(1) h3{font-size:clamp(1.45rem,2.3vw,1.95rem);max-width:14ch}.public-card--steps h3{max-width:12ch}.public-card__trail{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:20px;color:var(--color-info);font-size:.95rem;font-weight:600}.public-card__meta{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line-soft)}.public-card__meta span{display:inline-block;margin-bottom:8px;color:var(--text-soft);font-size:var(--font-sm);font-weight:var(--font-weight-semibold)}.public-list{display:grid;gap:10px;margin-top:var(--space-5)}.public-list li{position:relative;padding-left:18px;color:var(--text-body);line-height:1.65}.public-list li:before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;border-radius:999px;background:linear-gradient(135deg,var(--color-accent-start),var(--color-accent-end))}.public-faq-list{display:grid;gap:16px}.public-cta{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:36px;align-items:center;margin-top:88px;padding:48px;border-radius:12px;border:1px solid rgba(208,215,222,.48);background:linear-gradient(135deg,#f5f7facc,#f0f4f8f2)}html[data-theme=dark] .public-cta{background:linear-gradient(135deg,#161b2299,#0f151fcc);border-color:#ffffff1f}.public-cta h2{margin:0 0 16px;font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.03em;line-height:1.2}.public-cta p{max-width:800px;color:var(--text-body);line-height:1.8;font-size:1.05rem}.public-site__footer{border-top:1px solid rgba(208,215,222,.32);margin-top:80px}html[data-theme=dark] .public-site__footer{border-top-color:#ffffff1f}.public-footer__main{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding:36px 0 28px}.public-footer__brand p{font-size:var(--font-base);color:var(--text-body);margin-top:10px;line-height:1.55;max-width:240px}.public-footer__col h4{font-size:var(--font-md);font-weight:600;color:var(--text-strong);margin-bottom:10px;letter-spacing:.05em;text-transform:uppercase}.public-footer__col a,.public-footer__col span{display:block;font-size:var(--font-base);color:var(--text-body);text-decoration:none;line-height:1;margin-bottom:8px;transition:color var(--transition-fast)}.public-footer__col a:hover{color:var(--text-strong)}.public-footer__bottom{padding:14px 0;border-top:1px solid rgba(208,215,222,.2);font-size:var(--font-base);color:var(--text-subtle, #96acc5)}.public-footer__bottom a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}.public-footer__bottom a:hover{color:var(--text-strong)}.public-pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.public-pricing-card{display:flex;flex-direction:column;min-height:100%;padding:24px;border-radius:24px;border:1px solid rgba(208,215,222,.48);background:#ffffffc7;box-shadow:var(--shadow-sm)}html[data-theme=dark] .public-pricing-card{background:#161b22ad;border-color:#ffffff1f}.public-pricing-card.is-highlight{border-color:#4f7cff7a;box-shadow:0 20px 50px #4f7cff24}.public-pricing-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.public-pricing-card__head span{font-weight:700;color:var(--text-strong)}.public-pricing-card__head strong{padding:5px 10px;border-radius:var(--radius-full);background:#4f7cff1f;color:var(--accent-primary);font-size:.72rem}.public-pricing-card__price{margin-bottom:12px;color:var(--text-strong);font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1}.public-pricing-card__meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.public-pricing-card__meta span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#4f7cff14;color:var(--accent-primary);font-size:.8rem;font-weight:600}.public-pricing-card>p{color:var(--text-body);line-height:1.7;font-size:.94rem}.public-pricing-card__features{display:grid;gap:10px;margin:22px 0 24px;list-style:none}.public-pricing-card__features li{display:flex;align-items:center;gap:9px;color:var(--text-body);font-size:.9rem}.public-pricing-card__features svg{flex:0 0 auto;color:var(--accent-primary)}.public-pricing-card .public-button{margin-top:auto;justify-content:center}.public-section__hint{margin:0 0 20px;color:var(--text-body);font-size:.92rem}.public-membership-status{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin-bottom:24px;padding:24px;border-radius:24px;border:1px solid rgba(79,124,255,.16);background:linear-gradient(135deg,#4f7cff14,#31c4b714)}html[data-theme=dark] .public-membership-status{border-color:#4f7cff3d;background:linear-gradient(135deg,#4f7cff1f,#31c4b71a)}.public-membership-status.is-muted{border-style:dashed}.public-membership-status__content{display:grid;gap:10px}.public-membership-status__eyebrow{color:var(--accent-primary);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.public-membership-status__content strong{font-size:1.3rem;letter-spacing:-.02em}.public-membership-status__content p{margin:0;color:var(--text-body);line-height:1.7}.public-membership-status__meta,.public-membership-status__error{display:inline-flex;align-items:center;gap:8px;color:var(--text-body);font-size:.9rem}.public-membership-status__error{color:#c2410c}html[data-theme=dark] .public-membership-status__error{color:#fdba74}.public-membership-status__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.public-payment-modal .modal-body{display:grid;gap:18px}.public-payment-modal__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.public-payment-modal__summary>div{display:grid;gap:6px;padding:16px;border-radius:18px;border:1px solid rgba(208,215,222,.48);background:#f8fafce6}html[data-theme=dark] .public-payment-modal__summary>div{border-color:#ffffff1a;background:#121820e0}.public-payment-modal__summary span{color:var(--text-soft);font-size:.82rem}.public-payment-modal__summary strong{color:var(--text-strong);font-size:1rem;line-height:1.4;word-break:break-all}.public-payment-modal__error,.public-payment-modal__status{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:16px}.public-payment-modal__error{background:#f8717114;color:#b91c1c}html[data-theme=dark] .public-payment-modal__error{color:#fca5a5}.public-payment-modal__status{background:#4f7cff14;color:var(--text-strong)}.public-payment-modal__status.is-success{background:#22c55e1a}.public-payment-modal__status.is-warning{background:#f59e0b1f}.public-payment-modal__status strong{display:block;margin-bottom:6px}.public-payment-modal__status p{margin:0;color:var(--text-body);line-height:1.7}.public-payment-modal__qr-shell{display:grid;place-items:center;min-height:280px;padding:20px;border-radius:24px;border:1px dashed rgba(79,124,255,.28);background:#f8fafce0}html[data-theme=dark] .public-payment-modal__qr-shell{border-color:#4f7cff5c;background:#121820e0}.public-payment-modal__qr-image{display:block;width:min(100%,280px);aspect-ratio:1;object-fit:contain;border-radius:18px;background:#fff;box-shadow:0 14px 36px #0f172a24}.public-payment-modal__qr-placeholder{display:grid;gap:8px;justify-items:center;color:var(--text-body);text-align:center}.public-payment-modal__tips{display:grid;gap:10px;margin:0;padding-left:18px;color:var(--text-body);line-height:1.7}html[data-theme=dark] .public-footer__bottom{border-top-color:#ffffff14}@keyframes public-gentle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media(max-width:1100px){.public-hero,.public-cta,.public-grid--mosaic,.public-grid--tracks,.public-grid--steps,.public-grid--details,.public-grid--three,.public-grid--two,.public-pricing-grid{grid-template-columns:1fr}.public-hero{gap:40px}.public-membership-status,.public-payment-modal__summary{grid-template-columns:1fr}.public-grid--mosaic .public-card:nth-child(1),.public-grid--mosaic .public-card:nth-child(2),.public-grid--mosaic .public-card:nth-child(3),.public-grid--mosaic .public-card:nth-child(n+4),.public-grid--tracks .public-card,.public-grid--steps .public-card,.public-grid--details .public-card,.public-grid--two>*{grid-column:auto}.public-footer__main{grid-template-columns:1fr 1fr}.public-hero__visual{justify-content:center}.public-hero__visual-shell{width:100%}.public-site__header-inner{flex-wrap:wrap;gap:10px;padding:10px 0}.public-brand__mark{width:34px;height:34px;border-radius:10px}.public-brand__copy span{display:none}.public-brand__copy strong{font-size:var(--font-sm)}.public-nav,.public-site__actions{display:none}.public-mobile-menu-btn{display:inline-flex}.public-hero__visual-copy p{display:block}.public-hero__insights{display:grid}.public-hero__artframe svg{width:100%;max-height:none}}.public-membership-status__actions{justify-content:stretch}@media(max-width:760px){.public-site__header-inner,.public-site__main,.public-site__footer{width:min(100% - 24px,1180px)}.public-site__main{padding:20px 0 56px}.public-hero{padding:12px 0 40px;gap:32px}.public-hero h1{font-size:clamp(1.5rem,7vw,2rem);margin-bottom:14px}.public-hero p{font-size:.92rem;margin-bottom:22px}.public-hero__actions,.public-cta__actions{width:100%}.public-hero__actions,.public-cta__actions{justify-content:stretch}.public-hero__actions .public-button,.public-cta__actions .public-button{width:100%}.public-chip-row{grid-template-columns:1fr}.public-hero__visual-shell{padding:16px}.public-hero__artframe{padding:10px}.public-hero__insights{grid-template-columns:1fr}.public-section{margin-top:40px}.public-section__heading{margin-bottom:24px}.public-section__heading h2{font-size:clamp(1.55rem,6vw,2.2rem)}.public-section__heading p{font-size:.92rem}.public-card h3,.public-faq h3{font-size:1.05rem}.public-card--mosaic:nth-child(1) h3{font-size:1.25rem}.public-card p,.public-card__trail{font-size:.88rem}.public-cta{padding:32px;margin-top:48px}.public-cta h2{font-size:clamp(1.4rem,5vw,1.8rem)}.public-cta p{font-size:.92rem}.public-site__footer{margin-top:40px}.public-footer__main{grid-template-columns:1fr;gap:24px}}.public-grid--testimonials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.public-card--testimonial{padding:32px;display:flex;flex-direction:column;gap:20px}.public-testimonial__quote{display:flex;gap:12px;align-items:flex-start}.public-testimonial__mark{flex-shrink:0;font-size:2.4rem;font-weight:800;line-height:1;color:var(--accent-primary);opacity:.3;font-family:Georgia,serif}.public-testimonial__quote p{margin:0;font-size:1.05rem;line-height:1.75;color:var(--text-body);font-style:italic}.public-testimonial__author{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line-soft)}.public-testimonial__author strong{font-size:.95rem;color:var(--text-strong)}.public-testimonial__author span{font-size:.82rem;color:var(--text-soft)}@media(max-width:760px){.public-grid--testimonials{grid-template-columns:1fr}}.public-enterprise{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:32px;align-items:center;padding:40px;border-radius:24px;border:1px solid rgba(79,124,255,.2);background:linear-gradient(135deg,#4f7cff0f,#31c4b70f)}html[data-theme=dark] .public-enterprise{background:linear-gradient(135deg,#4f7cff1a,#31c4b714);border-color:#4f7cff40}.public-enterprise__content p{margin:0 0 20px;font-size:1.02rem;line-height:1.75;color:var(--text-body)}.public-enterprise__features{display:grid;gap:12px;margin:0;padding:0;list-style:none}.public-enterprise__features li{display:flex;align-items:center;gap:10px;font-size:.95rem;color:var(--text-body)}.public-enterprise__features svg{flex-shrink:0;color:var(--accent-primary)}.public-enterprise__action{display:flex;justify-content:flex-end}@media(max-width:760px){.public-enterprise{grid-template-columns:1fr;padding:28px}.public-enterprise__action{justify-content:stretch}.public-enterprise__action .public-button{width:100%}}.public-grid--examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.public-card--example{padding:28px}.public-card--example h3{font-size:1rem;margin-bottom:10px;line-height:1.45}.public-card--example p{font-size:.9rem;line-height:1.6}.public-card__category{display:inline-flex;align-items:center;min-height:28px;padding:4px 12px;border-radius:6px;background:#31c4b71a;color:#31c4b7;font-size:.72rem;font-weight:600;letter-spacing:.03em}@media(max-width:1100px){.public-grid--examples{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.public-grid--examples{grid-template-columns:1fr}}.public-mobile-menu-btn{align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;border:1px solid rgba(208,215,222,.5);background:#ffffffeb;color:var(--text-strong);cursor:pointer;flex-shrink:0;transition:background-color var(--transition-fast)}.public-mobile-menu-btn:hover{background:#4f7cff1a}html[data-theme=dark] .public-mobile-menu-btn{background:#141820eb;border-color:#ffffff1f;color:#e0e6ed}.public-mobile-drawer-overlay{position:fixed;inset:0;z-index:calc(var(--z-sticky) + 10);background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.public-mobile-drawer{position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);z-index:calc(var(--z-sticky) + 11);background:#fff;display:flex;flex-direction:column;overflow-y:auto;box-shadow:-8px 0 32px #0000001f}html[data-theme=dark] .public-mobile-drawer{background:#161b22;box-shadow:-8px 0 32px #0006}.public-mobile-drawer__header{display:flex;justify-content:flex-end;padding:14px 16px;flex-shrink:0}.public-mobile-drawer__close{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;border:1px solid rgba(208,215,222,.5);background:#f8f9faeb;color:var(--text-strong);cursor:pointer;transition:background-color var(--transition-fast)}.public-mobile-drawer__close:hover{background:#4f7cff1a}html[data-theme=dark] .public-mobile-drawer__close{background:#1e242eeb;border-color:#ffffff1f;color:#e0e6ed}.public-mobile-drawer__nav{display:flex;flex-direction:column;gap:2px;padding:0 16px 20px;flex-shrink:0}.public-mobile-drawer__link{display:block;padding:14px 16px;border-radius:10px;color:var(--text-body);text-decoration:none;font-size:var(--font-base);font-weight:500;transition:background-color var(--transition-fast),color var(--transition-fast)}.public-mobile-drawer__link:hover,.public-mobile-drawer__link.is-active{color:var(--text-strong);background:#4f7cff1a;text-decoration:none}.public-mobile-drawer__theme{display:flex;flex-direction:column;gap:8px;padding:0 16px 20px;flex-shrink:0}.public-mobile-drawer__label{font-size:var(--font-sm);color:var(--text-soft);padding:0 4px}.public-mobile-drawer__theme .public-theme-switch{width:100%}.public-mobile-drawer__theme .public-theme-switch__button{flex:1;justify-content:center}.public-mobile-drawer__actions{display:flex;flex-direction:column;gap:10px;padding:0 16px 24px;flex-shrink:0}.public-mobile-drawer__actions .public-button{width:100%}.splash-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-page);z-index:9999}.splash-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.splash-logo{display:flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:var(--radius-xl);background:var(--bg-accent);color:var(--text-inverse);font-size:2.5rem;font-weight:var(--font-weight-bold);box-shadow:var(--shadow-accent)}.splash-title{margin:0;font-size:var(--font-2xl);font-weight:var(--font-weight-bold);color:var(--text-strong);letter-spacing:-.02em}.splash-spinner{width:24px;height:24px;margin-top:var(--space-4);border:2px solid var(--line-soft);border-top-color:var(--color-info);border-radius:50%;animation:splash-spin .8s linear infinite}@keyframes splash-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--color-primary: #142033;--color-accent-start: #4f7cff;--color-accent-end: #4db6ff;--bg-page: #eef2f6;--bg-surface: #f8fafc;--bg-panel: rgba(255, 255, 255, .9);--bg-panel-strong: #ffffff;--bg-subtle: #f4f7fb;--bg-card: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 253, .96));--bg-card-solid: rgba(255, 255, 255, .72);--bg-accent: linear-gradient(135deg, #4f7cff 0%, #4db6ff 100%);--bg-accent-soft: linear-gradient(135deg, rgba(79, 124, 255, .1), rgba(77, 182, 255, .16));--text-strong: #122033;--text-body: #4f5f73;--text-soft: #718198;--text-muted: #9aa8b8;--text-inverse: #ffffff;--line-soft: rgba(127, 144, 168, .18);--line-strong: rgba(79, 124, 255, .24);--line-focus: rgba(79, 124, 255, .5);--color-success: #31c4b7;--color-success-soft: rgba(49, 196, 183, .12);--color-warning: #f59e0b;--color-warning-soft: rgba(245, 158, 11, .12);--color-error: #ef4444;--color-error-soft: rgba(239, 68, 68, .1);--color-info: #4f7cff;--color-info-soft: rgba(79, 124, 255, .12);--shadow-sm: 0 2px 8px rgba(33, 54, 88, .04);--shadow-md: 0 14px 30px rgba(27, 44, 79, .08);--shadow-lg: 0 36px 90px rgba(27, 44, 79, .16), 0 12px 28px rgba(27, 44, 79, .08);--shadow-card: 0 18px 36px rgba(33, 54, 88, .06), 0 2px 8px rgba(33, 54, 88, .04);--shadow-card-hover: 0 24px 44px rgba(33, 54, 88, .1), 0 6px 14px rgba(33, 54, 88, .06);--shadow-accent: 0 12px 22px rgba(79, 124, 255, .18);--shadow-glow: 0 0 0 3px rgba(79, 124, 255, .1);--radius-xs: 12px;--radius-sm: 16px;--radius-md: 22px;--radius-lg: 28px;--radius-xl: 34px;--radius-full: 999px;--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", system-ui, "PingFang SC", "Segoe UI", sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-xs: .72rem;--font-sm: .82rem;--font-base: .92rem;--font-md: 1rem;--font-lg: 1.15rem;--font-xl: 1.3rem;--font-2xl: 1.62rem;--font-3xl: 2rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--transition-fast: .15s cubic-bezier(.25, .46, .45, .94);--transition-normal: .25s cubic-bezier(.25, .46, .45, .94);--transition-slow: .35s cubic-bezier(.25, .46, .45, .94);--ease-out: cubic-bezier(.25, .46, .45, .94);--ease-in: cubic-bezier(.55, .085, .68, .53);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400;--z-tooltip: 500;--window-btn-color: #45536a;--window-btn-bg: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(243, 247, 252, .96));--window-btn-hover-bg: #ffffff;--window-btn-danger-color: #b14a63;--window-btn-danger-bg: linear-gradient(180deg, rgba(255, 245, 247, 1), rgba(255, 238, 242, 1));--window-expand-bg: #ffffff;--code-bg: #f4f7fb;--code-text: #122033;--status-draft-color: #b45309;--status-completed-color: #17646d}html[data-theme=dark]{--bg-page: #0d1117;--bg-surface: #161b22;--bg-panel: rgba(22, 27, 34, .95);--bg-panel-strong: #161b22;--bg-subtle: #21262d;--bg-card: linear-gradient(180deg, rgba(22, 27, 34, .98), rgba(13, 17, 23, .96));--bg-card-solid: rgba(22, 27, 34, .85);--bg-accent-soft: linear-gradient(135deg, rgba(79, 124, 255, .12), rgba(77, 182, 255, .16));--text-strong: #e6edf3;--text-body: #8b949e;--text-soft: #8b949e;--text-muted: #6e7681;--line-soft: rgba(255, 255, 255, .08);--line-strong: rgba(79, 124, 255, .4);--line-focus: rgba(79, 124, 255, .6);--color-success: #3fb950;--color-success-soft: rgba(63, 185, 80, .15);--color-warning: #d29922;--color-warning-soft: rgba(210, 153, 34, .15);--color-error: #f85149;--color-error-soft: rgba(248, 81, 73, .15);--color-info: #58a6ff;--color-info-soft: rgba(88, 166, 255, .15);--window-btn-color: #8b949e;--window-btn-bg: linear-gradient(180deg, rgba(33, 38, 45, .98), rgba(22, 27, 34, .96));--window-btn-hover-bg: rgba(255, 255, 255, .08);--window-btn-danger-color: #f85149;--window-btn-danger-bg: linear-gradient(180deg, rgba(68, 28, 28, 1), rgba(63, 23, 23, 1));--window-expand-bg: #21262d;--code-bg: #161b22;--code-text: #e6edf3;--status-draft-color: #d29922;--status-completed-color: #3fb950;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 14px 30px rgba(0, 0, 0, .4);--shadow-lg: 0 36px 90px rgba(0, 0, 0, .5), 0 12px 28px rgba(0, 0, 0, .3);--shadow-card: 0 4px 12px rgba(0, 0, 0, .25), 0 1px 4px rgba(0, 0, 0, .15);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .35), 0 2px 8px rgba(0, 0, 0, .2);--shadow-accent: 0 8px 20px rgba(79, 124, 255, .25);--shadow-glow: 0 0 0 3px rgba(79, 124, 255, .2)}html[data-theme=light]{--bg-page: #eef2f6;--bg-surface: #f8fafc;--bg-panel: rgba(255, 255, 255, .9);--bg-panel-strong: #ffffff;--bg-subtle: #f4f7fb;--bg-card: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 253, .96));--bg-card-solid: rgba(255, 255, 255, .72);--bg-accent-soft: linear-gradient(135deg, rgba(79, 124, 255, .1), rgba(77, 182, 255, .16));--text-strong: #122033;--text-body: #4f5f73;--text-soft: #718198;--text-muted: #9aa8b8;--line-soft: rgba(127, 144, 168, .18);--line-strong: rgba(79, 124, 255, .24);--shadow-sm: 0 2px 8px rgba(33, 54, 88, .04);--shadow-md: 0 14px 30px rgba(27, 44, 79, .08);--shadow-lg: 0 36px 90px rgba(27, 44, 79, .16), 0 12px 28px rgba(27, 44, 79, .08);--shadow-card: 0 18px 36px rgba(33, 54, 88, .06), 0 2px 8px rgba(33, 54, 88, .04);--shadow-card-hover: 0 24px 44px rgba(33, 54, 88, .1), 0 6px 14px rgba(33, 54, 88, .06)}@media(prefers-color-scheme:dark){:root{--bg-page: #0d1117;--bg-surface: #161b22;--bg-panel: rgba(22, 27, 34, .95);--bg-panel-strong: #161b22;--bg-subtle: #21262d;--bg-card: linear-gradient(180deg, rgba(22, 27, 34, .98), rgba(13, 17, 23, .96));--bg-card-solid: rgba(22, 27, 34, .85);--bg-accent-soft: linear-gradient(135deg, rgba(79, 124, 255, .12), rgba(77, 182, 255, .16));--text-strong: #e6edf3;--text-body: #8b949e;--text-soft: #8b949e;--text-muted: #6e7681;--line-soft: rgba(255, 255, 255, .08);--line-strong: rgba(79, 124, 255, .4);--line-focus: rgba(79, 124, 255, .6);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 14px 30px rgba(0, 0, 0, .4);--shadow-lg: 0 36px 90px rgba(0, 0, 0, .5), 0 12px 28px rgba(0, 0, 0, .3);--shadow-card: 0 4px 12px rgba(0, 0, 0, .25), 0 1px 4px rgba(0, 0, 0, .15);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .35), 0 2px 8px rgba(0, 0, 0, .2)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:13px 18px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast);-webkit-user-select:none;user-select:none}.btn-label{display:inline-flex;align-items:center;gap:var(--space-2)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.54;transform:none}.btn-primary{color:var(--text-inverse);background:var(--bg-accent);border-color:transparent;box-shadow:var(--shadow-accent)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-accent),0 0 0 3px #4f7cff26}.btn-ghost{color:var(--text-body);background:var(--bg-panel-strong);border:1px solid var(--line-soft);box-shadow:var(--shadow-sm)}.btn-ghost:hover:not(:disabled){background:var(--bg-surface);border-color:var(--line-strong)}.btn-danger{color:var(--color-error);background:var(--color-error-soft);border-color:#ef444433}.btn-danger:hover:not(:disabled){background:#ef444426;border-color:#ef44444d}.btn-sm{padding:8px 12px;font-size:var(--font-sm);border-radius:var(--radius-xs)}.btn-lg{padding:16px 24px;font-size:var(--font-md);border-radius:var(--radius-md)}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-xs)}.btn-loading{cursor:progress}.btn-spinner{display:inline-flex;flex-shrink:0;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.card{padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--line-soft);background:var(--bg-card);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.card-hover:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card-glass{background:var(--bg-card-solid)}.card-accent{background:var(--bg-accent-soft);box-shadow:var(--shadow-card)}.input-group{display:grid;gap:var(--space-2)}.input-label{font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--text-body)}.input{width:100%;padding:14px 16px;border:1px solid var(--line-soft);border-radius:var(--radius-xs);background:var(--bg-surface);font-family:var(--font-family);font-size:var(--font-base);color:var(--text-strong);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--line-focus);box-shadow:var(--shadow-glow)}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 3px var(--color-error-soft)}.input-error-text{font-size:var(--font-xs);color:var(--color-error)}.textarea{min-height:120px;resize:vertical}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-weight-bold)}.badge-default{background:#4f7cff24;color:var(--color-info)}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-error{background:var(--color-error-soft);color:var(--color-error)}.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#00000080}.modal{width:100%;max-width:480px;max-height:90vh;padding:var(--space-6);border-radius:var(--radius-lg);background:var(--bg-panel-strong);box-shadow:var(--shadow-lg);overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.modal-title{margin:0;font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-soft);cursor:pointer;transition:background var(--transition-fast)}.modal-close:hover{background:var(--bg-subtle)}.modal-body{color:var(--text-body);line-height:1.6}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}.toast-container{position:fixed;top:var(--space-5);right:var(--space-5);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-sm);background:var(--bg-panel-strong);box-shadow:var(--shadow-md);pointer-events:auto;max-width:360px}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-error)}.toast-info{border-left:3px solid var(--color-info)}.toast-warning{border-left:3px solid var(--color-warning)}.toast-content{flex:1}.toast-title{font-weight:var(--font-weight-semibold);color:var(--text-strong);margin-bottom:var(--space-1)}.toast-message{font-size:var(--font-sm);color:var(--text-body)}.skeleton{background:linear-gradient(90deg,var(--bg-subtle) 0%,var(--bg-surface) 50%,var(--bg-subtle) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-xs)}.skeleton-text{height:16px;border-radius:4px}.skeleton-card{height:120px}.skeleton-avatar{width:44px;height:44px;border-radius:50%}.avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--bg-accent);color:var(--text-inverse);font-weight:var(--font-weight-bold);font-size:var(--font-sm);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:32px;height:32px;font-size:var(--font-xs)}.avatar-lg{width:56px;height:56px;font-size:var(--font-md)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes breathe{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes modalOverlayFade{0%{opacity:0}to{opacity:1}}@keyframes modalContentScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes ripple{to{transform:scale(2.5);opacity:0}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes progress{0%{width:0%}to{width:100%}}.animate-shimmer{animation:shimmer 1.5s infinite}.animate-breathe{animation:breathe 3s ease-in-out infinite}.animate-slide-in{animation:slideIn .3s ease-out}.animate-slide-in-right{animation:slideInRight .3s ease-out}.animate-fade-in{animation:fadeIn .2s ease-out}.animate-fade-in-up{animation:fadeInUp .3s ease-out}.animate-fade-in-down{animation:fadeInDown .3s ease-out}.animate-scale-in{animation:scaleIn .2s ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce .6s ease-in-out infinite}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{min-width:320px;min-height:100vh;margin:0;border-radius:0;overflow:hidden;background:transparent}html.public-page-active,html.public-page-active body,html.public-page-active #root{overflow:visible}html[data-tauri=true],html[data-tauri=true] body,html[data-tauri=true] #root{border-radius:var(--radius-xl)}body{font-family:var(--font-family);font-weight:var(--font-weight-normal);line-height:1.45;color:var(--text-strong);background:var(--bg-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:1.3;letter-spacing:-.02em}h1{font-size:var(--font-3xl)}h2{font-size:var(--font-2xl)}h3{font-size:var(--font-xl)}h4{font-size:var(--font-lg)}p{line-height:1.6}a{color:var(--color-accent-start);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit;color:inherit}button{border:0;background:none}input,textarea{outline:none}ul,ol{list-style:none}img,svg{display:block;max-width:100%}::selection{background:#4f7cff33;color:var(--text-strong)}:focus-visible{outline:2px solid var(--color-accent-start);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#e6ecf4b8;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:#4f7cff3d;border-radius:var(--radius-full);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#4f7cff5c;background-clip:padding-box}*{scrollbar-width:thin;scrollbar-color:rgba(79,124,255,.28) rgba(230,236,244,.7)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-soft{color:var(--text-soft)}.text-body{color:var(--text-body)}.text-strong{color:var(--text-strong)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.grid{display:grid}
