.markdown-content{display:flow-root;font-size:.875rem;line-height:1.7;color:var(--color-text);word-wrap:break-word;overflow-wrap:break-word}.markdown-content>*:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{font-weight:600;line-height:1.3;margin-top:var(--space-5);margin-bottom:var(--space-2);color:var(--color-text)}.markdown-content h1{font-size:1.25rem}.markdown-content h2{font-size:1.1rem}.markdown-content h3{font-size:1rem}.markdown-content h4,.markdown-content h5,.markdown-content h6{font-size:.875rem}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child{margin-top:0}.markdown-content p{margin-bottom:var(--space-3)}.markdown-content strong{font-weight:600;color:var(--color-text)}.markdown-content em{font-style:italic}.markdown-content del{text-decoration:line-through;color:var(--color-muted)}.markdown-content a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.markdown-content a:hover{color:var(--color-accent-hover)}.markdown-content ul,.markdown-content ol{padding-left:var(--space-5);margin-bottom:var(--space-3)}.markdown-content li{margin-bottom:var(--space-1)}.markdown-content li>ul,.markdown-content li>ol{margin-top:var(--space-1);margin-bottom:0}.markdown-content blockquote{border-left:3px solid var(--color-accent);padding:var(--space-2) var(--space-4);margin:var(--space-3) 0;background:var(--color-surface-alt);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-muted)}.markdown-content blockquote p{margin-bottom:0}.markdown-content code:not(.hljs){font-family:var(--font-mono);font-size:.8rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px 5px;color:var(--color-text)}.markdown-content .hljs-pre{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);overflow-x:auto;margin-bottom:var(--space-3)}.markdown-content .hljs-pre code.hljs{font-family:var(--font-mono);font-size:.8rem;background:none;border:none;border-radius:0;padding:0;color:inherit}.markdown-content .hljs{background:transparent;color:var(--color-text)}.markdown-content table{width:100%;border-collapse:collapse;margin-bottom:var(--space-3);font-size:.8125rem}.markdown-content th,.markdown-content td{border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);text-align:left}.markdown-content th{background:var(--color-surface-alt);font-weight:600;color:var(--color-text)}.markdown-content tr:nth-child(2n) td{background:color-mix(in srgb,var(--color-surface-alt) 40%,transparent)}.markdown-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-5) 0}.markdown-content img{max-width:100%;height:auto;border-radius:var(--radius-md);border:1px solid var(--color-border);display:block;margin:var(--space-3) 0;cursor:pointer}.md-empty-placeholder{color:var(--color-muted-light);font-style:italic;font-size:.875rem}.exam-root{display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:var(--color-bg)}.exam-topbar{display:flex;align-items:center;height:52px;min-height:52px;padding:0 var(--space-3);gap:var(--space-2);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;z-index:10}.exam-topbar-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-muted);cursor:pointer;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.exam-topbar-btn:hover{background:var(--color-surface-alt);color:var(--color-text)}.exam-title-text{flex:1;min-width:0;font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}.exam-topbar-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.exam-submit-desktop{display:none}.exam-timer{display:inline-flex;align-items:center;gap:var(--space-1);font-size:.9rem;font-weight:700;font-family:var(--font-mono);color:var(--color-text);min-width:52px;text-align:center}.exam-timer.is-warning{color:var(--color-warning)}.exam-timer.is-critical{color:var(--color-error);animation:exam-pulse 1s ease-in-out infinite}@keyframes exam-pulse{0%,to{opacity:1}50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.exam-timer.is-critical{animation:none}}.exam-tabs{display:flex;border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.exam-tab{flex:1;padding:var(--space-2) var(--space-3);font-size:.875rem;font-weight:600;border:none;border-bottom:3px solid transparent;background:transparent;color:var(--color-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);min-height:44px}.exam-tab.is-active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.exam-content{flex:1;min-height:0;display:flex;overflow:hidden}.exam-panel{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-4);-webkit-overflow-scrolling:touch}.exam-passage-panel{display:none}.exam-options-panel,.exam-passage-panel.is-active,.exam-options-panel.is-active{display:block}.exam-passage-panel.is-hidden,.exam-options-panel.is-hidden{display:none}.exam-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);height:200px;color:var(--color-muted);font-size:.875rem}.exam-error-msg{color:var(--color-error);font-size:.8rem;text-align:center;padding:var(--space-3);background:var(--color-error-bg);border-radius:var(--radius-md);margin:var(--space-3) 0}.passage-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted-light);margin-bottom:var(--space-3)}.options-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);gap:var(--space-3)}.question-meta{font-size:.75rem;font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em}.flag-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-muted-light);cursor:pointer;flex-shrink:0;transition:color var(--transition-fast),background var(--transition-fast)}.flag-btn:hover{background:var(--color-surface-alt);color:var(--color-warning)}.flag-btn.is-flagged{color:var(--color-warning)}.options-container{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.option-btn{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:.875rem;line-height:1.5;text-align:left;cursor:pointer;min-height:52px;width:100%;transition:border-color var(--transition-fast),background var(--transition-fast)}.option-btn:hover:not(:disabled){border-color:var(--color-muted-light);background:var(--color-surface-alt)}.option-btn.is-selected{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface))}.option-btn.is-correct{border-color:var(--color-success);background:var(--color-success-bg)}.option-btn.is-wrong{border-color:var(--color-error);background:var(--color-error-bg)}.option-btn.is-struck{opacity:.6}.option-btn.is-struck .option-text{text-decoration:line-through}.option-letter{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;min-width:26px;border-radius:var(--radius-full);background:var(--color-surface-alt);border:1px solid var(--color-border);font-size:.75rem;font-weight:700;flex-shrink:0;margin-top:1px}.option-btn.is-selected .option-letter{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.option-btn.is-correct .option-letter{background:var(--color-success);border-color:var(--color-success);color:#fff}.option-btn.is-wrong .option-letter{background:var(--color-error);border-color:var(--color-error);color:#fff}.option-text{flex:1}.options-nav{display:none;justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-2)}.exam-bottom-bar{display:flex;align-items:stretch;height:calc(52px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--color-surface);border-top:1px solid var(--color-border);flex-shrink:0}.exam-nav-btn{display:flex;align-items:center;justify-content:center;width:60px;min-height:52px;border:none;background:transparent;color:var(--color-text);cursor:pointer;font-size:1.1rem;transition:background var(--transition-fast),color var(--transition-fast)}.exam-nav-btn:hover{background:var(--color-surface-alt)}.exam-nav-btn:disabled{color:var(--color-muted-light);cursor:default}.exam-nav-center{flex:1;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;font-size:.875rem;font-weight:600;color:var(--color-text);transition:background var(--transition-fast);gap:var(--space-1)}.exam-nav-center:hover{background:var(--color-surface-alt)}.nav-progress-dot{width:8px;height:8px;border-radius:50%;background:var(--color-warning);display:none}.nav-progress-dot.has-flagged{display:block}.question-map-overlay{position:fixed;inset:0;z-index:50;display:none;flex-direction:column;background:var(--color-bg)}.question-map-overlay.is-open{display:flex}.map-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.map-header h2{margin:0;font-size:1rem}.map-close-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-muted);font-size:1.25rem;cursor:pointer}.map-close-btn:hover{background:var(--color-surface-alt);color:var(--color-text)}.map-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);flex-shrink:0}.map-legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:.75rem;color:var(--color-muted)}.legend-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.legend-dot.answered{background:var(--color-accent)}.legend-dot.flagged{background:var(--color-warning)}.legend-dot.unanswered{background:var(--color-surface-alt);border:1px solid var(--color-border)}.map-grid-wrap{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5)}.question-map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:var(--space-2)}.map-cell{display:flex;align-items:center;justify-content:center;height:44px;border-radius:var(--radius-md);font-size:.8rem;font-weight:600;cursor:pointer;border:2px solid transparent;background:var(--color-surface-alt);color:var(--color-muted);transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);user-select:none}.map-cell:hover{border-color:var(--color-muted-light)}.map-cell.is-answered{background:var(--color-accent);color:#fff}.map-cell.is-flagged{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning)}.map-cell.is-current{box-shadow:0 0 0 2px var(--color-accent),0 0 0 4px var(--color-bg)}.map-footer{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-border);flex-shrink:0}.map-stats{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;font-size:.8rem;color:var(--color-muted)}.map-stats strong{color:var(--color-text)}.map-submit-btn{width:100%;min-height:48px;font-size:1rem}.submit-dialog{max-width:400px}.submit-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin:var(--space-2) 0}.submit-stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface-alt);text-align:center}.submit-stat-num{font-size:1.5rem;font-weight:700}.submit-stat-num.is-answered{color:var(--color-accent)}.submit-stat-num.is-unanswered{color:var(--color-error)}.submit-stat-num.is-flagged{color:var(--color-warning)}.submit-stat-label{font-size:.7rem;color:var(--color-muted)}.offline-banner{position:fixed;bottom:calc(52px + env(safe-area-inset-bottom));left:var(--space-4);right:var(--space-4);z-index:40;display:none;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-error);color:#fff;border-radius:var(--radius-lg);font-size:.8rem;font-weight:600;box-shadow:var(--shadow-md)}.offline-banner.is-visible{display:flex}@media(max-width:767px){.content{padding:var(--space-4);padding-top:calc(var(--topbar-height) + var(--space-4));padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + var(--space-4))}.content-auth{padding:var(--space-4)}.topbar{padding:0 var(--space-4)}.topbar-logo{height:22px;max-width:128px}.toast-container{right:var(--space-3);left:var(--space-3);max-width:none}.offline-banner{bottom:calc(52px + env(safe-area-inset-bottom) + var(--space-2))}}@media(min-width:768px){.bottom-nav{display:none}.exam-passage-panel,.exam-options-panel{display:block!important}.exam-passage-panel{border-right:1px solid var(--color-border);flex:1.2}.exam-options-panel{flex:1}.exam-tabs,.exam-bottom-bar{display:none}.options-nav{display:flex}.exam-submit-desktop{display:inline-flex}.question-map-overlay{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:480px;max-height:72vh;border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.question-map-overlay.is-open:before{content:"";position:fixed;inset:0;background:#02061773;z-index:-1}.offline-banner{bottom:var(--space-4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-alt: #f1f5f9;--color-primary: #0f172a;--color-secondary: #334155;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-border: #e2e8f0;--color-text: #020617;--color-muted: #64748b;--color-muted-light: #94a3b8;--color-success: #10b981;--color-success-hover: #059669;--color-success-bg: #ecfdf5;--color-warning: #f59e0b;--color-warning-bg: #fffbeb;--color-error: #dc2626;--color-error-hover: #b91c1c;--color-error-bg: #fef2f2;--color-info: #3b82f6;--color-info-bg: #eff6ff;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Fira Code", ui-monospace, SFMono-Regular, Menlo, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08);--shadow-md: 0 6px 16px rgba(15, 23, 42, .1);--shadow-lg: 0 14px 28px rgba(15, 23, 42, .14);--topbar-height: 56px;--bottom-nav-height: 56px;--content-max-width: 960px;--transition-fast: .15s ease;--transition-base: .22s ease}html.dark{--color-bg: #0f172a;--color-surface: #1e293b;--color-surface-alt: #162032;--color-primary: #f8fafc;--color-secondary: #cbd5e1;--color-accent: #3b82f6;--color-accent-hover: #60a5fa;--color-border: #334155;--color-text: #f1f5f9;--color-muted: #94a3b8;--color-muted-light: #64748b;--color-success: #34d399;--color-success-hover: #6ee7b7;--color-success-bg: #064e3b;--color-warning: #fbbf24;--color-warning-bg: #451a03;--color-error: #f87171;--color-error-hover: #fca5a5;--color-error-bg: #450a0a;--color-info: #60a5fa;--color-info-bg: #172554}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100dvh;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.5}h1,h2,h3{color:var(--color-text);line-height:1.3}h1{font-size:1.5rem;font-weight:700}h2{font-size:1.125rem;font-weight:700}p{font-size:.875rem}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.text-xs{font-size:.75rem}.text-sm{font-size:.8rem}.text-muted{color:var(--color-muted)}.text-muted-light{color:var(--color-muted-light)}.font-semibold{font-weight:600}.font-mono{font-family:var(--font-mono)}.is-hidden{display:none}.content{max-width:var(--content-max-width);margin:0 auto;padding:var(--space-6);padding-top:calc(var(--topbar-height) + var(--space-6))}.content-auth{max-width:none;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.topbar{position:fixed;top:0;left:0;right:0;z-index:30;height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.topbar-left{display:flex;align-items:center;gap:var(--space-4);min-width:0}.topbar-brand{display:inline-flex;align-items:center}.topbar-brand:hover{text-decoration:none}.topbar-logo{display:block;width:auto;height:26px;max-width:150px}.topbar-title{font-size:.875rem;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right{display:flex;align-items:center;gap:var(--space-2)}.topbar-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.topbar-btn:hover{background:var(--color-surface-alt);color:var(--color-text);border-color:var(--color-muted-light)}.topbar-btn svg{width:18px;height:18px}.theme-icon-sun{display:none}html.dark .theme-icon-sun{display:block}html.dark .theme-icon-moon{display:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;align-items:stretch;border-top:1px solid var(--color-border);background:var(--color-surface)}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:none;background:transparent;color:var(--color-muted);font-size:.68rem;font-weight:500;cursor:pointer;text-decoration:none;transition:color var(--transition-fast);min-height:48px}.bottom-nav-item svg{width:22px;height:22px}.bottom-nav-item:hover{color:var(--color-text);text-decoration:none}.bottom-nav-item.is-active{color:var(--color-accent)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.btn:hover{text-decoration:none}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface-alt);color:var(--color-text)}.btn-secondary:hover{background:var(--color-border)}.btn-ghost{background:transparent;color:var(--color-muted)}.btn-ghost:hover{background:var(--color-surface-alt);color:var(--color-text)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover{background:var(--color-error-hover)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:.8rem;border-radius:var(--radius-md)}.btn-icon{padding:var(--space-2)}.btn-sm.btn-icon{padding:var(--space-1)}.btn:disabled,.btn[disabled]{opacity:.5;pointer-events:none;cursor:not-allowed}.btn i,.btn svg{width:16px;height:16px}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;white-space:nowrap}.badge-muted{background:var(--color-surface-alt);color:var(--color-muted)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-error{background:var(--color-error-bg);color:var(--color-error)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-sm{padding:1px var(--space-1);font-size:.68rem}.badge-draft{background:color-mix(in srgb,var(--color-muted) 12%,transparent);color:var(--color-muted)}.badge-published{background:var(--color-success-bg);color:var(--color-success)}.badge-closed{background:color-mix(in srgb,var(--color-error) 12%,transparent);color:var(--color-error)}.badge-real{background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-accent)}.badge-practice{background:color-mix(in srgb,#7c3aed 12%,transparent);color:#7c3aed}.form-label{display:block;margin-bottom:var(--space-1);color:var(--color-text);font-size:.8rem;font-weight:600}.form-input,.form-select,.form-textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:.875rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-textarea{resize:vertical}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 14%,transparent)}dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--space-6);max-width:480px;width:92%;background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-lg)}dialog::backdrop{background:#02061773}.modal{max-width:480px}.modal.modal-sm{max-width:380px}.modal.modal-lg{max-width:640px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.modal-title{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.modal-body{display:grid;gap:var(--space-3)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.toast-container{position:fixed;top:calc(var(--topbar-height) + var(--space-4));right:var(--space-4);z-index:100;display:flex;flex-direction:column;gap:var(--space-2);max-width:420px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-2);pointer-events:auto;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:.875rem;box-shadow:var(--shadow-lg);opacity:0;transform:translate(20px);animation:toast-in .2s ease forwards}.toast.toast-out{animation:toast-out .15s ease forwards}.toast-error{background:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error)}.toast-success{background:var(--color-success-bg);border:1px solid var(--color-success);color:var(--color-success)}.toast-warning{background:var(--color-warning-bg);border:1px solid var(--color-warning);color:var(--color-warning)}.toast-info{background:var(--color-info-bg);border:1px solid var(--color-info);color:var(--color-info)}.toast-close{margin-left:auto;border:none;background:none;color:inherit;font-size:1rem;line-height:1;cursor:pointer;opacity:.7}.toast-close:hover{opacity:1}.toast-action{border:1px solid currentColor;background:transparent;color:inherit;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;padding:2px 8px;cursor:pointer}.toast-action:hover{background:color-mix(in srgb,currentColor 10%,transparent)}@keyframes toast-in{to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.icon-xs{width:12px;height:12px}.icon-sm{width:14px;height:14px}.icon-md{width:16px;height:16px}.icon-lg{width:20px;height:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.spinner{width:18px;height:18px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.spinner-lg{width:32px;height:32px;border-width:4px}@keyframes spin{to{transform:rotate(360deg)}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-muted-light)}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:.875rem;color:var(--color-muted);cursor:pointer;text-decoration:none}.back-link:hover{color:var(--color-text);text-decoration:none}.alert-error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-lg);color:var(--color-error);font-size:.875rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
