:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink-900:#1a1a2e;--ink-800:#16213e;--ink-700:#0f3460;--gold-600:#c9a84c;--gold-500:#e6b85c;--gold-400:#f0cc80;--gold-100:#fdf6e3;--gold-50:#fffcf5;--brand-900:#121b30;--brand-800:#16213e;--brand-700:#0f3460;--brand-600:#16467e;--brand-500:#2a5d9f;--brand-300:#6b8cba;--brand-100:#e8eef6;--brand-050:#f4f7fb;--brand-accent:#c9a84c;--brand-accent-600:#b8923f;--brand-accent-100:#fdf6e3;--brand-gradient:linear-gradient(135deg, #16213e 0%, #0f3460 100%);--accent-500:var(--brand-accent);--accent-600:var(--brand-accent-600);--ai-700:#1e40af;--ai-600:#2563eb;--ai-500:#3b82f6;--ai-400:#60a5fa;--ai-100:#dbeafe;--ai-50:#eff6ff;--green-700:#047857;--green-500:#10b981;--green-100:#d1fae5;--green-50:#ecfdf5;--red-700:#b91c1c;--red-500:#ef4444;--red-100:#fee2e2;--red-50:#fef2f2;--orange-700:#c2410c;--orange-500:#f97316;--orange-100:#ffedd5;--orange-50:#fff7ed;--yellow-700:#92400e;--yellow-500:#f59e0b;--yellow-100:#fef3c7;--yellow-50:#fffbeb;--purple-700:#6d28d9;--purple-500:#8b5cf6;--purple-100:#ede9fe;--purple-50:#f5f3ff;--gray-950:#0a0a0f;--gray-900:#111827;--gray-800:#1f2937;--gray-700:#374151;--gray-600:#4b5563;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--white:#fff;--font:"Noto Sans SC", "PingFang SC", -apple-system, BlinkMacSystemFont, "Geist", "DM Sans", "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;--font-mono:"JetBrains Mono", "SF Mono", "Fira Code", "Cascadia Code", monospace;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;--s20:5rem;--r-xs:.25rem;--r-sm:.375rem;--r-md:.5rem;--r-lg:.75rem;--r-xl:1rem;--r-2xl:1.5rem;--r-3xl:2rem;--r-full:9999px;--shadow-xs:0 1px 2px 0 #0000000a;--shadow-sm:0 2px 4px -1px #0000000d, 0 1px 2px -2px #0000000d;--shadow-md:0 4px 6px -2px #0000000f, 0 2px 4px -3px #0000000f;--shadow-lg:0 8px 16px -4px #00000014, 0 4px 6px -5px #0000000f;--shadow-xl:0 20px 24px -6px #0000001a, 0 8px 8px -6px #0000000f;--shadow-2xl:0 32px 48px -12px #0000002e;--shadow-gold:0 4px 16px -2px #c9a84c4d, 0 2px 4px -2px #c9a84c33;--shadow-ai:0 4px 16px -2px #3b82f640, 0 2px 4px -2px #3b82f626;--shadow-focus-gold:0 0 0 3px #c9a84c33;--ease:cubic-bezier(.16, 1, .3, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--dur-micro:.1s;--dur-fast:.15s;--dur-normal:.25s;--dur-slow:.4s;--dur-page:.5s;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-drawer:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font);color:var(--gray-800);background:var(--gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;line-height:inherit;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit}img,svg{max-width:100%;display:block}ul,ol{list-style:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus{outline:none}:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w,240px);background:var(--ink-900);height:100vh;transition:margin-left var(--dur-normal) var(--ease);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-logo{padding:var(--s6) var(--s5) var(--s5);align-items:center;gap:var(--s3);border-bottom:1px solid #ffffff14;display:flex}.logo-mark{border-radius:var(--r-lg);background:linear-gradient(135deg, var(--gold-500), var(--gold-600));width:36px;height:36px;color:var(--ink-900);box-shadow:var(--shadow-gold);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.logo-img{border-radius:var(--r-lg);object-fit:contain;flex-shrink:0;width:36px;height:36px}.logo-text{flex-direction:column;display:flex}.logo-name{font-size:var(--text-base);color:var(--white);letter-spacing:.04em;font-weight:700}.logo-sub{font-size:var(--text-xs);color:#fff6;margin-top:2px}.sidebar-nav{padding:var(--s4) var(--s3);flex:1}.nav-section{color:#ffffff4d;letter-spacing:.1em;text-transform:uppercase;padding:var(--s4) var(--s3) var(--s2);margin-top:var(--s2);font-size:10px;font-weight:600}.nav-section:first-child{margin-top:0}.nav-item{align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border-radius:var(--r-lg);color:#ffffff8c;font-size:var(--text-sm);cursor:pointer;transition:all var(--dur-micro) var(--ease);margin-bottom:2px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:#ffffffe6;background:#ffffff14}.nav-item.active{color:var(--gold-400);background:#c9a84c26}.nav-item.active:before{content:"";background:var(--gold-500);border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-icon{text-align:center;flex-shrink:0;width:20px;font-size:16px}.nav-badge{background:var(--red-500);color:var(--white);border-radius:var(--r-full);text-align:center;min-width:18px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:700}.nav-tag-soon{color:#fff6;padding:1px var(--s2);border-radius:var(--r-full);background:#ffffff1a;margin-left:auto;font-size:10px}.sidebar-footer{padding:var(--s4);align-items:center;gap:var(--s3);border-top:1px solid #ffffff14;display:flex}.nav-item-disabled{opacity:.4;pointer-events:none}.avatar{border-radius:var(--r-full);background:linear-gradient(135deg, var(--brand-600), var(--brand-800));width:36px;height:36px;color:var(--white);font-size:var(--text-sm);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.avatar-name{font-size:var(--text-sm);color:var(--white);font-weight:600}.avatar-sub{font-size:var(--text-xs);color:#fff6;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--white);border-bottom:1px solid var(--gray-200);padding:var(--s4) var(--s8);align-items:center;gap:var(--s4);z-index:20;display:flex;position:sticky;top:0}.topbar-title{font-size:var(--text-xl);color:var(--gray-900);flex:1;font-weight:700}.topbar-actions{align-items:center;gap:var(--s3);display:flex}.page-body{padding:var(--s8);background:#f9fafb;flex-direction:column;flex:1;min-height:0;display:flex}.btn{justify-content:center;align-items:center;gap:var(--s2);padding:var(--s2) var(--s5);border-radius:var(--r-lg);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:all var(--dur-fast) var(--ease);font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px;box-shadow:var(--shadow-focus-gold)}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn:active:not(:disabled){transform:scale(.97)}.btn-gold{background:linear-gradient(135deg, var(--gold-500), var(--gold-600));color:var(--ink-900);box-shadow:var(--shadow-gold)}.btn-gold:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 24px -4px #c9a84c66}.btn-ai{background:linear-gradient(135deg, var(--ai-500), var(--ai-700));color:var(--white);box-shadow:var(--shadow-ai)}.btn-ai:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 8px 24px -4px #3b82f659}.btn-outline{color:var(--gray-700);border:1.5px solid var(--gray-300);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--gray-400);background:var(--gray-50);color:var(--gray-900)}.btn-ghost{color:var(--gray-600);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--gray-900)}.btn-danger{background:var(--red-500);color:var(--white)}.btn-danger:hover:not(:disabled){background:var(--red-700)}.btn-sm{padding:var(--s1) var(--s3);font-size:var(--text-xs);border-radius:var(--r-md)}.btn-lg{padding:var(--s3) var(--s8);font-size:var(--text-base);border-radius:var(--r-xl)}.btn-xl{padding:var(--s4) var(--s10);font-size:var(--text-lg);border-radius:var(--r-xl)}.btn-icon{padding:var(--s2);border-radius:var(--r-md)}.btn-full{width:100%}.card{background:var(--white);border-radius:var(--r-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-xs);overflow:hidden}.card-hd{padding:var(--s5) var(--s6);border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--text-base);color:var(--gray-900);font-weight:700}.card-bd{padding:var(--s6)}.card-sm .card-bd{padding:var(--s4)}.tag{padding:2px var(--s2);border-radius:var(--r-full);font-size:var(--text-xs);align-items:center;gap:3px;font-weight:600;line-height:1.4;display:inline-flex}.tag-gold{background:var(--yellow-100);color:var(--yellow-700)}.tag-ai{background:var(--ai-100);color:var(--ai-700)}.tag-green{background:var(--green-100);color:var(--green-700)}.tag-red{background:var(--red-100);color:var(--red-700)}.tag-orange{background:var(--orange-100);color:var(--orange-700)}.tag-purple{background:var(--purple-100);color:var(--purple-700)}.tag-gray{background:var(--gray-100);color:var(--gray-600)}.tag-warn{background:var(--yellow-100);color:var(--yellow-700)}.tag-muted{background:var(--gray-100);color:var(--gray-500)}.err-tag{padding:3px var(--s3);border-radius:var(--r-full);font-size:var(--text-xs);cursor:default;align-items:center;gap:4px;font-weight:700;display:inline-flex}.err-tag-001{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.err-tag-002{color:#9a3412;background:#ffedd5;border:1px solid #fdba74}.err-tag-003{color:#78350f;background:#fef3c7;border:1px solid #fcd34d}.err-tag-004{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.err-tag-005{color:#9a3412;background:#ffedd5;border:1px solid #fdba74}.err-tag-006{color:#3730a3;background:#e0e7ff;border:1px solid #a5b4fc}.err-tag-007{color:#6b21a8;background:#f3e8ff;border:1px solid #c084fc}.err-tag-008{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7}.citation{font-size:var(--text-xs);color:var(--ai-700);background:var(--ai-50);border:1px solid var(--ai-200);padding:3px var(--s2);border-radius:var(--r-md);cursor:pointer;transition:all var(--dur-fast) var(--ease);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.citation:hover{background:var(--ai-100);border-color:var(--ai-300);color:var(--ai-800)}.form-group{margin-bottom:var(--s5)}.form-label{font-size:var(--text-sm);color:var(--gray-700);margin-bottom:var(--s2);font-weight:600;display:block}.form-input{width:100%;padding:var(--s3) var(--s4);border:1.5px solid var(--gray-300);border-radius:var(--r-lg);font-size:var(--text-sm);color:var(--gray-900);background:var(--white);transition:border-color var(--dur-micro), box-shadow var(--dur-micro);outline:none}.form-input:focus{border-color:var(--gold-500);box-shadow:0 0 0 3px #c9a84c26}.form-input::placeholder{color:var(--gray-400)}.progress-bar{background:var(--gray-100);border-radius:var(--r-full);overflow:hidden}.progress-fill{border-radius:var(--r-full);height:100%;transition:width .6s var(--ease)}.pf-gold{background:linear-gradient(90deg, var(--gold-400), var(--gold-600))}.pf-ai{background:linear-gradient(90deg, var(--ai-400), var(--ai-600))}.pf-green{background:linear-gradient(90deg,#34d399,#059669)}.pf-red{background:var(--red-500)}.pf-orange{background:var(--orange-500)}.qtype{padding:3px var(--s3);border-radius:var(--r-full);font-size:var(--text-xs);align-items:center;gap:4px;font-weight:700;display:inline-flex}.qtype-term{color:#5b21b6;background:#ede9fe}.qtype-short{background:var(--ai-100);color:var(--ai-700)}.qtype-essay{background:var(--yellow-100);color:var(--yellow-700)}.diff-easy{color:var(--green-700);font-size:var(--text-xs);font-weight:600}.diff-medium{color:var(--yellow-700);font-size:var(--text-xs);font-weight:600}.diff-hard{color:var(--red-700);font-size:var(--text-xs);font-weight:600}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes toastIn{0%{opacity:0;transform:translate(40px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(60px)}}.anim-up{animation:fadeUp var(--dur-normal) var(--ease) both}.anim-in{animation:fadeIn var(--dur-fast) var(--ease) both}.anim-scale{animation:scaleIn var(--dur-normal) var(--ease) both}.anim-stagger>:first-child{animation-delay:0s}.anim-stagger>:nth-child(2){animation-delay:50ms}.anim-stagger>:nth-child(3){animation-delay:.1s}.anim-stagger>:nth-child(4){animation-delay:.15s}.anim-stagger>:nth-child(5){animation-delay:.2s}.anim-stagger>:nth-child(6){animation-delay:.25s}.skeleton{background:linear-gradient(90deg, var(--gray-200) 0%, var(--gray-100) 20%, var(--gray-200) 40%, var(--gray-200) 100%);border-radius:var(--r-md);background-size:800px 100%;animation:1.4s ease-in-out infinite shimmer}.toast-container{top:var(--s5);right:var(--s5);z-index:var(--z-toast);gap:var(--s2);pointer-events:none;flex-direction:column;max-width:420px;display:flex;position:fixed}.toast{align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-radius:var(--r-xl);background:var(--white);border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);font-size:var(--text-sm);color:var(--gray-800);pointer-events:auto;min-width:280px;animation:toastIn var(--dur-normal) var(--ease) both;font-weight:500;display:flex;position:relative;overflow:hidden}.toast.leaving{animation:toastOut var(--dur-fast) var(--ease) both}.toast-icon{flex-shrink:0;font-size:18px}.toast-body{flex-direction:column;gap:4px;display:flex}.toast-link{color:var(--ai-500);cursor:pointer;font-weight:600;font-size:var(--text-sm);text-decoration:underline;display:inline-block}.toast-link:hover{color:var(--ai-700)}.toast-success .toast-icon{color:var(--green-500)}.toast-error .toast-icon{color:var(--red-500)}.toast-warning .toast-icon{color:var(--yellow-500)}.toast-info .toast-icon{color:var(--ai-500)}.toast-progress{border-radius:0 0 var(--r-xl) var(--r-xl);height:3px;animation:3s linear both toastProgress;position:absolute;bottom:0;left:0}.toast-success .toast-progress{background:var(--green-500)}.toast-error .toast-progress{background:var(--red-500)}.toast-warning .toast-progress{background:var(--yellow-500)}.toast-info .toast-progress{background:var(--ai-500)}@keyframes toastProgress{0%{width:100%}to{width:0}}.modal-overlay{z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:1;visibility:visible;padding:var(--s8);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.show{opacity:1;visibility:visible}.modal-box{background:var(--white);border-radius:var(--r-2xl);box-shadow:var(--shadow-2xl);flex-direction:column;width:100%;max-width:480px;max-height:90vh;display:flex;overflow:hidden}.modal-overlay.show .modal-box{opacity:1;transform:translateY(0)scale(1)}.modal-header{padding:var(--s6);border-bottom:1px solid var(--gray-100);align-items:center;gap:var(--s3);display:flex}.modal-title{font-size:var(--text-lg);color:var(--gray-900);flex:1;font-weight:700}.modal-close{border-radius:var(--r-full);width:36px;height:36px;color:var(--gray-400);cursor:pointer;transition:all var(--dur-micro);justify-content:center;align-items:center;font-size:18px;display:flex}.modal-close:hover{background:var(--gray-100);color:var(--gray-700)}.modal-body{padding:var(--s6);font-size:var(--text-sm);color:var(--gray-700);flex:1;line-height:1.7;overflow-y:auto}.modal-footer{padding:var(--s4) var(--s6);border-top:1px solid var(--gray-100);justify-content:flex-end;align-items:center;gap:var(--s3);display:flex}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@media (width<=1024px){.sidebar{--sidebar-w:200px}.topbar{padding:var(--s4)}.page-body{padding:var(--s6)}}@media (width<=768px){.app-shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static}.sidebar-nav{gap:var(--s1);padding:var(--s3);flex-wrap:wrap;display:flex}.nav-section{display:none}.nav-item{padding:var(--s2)}.topbar{padding:var(--s3) var(--s4)}.page-body{padding:var(--s4)}}.btn:focus-visible,.nav-item:focus-visible,.quick-entry:focus-visible,.filter-chip:focus-visible,.pagination-btn:focus-visible,.tool-btn:focus-visible,.sidebar-link:focus-visible{outline:2px solid var(--ai-500);outline-offset:2px;border-radius:var(--r-md)}.card-hover,.stat-card,.history-item{transition:transform .15s,box-shadow .15s,background .15s}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.empty-state-illustration{text-align:center;margin-bottom:var(--s4);opacity:.6;font-size:48px}.subject-version-badge{white-space:nowrap;cursor:help;border-radius:999px;flex-shrink:0;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:700;line-height:1.35;display:inline-flex}.subject-version-badge.svb-new{color:#15803d;background:#dcfce7;border:1px solid #16a34a38}.subject-version-badge.svb-changed{color:#6d28d9;background:#ede9fe;border:1px solid #6d28d933}.subject-version-badge.svb-legacy{color:#64748b;background:#f1f5f9;border:1px solid #64748b38}.subject-version-tooltip{max-width:320px;font-size:12px;line-height:1.7;display:block}.subject-version-tooltip .svb-tooltip-title{color:#fde68a;align-items:center;gap:6px;margin-bottom:4px;font-weight:700;display:flex}.subject-version-tooltip .svb-tooltip-detail{color:#f3f4f6;white-space:pre-wrap;word-break:break-word}.css-tooltip-wrap.svb-card-wrap>.school-card{width:100%}:root{--td-brand-color:#0f3460;--td-brand-color-hover:#16467e;--td-brand-color-active:#0b2440;--td-brand-color-light:#e8eef6;--td-brand-color-light-hover:#d6e2f1;--td-brand-color-focus:#0f34601f;--td-brand-color-disabled:#9bb0c9;--td-brand-color-disabled-light:#eef2f7;--td-warning-color:#c9a84c;--td-warning-color-hover:#b8923f;--td-warning-color-active:#a3822f;--td-warning-color-light:#fdf6e3;--td-warning-color-light-hover:#f8ecd0;--td-warning-color-focus:#c9a84c1f;--td-warning-color-disabled:#e3d3a8;--td-warning-color-disabled-light:#fbf6ea;--td-radius-small:6px;--td-radius-default:8px;--td-radius-medium:10px;--td-radius-large:12px;--td-radius-round:999px;--td-radius-circle:50%;--td-font-family:var(--font)}.t-button.btn-gold{background:linear-gradient(135deg, var(--gold-500), var(--gold-600))!important;color:var(--ink-900)!important;box-shadow:var(--shadow-gold)!important;border:none!important}.t-button.btn-gold:hover:not(.t-button--disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 24px -4px #c9a84c66!important}.t-button.btn-gold:active:not(.t-button--disabled){transform:scale(.97)}.t-button.btn-ai{background:linear-gradient(135deg, var(--ai-500), var(--ai-700))!important;color:var(--white)!important;box-shadow:var(--shadow-ai)!important;border:none!important}.t-button.btn-ai:hover:not(.t-button--disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 8px 24px -4px #3b82f659!important}.tier-badge{white-space:nowrap;letter-spacing:.02em;border:none;border-radius:12px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.tier-badge__icon{font-size:12px;line-height:1}.tier-badge__label{font-size:11px}.tier-badge--recite{color:#fff;background:linear-gradient(135deg,#0d9488,#14b8a6);box-shadow:0 1px 4px #0d948840}.tier-badge--pack{color:#fff;background:linear-gradient(135deg,#ff5722,#ff8a65);box-shadow:0 1px 4px #ff572240}.expired-badge{color:#fff;background:var(--red-500,#ef4444);white-space:nowrap;border-radius:4px;align-items:center;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.upgrade-banner{border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.upgrade-banner--info{color:var(--ai-primary-dark,#4f46e5);background:linear-gradient(135deg,#6366f114,#6366f10a);border:1px solid #6366f133}.upgrade-banner--warning{color:var(--orange-700,#c2410c);background:linear-gradient(135deg,#f59e0b14,#f59e0b0a);border:1px solid #f59e0b33}.upgrade-banner--expired{color:var(--red-700,#b91c1c);background:linear-gradient(135deg,#ef444414,#ef44440a);border:1px solid #ef444433}.upgrade-banner__content{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.upgrade-banner__icon{flex-shrink:0;font-size:16px}.upgrade-banner__message{line-height:1.4}.upgrade-banner__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.upgrade-banner__action-btn{white-space:nowrap;border-radius:14px;padding:4px 14px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.upgrade-banner--info .upgrade-banner__action-btn{background:var(--ai-primary,#6366f1);color:#fff}.upgrade-banner--warning .upgrade-banner__action-btn{background:var(--gold-500,#f59e0b);color:#fff}.upgrade-banner--expired .upgrade-banner__action-btn{background:var(--red-500,#ef4444);color:#fff}.upgrade-banner__action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.upgrade-banner__dismiss{cursor:pointer;opacity:.5;color:inherit;background:0 0;border:none;padding:2px 4px;font-size:14px}.upgrade-banner__dismiss:hover{opacity:1}.support-fab{z-index:1200;background:linear-gradient(135deg, var(--primary,#4f6ef2), #7b5cf0);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:58px;height:58px;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 20px #4f6ef259}.support-fab:hover{transform:translateY(-2px);box-shadow:0 10px 26px #4f6ef273}.support-fab-icon{font-size:20px;line-height:1}.support-fab-text{font-size:10px;line-height:1}.support-panel{z-index:1201;background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:16px;flex-direction:column;width:380px;height:560px;max-height:calc(100vh - 48px);display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;box-shadow:0 16px 48px #0000002e}.support-panel-header{background:linear-gradient(135deg, var(--primary,#4f6ef2), #7b5cf0);color:#fff;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.support-panel-title{align-items:center;gap:10px;display:flex}.support-avatar{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:inline-flex}.support-name{font-size:14px;font-weight:600}.support-sub{opacity:.85;font-size:11px}.support-close{color:#fff;cursor:pointer;opacity:.85;background:0 0;border:none;font-size:16px}.support-close:hover{opacity:1}.support-msg-list{background:var(--bg-secondary,#f7f8fa);flex-direction:column;flex:1;gap:10px;padding:14px;display:flex;overflow-y:auto}.support-msg-row{display:flex}.support-msg-row.me{justify-content:flex-end}.support-bubble{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:78%;padding:9px 12px;font-size:13.5px;line-height:1.55}.support-bubble.ai{background:var(--card-bg,#fff);color:var(--text-primary,#1f2329);border:1px solid var(--border-color,#e5e7eb);border-top-left-radius:4px}.support-bubble.user{background:var(--primary,#4f6ef2);color:#fff;border-top-right-radius:4px}.support-bubble.typing{opacity:.65;font-style:italic}.support-bubble a{color:var(--primary,#4f6ef2);word-break:break-all;text-decoration:underline}.support-bubble a:hover{opacity:.85}.support-quick{flex-wrap:wrap;gap:8px;display:flex}.support-quick-btn{border:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);color:var(--text-primary,#1f2329);cursor:pointer;border-radius:14px;padding:6px 10px;font-size:12px}.support-quick-btn:hover{border-color:var(--primary,#4f6ef2);color:var(--primary,#4f6ef2)}.support-qr-panel{border:1px dashed var(--border-color,#e5e7eb);background:var(--card-bg,#fff);text-align:center;border-radius:12px;margin:0 14px 10px;padding:12px}.support-qr-title{color:var(--text-primary,#1f2329);margin-bottom:8px;font-size:13px;font-weight:600}.support-qr-img{object-fit:contain;width:150px;height:150px}.support-qr-empty{color:var(--gray-500,#8a919f);padding:12px 0;font-size:12px}.support-qr-close{border:1px solid var(--border-color,#e5e7eb);color:var(--gray-500,#8a919f);cursor:pointer;background:0 0;border-radius:12px;margin-top:6px;padding:4px 12px;font-size:12px}.support-input-bar{border-top:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.support-human-btn{border:1px solid var(--border-color,#e5e7eb);background:var(--bg-secondary,#f7f8fa);color:var(--text-secondary,#4e5969);cursor:pointer;white-space:nowrap;border-radius:10px;flex-shrink:0;padding:7px 10px;font-size:12px}.support-human-btn:hover{border-color:var(--primary,#4f6ef2);color:var(--primary,#4f6ef2)}.support-input{border:1px solid var(--border-color,#e5e7eb);background:var(--bg-secondary,#f7f8fa);min-width:0;color:var(--text-primary,#1f2329);resize:none;border-radius:10px;outline:none;flex:1;max-height:96px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.45;overflow-y:auto}.support-input:focus{border-color:var(--primary,#4f6ef2)}.support-send{background:var(--primary,#4f6ef2);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;padding:8px 14px;font-size:13px}.support-send:disabled{opacity:.55;cursor:default}@media (width<=768px){.support-panel{width:auto;height:70vh;bottom:12px;left:12px;right:12px}.support-fab{bottom:16px;right:16px}}.support-mode-banner{color:var(--primary,#4f6ef2);background:#4f6ef214;border-radius:8px;margin:8px 12px 0;padding:7px 10px;font-size:12px;line-height:1.5}.support-mode-banner.ended{color:#d46b08;background:#ff943e1a}.support-system-note{background:var(--bg-secondary,#f2f3f5);max-width:88%;color:var(--text-secondary,#86909c);text-align:center;white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:8px auto;padding:6px 10px;font-size:11.5px;line-height:1.6}.support-msg-row.admin{align-items:flex-start}.support-msg-who{color:var(--text-secondary,#86909c);margin:0 0 3px 2px;font-size:11px}.support-bubble.admin{color:#1f2329;background:#e8f3ec;border:1px solid #cfe5d8}.guided-modal-backdrop{z-index:2000;-webkit-backdrop-filter:blur(18px)saturate(1.05);background:#0d0d1275;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.guided-modal{background:#fff;border-radius:16px;flex-direction:column;width:min(560px,100%);max-height:82vh;display:flex;overflow:hidden;box-shadow:0 18px 60px #00000038}.guided-modal-hd{border-bottom:1px solid var(--gray-100,#eee);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.guided-modal-title{font-size:14px;font-weight:600}.guided-modal-close{cursor:pointer;color:var(--gray-400,#999);background:0 0;border:none;font-size:22px;line-height:1}.guided-modal-body{flex:1;padding:18px;overflow-y:auto}.guided-modal-score{align-items:baseline;gap:4px;margin-bottom:12px;display:flex}.guided-modal-score-num{color:var(--brand-600,#b8860b);font-size:34px;font-weight:700}.guided-modal-score-max{color:var(--gray-400,#999)}.guided-modal-comment{white-space:pre-wrap;color:var(--gray-700,#444);font-size:12px;line-height:1.8}.guided-unlock-banner{color:var(--brand-700,#8a6508);background:#d4a0171f;border-radius:10px;margin-top:14px;padding:10px 12px;font-size:11px}.guided-unlock-exp{color:var(--gray-500,#777)}.guided-modal-ft{border-top:1px solid var(--gray-100,#eee);flex-direction:column;gap:8px;padding:12px 18px 16px;display:flex}.guided-modal-cta{width:100%}.guided-modal-hint{text-align:center;color:var(--gray-400,#999);font-size:11px}.guided-modal-link{color:var(--gray-500,#666);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-self:center;font-size:11px;text-decoration:underline}.guided-modal-badge{z-index:1200;background:var(--gray-900,#1a1a1a);color:#fff;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:8px;padding:9px 15px;font-size:11px;display:inline-flex;position:fixed;bottom:88px;right:18px;box-shadow:0 6px 18px #0000002e}.guided-modal-badge-dot{background:var(--brand-500,#d4a017);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite guided-badge-pulse}@keyframes guided-badge-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}.guided-modal-pending{text-align:center;color:var(--gray-500,#777);padding:28px 0;font-size:12px}.renewal-backdrop{z-index:2000;-webkit-backdrop-filter:blur(4px);background:#0f0f1473;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.renewal-modal{text-align:center;background:#fff;border-radius:16px;flex-direction:column;gap:14px;width:min(420px,100%);padding:24px 20px 18px;display:flex;box-shadow:0 18px 60px #00000038}.renewal-title{font-size:18px;font-weight:700}.renewal-desc{color:var(--gray-600,#555);font-size:14px;line-height:1.7}.renewal-error{color:#d54941;font-size:12px}.renewal-pay-btn{width:100%;font-size:16px}.renewal-dismiss{color:var(--gray-400,#999);cursor:pointer;background:0 0;border:none;font-size:13px}.view-mode-toggle{color:#6b7280;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d1d5db;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.view-mode-toggle:hover{color:#374151;background:#f3f4f6;border-color:#9ca3af;transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.view-mode-toggle:active{transform:scale(.96)}.view-mode-toggle--pc{color:#ffffffb3;background:#ffffff14;border-color:#fff3;padding:5px 12px;font-size:12px}.view-mode-toggle--pc:hover{color:#fff;background:#ffffff24;border-color:#ffffff4d;box-shadow:0 2px 12px #0003}.view-mode-toggle--h5{color:#ea580c;background:#fff7ed;border-color:#f97316}.view-mode-toggle--h5:hover{background:#ffedd5;border-color:#ea580c;box-shadow:0 2px 12px #f9731626}.view-mode-toggle-icon{font-size:14px;line-height:1}.view-mode-toggle-label{font-size:13px;line-height:1}.srq-modal-body{padding:4px 2px}.srq-tip{color:var(--gray-500);background:var(--gray-50);border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:13px}.srq-form .srq-label{color:var(--gray-700);margin:14px 0 6px;font-size:13px;font-weight:500;display:block}.srq-form .srq-label:first-of-type{margin-top:0}.srq-req{color:#e24b4a}.srq-row{gap:12px;display:flex}.srq-col{flex:1}.srq-textarea{resize:vertical;min-height:72px}.srq-label-row{justify-content:space-between;align-items:baseline;margin:14px 0 6px;display:flex}.srq-label-row .srq-label{margin:0}.srq-label-hint{color:var(--gray-400);font-size:11px}.srq-subject-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.srq-subject-name{flex:1}.srq-subject-code{width:80px}.srq-subject-del{border:1px solid var(--gray-200);color:#e24b4a;cursor:pointer;background:#fff;border-radius:6px;flex-shrink:0;width:28px;height:28px;font-size:18px;line-height:24px}.srq-subject-del:hover{background:#fce8e8;border-color:#e24b4a}.srq-subject-del-spacer{flex-shrink:0;width:28px}.srq-subject-add{border:1px dashed var(--gray-300);width:100%;color:var(--gray-500);cursor:pointer;background:#fff;border-radius:8px;margin-top:2px;padding:6px;font-size:13px}.srq-subject-add:hover{color:#534ab7;background:#f5f4fe;border-color:#afa9ec}.srq-done{text-align:center;padding:20px 8px 8px}.srq-done-icon{color:#0f6e56;background:#e1f5ee;border-radius:50%;width:48px;height:48px;margin:0 auto 12px;font-size:24px;line-height:48px}.srq-done-title{color:var(--gray-900);margin-bottom:8px;font-size:16px;font-weight:500}.srq-done-text{color:var(--gray-600);margin-bottom:8px;font-size:13px}.srq-done-hint{color:var(--gray-400);font-size:12px;line-height:1.6}.ssm-table-wrap{background:#fff;border:1px solid #d4d4d8;border-radius:12px;max-height:420px;overflow:auto;box-shadow:0 1px 3px #0f172a0a}.ssm-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:13.5px}.ssm-table thead{z-index:3;background:linear-gradient(#475569 0%,#334155 100%);position:sticky;top:0;box-shadow:0 1px #1e293b}.ssm-table thead th{text-align:left;color:#f1f5f9;white-space:nowrap;letter-spacing:.5px;border:none;padding:14px;font-size:13px;font-weight:700}.ssm-table thead th:first-child{padding-left:16px}.ssm-select-all{cursor:pointer;-webkit-user-select:none;user-select:none;color:#f1f5f9;flex-direction:column;align-items:center;gap:4px;display:inline-flex}.ssm-select-all input[type=checkbox]{cursor:pointer;accent-color:#fbbf24;width:16px;height:16px}.ssm-select-all-label{letter-spacing:.3px;font-size:11.5px;font-weight:600;line-height:1}.ssm-check-col{text-align:center;width:40px;padding-left:4px!important;padding-right:4px!important}.ssm-subject-col{width:24%}.ssm-books-col{width:auto;padding-right:6px}.ssm-note-col{text-align:left;width:60px;padding-left:6px!important;padding-right:10px!important}.ssm-table tbody tr{cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .12s,transform .12s}.ssm-table tbody tr:last-child{border-bottom:none}.ssm-table tbody tr:hover{background:#f1f5f9}.ssm-table tbody tr.selected{background:linear-gradient(90deg,#fef3c7 0%,#fffbeb 60%);box-shadow:inset 4px 0 #d4a853,0 1px 2px #d4a85333}.ssm-table tbody tr.selected:hover{background:linear-gradient(90deg,#fde68a 0%,#fef3c7 60%)}.ssm-table td{vertical-align:middle;padding:14px;line-height:1.5}.ssm-table td:first-child{padding-left:16px}.ssm-row-checkbox{cursor:pointer;accent-color:#d4a853;width:20px;height:20px}.ssm-subject-name{color:#111827;flex-wrap:wrap;align-items:center;gap:6px;font-weight:700;line-height:1.4;display:flex}.ssm-subject-name .degree-badge{white-space:nowrap;border-radius:10px;flex-shrink:0;padding:2px 7px;font-size:10.5px;font-weight:700}.ssm-subject-name .degree-academic,.degree-academic{color:#1e40af;background:#dbeafe;border:1px solid #1e40af2e}.ssm-subject-name .degree-professional,.degree-professional{color:#92400e;background:#fef3c7;border:1px solid #92400e2e}.ssm-subject-code{color:#64748b;margin-top:4px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px;font-weight:500}.ssm-books{flex-direction:column;gap:5px;min-width:0;display:flex}.ssm-book{color:#334155;white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:8px;max-width:100%;line-height:1.55;display:flex;overflow:hidden}.ssm-book-title{color:#1f2937;text-overflow:ellipsis;flex-shrink:1;min-width:0;font-weight:600;overflow:hidden}.ssm-book-author{color:#64748b;text-overflow:ellipsis;flex-shrink:0;max-width:110px;font-size:12px;overflow:hidden}.ssm-books-empty{color:#94a3b8;align-items:center;gap:5px;font-size:12.5px;font-style:italic;display:inline-flex}.ssm-books-empty:before{content:"◇";color:#cbd5e1;font-size:14px}.ssm-book-more{color:#94a3b8;padding-top:2px;font-size:11.5px;font-style:italic}.ssm-upload-btn{color:#ff7a3d;cursor:pointer;background:#fff1e8;border:1px solid #ffd9c2;border-radius:8px;align-items:center;gap:4px;margin-top:6px;padding:3px 10px;font-size:12px;font-weight:600;transition:background .15s;display:inline-flex}.ssm-upload-btn:hover{background:#ffe4d1}.ssm-note{color:#475569;white-space:nowrap;background:0 0;border:none;border-radius:0;padding:0;font-size:13px;font-weight:500;display:inline-block}.ssm-note-official{color:#15803d}.ssm-note-agency{color:#b45309}.ssm-note-none{color:#94a3b8;font-style:italic}.ssm-empty{text-align:center;color:#94a3b8;padding:40px 20px;font-size:13px}.ssm-request-entry{border-top:1px dashed #e2e8f0;justify-content:center;align-items:center;gap:6px;margin-top:12px;padding-top:12px;display:flex}.ssm-request-text{color:#64748b;font-size:13px}.ssm-request-link{color:#2563eb;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline;transition:color .15s}.ssm-request-link:hover{color:#1d4ed8}.ssm-request-link:active{color:#1e40af}.ssm-page-info{color:#64748b;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:12px;display:flex}.ssm-page-info strong{color:#1d4ed8;font-weight:700}.user-menu-overlay{z-index:var(--z-modal,1050);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--s4);animation:userMenuFadeIn .2s var(--ease-out);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes userMenuFadeIn{0%{opacity:0}to{opacity:1}}.user-menu-panel{background:var(--white);border-radius:var(--r-2xl);box-shadow:var(--shadow-2xl);width:100%;max-width:360px;max-height:90vh;animation:userMenuSlideIn .25s var(--ease-out);flex-direction:column;display:flex;overflow:hidden}@keyframes userMenuSlideIn{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.user-menu-header{align-items:center;gap:var(--s4);padding:var(--s6);background:linear-gradient(135deg, var(--gold-50), var(--white));border-bottom:1px solid var(--gray-100);display:flex}.user-menu-avatar{border-radius:var(--r-full);background:linear-gradient(135deg, var(--brand-600), var(--brand-800));width:52px;height:52px;color:var(--white);box-shadow:var(--shadow-md);flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex;overflow:hidden}.user-menu-avatar img{object-fit:cover;width:100%;height:100%}.user-menu-info{flex-direction:column;gap:2px;min-width:0;display:flex}.user-menu-name{align-items:center;gap:var(--s2);font-size:var(--text-lg);color:var(--gray-900);font-weight:700;display:flex}.user-menu-role-tag{font-size:10px;line-height:1}.user-menu-role-tag.gift{color:#6b4a00;letter-spacing:.5px;background:linear-gradient(90deg,#f5d47a,#e8b64c);border-radius:4px;padding:2px 6px;font-weight:700;display:inline-block}.user-menu-sub{font-size:var(--text-xs);color:var(--gray-500);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-menu-phone{font-size:var(--text-xs);color:var(--gray-700);letter-spacing:.3px;font-weight:600}.user-menu-section{margin-top:var(--s2);flex-direction:column;gap:2px;display:flex}.user-menu-section-title{color:var(--gray-400);padding:var(--s1) var(--s4) 2px;letter-spacing:.5px;font-size:11px;font-weight:700}.user-menu-item-highlight{background:linear-gradient(135deg, var(--gold-50), var(--white))}.user-menu-item-highlight:hover{background:linear-gradient(135deg, var(--gold-100), var(--white))}.user-menu-item-highlight .user-menu-item-value{color:var(--gold-600);font-weight:700}.user-menu-tier-row{align-items:center;gap:var(--s2);flex-wrap:wrap;margin-top:2px;display:flex}.user-menu-list{padding:var(--s2);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.user-menu-item{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-lg);text-align:left;cursor:pointer;transition:all var(--dur-fast) var(--ease);color:var(--gray-800);font-size:var(--text-sm);background:0 0;border:none;display:flex}.user-menu-item:hover{background:var(--gray-100)}.user-menu-item:active{transform:scale(.99)}.user-menu-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:1rem;display:flex}.user-menu-item-label{flex:1;font-weight:500}.user-menu-item-value{font-size:var(--text-xs);color:var(--gray-500);margin-right:var(--s1);text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;max-width:180px;font-weight:500;overflow:hidden}.user-menu-item-arrow{color:var(--gray-400);flex-shrink:0;font-size:1.1rem;line-height:1}.user-menu-footer{padding:var(--s4);border-top:1px solid var(--gray-100);margin-top:auto}.user-menu-logout{justify-content:center;align-items:center;gap:var(--s2);width:100%;padding:var(--s3) var(--s5);border-radius:var(--r-lg);background:var(--gray-50);border:1.5px solid var(--gray-200);color:var(--gray-700);font-size:var(--text-sm);cursor:pointer;transition:all var(--dur-fast) var(--ease);font-weight:600;display:flex}.user-menu-logout:hover{background:var(--red-50);border-color:var(--red-200);color:var(--red-600)}.user-menu-login:hover{background:var(--brand-050);border-color:var(--brand-100);color:var(--brand-600)}.user-menu-logout:active{transform:scale(.99)}.user-menu-delete{background:var(--white);border:1.5px solid var(--red-200);color:var(--red-500);margin-bottom:var(--s2)}.user-menu-delete:hover{background:var(--red-50);border-color:var(--red-300);color:var(--red-600)}.user-menu-logout-icon{font-size:.95rem}@media (width<=480px){.user-menu-overlay{align-items:flex-end;padding:0}.user-menu-panel{border-radius:var(--r-2xl) var(--r-2xl) 0 0;max-width:100%;max-height:85vh;animation:userMenuSlideUp .25s var(--ease-out)}@keyframes userMenuSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.logout-btn{border-radius:var(--r-lg);color:#ffffff80;font-size:var(--text-sm);cursor:pointer;transition:all var(--dur-micro) var(--ease);white-space:nowrap;background:0 0;border:1.5px solid #ffffff26;align-items:center;gap:6px;margin-left:auto;padding:6px 10px;font-weight:600;display:flex}.logout-btn:hover{color:#fca5a5;background:#ef44441f;border-color:#ef444466}.logout-btn:active{transform:scale(.96)}.logout-icon{flex-shrink:0;font-size:.9rem;line-height:1}.logout-text{font-size:var(--text-xs)}.avatar-trigger{align-items:center;gap:var(--s3);min-width:0;padding:var(--s1);margin:calc(-1 * var(--s1));border-radius:var(--r-lg);color:inherit;cursor:pointer;transition:all var(--dur-fast) var(--ease);text-align:left;background:0 0;border:none;flex:1;display:flex}.avatar-trigger:hover{background:#ffffff14}.avatar-trigger:active{transform:scale(.99)}.avatar-trigger .avatar{margin:0}.avatar-trigger-arrow{color:#ffffff59;transition:color var(--dur-fast) var(--ease);margin-left:auto;font-size:1.1rem;line-height:1}.avatar-trigger:hover .avatar-trigger-arrow{color:#ffffffa6}.sidebar-footer{align-items:center;gap:var(--s3);padding:var(--s4) var(--s4);border-top:1px solid #ffffff14;display:flex}.layout-breadcrumb{align-items:center;gap:var(--s2);font-size:var(--text-sm);color:var(--gray-500);margin-bottom:var(--s6);display:flex}.layout-breadcrumb a{color:var(--ai-600);cursor:pointer;transition:color var(--dur-micro)}.layout-breadcrumb a:hover{color:var(--ai-700)}.nav-item-locked{opacity:.45;cursor:not-allowed;position:relative}.nav-item-locked:hover{opacity:.65}.nav-locked-hint{color:var(--brand-accent);margin-left:auto;font-size:10px;display:none}.nav-item-locked:hover .nav-locked-hint{display:inline}.nav-subitem{padding-left:20px;position:relative}.nav-subitem:before{content:"";background:#ffffff1a;width:1px;position:absolute;top:0;bottom:0;left:22px}.nav-subitem .nav-item{opacity:.88;font-size:13px}.nav-subitem .nav-item.active{opacity:1}.sidebar-upgrade-btn{background:linear-gradient(135deg, var(--gold-500,#f59e0b), var(--gold-600,#d97706));color:#fff;text-align:center;border-radius:8px;width:100%;margin-bottom:8px;padding:6px 12px;font-size:12px;font-weight:700;text-decoration:none;transition:all .2s;display:block}.sidebar-upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b59}.sidebar-upgrade-btn--premium{background:var(--brand-gradient)}.sidebar-upgrade-btn--premium:hover{box-shadow:0 4px 12px #0f346059}.avatar-tier-row{flex-wrap:wrap;align-items:center;gap:4px;margin-top:3px;display:flex}.avatar-quota-row{flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.quota-chip{background:var(--brand-100);color:var(--brand-700);border-radius:10px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.collapse-btn{border-radius:var(--r-md);color:#ffffffb3;cursor:pointer;width:28px;height:28px;transition:all var(--dur-micro) var(--ease);background:#ffffff14;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:flex}.collapse-btn:hover{color:#fff;background:#ffffff29}.collapse-btn:active{transform:scale(.94)}.collapse-icon{font-size:16px;line-height:1;display:block}@media (width>=769px){.app-shell.sidebar-collapsed .sidebar{margin-left:calc(-1 * var(--sidebar-w,240px))}}.sidebar-expand-btn{z-index:60;border:1px solid var(--gray-200);border-radius:var(--r-md);background:var(--white);width:36px;height:36px;color:var(--ink-700);box-shadow:var(--shadow-md);cursor:pointer;transition:all var(--dur-micro) var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;top:16px;left:16px}.sidebar-expand-btn:hover{background:var(--gray-50);color:var(--ink-900)}.sidebar-expand-btn:active{transform:scale(.94)}@media (width<=768px){.collapse-btn,.sidebar-expand-btn{display:none}}
