@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700;900&family=Noto+Sans+SC:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";.sidebar{width:var(--layout-sidebar-width);background:var(--color-surface);color:var(--color-text-primary);display:flex;flex-direction:column;flex-shrink:0;height:100vh;position:sticky;top:0;border-right:1px solid var(--color-border);z-index:var(--z-sticky)}.sidebar-brand{display:flex;align-items:center;gap:var(--space-3);padding:22px 20px 18px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--color-border-light)}.sidebar-logo-mark{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.sidebar-logo-dot{width:10px;height:10px;border-radius:var(--radius-xs);background:var(--color-surface)}.sidebar-brand-text{font-family:var(--font-serif);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-primary);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-tight);position:relative}.sidebar-brand-text:after{content:"";position:absolute;right:-18px;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--color-accent);opacity:.7}.sidebar-account-section{padding:var(--space-3) var(--space-3) var(--space-4);position:relative;border-bottom:1px solid var(--color-border-light)}.sidebar-account-trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background var(--transition-fast);border:1px solid transparent;width:100%}.sidebar-account-trigger:hover{background:var(--color-surface-hover)}.sidebar-account-icon{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);overflow:hidden;flex-shrink:0}.sidebar-account-icon img{width:100%;height:100%;object-fit:cover}.sidebar-account-info{flex:1;min-width:0}.sidebar-account-name{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide)}.sidebar-account-caret{font-size:var(--font-size-xs);color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.sidebar-account-caret.open{transform:rotate(180deg)}.sidebar-account-menu{position:absolute;left:var(--space-3);right:var(--space-3);top:calc(100% - 1px);background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);box-shadow:var(--shadow-md);padding:var(--space-1);z-index:var(--z-dropdown);max-height:320px;overflow-y:auto;animation:slideInUp .18s var(--ease-out-quart)}.sidebar-account-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);cursor:pointer;transition:background var(--transition-fast)}.sidebar-account-item:hover{background:var(--color-surface-hover)}.sidebar-account-create{border-top:1px solid var(--color-border-light);margin-top:var(--space-1);padding-top:var(--space-2);color:var(--color-accent);font-weight:var(--font-weight-medium)}.sidebar-account-avatar-mini{width:26px;height:26px;border-radius:var(--radius-xs);background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);flex-shrink:0}.sidebar-account-avatar-plus{background:transparent;color:var(--color-accent);border:1.5px dashed var(--color-accent)}.sidebar-account-item-info{flex:1;min-width:0}.sidebar-account-item-name{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-item-platform{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.sidebar-nav{flex:1;padding:var(--space-3);display:flex;flex-direction:column;gap:1px;overflow-y:auto}.sidebar-item{display:flex;align-items:center;gap:var(--space-3);padding:9px 12px;color:var(--color-text-tertiary);text-decoration:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);transition:background var(--transition-fast),color var(--transition-fast);background:transparent;border:none;cursor:pointer;width:100%;text-align:left;position:relative}.sidebar-item:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.sidebar-item.active{background:transparent;color:var(--color-primary);font-weight:var(--font-weight-medium)}.sidebar-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--color-accent);border-radius:0 var(--radius-xs) var(--radius-xs) 0;box-shadow:0 0 6px #c42f3d40}.sidebar-icon{font-size:var(--font-size-lg);width:20px;text-align:center;line-height:1;flex-shrink:0}.sidebar-label{flex:1}.sidebar-footer{padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:1px}.sidebar-logout{color:var(--color-text-tertiary)}.sidebar-logout:hover{background:var(--color-surface-hover);color:var(--color-accent)}@media (max-width: 768px){.sidebar{width:var(--layout-sidebar-collapsed)}.sidebar-brand{padding:18px 0;justify-content:center}.sidebar-brand-text,.sidebar-account-section,.sidebar-label{display:none}.sidebar-nav,.sidebar-footer{padding-left:var(--space-2);padding-right:var(--space-2);align-items:center}.sidebar-item{justify-content:center;padding:10px 0}}.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-2);pointer-events:none}.toast-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border-left-width:4px;border-left-style:solid;box-shadow:var(--shadow-lg);min-width:240px;max-width:480px;font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);pointer-events:auto;animation:toast-in .2s var(--ease-out-quart)}.toast-icon{font-family:var(--font-serif);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);flex-shrink:0}.toast-message{flex:1;font-family:var(--font-sans);word-break:break-word;line-height:var(--line-height-base)}.toast-close{background:transparent;border:none;font-size:20px;line-height:1;cursor:pointer;color:var(--color-text-tertiary);padding:0 var(--space-1);transition:color var(--transition-fast)}.toast-close:hover{color:var(--color-text-primary)}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.confirm-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d0d1180;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;animation:fadeInSlow .15s var(--ease-out-quart)}.confirm-dialog{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-5);min-width:360px;max-width:480px;z-index:var(--z-modal);animation:slideInUp .2s var(--ease-out-quart)}.confirm-title{margin:0 0 var(--space-3);font-family:var(--font-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}.confirm-message{font-family:var(--font-serif);font-size:var(--font-size-md);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-5);white-space:pre-wrap}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.confirm-btn{height:34px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-wide);cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.confirm-btn:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.confirm-btn.ok{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary);font-weight:var(--font-weight-medium)}.confirm-btn.ok:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.confirm-btn.ok.danger{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.confirm-btn.ok.danger:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.main-layout{display:flex;flex-direction:row;min-height:100vh;background:var(--color-bg)}.main-wrapper{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh;overflow-y:auto}.page-content{flex:1;width:100%;max-width:var(--layout-max-width);margin:0 auto;padding:var(--layout-content-padding);animation:fadeIn .4s var(--ease-out-quart)}.page-content-inner{width:100%}@media (max-width: 768px){.page-content{padding:var(--space-4)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-sans);font-weight:var(--font-weight-medium);font-size:var(--font-size-md);cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;line-height:1;outline:none;letter-spacing:var(--letter-spacing-wide)}.btn:focus-visible{box-shadow:var(--shadow-focus-primary)}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-block{width:100%;display:flex}.btn-small{padding:6px 12px;font-size:var(--font-size-sm);height:28px;border-radius:var(--radius-xs)}.btn-medium{padding:8px 16px;font-size:var(--font-size-md);height:34px;border-radius:var(--radius-sm)}.btn-large{padding:12px 24px;font-size:var(--font-size-lg);height:42px;border-radius:var(--radius-sm)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary);font-weight:var(--font-weight-medium)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background:var(--color-primary-active);border-color:var(--color-primary-active)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border);font-weight:var(--font-weight-normal)}.btn-secondary:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border-strong)}.btn-secondary:active:not(:disabled){background:var(--color-surface-hover)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent;font-weight:var(--font-weight-normal)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary)}.btn-danger{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent);font-weight:var(--font-weight-medium)}.btn-danger:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-danger:active:not(:disabled){background:var(--color-accent-active);border-color:var(--color-accent-active)}.btn-danger:focus-visible{box-shadow:var(--shadow-focus)}.btn-link{background:transparent;color:var(--color-accent);border:none;padding:0;height:auto;font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-wide)}.btn-link:hover:not(:disabled){color:var(--color-accent-hover);text-decoration:underline;background:transparent}.btn-loading{cursor:wait;opacity:.8}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.btn-icon{display:inline-flex;align-items:center;font-size:1.1em;line-height:0}.btn-label{display:inline-flex;align-items:center}.input-wrapper{margin-bottom:var(--space-4)}.input-label{display:block;margin-bottom:var(--space-2);font-family:var(--font-serif);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}.input-required{color:var(--color-accent);margin-left:4px}.input-container{position:relative}.input{width:100%;height:34px;padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-fast)}.input::placeholder{color:var(--color-text-tertiary)}.input:hover{border-color:var(--color-border-strong)}.input:focus{border-color:var(--color-border-strong);box-shadow:var(--shadow-focus)}.input-error{border-color:var(--color-danger)}.input-error:focus{border-color:var(--color-danger);box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px #c8392f40}.input-toggle{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-tertiary);font-family:var(--font-sans);font-size:var(--font-size-sm);cursor:pointer;transition:color var(--transition-fast)}.input-toggle:hover{color:var(--color-text-primary)}.input-error-message{display:block;margin-top:var(--space-1);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-danger)}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--color-bg);position:relative}.login-page:before{content:"以墨为韵 · 以字为器\a于留白处 见万象生长";white-space:pre-line;background:var(--gradient-hero);color:var(--color-on-primary);font-family:var(--font-serif);font-size:var(--font-size-2xl);font-weight:var(--font-weight-light);line-height:var(--line-height-loose);letter-spacing:var(--letter-spacing-wide);text-align:center;padding:var(--space-8);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;animation:fadeInSlow .6s var(--ease-out-quart)}.login-page:after{content:"墨";position:absolute;top:var(--space-6);left:var(--space-6);display:flex;align-items:center;justify-content:center;width:40px;height:40px;font-family:var(--font-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-xs);letter-spacing:0;z-index:2}.login-card{display:flex;flex-direction:column;justify-content:center;padding:var(--space-8) var(--space-7);max-width:440px;width:100%;margin:0 auto;background:transparent;animation:fadeIn .5s var(--ease-out-quart)}.login-title{font-family:var(--font-serif);font-size:var(--font-size-5xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);margin:0 0 var(--space-3);padding-bottom:var(--space-4);position:relative}.login-title:after{content:"";position:absolute;left:0;bottom:0;width:40px;height:3px;background:var(--color-accent);border-radius:var(--radius-xs)}.login-subtitle{font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide);margin:0 0 var(--space-6)}.login-card form{display:flex;flex-direction:column;margin-top:var(--space-2)}.login-card form .btn-large{margin-top:var(--space-2)}.login-error{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);background:var(--color-danger-bg);color:var(--color-danger);border-left:3px solid var(--color-danger);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-sm)}.login-footer{text-align:center;margin-top:var(--space-6);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-secondary)}.login-footer a{color:var(--color-accent);font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.login-footer a:hover{color:var(--color-accent-hover);text-decoration:underline}@media (max-width: 860px){.login-page{grid-template-columns:1fr}.login-page:before,.login-page:after{display:none}.login-card{max-width:420px;padding:var(--space-7) var(--space-5)}}.register-page{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--color-bg);position:relative}.register-page:before{content:"加入编辑部\a共创内容万象\a\a以墨为韵 · 以字为器";white-space:pre-line;background:var(--gradient-hero);color:var(--color-on-primary);font-family:var(--font-serif);font-size:var(--font-size-2xl);font-weight:var(--font-weight-light);line-height:var(--line-height-loose);letter-spacing:var(--letter-spacing-wide);text-align:center;padding:var(--space-8);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;animation:fadeInSlow .6s var(--ease-out-quart)}.register-page:after{content:"墨";position:absolute;top:var(--space-6);left:var(--space-6);display:flex;align-items:center;justify-content:center;width:40px;height:40px;font-family:var(--font-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-xs);letter-spacing:0;z-index:2}.register-card{display:flex;flex-direction:column;justify-content:center;padding:var(--space-8) var(--space-7);max-width:440px;width:100%;margin:0 auto;background:transparent;animation:fadeIn .5s var(--ease-out-quart)}.register-title{font-family:var(--font-serif);font-size:var(--font-size-5xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);margin:0 0 var(--space-3);padding-bottom:var(--space-4);position:relative}.register-title:after{content:"";position:absolute;left:0;bottom:0;width:40px;height:3px;background:var(--color-accent);border-radius:var(--radius-xs)}.register-subtitle{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide);margin:0 0 var(--space-6)}.register-card form{display:flex;flex-direction:column;margin-top:var(--space-2)}.register-card form .btn-large{margin-top:var(--space-2)}.register-error{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);background:var(--color-danger-bg);color:var(--color-danger);border-left:3px solid var(--color-danger);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-sm)}.btn-full-width{width:100%}.register-footer{text-align:center;margin-top:var(--space-6);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-secondary)}.register-footer a{color:var(--color-accent);font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.register-footer a:hover{color:var(--color-accent-hover);text-decoration:underline}@media (max-width: 860px){.register-page{grid-template-columns:1fr}.register-page:before,.register-page:after{display:none}.register-card{max-width:420px;padding:var(--space-7) var(--space-5)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dashboard-page{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-5);animation:fadeIn var(--transition-slow) var(--ease-out-quart)}.page-title{position:relative;font-family:var(--font-serif);font-size:var(--font-size-4xl);font-weight:var(--font-weight-black);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);margin:0 0 var(--space-1) 0;padding-left:var(--space-4)}.page-title:before{content:"";position:absolute;left:0;top:var(--space-1);bottom:var(--space-1);width:4px;background:var(--color-accent);border-radius:var(--radius-xs)}.page-header-subtitle{display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-6) var(--space-5);padding-left:0;font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide)}.page-header-subtitle:before{content:"";display:inline-block;width:18px;height:1px;background:var(--color-text-disabled)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-7)}.stat-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-4) var(--space-4);box-shadow:var(--shadow-xs);transition:transform var(--transition-base) var(--ease-out-quart),box-shadow var(--transition-base) var(--ease-out-quart);cursor:default;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:var(--space-4);right:var(--space-4);height:3px;border-radius:0 0 var(--radius-xs) var(--radius-xs);transition:left var(--transition-slow) var(--ease-out-quart),right var(--transition-slow) var(--ease-out-quart)}.stat-card:nth-child(1):before{background:var(--color-accent)}.stat-card:nth-child(2):before{background:var(--color-info)}.stat-card:nth-child(3):before{background:var(--color-success)}.stat-card:nth-child(4):before{background:var(--color-warning)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card:hover:before{left:0;right:0}.stat-card:nth-child(1){animation:fadeInUp .45s var(--ease-out-quart) .05s both}.stat-card:nth-child(2){animation:fadeInUp .45s var(--ease-out-quart) .12s both}.stat-card:nth-child(3){animation:fadeInUp .45s var(--ease-out-quart) .19s both}.stat-card:nth-child(4){animation:fadeInUp .45s var(--ease-out-quart) .26s both}.stat-value{font-family:var(--font-mono);font-size:var(--font-size-5xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.stat-label{font-family:var(--font-serif);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-top:var(--space-2)}.topic-list-section{margin-top:0}.section-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-3);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.section-header h2{font-family:var(--font-serif);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);margin:0}.btn-primary{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--color-primary);color:var(--color-on-primary);border:none;padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-normal);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:active{background:var(--color-primary-active);transform:scale(.97)}.topic-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border-light);border-left:4px solid var(--color-border);border-radius:0 var(--radius-xl) var(--radius-xl) 0;padding:var(--space-4) var(--space-4) var(--space-4) calc(var(--space-4) - 3px);cursor:pointer;box-shadow:var(--shadow-xs);transition:transform var(--transition-base) var(--ease-out-quart),box-shadow var(--transition-base) var(--ease-out-quart),border-color var(--transition-base) var(--ease-out-quart)}.topic-card:hover{transform:translate(2px);box-shadow:var(--shadow-md)}.topic-card.draft{border-left-color:var(--color-text-disabled)}.topic-card.pending{border-left-color:var(--color-warning)}.topic-card.approved{border-left-color:var(--color-success)}.topic-card.rejected{border-left-color:var(--color-danger)}.topic-card.producing,.topic-card.script_submitted{border-left-color:var(--color-info)}.topic-card.published{border-left-color:var(--color-success)}.topic-card.overdue{border-left-color:var(--color-danger);background:var(--color-danger-bg);border-color:var(--color-danger-light)}.topic-card.overdue:hover{background:var(--color-danger-bg)}.topic-card-header{display:flex;align-items:center;gap:var(--space-2)}.topic-platform{font-size:var(--font-size-lg);line-height:1;flex-shrink:0}.topic-account{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);flex:1}.status-tag{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-tight);text-transform:uppercase;flex-shrink:0}.topic-card-title{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.topic-card-meta{display:flex;align-items:center;gap:var(--space-4);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-normal)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-5);color:var(--color-text-tertiary);font-family:var(--font-serif);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-wide);animation:fadeIn .5s var(--ease-out-quart) .3s both}.empty-state:before{content:"——";display:block;font-family:var(--font-serif);font-size:var(--font-size-3xl);font-weight:var(--font-weight-light);color:var(--color-text-disabled);letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--space-3)}.dashboard-loading,.dashboard-error{display:flex;align-items:center;justify-content:center;padding:var(--space-9) var(--space-5);font-family:var(--font-serif);font-size:var(--font-size-md);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide)}@media (max-width: 900px){.stats-grid{grid-template-columns:repeat(2,1fr)}.page-title{font-size:var(--font-size-3xl)}.stat-value{font-size:var(--font-size-4xl)}}@media (max-width: 600px){.dashboard-page{padding:var(--space-4) var(--space-3)}.stats-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.stat-card{padding:var(--space-4) var(--space-3) var(--space-3)}.stat-value{font-size:var(--font-size-3xl)}.page-title{font-size:var(--font-size-2xl);padding-left:var(--space-3)}.section-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}}.topic-list-page{padding:var(--space-7) var(--layout-content-padding);max-width:var(--layout-content-max);margin:0 auto;animation:topic-fade-in var(--transition-slow) var(--ease-out-quart) both}@keyframes topic-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border);position:relative}.page-header:after{content:"";position:absolute;left:0;bottom:-1px;width:48px;height:3px;background:var(--color-accent);border-radius:var(--radius-full)}.page-header h1{font-family:var(--font-serif);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight)}.page-header .btn-primary{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);padding:var(--space-2) var(--space-5);background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-lg);cursor:pointer;letter-spacing:var(--letter-spacing-normal);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:var(--shadow-xs)}.page-header .btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.page-header .btn-primary:active{background:var(--color-primary-active);transform:translateY(0);box-shadow:var(--shadow-xs)}.status-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap}.tab-btn{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);padding:6px 16px;border:1px solid var(--color-border-light);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-tertiary);cursor:pointer;letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-tight);transition:all var(--transition-base)}.tab-btn:hover{color:var(--color-text-primary);border-color:var(--color-border-strong);background:var(--color-surface-hover)}.tab-btn:active{transform:scale(.97)}.tab-btn.active{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-sm)}.topic-cards{display:flex;flex-direction:column;gap:var(--space-3)}.topic-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border-light);border-left:4px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);cursor:pointer;box-shadow:var(--shadow-xs);transition:transform var(--transition-base) var(--ease-out-quart),box-shadow var(--transition-base) var(--ease-out-quart),border-left-color var(--transition-base) var(--ease-out-quart),border-left-width var(--transition-base) var(--ease-out-quart);animation:card-slide-up var(--transition-slow) var(--ease-out-quart) both;opacity:0}.topic-card:nth-child(1){animation-delay:0s}.topic-card:nth-child(2){animation-delay:.04s}.topic-card:nth-child(3){animation-delay:.08s}.topic-card:nth-child(4){animation-delay:.12s}.topic-card:nth-child(5){animation-delay:.16s}.topic-card:nth-child(6){animation-delay:.2s}.topic-card:nth-child(7){animation-delay:.24s}.topic-card:nth-child(8){animation-delay:.28s}.topic-card:nth-child(9){animation-delay:.32s}.topic-card:nth-child(10){animation-delay:.36s}@keyframes card-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.topic-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-left-width:6px}.topic-card.status-draft{border-left-color:var(--color-text-disabled)}.topic-card.status-pending{border-left-color:var(--color-warning)}.topic-card.status-approved{border-left-color:var(--color-success)}.topic-card.status-rejected{border-left-color:var(--color-danger)}.topic-card.status-producing,.topic-card.status-script_submitted{border-left-color:var(--color-info)}.topic-card.status-published{border-left-color:var(--color-success)}.topic-card.status-overdue{border-left-color:var(--color-danger);background:var(--color-danger-bg)}.topic-card-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.topic-card-header>span:first-child{font-size:var(--font-size-xl);line-height:1;flex-shrink:0}.topic-account{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-tag{margin-left:auto;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:2px 10px;border-radius:var(--radius-full);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-tight);white-space:nowrap;flex-shrink:0}.status-approved{background:var(--color-success-bg);color:var(--color-success)}.status-rejected{background:var(--color-danger-light);color:var(--color-danger)}.status-producing,.status-script_submitted{background:var(--color-info-light);color:var(--color-info)}.status-published{background:var(--color-success-bg);color:var(--color-success)}.status-overdue{background:var(--color-danger-light);color:var(--color-danger)}.topic-card-title{font-family:var(--font-sans);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-3);line-height:var(--line-height-base);letter-spacing:var(--letter-spacing-normal);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.topic-card-meta{display:flex;gap:var(--space-5);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-normal)}.topic-card-meta span{display:inline-flex;align-items:center;gap:var(--space-1)}.loading{text-align:center;padding:var(--space-8) var(--space-4);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide);animation:loading-pulse 1.8s ease-in-out infinite}@keyframes loading-pulse{0%,to{opacity:.4}50%{opacity:.8}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-9) var(--space-4);text-align:center;position:relative}.empty-state:before{content:"";display:block;width:24px;height:24px;border:2px solid var(--color-border-strong);border-radius:var(--radius-full);margin-bottom:var(--space-5);position:relative}.empty-state:after{content:"";position:absolute;top:var(--space-9);left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--color-accent);border-radius:var(--radius-full);margin-top:-12px}.empty-state{font-family:var(--font-serif);font-size:var(--font-size-lg);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide)}@media (max-width: 768px){.topic-list-page{padding:var(--space-5) var(--space-4)}.page-header{flex-direction:column;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-4)}.page-header .btn-primary{width:100%;text-align:center}.status-tabs{gap:var(--space-1)}.tab-btn{padding:5px 12px;font-size:var(--font-size-xs)}.topic-card{padding:var(--space-3) var(--space-4)}.topic-card-meta{flex-direction:column;gap:var(--space-1)}}.topic-form-page{padding:var(--space-5);max-width:800px;margin:0 auto}.form-page-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.form-page-header h1{font-size:var(--font-size-3xl);margin:0}.btn-back{background:none;border:1px solid var(--color-border-light);padding:6px 14px;border-radius:var(--radius-lg);cursor:pointer;font-size:var(--font-size-md);color:var(--color-text-secondary)}.topic-form{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-sm)}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:var(--font-size-md);font-weight:600;margin-bottom:6px;color:var(--color-text-secondary)}.form-group .required{color:var(--color-danger)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);font-size:var(--font-size-md);box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.form-group textarea{resize:vertical;min-height:100px}.input-error{border-color:var(--color-danger)!important}.error-text{display:block;font-size:var(--font-size-sm);color:var(--color-danger);margin-top:var(--space-1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-error-banner{background:var(--color-danger-bg);color:var(--color-danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-md);margin-bottom:var(--space-4)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border:none;padding:10px var(--space-5);border-radius:var(--radius-lg);font-size:var(--font-size-md);cursor:pointer}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-cancel{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border-light);padding:10px var(--space-5);border-radius:var(--radius-lg);font-size:var(--font-size-md);cursor:pointer}.form-loading{text-align:center;padding:60px;color:var(--color-text-tertiary)}.topic-detail-page{max-width:1000px;margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-8);animation:detail-fade-in var(--transition-slow) var(--ease-out-quart) both}@keyframes detail-fade-in{0%{opacity:0}to{opacity:1}}.detail-loading{text-align:center;padding:60px;font-family:var(--font-serif);font-size:var(--font-size-lg);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide);animation:pulse-loading 1.8s ease-in-out infinite}@keyframes pulse-loading{0%,to{opacity:.4}50%{opacity:.8}}.detail-error{text-align:center;padding:60px;font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-danger);letter-spacing:var(--letter-spacing-normal)}.detail-error .btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;text-decoration:underline;font-family:var(--font-sans);font-size:var(--font-size-md);padding:var(--space-1);margin-left:var(--space-2);transition:color var(--transition-fast)}.detail-error .btn-link:hover{color:var(--color-accent)}.detail-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border);position:relative}.detail-header:after{content:"";position:absolute;left:0;bottom:-1px;width:48px;height:3px;background:var(--color-accent);border-radius:var(--radius-full)}.detail-header h1{font-family:var(--font-serif);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;flex:1;letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);padding-left:var(--space-4);position:relative}.detail-header h1:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--color-accent);border-radius:var(--radius-full)}.btn-back{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);color:var(--color-text-secondary);background:none;border:1px solid var(--color-border-light);padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);cursor:pointer;letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-base);transition:all var(--transition-base);white-space:nowrap;flex-shrink:0}.btn-back:hover{color:var(--color-text-primary);border-color:var(--color-border-strong);background:var(--color-surface-hover);transform:translate(-2px)}.btn-back:active{transform:translate(0) scale(.97)}.status-badge{display:inline-flex;align-items:center;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-tight);white-space:nowrap;flex-shrink:0;transition:all var(--transition-base)}.status-badge.draft{background:var(--color-surface-secondary);color:var(--color-text-tertiary);border:1px solid var(--color-border-light)}.status-badge.pending{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-light)}.status-badge.approved{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-light)}.status-badge.rejected{background:var(--color-danger-light);color:var(--color-danger);border:1px solid var(--color-danger-light)}.status-badge.producing{background:var(--color-info-light);color:var(--color-info);border:1px solid var(--color-info-light)}.status-badge.script_submitted{background:#f0f4f2;color:var(--color-success);border:1px solid var(--color-success-light)}.status-badge.published{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-light)}.status-badge.overdue{background:var(--color-danger-light);color:var(--color-danger);border:1px solid rgba(200,57,47,.25)}.success-banner,.error-banner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-base);margin-bottom:var(--space-4);cursor:default;animation:banner-slide-in var(--transition-slow) var(--ease-out-quart) both}@keyframes banner-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.success-banner{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-light)}.error-banner{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-light)}.banner-close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-full);font-size:var(--font-size-lg);line-height:1;cursor:pointer;flex-shrink:0;margin-left:var(--space-3);transition:all var(--transition-fast);color:inherit;opacity:.6}.banner-close:hover{opacity:1;background:#0000000f}.info-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-xs);margin-bottom:var(--space-5);animation:section-rise var(--transition-slow) var(--ease-out-quart) both}.script-section,.publish-section,.timeline-section{animation:section-rise var(--transition-slow) var(--ease-out-quart) both}.info-card{animation-delay:.05s}.script-section{animation-delay:.1s}.publish-section{animation-delay:.15s}.timeline-section{animation-delay:.2s}@keyframes section-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.info-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-border);position:relative}.info-card-header:after{content:"";position:absolute;left:0;bottom:-2px;width:32px;height:2px;background:var(--color-accent);border-radius:var(--radius-full)}.info-card-header h3{font-family:var(--font-serif);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-tight)}.info-card-header .btn-primary{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:6px 16px;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-lg);cursor:pointer;letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-base);transition:all var(--transition-base);box-shadow:var(--shadow-xs)}.info-card-header .btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.info-card-header .btn-primary:active{background:var(--color-primary-active);transform:translateY(0);box-shadow:var(--shadow-xs)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-6)}.info-item{display:flex;flex-direction:column;gap:2px;min-width:0}.info-label{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);line-height:var(--line-height-tight)}.info-value{font-family:var(--font-serif);font-size:var(--font-size-md);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-base);word-break:break-word}.info-value.desc{grid-column:1 / -1;display:flex;flex-direction:column;gap:2px}.info-value.desc .info-value{white-space:pre-wrap;line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.action-bar{display:flex;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.btn-primary{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);padding:var(--space-2) var(--space-5);background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-lg);cursor:pointer;letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-tight);transition:all var(--transition-base);box-shadow:var(--shadow-xs);white-space:nowrap}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){background:var(--color-primary-active);transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary.green{background:var(--color-success)}.btn-primary.green:hover:not(:disabled){background:#4a7a6a;box-shadow:var(--shadow-md)}.btn-primary.green:active:not(:disabled){background:#3d6a5a}.btn-primary.red{background:var(--color-danger)}.btn-primary.red:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-md)}.btn-primary.red:active:not(:disabled){background:var(--color-accent-active)}.btn-secondary{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);padding:var(--space-2) var(--space-5);background:var(--color-surface-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-tight);transition:all var(--transition-base);white-space:nowrap}.btn-secondary:hover{color:var(--color-text-primary);border-color:var(--color-border-strong);background:var(--color-surface-hover)}.btn-secondary:active{transform:scale(.97)}.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.reject-box{margin-top:var(--space-3);animation:reject-expand var(--transition-slow) var(--ease-out-quart)}@keyframes reject-expand{0%{opacity:0;max-height:0}to{opacity:1;max-height:300px}}.reject-box textarea{width:100%;min-height:80px;padding:var(--space-3);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-base);resize:vertical;box-sizing:border-box;background:var(--color-bg);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.reject-box textarea:focus{outline:none;border-color:var(--color-danger);box-shadow:var(--shadow-focus)}.reject-box textarea::placeholder{color:var(--color-text-tertiary)}.reject-box .action-bar{justify-content:flex-end;border-top:none;margin-top:var(--space-3);padding-top:0}.script-section{margin-bottom:var(--space-5)}.script-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-xs)}.script-card h3{font-family:var(--font-serif);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-4);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-tight);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-border);position:relative}.script-card h3:after{content:"";position:absolute;left:0;bottom:-2px;width:32px;height:2px;background:var(--color-accent);border-radius:var(--radius-full)}.script-editor{width:100%;min-height:220px;padding:var(--space-4);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-relaxed);resize:vertical;box-sizing:border-box;background:var(--color-bg);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.script-editor:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus-primary)}.script-editor::placeholder{color:var(--color-text-tertiary);font-style:italic}.script-content{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-4);font-family:var(--font-serif);font-size:var(--font-size-md);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-relaxed);white-space:pre-wrap;max-height:420px;overflow-y:auto}.script-content::-webkit-scrollbar{width:6px}.script-content::-webkit-scrollbar-track{background:transparent}.script-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.script-content::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.script-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-7) var(--space-4);font-family:var(--font-serif);font-size:var(--font-size-lg);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide);position:relative}.script-empty:before{content:"";display:block;width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--radius-full);margin-bottom:var(--space-4)}.script-empty:after{content:"";position:absolute;top:var(--space-7);left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--color-accent);border-radius:var(--radius-full);margin-top:-12px}.script-card .action-bar{border-top:1px solid var(--color-border-light);margin-top:var(--space-4);padding-top:var(--space-4)}.publish-section{margin-bottom:var(--space-5)}.publish-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-xs)}.publish-card h3{font-family:var(--font-serif);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-4);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-tight);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-border);position:relative}.publish-card h3:after{content:"";position:absolute;left:0;bottom:-2px;width:32px;height:2px;background:var(--color-accent);border-radius:var(--radius-full)}.publish-card .form-group{margin-bottom:var(--space-4)}.publish-card .form-group label{display:block;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);margin-bottom:6px;line-height:var(--line-height-tight)}.publish-card .form-group input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-base);box-sizing:border-box;background:var(--color-bg);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.publish-card .form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus-primary)}.publish-card .form-group input::placeholder{color:var(--color-text-tertiary)}.input-readonly{background:var(--color-surface-secondary)!important;color:var(--color-text-secondary)!important;cursor:default;border-color:var(--color-border-light)!important}.input-readonly:focus{outline:none;border-color:var(--color-border-light)!important;box-shadow:none!important}.publish-card .action-bar{border-top:1px solid var(--color-border-light);margin-top:var(--space-4);padding-top:var(--space-4)}.timeline-section{margin-bottom:var(--space-5)}.timeline-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-xs)}.timeline-card h3{font-family:var(--font-serif);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-4);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-tight);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-border);position:relative}.timeline-card h3:after{content:"";position:absolute;left:0;bottom:-2px;width:32px;height:2px;background:var(--color-accent);border-radius:var(--radius-full)}.timeline-item{display:flex;gap:var(--space-3);padding:var(--space-3) 0;position:relative}.timeline-item:not(:last-child):after{content:"";position:absolute;left:10px;top:26px;bottom:-10px;width:1px;background:var(--color-border-light)}.timeline-dot{width:9px;height:9px;border-radius:var(--radius-full);background:var(--color-primary);margin-top:5px;flex-shrink:0;position:relative;z-index:1;box-shadow:0 0 0 3px var(--color-surface)}.timeline-body{flex:1;min-width:0}.timeline-action{font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-base)}.timeline-meta{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-tight);margin-top:2px}.timeline-empty{text-align:center;padding:var(--space-6);font-family:var(--font-serif);font-size:var(--font-size-md);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide)}@media (max-width: 768px){.topic-detail-page{padding:var(--space-5) var(--space-4)}.detail-header{flex-wrap:wrap;gap:var(--space-3);padding-bottom:var(--space-4)}.detail-header h1{font-size:var(--font-size-2xl);order:2;flex-basis:100%;padding-left:0}.detail-header h1:before{display:none}.detail-header .btn-back{order:1}.detail-header .status-badge{order:3;margin-left:auto}.info-grid{grid-template-columns:1fr;gap:var(--space-3)}.info-value.desc{grid-column:auto}.action-bar{flex-direction:column}.action-bar .btn-primary,.action-bar .btn-secondary{width:100%;text-align:center}.script-editor{min-height:160px}.script-content{max-height:300px}.timeline-item:not(:last-child):after{left:10px}}@media (max-width: 480px){.detail-header h1{font-size:var(--font-size-xl)}.info-card,.script-card,.publish-card,.timeline-card{padding:var(--space-4)}.info-card-header h3,.script-card h3,.publish-card h3,.timeline-card h3{font-size:var(--font-size-lg)}}.review-page{max-width:960px;margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-8)}.review-page-title{font-family:var(--font-serif);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);margin:0 0 var(--space-2);padding-left:var(--space-4);position:relative;line-height:var(--line-height-tight)}.review-page-title:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--color-accent);border-radius:var(--radius-full)}.review-count{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-6);margin-left:var(--space-4)}.review-count:before{content:"";display:inline-block;width:7px;height:7px;background:var(--color-accent);border-radius:var(--radius-full);animation:pulse-dot 2s ease-in-out infinite}.review-list{display:flex;flex-direction:column;gap:var(--space-4)}.review-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-left:4px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-5) var(--space-5) calc(var(--space-5) - 4px);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-base),border-left-color var(--transition-base),transform var(--transition-base);position:relative;animation:cardSlideIn var(--transition-slow) var(--ease-out-quart) both}.review-card:nth-child(1){animation-delay:0s}.review-card:nth-child(2){animation-delay:.06s}.review-card:nth-child(3){animation-delay:.12s}.review-card:nth-child(4){animation-delay:.18s}.review-card:nth-child(5){animation-delay:.24s}.review-card:nth-child(6){animation-delay:.3s}.review-card:nth-child(7){animation-delay:.36s}.review-card:nth-child(8){animation-delay:.42s}.review-card:nth-child(9){animation-delay:.48s}.review-card:nth-child(10){animation-delay:.54s}.review-card:hover{box-shadow:var(--shadow-md);border-left-color:var(--color-accent);transform:translateY(-1px)}.review-card-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.review-platform-icon{font-size:var(--font-size-xl);line-height:1}.review-account-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.review-creator{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-left:auto;display:flex;align-items:center;gap:var(--space-1)}.review-title{font-family:var(--font-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);cursor:pointer;margin-bottom:var(--space-3);line-height:var(--line-height-base);transition:color var(--transition-fast)}.review-title:hover{color:var(--color-accent)}.review-meta{display:flex;gap:var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-bottom:var(--space-5);flex-wrap:wrap;align-items:center}.review-meta span{display:inline-flex;align-items:center;gap:var(--space-1)}.review-actions{display:flex;gap:var(--space-3)}.btn-approve,.btn-reject{display:inline-flex;align-items:center;gap:var(--space-1);border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:transform var(--transition-fast) var(--ease-out-quart),box-shadow var(--transition-fast),filter var(--transition-fast),opacity var(--transition-fast);line-height:1}.btn-approve{background:var(--color-success);color:var(--color-on-accent)}.btn-approve:hover{transform:scale(1.03);box-shadow:var(--shadow-md);filter:brightness(1.08)}.btn-approve:active{transform:scale(.97)}.btn-reject{background:var(--color-danger);color:var(--color-on-accent)}.btn-reject:hover{transform:scale(1.03);box-shadow:var(--shadow-md);filter:brightness(1.08)}.btn-reject:active{transform:scale(.97)}.btn-reject:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.btn-secondary{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);line-height:1}.btn-secondary:hover{background:var(--color-surface-secondary);border-color:var(--color-border-strong)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1f73;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:modalFadeIn var(--transition-base) ease;padding:var(--space-5)}.modal-content{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-2xl);padding:var(--space-6);width:100%;max-width:480px;box-shadow:var(--shadow-xl);animation:modalSlideUp var(--transition-slow) var(--ease-out-back);position:relative}.modal-content h3{font-family:var(--font-serif);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0 0 var(--space-4);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}.modal-content textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-sans);line-height:var(--line-height-base);resize:vertical;box-sizing:border-box;background:var(--color-bg);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.modal-content textarea::placeholder{color:var(--color-text-disabled)}.modal-content textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5)}.review-empty{text-align:center;padding:var(--space-8) var(--space-5);color:var(--color-text-tertiary);font-size:var(--font-size-md);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.review-empty:before{content:"📋";font-size:var(--font-size-4xl);opacity:.35;display:block}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.8)}}.team-page{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-8)}.team-page-title{font-family:var(--font-serif);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);margin:0 0 var(--space-2);padding-left:var(--space-4);position:relative}.team-page-subtitle{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0 0 var(--space-6);padding-left:var(--space-4);letter-spacing:var(--letter-spacing-wide)}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-4)}@keyframes team-card-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.team-member-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;border:1px solid var(--color-border);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-base),transform var(--transition-base),border-color var(--transition-fast);position:relative;overflow:hidden;opacity:0;animation:team-card-enter var(--transition-slow) var(--ease-out-quart) forwards}.team-member-card:nth-child(1){animation-delay:0ms}.team-member-card:nth-child(2){animation-delay:60ms}.team-member-card:nth-child(3){animation-delay:.12s}.team-member-card:nth-child(4){animation-delay:.18s}.team-member-card:nth-child(5){animation-delay:.24s}.team-member-card:nth-child(6){animation-delay:.3s}.team-member-card:nth-child(7){animation-delay:.36s}.team-member-card:nth-child(8){animation-delay:.42s}.team-member-card:nth-child(9){animation-delay:.48s}.team-member-card:nth-child(10){animation-delay:.54s}.team-member-card:nth-child(11){animation-delay:.6s}.team-member-card:nth-child(12){animation-delay:.66s}.team-member-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-accent);transform:scaleY(0);transition:transform var(--transition-base)}.team-member-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-border-strong);transform:translateY(-3px)}.team-member-card:hover:before{transform:scaleY(1)}.team-member-name{font-family:var(--font-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-4);letter-spacing:var(--letter-spacing-tight)}.team-member-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2)}.team-stat{text-align:center;padding:var(--space-2) var(--space-1);background:var(--color-bg);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.team-stat.warning{background:var(--color-danger-bg)}.team-stat-value{display:block;font-family:var(--font-mono);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.team-stat.warning .team-stat-value{color:var(--color-danger)}.team-stat-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--space-1);letter-spacing:var(--letter-spacing-wide)}.account-list-page{padding:var(--space-6);max-width:900px;margin:0 auto}.account-list-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light)}.account-list-title{font-family:var(--font-serif);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;letter-spacing:var(--letter-spacing-tight);position:relative;padding-left:var(--space-4)}.account-list-title:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--color-accent);border-radius:var(--radius-xs)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border:none;padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-sans);letter-spacing:var(--letter-spacing-normal)}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-primary:active{transform:translateY(0)}.account-cards{display:flex;flex-direction:column;gap:var(--space-3)}.account-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);cursor:pointer;display:flex;align-items:center;gap:var(--space-4);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);position:relative;overflow:hidden}.account-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-accent);transform:scaleY(0);transform-origin:center;transition:transform var(--transition-base) var(--ease-out-quart);border-radius:0 var(--radius-xs) var(--radius-xs) 0}.account-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent);transform:translate(2px)}.account-card:hover:before{transform:scaleY(1)}.account-card{animation:cardFadeIn var(--transition-slow) var(--ease-out-quart) both}.account-card:nth-child(1){animation-delay:0ms}.account-card:nth-child(2){animation-delay:60ms}.account-card:nth-child(3){animation-delay:.12s}.account-card:nth-child(4){animation-delay:.18s}.account-card:nth-child(5){animation-delay:.24s}.account-card:nth-child(6){animation-delay:.3s}.account-card:nth-child(7){animation-delay:.36s}.account-card:nth-child(8){animation-delay:.42s}.account-card:nth-child(9){animation-delay:.48s}.account-card:nth-child(10){animation-delay:.54s}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.account-platform-icon{font-size:var(--font-size-2xl);flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-lighter);border-radius:var(--radius-lg);transition:background var(--transition-fast)}.account-card:hover .account-platform-icon{background:var(--color-primary-light)}.account-info{flex:1;min-width:0}.account-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.account-meta{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-top:var(--space-1);line-height:var(--line-height-base)}.account-empty{text-align:center;padding:var(--space-9) var(--space-6);color:var(--color-text-tertiary);font-size:var(--font-size-base);font-family:var(--font-serif);line-height:var(--line-height-relaxed)}.account-empty:before{content:"";display:block;width:1px;height:60px;background:var(--color-border);margin:0 auto var(--space-5)}.account-loading{text-align:center;padding:var(--space-9);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.account-form-page{padding:var(--space-6);max-width:640px;margin:0 auto}.account-form-title{font-family:var(--font-serif);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-6);letter-spacing:var(--letter-spacing-tight);padding-bottom:var(--space-3);position:relative}.account-form-title:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:2px;background:var(--color-accent);border-radius:var(--radius-xs)}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);color:var(--color-text-secondary);font-family:var(--font-sans);letter-spacing:var(--letter-spacing-normal)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-sans);background:var(--color-surface);color:var(--color-text-primary);box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);line-height:var(--line-height-base)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-disabled)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238c887e' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-6)}.form-textarea{min-height:120px;resize:vertical;line-height:var(--line-height-relaxed)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border-light)}.btn-secondary{background:var(--color-surface-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-sans);letter-spacing:var(--letter-spacing-normal)}.btn-secondary:hover{background:var(--color-border);color:var(--color-text-primary)}.btn-secondary:active{background:var(--color-border-strong)}.form-actions .btn-primary{background:var(--color-primary);color:var(--color-on-primary);border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-sans);letter-spacing:var(--letter-spacing-normal)}.form-actions .btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.form-actions .btn-primary:active{transform:translateY(0)}.account-detail-page{padding:var(--space-6);max-width:780px;margin:0 auto;animation:detailFadeIn var(--transition-slow) var(--ease-out-quart)}@keyframes detailFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.back-btn{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;font-size:var(--font-size-sm);font-family:var(--font-sans);margin-bottom:var(--space-4);padding:0;transition:color var(--transition-fast);display:inline-flex;align-items:center;gap:var(--space-1)}.back-btn:hover{color:var(--color-accent)}.detail-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-4);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.detail-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.detail-header h1{font-family:var(--font-serif);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight)}.detail-platform-icon{font-size:32px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-lighter);border-radius:var(--radius-lg);flex-shrink:0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-5)}.detail-item label{display:block;font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-weight:var(--font-weight-medium)}.detail-item span{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:var(--line-height-base)}.detail-item a{color:var(--color-accent);text-decoration:none;font-size:var(--font-size-base);transition:color var(--transition-fast)}.detail-item a:hover{color:var(--color-accent-hover);text-decoration:underline;text-underline-offset:2px}.detail-section-title{font-family:var(--font-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-3);letter-spacing:var(--letter-spacing-tight);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light)}.topic-list{display:flex;flex-direction:column;gap:var(--space-2)}.topic-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-bg);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);border:1px solid transparent}.topic-item:hover{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-xs);transform:translate(2px)}.topic-item:nth-child(1){animation-delay:0ms}.topic-item:nth-child(2){animation-delay:40ms}.topic-item:nth-child(3){animation-delay:80ms}.topic-item:nth-child(4){animation-delay:.12s}.topic-item:nth-child(5){animation-delay:.16s}.topic-item-title{flex:1;margin:0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-tight);font-weight:var(--font-weight-medium)}.topic-item-date{font-size:var(--font-size-xs);color:var(--color-text-tertiary);flex-shrink:0;font-family:var(--font-mono)}.topic-item-status{font-size:var(--font-size-xs);padding:2px var(--space-2);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);flex-shrink:0;line-height:var(--line-height-tight)}.status-draft{background:var(--color-surface-secondary);color:var(--color-text-tertiary)}.status-pending{background:var(--color-warning-bg);color:var(--color-warning)}.status-published{background:var(--color-info-light);color:var(--color-info)}.status-overdue{background:var(--color-danger-bg);color:var(--color-danger)}.topic-empty{text-align:center;padding:var(--space-6);color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-family:var(--font-serif)}.detail-loading{text-align:center;padding:var(--space-9);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.back-button{display:inline-flex;align-items:center;gap:var(--space-1);padding:6px 12px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-serif);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-wide);transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.back-button:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.back-icon{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-7) var(--space-5);color:var(--color-text-tertiary)}.loading-spinner{width:36px;height:36px;border:2px solid var(--color-border-light);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.loading-text{margin-top:var(--space-3);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide)}.settings-page{max-width:900px}.settings-warning{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-warning-bg);border:1px solid var(--color-warning-light);border-left:3px solid var(--color-warning);border-radius:var(--radius-md);color:var(--color-warning);font-family:var(--font-sans);font-size:var(--font-size-md);margin-bottom:var(--space-5)}.settings-section{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4)}.section-header{margin-bottom:var(--space-5)}.section-header h2{margin:0 0 var(--space-2);font-family:var(--font-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);position:relative;padding-left:var(--space-4)}.section-header h2:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:75%;background:var(--color-accent);border-radius:var(--radius-xs)}.settings-hint{color:var(--color-text-tertiary);font-family:var(--font-sans);font-size:var(--font-size-sm);margin:0;padding-left:var(--space-4);line-height:var(--line-height-base)}.provider-tabs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.provider-tab{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-base),background var(--transition-base);background:var(--color-surface);position:relative;overflow:hidden}.provider-tab:hover{border-color:var(--color-border-strong)}.provider-tab.active{border-color:var(--color-primary);background:var(--color-primary-lighter)}.provider-tab.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-accent)}.provider-icon{font-size:var(--font-size-3xl);line-height:1;flex-shrink:0}.provider-info{flex:1;min-width:0}.provider-label{font-family:var(--font-serif);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1);letter-spacing:var(--letter-spacing-tight)}.provider-desc{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:var(--line-height-base)}.provider-radio{font-size:var(--font-size-xl);color:var(--color-accent);line-height:1;flex-shrink:0}.settings-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-row{display:flex;flex-direction:column;gap:var(--space-2)}.form-row input,.form-row select,.form-row textarea{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base);background:var(--color-surface)}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px #1a1a1f26}.form-row.form-row-inline{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.form-col{display:flex;flex-direction:column;gap:var(--space-2)}.form-col label{font-family:var(--font-serif);font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.form-col input{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base);background:var(--color-surface)}.form-col input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px #1a1a1f26}.field-hint{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:2px;line-height:var(--line-height-base)}.configured-tag{margin-left:var(--space-2);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:2px 8px;background:var(--color-success-bg);color:var(--color-success);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium)}.settings-divider{border:none;border-top:1px solid var(--color-border-light);margin:var(--space-1) 0}.model-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-4)}.model-card{background:var(--color-bg);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--color-border-light);transition:border-color var(--transition-base)}.model-card:hover{border-color:var(--color-border-strong)}.model-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-1)}.model-card-header h3{margin:0;font-family:var(--font-serif);font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.model-card-desc{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0 0 var(--space-4);line-height:var(--line-height-base)}.model-select-row{display:flex;flex-direction:column;gap:var(--space-2)}.model-select-row label{font-family:var(--font-serif);font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.model-select-row select{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);background:var(--color-surface);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.model-select-row select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px #1a1a1f26}.model-custom-input{margin-top:var(--space-1);padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--font-size-md);color:var(--color-text-primary);background:var(--color-surface);outline:none;transition:border-color var(--transition-base);animation:fadeIn .2s var(--ease-out-quart)}.model-custom-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px #1a1a1f26}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}@media (max-width: 640px){.provider-tabs,.form-row.form-row-inline,.model-cards-grid{grid-template-columns:1fr}}.profile-page{max-width:720px}.profile-section{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4)}.profile-section h2{margin:0 0 var(--space-4);font-family:var(--font-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);position:relative;padding-left:var(--space-4)}.profile-section h2:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:75%;background:var(--color-accent);border-radius:var(--radius-xs)}.form-row{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.form-row label{font-family:var(--font-serif);font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight)}.form-row input{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);background:var(--color-surface);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.form-row input::placeholder{color:var(--color-text-tertiary)}.form-row input:disabled{background:var(--color-bg);color:var(--color-text-tertiary);cursor:not-allowed}.form-row input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px #1a1a1f26}.form-row input[type=password]{font-family:var(--font-mono);letter-spacing:var(--letter-spacing-wide)}.form-actions{display:flex;justify-content:flex-end;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border-light)}.info-row{display:flex;gap:var(--space-3);padding:var(--space-2) 0;font-family:var(--font-sans);font-size:var(--font-size-md);border-bottom:1px solid var(--color-border-light)}.info-row:last-child{border-bottom:none}.info-row span{color:var(--color-text-tertiary);min-width:100px;font-weight:var(--font-weight-normal)}.info-row strong{color:var(--color-text-primary);font-family:var(--font-mono);font-weight:var(--font-weight-medium)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-5);text-align:center;color:var(--color-text-tertiary);animation:fadeIn .4s var(--ease-out-quart)}.empty-icon{width:64px;height:64px;border-radius:var(--radius-full);background:var(--color-primary-lighter);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:var(--space-4)}.empty-title{font-family:var(--font-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2);letter-spacing:var(--letter-spacing-tight)}.empty-description{font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-tertiary);max-width:380px;line-height:var(--line-height-relaxed);margin-bottom:var(--space-4)}.empty-action{margin-top:var(--space-2)}.empty-state-small{padding:var(--space-4) var(--space-3)}.empty-state-small .empty-icon{width:48px;height:48px;font-size:22px;margin-bottom:var(--space-3)}.empty-state-small .empty-title{font-size:var(--font-size-md)}.empty-state-large{padding:var(--space-8) var(--space-5)}.empty-state-large .empty-icon{width:88px;height:88px;font-size:40px}.empty-state-large .empty-title{font-size:var(--font-size-2xl)}.empty-state-card{background:var(--color-surface);border-radius:var(--radius-md);border:1px dashed var(--color-border);padding:var(--space-6) var(--space-5)}.admin-users-page{max-width:1200px}.page-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.page-header h1{margin:0;font-family:var(--font-serif);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);position:relative;padding-left:var(--space-4)}.page-header h1:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:70%;background:var(--color-accent);border-radius:var(--radius-xs)}.users-filters{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);align-items:center}.users-filters select,.users-filters input{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);background:var(--color-surface);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.users-filters select:focus,.users-filters input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px #1a1a1f26}.users-filters input{min-width:240px;flex:1}.users-filters input::placeholder{color:var(--color-text-tertiary)}.user-table{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden}.user-row{display:grid;grid-template-columns:60px 220px 120px 110px 110px 130px 1fr;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary)}.user-row.user-head{background:var(--color-bg);font-family:var(--font-serif);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;border-bottom:1px solid var(--color-border)}.user-row:last-child{border-bottom:none}.user-row:hover:not(.user-head){background:var(--color-surface-hover)}.user-row>div:nth-child(2),.user-row>div:nth-child(3){font-family:var(--font-serif);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight)}.user-row>div:first-child{font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.user-actions{display:flex;gap:var(--space-1);flex-wrap:wrap}.user-actions button{padding:4px 10px;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.role-tag{display:inline-block;padding:2px 10px;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide)}.role-tag.admin{background:var(--color-accent-light);color:var(--color-accent);border:1px solid var(--color-accent-light)}.role-tag.user{background:var(--color-primary-light);color:var(--color-text-secondary);border:1px solid var(--color-border-light)}.time-cell{font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.status-pill{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.status-pill.status-active{background:var(--color-success-bg);color:var(--color-success)}.status-pill.status-pending{background:var(--color-warning-bg);color:var(--color-warning)}.status-pill.status-disabled{background:var(--color-danger-bg);color:var(--color-danger)}@media (max-width: 900px){.user-row{grid-template-columns:50px 1fr 100px 90px 90px;font-size:var(--font-size-sm)}.user-row>div:nth-child(6),.user-row>div:nth-child(7){grid-column:1 / -1;padding-top:var(--space-1)}}.team-detail-page{max-width:1000px;margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-8)}.back-btn{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:none;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);margin-bottom:var(--space-4)}.back-btn:hover{color:var(--color-accent);background:var(--color-accent-light)}.team-page-title{font-family:var(--font-serif);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);margin:0 0 var(--space-6);padding-left:var(--space-4);position:relative}.team-page-title:before{content:"";position:absolute;left:0;top:var(--space-1);height:calc(100% - var(--space-2));width:3px;background:var(--color-accent);border-radius:var(--radius-xs)}.status-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-light)}.tab-btn{padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.tab-btn:hover{color:var(--color-text-primary);border-color:var(--color-border);background:var(--color-surface)}.tab-btn.active{color:var(--color-on-primary);background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.topic-cards-list{display:flex;flex-direction:column;gap:var(--space-3)}.topic-card-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-base),transform var(--transition-base),border-color var(--transition-fast)}.topic-card-item:hover{box-shadow:var(--shadow-lg);border-color:var(--color-border-strong);transform:translateY(-2px)}.topic-card-item.overdue{border-left:4px solid var(--color-danger)}.topic-card-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);font-size:var(--font-size-sm)}.topic-account{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.status-tag{margin-left:auto;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);white-space:nowrap}.status-draft{color:var(--color-text-tertiary);background:var(--color-primary-lighter)}.status-pending{color:var(--color-warning);background:var(--color-warning-bg)}.status-approved{color:var(--color-info);background:var(--color-info-light)}.status-rejected{color:var(--color-danger);background:var(--color-danger-bg)}.status-producing{color:var(--color-info);background:var(--color-info-light)}.status-script_submitted{color:var(--color-warning);background:var(--color-warning-bg)}.status-published{color:var(--color-success);background:var(--color-success-bg)}.status-overdue{color:var(--color-danger);background:var(--color-danger-bg)}.topic-card-title{font-family:var(--font-serif);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-3);line-height:var(--line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-card-meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.review-empty{text-align:center;padding:var(--space-9) var(--space-5);color:var(--color-text-tertiary);font-family:var(--font-serif);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-wide)}.team-loading{text-align:center;padding:var(--space-9);color:var(--color-text-tertiary);font-size:var(--font-size-md)}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;color:var(--color-text-secondary);position:relative;padding:var(--space-6) var(--space-4)}.not-found:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(184,179,168,.08) 0%,transparent 70%);pointer-events:none;z-index:0}.not-found>*{position:relative;z-index:1}.nf-icon{font-size:80px;margin-bottom:var(--space-4);line-height:1;opacity:.7;filter:grayscale(.3)}.not-found h1{font-family:var(--font-serif);font-size:120px;font-weight:var(--font-weight-black);margin:0;color:var(--color-primary);letter-spacing:var(--letter-spacing-tight);line-height:1;position:relative;display:inline-block}.not-found h1:after{content:"迷";position:absolute;top:-12px;right:-36px;font-size:20px;font-weight:var(--font-weight-semibold);color:var(--color-on-accent);background:var(--color-accent);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);font-family:var(--font-serif);letter-spacing:0;transform:rotate(8deg);box-shadow:0 2px 8px #c8392f4d}.not-found p{font-family:var(--font-serif);font-size:var(--font-size-lg);margin:var(--space-3) 0 var(--space-6);color:var(--color-text-secondary);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-tight)}.nf-actions{display:flex;gap:var(--space-3)}@media (max-width: 600px){.not-found h1{font-size:80px}.not-found h1:after{top:-8px;right:-28px;width:28px;height:28px;font-size:16px}.not-found p{font-size:var(--font-size-md)}.nf-actions{flex-direction:column;width:100%;max-width:240px}}:root{--color-primary: #1a1a1f;--color-primary-hover: #2d2d35;--color-primary-active: #3d3d47;--color-primary-light: #ededea;--color-primary-lighter: #f5f4f0;--color-primary-dark: #0d0d11;--color-on-primary: #f7f4ef;--color-accent: #c8392f;--color-accent-hover: #a82f26;--color-accent-active: #8a2620;--color-accent-light: #f9ebe9;--color-on-accent: #ffffff;--gradient-brand: linear-gradient(135deg, #1a1a1f 0%, #2d2d35 100%);--gradient-brand-soft: linear-gradient(180deg, #f5f4f0 0%, #ededea 100%);--gradient-hero: linear-gradient(135deg, #0d0d11 0%, #1a1a1f 50%, #2d2d35 100%);--gradient-accent: linear-gradient(135deg, #c8392f 0%, #a82f26 100%);--color-bg: #f7f4ef;--color-bg-elevated: #fdfbf7;--color-surface: #fdfbf7;--color-surface-hover: #f2efe9;--color-surface-secondary: #ededea;--color-border: #d8d3c8;--color-border-light: #e8e3d8;--color-border-strong: #b8b3a8;--color-text-primary: #1a1a1f;--color-text-secondary: #5c5a52;--color-text-tertiary: #8c887e;--color-text-disabled: #b8b3a8;--color-text-inverse: #f7f4ef;--color-success: #5a8a7a;--color-success-light: #e8f0ec;--color-success-bg: #f0f6f2;--color-warning: #b8893d;--color-warning-light: #f5ede0;--color-warning-bg: #faf3e8;--color-danger: #c8392f;--color-danger-light: #f9ebe9;--color-danger-bg: #fdf3f1;--color-info: #3a5a7a;--color-info-light: #e8eef4;--color-platform-xhs: #ff2442;--color-platform-xhs-light: #ffe6ea;--color-platform-douyin: #1a1a1f;--color-platform-douyin-light: #ededea;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--radius-2xl: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(26, 26, 31, .03);--shadow-sm: 0 1px 3px rgba(26, 26, 31, .05);--shadow-md: 0 2px 8px rgba(26, 26, 31, .06);--shadow-lg: 0 4px 16px rgba(26, 26, 31, .08);--shadow-xl: 0 8px 32px rgba(26, 26, 31, .1);--shadow-focus: 0 0 0 2px var(--color-bg), 0 0 0 4px rgba(200, 57, 47, .4);--shadow-focus-primary: 0 0 0 2px var(--color-bg), 0 0 0 4px rgba(26, 26, 31, .3);--font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", serif;--font-sans: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Monaco", "Consolas", monospace;--font-family: var(--font-sans);--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 28px;--font-size-5xl: 36px;--font-size-6xl: 48px;--line-height-tight: 1.25;--line-height-base: 1.6;--line-height-relaxed: 1.8;--line-height-loose: 2;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 900;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .04em;--letter-spacing-wider: .08em;--layout-max-width: 1440px;--layout-content-max: 1280px;--layout-sidebar-width: 220px;--layout-sidebar-collapsed: 60px;--layout-topbar-height: 60px;--layout-content-padding: 32px;--transition-fast: .1s cubic-bezier(.4, 0, .2, 1);--transition-base: .18s cubic-bezier(.4, 0, .2, 1);--transition-slow: .28s cubic-bezier(.4, 0, .2, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 1000;--z-modal: 1001;--z-drawer: 1100;--z-toast: 2000;--z-tooltip: 3000}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height-base);background:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background-image:radial-gradient(circle at 20% 30%,rgba(184,179,168,.04) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(184,179,168,.03) 0%,transparent 50%);background-attachment:fixed}button{cursor:pointer;font-family:inherit;border:none;background:none}input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#8c887e4d;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#8c887e80}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-accent{color:var(--color-accent)}.bg-surface{background:var(--color-surface)}.bg-primary-light{background:var(--color-primary-lighter)}.font-serif{font-family:var(--font-serif)}.font-mono{font-family:var(--font-mono)}.font-light{font-weight:var(--font-weight-light)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-black{font-weight:var(--font-weight-black)}.tracking-tight{letter-spacing:var(--letter-spacing-tight)}.tracking-wide{letter-spacing:var(--letter-spacing-wide)}.tracking-wider{letter-spacing:var(--letter-spacing-wider)}.ellipsis-1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ellipsis-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.editorial-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0}.editorial-divider:before,.editorial-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.editorial-divider-label{font-family:var(--font-serif);font-size:var(--font-size-sm);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase}.ink-stamp{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;font-family:var(--font-serif);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-xs);letter-spacing:var(--letter-spacing-wide)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInSlow{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes inkSpread{0%{transform:scale(.95);opacity:0;filter:blur(4px)}to{transform:scale(1);opacity:1;filter:blur(0)}}@keyframes brushStroke{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.page-content{animation:fadeIn .4s var(--ease-out-quart)}.editorial-title{font-family:var(--font-serif);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);position:relative;padding-left:var(--space-4)}.editorial-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:70%;background:var(--color-accent);border-radius:var(--radius-xs)}
