:root{--color-background:#faf8f4;--color-background-alt:#f5f3ee;--color-background-secondary:#efede7;--color-surface:#fff;--color-text-primary:#2c2c2c;--color-text-secondary:#6f6f6f;--color-text-muted:#a7a7a7;--color-text:#2c2c2c;--color-border:#e8e5df;--color-border-hover:#dcd9d2;--color-primary:#315efb;--color-primary-50:#f2f6ff;--color-primary-100:#e6f0ff;--color-primary-200:#d6e2ff;--color-accent:#d98c66;--color-accent-hover:#c47b58;--color-accent-pressed:#a96240;--color-accent-rgb:217,140,102;--color-pastel-blue:#afc7e6;--color-pastel-mint:#aee0ce;--color-pastel-yellow:#f7e7a3;--color-pastel-purple:#d3c7ef;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--shadow-card:0px 4px 16px rgba(0,0,0,.05);--shadow-modal:0px 8px 32px rgba(0,0,0,.08);--font-body:"Inter","SF Pro Text","Roboto",sans-serif;--font-heading:"Source Serif Pro","Georgia",serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 20%,hsla(20,60%,63%,.06),transparent 30%),radial-gradient(circle at 80% 0,rgba(175,199,230,.08),transparent 28%),var(--color-background);font-family:var(--font-body);line-height:1.6;margin:0;min-height:100vh}body,h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.01em}button,input,label,p,select,small,span,textarea{font-family:var(--font-body)}a{color:inherit}.page-shell{padding:var(--space-5) var(--space-3)}.card,.container{padding:var(--space-3)}.card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.card,.surface-alt{border-radius:var(--radius-lg)}.surface-alt{background:var(--color-background-alt)}.btn{align-items:center;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 20px;text-decoration:none;transition:all .2s ease}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 8px 20px hsla(20,60%,63%,.25);color:#fff}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-primary:active{background:var(--color-accent-pressed);border-color:var(--color-accent-pressed)}.btn-ghost,.btn-secondary{background:#fff;border-color:var(--color-border);color:var(--color-text-primary)}.btn-ghost:hover,.btn-secondary:hover{background:var(--color-background-alt);border-color:var(--color-border-hover)}.btn-danger{background:#e66b6b;border-color:#e66b6b;color:#fff}.btn-sm{border-radius:var(--radius-sm);padding:10px 14px}.icon-btn{font-size:0;gap:0;height:40px;overflow:hidden;padding:0;width:40px}.btn-sm.icon-btn{height:34px;width:34px}.icon-btn svg{height:18px;width:18px}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0}.pill{background:#fff;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-primary);cursor:pointer;font-size:14px;padding:8px 14px;transition:all .2s ease}.pill:hover{border-color:var(--color-border-hover);box-shadow:0 2px 6px rgba(0,0,0,.06)}.pill.is-active{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 6px 16px hsla(20,60%,63%,.2);color:#fff}.input,input[type=file],input[type=number],input[type=password],input[type=text],input[type=url],select,textarea{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:15px;padding:12px 14px;transition:all .2s ease;width:100%}textarea{resize:vertical}.input:focus,input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px hsla(20,60%,63%,.15);outline:none}.ghost-badge{background:var(--color-background-alt);color:var(--color-text-secondary);font-size:13px;font-weight:500;padding:6px 10px}.ghost-badge,.pastel-badge{align-items:center;border-radius:999px;display:inline-flex;gap:6px}.pastel-badge{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:12px;font-weight:600;padding:6px 12px}.badge-video{background:var(--color-pastel-blue)}.badge-pdf{background:var(--color-pastel-purple)}.badge-audio{background:var(--color-pastel-mint)}.badge-default{background:var(--color-pastel-yellow)}.section-stack{display:flex;flex-direction:column;gap:var(--space-3)}.section-header{margin-bottom:var(--space-1)}.section-header h3{font-size:24px;margin:0}#add-chat-btn{margin-bottom:8px}.muted{color:var(--color-text-muted);font-size:14px}.modal-surface{box-shadow:var(--shadow-modal)}.container{margin:0 auto;max-width:1200px;padding:var(--space-5) var(--space-3)}header{background:transparent;border:none;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4);padding:var(--space-2) 0}.logo-mark,header{align-items:center}.logo-mark{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);display:inline-flex;font-weight:700;gap:14px;letter-spacing:-.02em;padding:10px 14px;text-decoration:none}.logo-icon{height:36px}.logo-text{display:flex;flex-direction:column;line-height:1.1}.logo-title{font-family:var(--font-heading);font-size:22px;font-weight:700;letter-spacing:.06em}.logo-tagline{color:var(--color-text-secondary);font-size:13px;font-weight:400}.header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.compact-header{justify-content:space-between}.header-icons{align-items:center;display:flex;gap:var(--space-1)}.header-tabs{background:var(--color-background-alt);border:1px solid var(--color-border);display:flex;flex:1;flex-direction:row;gap:0;justify-content:center}.header-tabs,.segment-group{align-items:center;border-radius:999px;padding:4px}.segment-group{background:transparent;border:1px solid transparent;box-shadow:none;display:inline-flex;gap:4px}.segment-link{border-radius:999px;color:var(--color-text-secondary);font-size:13px;font-weight:600;padding:8px 16px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.segment-link:hover{background:var(--color-background-alt);color:var(--color-text-primary)}.segment-link.active{background:var(--color-accent);box-shadow:0 8px 16px hsla(20,60%,63%,.25);color:#fff}.header-primary-tabs{background:#fff;border-color:var(--color-border)}.header-secondary-tabs{background:var(--color-background);border:1px dashed var(--color-border);margin-left:6px}.header-secondary-tabs .segment-link{font-size:12px;padding:7px 14px}.header-secondary-tabs .segment-link.active{background:transparent;border:1px solid var(--color-accent);box-shadow:none;color:var(--color-accent)}@media (max-width:900px){header{flex-wrap:wrap}.header-tabs{align-items:flex-start;border-radius:var(--radius-lg);order:3;width:100%}.header-tabs,.segment-group{flex-wrap:wrap;justify-content:flex-start}.header-secondary-tabs{margin-left:0}.logo-tagline{display:none}.logo-title{font-size:19px;letter-spacing:.05em}.logo-icon{height:28px}}#create-topic-btn{align-items:center;display:inline-flex;white-space:nowrap}.language-selector-wrapper{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;gap:var(--space-1);padding:10px 12px}.language-selector-wrapper label{color:var(--color-text-secondary);font-size:14px;font-weight:600}.tab-level-selector{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--space-1);padding:0}.tab-level-label{color:var(--color-text-secondary);font-size:14px;font-weight:600;white-space:nowrap}.pill-level-group{background:#fff;border:1px solid var(--color-border);border-radius:999px;display:inline-flex;gap:6px;padding:4px}.pill-level-group button{background:transparent;border:none;border-radius:999px;color:var(--color-text-secondary);cursor:pointer;font-weight:600;padding:8px 12px;transition:all .2s ease}.pill-level-group button:hover{background:var(--color-background-alt);color:var(--color-text-primary)}.pill-level-group button.active{background:var(--color-accent);box-shadow:0 8px 18px hsla(20,60%,63%,.25);color:#fff}.pill-value{color:var(--color-text-primary);font-weight:700}#auth-section{align-items:center;gap:var(--space-1)}#username-display{color:var(--color-text-secondary);font-weight:600}main{display:flex;flex-direction:column;gap:var(--space-3)}section{width:100%}.section-header{justify-content:space-between}.section-header h2{margin:0}.sort-controls{align-items:center;display:flex;gap:var(--space-2)}.view-toggle-btn{align-items:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px 8px;transition:all .2s ease}.view-toggle-btn:hover{background:var(--color-background-alt);border-color:var(--color-primary);color:var(--color-text-primary)}.view-toggle-btn svg{display:block}.answer-review,.auth-form-container,.chat-list,.chat-view,.content-card,.form-section,.question-card,.score-card,.subject-card,.topic-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.content-card,.form-section,.question-card,.subject-card,.topic-card{padding:var(--space-3)}.explanation-card{display:flex;flex-direction:column}.explanation-wrapper{position:relative}#definitions-list .content-card,#exam-prep-list .content-card,#exercises-list .content-card,#explanations-list .content-card,#formulas-list .content-card,#quizzes-list .content-card,#quotes-list .content-card,#resources-list .content-card,#summaries-list .content-card,#vocabulary-list .content-card,.explanation-wrapper,.question-card+.question-card{margin-bottom:var(--space-2)}#definitions-list .content-card:last-child,#exam-prep-list .content-card:last-child,#exercises-list .content-card:last-child,#explanations-list .content-card:last-child,#formulas-list .content-card:last-child,#quizzes-list .content-card:last-child,#quotes-list .content-card:last-child,#resources-list .content-card:last-child,#summaries-list .content-card:last-child,#vocabulary-list .content-card:last-child{margin-bottom:0}.audio-block{background:var(--color-surface-alt,#f9fafb);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-2);padding:var(--space-2)}.audio-duration{color:var(--color-muted);font-weight:400}.audio-inline-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:0;padding-top:0;position:absolute;right:-5px;top:-5px}.icon-audio-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text);cursor:pointer;display:inline-flex;height:36px;justify-content:center;transition:background .15s ease,border-color .15s ease,transform .1s ease;width:36px}.icon-audio-btn.standard{border-color:var(--color-primary-200,#d6e2ff);color:var(--color-primary,#315efb)}.icon-audio-btn.podcast{background:#fff9f2;border-color:#f6cda2;color:#d8822b}.icon-audio-btn.toggle-script-btn{border-color:var(--color-border);color:var(--color-text)}.podcast-script-block{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:6px;padding:8px 10px}.podcast-script-line{display:flex;gap:8px;margin-bottom:2px}.podcast-script-line:last-child{margin-bottom:0}.podcast-speaker{color:var(--color-accent-pressed);font-weight:700;min-width:70px}.podcast-text{color:var(--color-text)}.batch-progress{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;margin-top:8px;max-height:200px;overflow-y:auto;padding:8px}.batch-progress,.icon-audio-btn:hover{background:var(--color-surface-alt,#f9fafb)}.icon-audio-btn:hover{border-color:var(--color-primary-200,#d6e2ff);transform:translateY(-1px)}.icon-audio-btn:active{transform:translateY(0)}:root{--floating-gap:12px;--floating-audio-mini-width:260px;--floating-chat-mini-width:280px}#floating-audio-player{bottom:16px;display:none;position:fixed;right:16px;width:min(380px,90vw);z-index:9999}#floating-audio-player.minimized{width:min(var(--floating-audio-mini-width),90vw)}#floating-audio-player .floating-audio-inner{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-3)}#floating-audio-player.minimized .floating-audio-inner{padding:var(--space-2)}.floating-audio-header{justify-content:space-between;margin-bottom:var(--space-2)}.floating-audio-header,.section-header{align-items:center;display:flex;gap:var(--space-2)}.section-header{flex-wrap:wrap;margin-bottom:var(--space-3)}.section-title-row{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--space-2)}.section-header .section-actions{align-items:center;display:inline-flex;gap:8px}.topic-audio-actions{display:inline-flex;gap:8px}.inline-controls{align-items:center;display:inline-flex;gap:6px;margin-top:6px}.textarea-with-actions{display:flex;flex-direction:column;gap:6px}.textarea-with-actions textarea{width:100%}.audio-advanced{display:block;max-height:1000px;opacity:1;transition:max-height .2s ease,opacity .2s ease}.audio-advanced.collapsed{max-height:0;opacity:0;overflow:hidden}.podcast-advanced{display:block;max-height:800px;opacity:1;transition:max-height .2s ease,opacity .2s ease}.podcast-advanced.collapsed{max-height:0;opacity:0;overflow:hidden}.audio-header-actions{display:inline-flex;gap:6px}.audio-close-btn,.audio-minimize-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:4px 8px}.audio-close-btn.mini,.audio-minimize-btn.mini{padding:4px 6px}.audio-tabs{display:inline-flex;gap:6px}.audio-tab{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;font-size:.9rem;padding:6px 10px;transition:background .15s ease,border-color .15s ease}.audio-tab.active{background:var(--color-primary-100,#e6f0ff);border-color:var(--color-primary,#315efb);color:var(--color-primary,#315efb)}.audio-close-btn{color:var(--color-text);font-size:1.2rem}.now-playing{margin-bottom:var(--space-2)}.np-title{font-weight:700}.np-subtitle{color:var(--color-muted);font-size:.9rem}#floating-audio-element{margin-bottom:var(--space-2);width:100%}.audio-playlist{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}#floating-audio-player.minimized #floating-audio-element,#floating-audio-player.minimized .audio-playlist,#floating-audio-player.minimized .audio-tabs,#floating-audio-player.minimized .floating-audio-header,#floating-audio-player.minimized .now-playing{display:none}.floating-mini{align-items:center;display:none;gap:8px}#floating-audio-player.minimized .floating-mini{display:flex}.mini-actions{display:inline-flex;gap:6px}.mini-title{color:var(--color-text);flex:1;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#floating-chat{bottom:24px;display:none;max-height:calc(100vh - 48px);position:fixed;right:24px;width:min(1100px,90vw);z-index:9998}#floating-chat.minimized{bottom:16px;right:calc(16px + var(--floating-audio-mini-width) + var(--floating-gap));width:min(var(--floating-chat-mini-width),95vw)}#floating-chat.compact:not(.minimized){width:min(360px,95vw)}#floating-chat.compact:not(.minimized) .floating-chat-body{max-height:320px}#floating-chat .floating-chat-inner{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-2);max-height:100%;padding:var(--space-2)}#floating-chat.minimized .floating-chat-api,#floating-chat.minimized .floating-chat-attachment,#floating-chat.minimized .floating-chat-body,#floating-chat.minimized .floating-chat-input{display:none}.floating-chat-header{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;padding:1px}.floating-chat-titles{flex:1;min-width:0}.floating-chat-topic{color:var(--color-text-primary);display:block;font-size:.95rem}.floating-chat-subtitle,.floating-chat-topic{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-chat-subtitle{color:var(--color-text-secondary);display:none;font-size:.9rem}.floating-chat-actions{display:inline-flex;gap:6px}.floating-chat-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:6px 10px}.floating-chat-btn.attach{font-size:18px;line-height:1}.floating-chat-body{display:flex;flex-direction:column;gap:var(--space-2);max-height:70vh;overflow-y:auto}@media (max-width:768px){#floating-chat{left:12px;right:12px;width:auto}#floating-chat.minimized{bottom:72px;left:12px;right:12px}#floating-audio-player,#floating-audio-player.minimized{bottom:12px;right:12px}.floating-chat-message-wrapper{max-width:85%}.floating-chat-avatar{font-size:.75rem;height:32px;min-width:32px;width:32px}.floating-chat-bubble{padding:12px 14px}.floating-chat-suggestions-grid{grid-template-columns:1fr}}#floating-chat.compact:not(.minimized) .floating-chat-message-wrapper{max-width:80%}#floating-chat.compact:not(.minimized) .floating-chat-avatar{font-size:.75rem;height:32px;min-width:32px;width:32px}.floating-chat-messages{display:flex;flex-direction:column;gap:var(--space-2)}.floating-chat-message{align-items:flex-start;display:flex;gap:10px;width:100%}.floating-chat-message.user{flex-direction:row-reverse}.floating-chat-avatar{align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:50%;box-shadow:var(--shadow-sm);color:var(--color-text-primary);display:flex;font-size:.85rem;font-weight:700;height:36px;justify-content:center;min-width:36px;width:36px}.floating-chat-message.user .floating-chat-avatar{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.floating-chat-message-wrapper{display:flex;flex:1;flex-direction:column;gap:6px;max-width:70%;min-width:0}.floating-chat-message.user .floating-chat-message-wrapper{align-items:flex-end}.floating-chat-bubble{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:var(--color-text-primary);padding:14px 16px;word-wrap:break-word;max-width:100%;width:-moz-fit-content;width:fit-content}.floating-chat-message.user .floating-chat-bubble{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.floating-chat-content{line-height:1.6;white-space:pre-wrap;word-break:break-word}.floating-chat-message.assistant .floating-chat-content{white-space:normal}.floating-chat-message.assistant .floating-chat-content p{margin:0 0 .8em}.floating-chat-message.assistant .floating-chat-content p:last-child{margin-bottom:0}.floating-chat-message.assistant .floating-chat-content h1,.floating-chat-message.assistant .floating-chat-content h2,.floating-chat-message.assistant .floating-chat-content h3,.floating-chat-message.assistant .floating-chat-content h4{font-weight:600;margin:.8em 0 .5em}.floating-chat-message.assistant .floating-chat-content h1:first-child,.floating-chat-message.assistant .floating-chat-content h2:first-child,.floating-chat-message.assistant .floating-chat-content h3:first-child,.floating-chat-message.assistant .floating-chat-content h4:first-child{margin-top:0}.floating-chat-message.assistant .floating-chat-content h1{font-size:1.5em}.floating-chat-message.assistant .floating-chat-content h2{font-size:1.3em}.floating-chat-message.assistant .floating-chat-content h3{font-size:1.15em}.floating-chat-message.assistant .floating-chat-content h4{font-size:1.05em}.floating-chat-message.assistant .floating-chat-content ol,.floating-chat-message.assistant .floating-chat-content ul{margin:.5em 0;padding-left:1.5em}.floating-chat-message.assistant .floating-chat-content li{margin:.3em 0}.floating-chat-message.assistant .floating-chat-content code{background:rgba(0,0,0,.08);border-radius:3px;font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.floating-chat-message.assistant .floating-chat-content pre{background:rgba(0,0,0,.05);border-radius:6px;margin:.8em 0;overflow-x:auto;padding:12px}.floating-chat-message.assistant .floating-chat-content pre code{background:none;padding:0}.floating-chat-message.assistant .floating-chat-content blockquote{border-left:3px solid rgba(0,0,0,.2);color:var(--color-text-secondary);margin:.8em 0;padding-left:12px}.floating-chat-message.assistant .floating-chat-content a{color:var(--color-accent);text-decoration:none}.floating-chat-message.assistant .floating-chat-content a:hover{text-decoration:underline}.floating-chat-message.assistant .floating-chat-content table{border-collapse:collapse;margin:.8em 0;width:100%}.floating-chat-message.assistant .floating-chat-content td,.floating-chat-message.assistant .floating-chat-content th{border:1px solid var(--color-border);padding:6px 10px;text-align:left}.floating-chat-message.assistant .floating-chat-content th{background:rgba(0,0,0,.05);font-weight:600}.floating-chat-message.assistant .floating-chat-content .katex{font-size:1.05em}.floating-chat-message.assistant .floating-chat-content .katex-display{margin:1em 0;overflow-x:auto;overflow-y:hidden}.floating-chat-timestamp{color:var(--color-text-muted);font-size:12px;padding:0 4px}.floating-chat-attachment{background:var(--color-background-alt);border:1px dashed var(--color-border);gap:10px;justify-content:space-between}.floating-chat-attachment,.floating-chat-attachment-row{align-items:center;border-radius:var(--radius-md);display:flex;padding:10px 12px}.floating-chat-attachment-row{background:rgba(0,0,0,.05);border:1px solid var(--color-border);font-size:13px;gap:8px;margin-top:10px}.floating-chat-message.user .floating-chat-attachment-row{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3)}.floating-chat-message.user .floating-chat-attachment-row svg{stroke:#fff}.attachment-link{color:var(--color-accent);text-decoration:none;transition:opacity .2s ease}.attachment-link:hover{opacity:.8;text-decoration:underline}.floating-chat-message.user .attachment-link{color:#fff}.floating-chat-status{color:var(--color-text-secondary);font-size:.9rem}.floating-chat-status.error{color:#b42318}.floating-chat-api{background:var(--color-background-alt);border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:10px}.floating-chat-api-row{align-items:center;display:flex;gap:8px;margin-top:6px}.floating-chat-api-row input{flex:1}.floating-chat-input{display:flex;flex-direction:column;gap:6px}.floating-chat-input-row{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:8px;padding:6px;transition:border-color .2s ease}.floating-chat-input-row:focus-within{border-color:var(--color-accent)}.floating-chat-input-row textarea{background:transparent;border:none;flex:1;font-size:15px;line-height:1.5;max-height:120px;min-height:48px;padding:10px;resize:none}.floating-chat-input-row textarea:focus{outline:none}.floating-chat-btn.attach{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px;transition:all .2s ease}.floating-chat-btn.attach:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.floating-chat-input-row .btn-primary{background:var(--color-accent);border-color:var(--color-accent);border-radius:var(--radius-md);color:#fff;font-weight:500;padding:10px 16px;transition:all .2s ease}.floating-chat-input-row .btn-primary:hover:not(:disabled){box-shadow:var(--shadow-card);opacity:.9}.floating-chat-input-row .btn-primary:disabled{cursor:not-allowed;opacity:.6}.floating-chat-hint{color:var(--color-text-muted);font-size:12px}.floating-chat-empty{color:var(--color-text-secondary);padding:var(--space-2);text-align:center}.floating-chat-typing{align-items:center;display:flex}.floating-chat-typing-bubble{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:inline-block;padding:10px 14px}.floating-chat-typing-dots{align-items:center;display:flex;gap:4px}.floating-chat-typing-dots span{animation:floating-chat-pulse 1.2s ease-in-out infinite;background:var(--color-text-secondary);border-radius:50%;height:6px;width:6px}.floating-chat-typing-dots span:nth-child(2){animation-delay:.2s}.floating-chat-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes floating-chat-pulse{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.floating-chat-suggestions{padding:var(--space-2)}.floating-chat-suggestions h4{color:var(--color-text-primary);font-size:.95rem;margin:0 0 var(--space-2) 0}.floating-chat-suggestions-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.floating-chat-suggestion-card{align-items:flex-start;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:12px;text-align:left;transition:all .2s ease}.floating-chat-suggestion-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-card);transform:translateY(-2px)}.floating-chat-suggestion-card svg{flex-shrink:0;margin-top:2px}.floating-chat-suggestion-card span{flex:1;line-height:1.4}#floating-chat.compact:not(.minimized) .floating-chat-suggestions-grid{grid-template-columns:1fr}#floating-chat.minimized .floating-chat-btn{padding:4px 8px}#audio-play-toggle{align-items:center;border-radius:50%;display:inline-flex;height:32px;justify-content:center;width:32px}#audio-play-toggle,.playlist-item{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer}.playlist-item{border-radius:var(--radius-sm);padding:10px;text-align:left;transition:background .15s ease,border-color .15s ease;width:100%}.playlist-item:hover{background:var(--color-surface-alt,#f9fafb)}.playlist-item.active{background:var(--color-primary-50,#f2f6ff);border-color:var(--color-primary,#315efb)}.playlist-title{font-weight:600}.playlist-subtitle{color:var(--color-muted);display:flex;font-size:.9rem;gap:8px;justify-content:space-between}.playlist-duration{white-space:nowrap}.question-card,.subject-card,.topic-card{position:relative;transition:transform .2s ease,box-shadow .2s ease}.question-card:hover,.subject-card:hover,.topic-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px)}.subjects-grid,.topics-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.subjects-grid.list-view{grid-template-columns:1fr}.subjects-grid.list-view .subject-card{align-items:flex-start;display:flex;flex-direction:row;gap:var(--space-3)}.subjects-grid.list-view .subject-card h3{flex:0 0 200px;font-size:18px;margin:0}.subjects-grid.list-view .list-content{flex:1;min-width:0}.subjects-grid.list-view .subject-card p{margin:0 0 var(--space-2) 0}.subjects-grid.list-view .list-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3)}.subjects-grid.list-view .topic-tags{border:none;flex:0 0 auto;margin:0;padding:0}.subjects-grid.list-view .topic-stats{border-top:none;flex:0 0 auto;margin:0;padding:0}.subject-card h3,.topic-card h4{font-size:20px;-webkit-line-clamp:2;line-height:1.4;margin:0 0 8px}.subject-card h3,.subject-card p,.topic-card h4,.topic-card p{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.subject-card p,.topic-card p{color:var(--color-text-secondary);-webkit-line-clamp:3;line-height:1.5}.subject-card-link{color:inherit;cursor:pointer;display:block;text-decoration:none}.saved-badge{align-items:center;background:var(--color-primary-50);border:1px solid var(--color-primary-200);border-radius:var(--radius-full);box-shadow:var(--shadow-card);color:var(--color-primary);display:inline-flex;justify-content:center;padding:6px;position:absolute;right:12px;top:12px}.saved-badge svg{display:block;height:16px;width:16px}.topic-stats{align-items:center;border-top:1px solid var(--color-border);display:flex;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2)}.topic-stat{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:13px;gap:4px}.topic-stat svg{flex-shrink:0}.list-card .list-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.visibility-pill{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:6px 10px}.visibility-pill.public{background:var(--color-primary-50,#f2f6ff);border-color:var(--color-primary-200,#d6e2ff);color:var(--color-primary)}.visibility-pill.private{background:rgba(var(--color-accent-rgb,217,140,102),.06);border-color:rgba(var(--color-accent-rgb,217,140,102),.4);color:var(--color-accent-pressed)}.list-preview{display:flex;flex-wrap:wrap;gap:6px}.list-card.clickable{cursor:pointer}.list-card .muted{overflow:hidden;text-overflow:ellipsis}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--space-2)}.form-group label{color:var(--color-text-primary);font-weight:600}.form-group small{color:var(--color-text-muted)}.form-group input[type=email],.form-group input[type=number],.form-group input[type=text],.form-group input[type=url],.form-group select{font-size:15px;min-height:44px;padding:12px}.form-group textarea{font-size:15px;min-height:120px;padding:12px;resize:vertical}.button-group{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-2)}.auth-page{display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding-top:var(--space-3)}.auth-form-container{margin:0 auto;max-width:420px;padding:var(--space-4)}.auth-form-container h2{margin-bottom:var(--space-2);text-align:center}.auth-link{color:var(--color-text-secondary);margin-top:var(--space-2);text-align:center}.auth-link a{color:var(--color-accent);font-weight:600;text-decoration:none}.tabs{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:8px}.tab-btn{background:#fff;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-weight:600;padding:10px 14px;transition:all .2s ease;white-space:nowrap}.tab-btn:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.tab-btn.active{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 8px 20px hsla(20,60%,63%,.2);color:#fff}.tab-content{display:none}.tab-content.active{display:block;margin-top:var(--space-2)}.tab-dropdown{display:inline-block;position:relative}.secondary-tab,body:not(.edit-mode) .tab-dropdown{display:none}.tab-dropdown .dropdown-content{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 16px rgba(0,0,0,.1);display:none;left:0;margin-top:4px;max-height:400px;min-width:200px;overflow-y:auto;position:absolute;top:100%;z-index:1000}.tab-dropdown.open .dropdown-content{display:block}.tab-dropdown .dropdown-tab{border:none;border-bottom:1px solid var(--color-border);border-radius:0;display:block;text-align:left;width:100%}.tab-dropdown .dropdown-tab:last-child{border-bottom:none}.tab-dropdown .dropdown-tab:first-child{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.tab-dropdown .dropdown-tab:last-child{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.tab-dropdown .dropdown-tab:hover{background:var(--color-background-alt)}.tab-dropdown .dropdown-tab.active{background:var(--color-accent);color:#fff}.more-btn:after{content:" ▼";font-size:.7em;margin-left:4px}.tab-dropdown.open .more-btn:after{content:" ▲"}.tab-btn.chat-tab{background:hsla(20,60%,63%,.12);border:1px solid hsla(20,60%,63%,.4);color:var(--color-accent)}.tab-btn.chat-tab:hover{background:hsla(20,60%,63%,.18);border-color:var(--color-accent);color:var(--color-accent-hover)}.tab-btn.chat-tab.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.chat-icon{font-size:14px;margin-right:4px}.add-section-btn{background:hsla(20,60%,63%,.08)!important;border:1.5px dashed hsla(20,60%,63%,.4)!important;color:var(--color-accent)!important}.add-section-btn:hover{background:hsla(20,60%,63%,.15)!important;border-color:var(--color-accent)!important}.add-section-btn svg{opacity:.7}.add-section-btn:hover svg{opacity:1}.selection-cards-container{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:8px}.selection-card{background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;padding:16px;position:relative;transition:all .2s ease}.selection-card:hover{border-color:var(--color-accent);box-shadow:0 4px 12px hsla(20,60%,63%,.15);transform:translateY(-2px)}.selection-card.selected{background:hsla(20,60%,63%,.05);border-color:var(--color-accent);box-shadow:0 4px 16px hsla(20,60%,63%,.2)}.selection-card.selected:after{align-items:center;background:var(--color-accent);border-radius:50%;color:#fff;content:"✓";display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;position:absolute;right:8px;top:8px;width:24px}.selection-card-content{display:flex;flex-direction:column;gap:8px;text-align:center}.selection-card-icon{font-size:32px;line-height:1}.selection-card strong{color:var(--color-text-primary);display:block;font-size:15px;margin-bottom:4px}.selection-card small{color:var(--color-text-muted);display:block;font-size:13px;line-height:1.4}.selection-card.selected strong{color:var(--color-accent)}.selection-cards-container[data-selection-group=detail-level]{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.required-hint{animation:pulse 2s ease-in-out infinite}.info-box{background:rgba(52,152,219,.08);border:1px solid rgba(52,152,219,.2);border-radius:var(--radius-md);color:var(--color-text-secondary);display:flex;font-size:14px;gap:12px;line-height:1.5;padding:12px 16px}.info-box svg{color:#3498db;margin-top:2px}.info-box strong{color:var(--color-text-primary);margin-right:4px}.chat-action-btn{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:4px;padding:6px 10px;transition:all .2s ease}.chat-action-btn:hover{background:var(--color-background-alt);border-color:var(--color-border);color:var(--color-text-primary)}.chat-action-btn.notes-btn{background:transparent;border-color:transparent}.chat-action-btn.notes-btn:hover{background:var(--color-background-alt);border-color:var(--color-border)}.chat-action-btn.comments-btn{background:transparent;border-color:transparent}.chat-action-btn.active,.chat-action-btn.comments-btn:hover{background:var(--color-background-alt);border-color:var(--color-border)}.chat-action-btn.active{color:var(--color-text-primary)}.notes-panel{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-top:12px;padding:12px 16px}.notes-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.note-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);cursor:pointer;max-height:260px;overflow:hidden;padding:12px;position:relative;transition:transform .05s ease,box-shadow .1s ease}.note-card h4{font-size:16px;margin:0 0 6px}.note-card p{color:var(--color-text-secondary);margin:0 0 8px;white-space:pre-wrap}.note-meta{color:var(--color-text-muted);font-size:12px;margin-bottom:8px}.note-card .edit-icon-btn{background:var(--color-background-alt);border:none;border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;padding:6px;position:absolute;right:8px;top:8px}.note-card .edit-icon-btn:hover{background:var(--color-border)}.comments-panel{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-top:12px;padding:12px 16px}.comment-form{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.comment-form textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);padding:10px;width:100%}.comments-list{display:flex;flex-direction:column;gap:10px}.comment-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:10px 12px}.comment-header{align-items:center;color:var(--color-text-secondary);display:flex;font-size:13px;justify-content:space-between}.comment-body{margin:8px 0;white-space:pre-wrap}.comment-actions{display:flex;font-size:12px;gap:6px;justify-content:flex-end}.comment-actions .btn{font-size:12px;line-height:1.2;padding:4px 8px}.comment-replies{border-left:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px;margin-left:16px;margin-top:8px;padding-left:10px}.content-text{line-height:1.5}.content-text,.content-text.markdown-body{color:var(--color-text-primary);margin-top:12px}.content-text.markdown-body{background:transparent;font-family:inherit;font-size:inherit;line-height:1.6;padding:0}.content-text.markdown-body h1,.content-text.markdown-body h2,.content-text.markdown-body h3,.content-text.markdown-body h4,.content-text.markdown-body h5,.content-text.markdown-body h6{border-bottom:none;color:var(--color-text-primary);margin-bottom:.5em;margin-top:1.5em}.content-text.markdown-body h1{font-size:1.75em}.content-text.markdown-body h2{font-size:1.5em}.content-text.markdown-body h3{font-size:1.25em}.content-text.markdown-body code{background:var(--color-background-alt);border-radius:3px;color:var(--color-text-primary);padding:.2em .4em}.content-text.markdown-body pre{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1em}.content-text.markdown-body pre code{background:transparent;padding:0}.content-text.markdown-body a{color:var(--color-primary);text-decoration:none}.content-text.markdown-body a:hover{text-decoration:underline}.content-text.markdown-body blockquote{border-left:4px solid var(--color-primary);color:var(--color-text-secondary);margin:1em 0;padding-left:1em}.content-text.markdown-body ol,.content-text.markdown-body ul{margin:.5em 0;padding-left:2em}.content-text.markdown-body table{border-collapse:collapse;margin:1em 0}.content-text.markdown-body table td,.content-text.markdown-body table th{border:1px solid var(--color-border);padding:.5em 1em}.content-text.markdown-body table th{background:var(--color-background-alt);font-weight:600}.content-text.markdown-body .katex{font-size:1.1em}.content-text.markdown-body .katex-display{margin:1.5em 0;overflow-x:auto;overflow-y:hidden}.content-text.markdown-body .katex-display>.katex{text-align:center}.content-text.markdown-body .katex-html{max-width:100%;overflow-x:auto;overflow-y:hidden}.content-card[data-mode=podcast] .content-text,.content-text[data-mode=podcast]{white-space:normal}.subtopic-heading{color:var(--color-text-primary);font-size:18px;margin:0 0 8px}.formula-expression{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:Courier New,monospace;font-size:17px;padding:12px}.variables{font-size:14px;font-style:italic}.badge,.variables{color:var(--color-text-secondary)}.badge{align-items:center;background:var(--color-background-alt);border-radius:var(--radius-sm);display:inline-flex;font-size:12px;font-weight:600;padding:6px 10px}.resource-card .resource-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.resource-card .resource-meta{align-items:center;color:var(--color-text-secondary);display:flex;gap:6px}.resource-icon{font-size:14px}.resource-actions{margin-top:var(--space-1)}.content-actions,.resource-actions{display:flex;flex-wrap:wrap;gap:var(--space-1)}.content-actions{align-items:center;border-top:1px solid var(--color-border);margin-top:var(--space-2);padding-top:var(--space-2)}.reorder-buttons{border-right:1px solid var(--color-border);display:flex;gap:4px;margin-right:8px;padding-right:8px}.btn-icon{font-size:16px;font-weight:700;line-height:1;min-width:32px;padding:4px 8px}.btn-placeholder{display:inline-block;width:32px}.level-selector{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-1)}.level-selector .pill-level-group{margin-left:4px}.level-selector label,.pill-value{display:none}.level-hint{color:var(--color-text-muted);font-size:13px;font-style:italic}.question-card h4{margin:0 0 6px}.question-card p{color:var(--color-text-primary);margin:0 0 12px}.hint{color:var(--color-text-secondary);font-size:14px;font-style:italic}.options{display:flex;flex-direction:column;gap:10px}.option-label{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:10px;padding:12px;transition:all .2s ease}.option-label:hover{border-color:var(--color-border-hover);box-shadow:0 4px 12px rgba(0,0,0,.05)}.option-label input{accent-color:var(--color-accent)}.quiz-info{color:var(--color-text-secondary);font-size:14px}.score-card{text-align:center}.score-card h3{margin-bottom:10px}.score-percentage{color:var(--color-accent);font-size:40px;font-weight:700}.answer-review{border-left:4px solid var(--color-border);margin-bottom:var(--space-2);padding:var(--space-2)}.answer-review.correct{border-left-color:#9ac39c}.answer-review.incorrect{border-left-color:#e66b6b}.answer-review .status{color:var(--color-text-primary);font-weight:700}.info{color:var(--color-text-secondary);font-style:italic}.question-header{align-items:center;display:flex;gap:var(--space-1);justify-content:space-between;margin-bottom:8px}.question-badge{font-size:12px}.error-message,.info-message,.success-message{border-radius:var(--radius-md);font-weight:600;margin-bottom:var(--space-2);padding:12px 14px}.error-message{background:#ffe6e6;color:#b23b3b}.success-message{background:#eaf7ed;color:#2e7d32}.info-message{background:#e7f0ff;color:#2f5597}.empty-message,.loading{color:var(--color-text-muted);padding:var(--space-3);text-align:center}.modal-overlay{align-items:center;background:rgba(0,0,0,.35);display:flex;inset:0;justify-content:center;padding:var(--space-3);position:fixed;z-index:1000}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);max-height:95vh;max-width:500px;overflow-y:auto;padding:var(--space-4);width:100%}.modal.modal-wide{max-width:700px}.modal h3{font-size:24px;margin-bottom:var(--space-2);margin-top:0}.modal-form{display:flex;flex-direction:column;gap:var(--space-2)}.modal-actions{display:flex;gap:var(--space-1);justify-content:flex-end;margin-top:var(--space-2)}.mode-toggle{align-items:center;display:flex;gap:10px}.toggle-switch{display:inline-block;height:28px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:28px;box-shadow:inset 0 1px 2px rgba(0,0,0,.08);cursor:pointer;inset:0}.toggle-slider,.toggle-slider:before{position:absolute;transition:all .25s ease}.toggle-slider:before{background:#fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.12);content:"";height:22px;left:3px;top:2px;width:22px}.toggle-switch input:checked+.toggle-slider{background:var(--color-accent);border-color:var(--color-accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(20px)}#mode-label{color:var(--color-text-primary);font-weight:700}.add-section-modal{max-width:500px;width:90vw}.add-section-modal .modal-description{color:var(--color-text-secondary);font-size:14px;margin-bottom:var(--space-2)}.add-section-options{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--space-3);max-height:400px;overflow-y:auto}.add-section-option{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;text-align:left;transition:all .2s ease;width:100%}.add-section-option:hover{background:#fff;border-color:var(--color-accent);box-shadow:0 2px 8px hsla(20,60%,63%,.15)}.add-section-option .section-name{color:var(--color-text-primary);font-size:15px;font-weight:600}.add-section-option svg{color:var(--color-text-muted);flex-shrink:0;height:20px;transition:transform .2s ease,color .2s ease;width:20px}.add-section-option:hover svg{color:var(--color-accent);transform:translateX(3px)}.generation-progress-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.85);display:none;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.generation-progress-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 20px 60px rgba(0,0,0,.3);max-height:90vh;max-width:600px;overflow-y:auto;padding:40px;width:100%}.progress-header{margin-bottom:24px}.progress-header h3{color:var(--color-text-primary);font-size:24px;margin:0}.progress-counter{background:hsla(20,60%,63%,.1);border-radius:var(--radius-md);color:var(--color-accent);font-size:16px;font-weight:600;padding:8px 16px}.progress-bar-container{background:var(--color-background-alt);border-radius:6px;box-shadow:inset 0 1px 3px rgba(0,0,0,.1);height:12px;margin-bottom:12px}.progress-bar-fill{background:linear-gradient(90deg,var(--color-accent),#e89b77);border-radius:6px;box-shadow:0 0 10px hsla(20,60%,63%,.4);height:100%;transition:width .3s ease;width:0}.progress-percentage-display{color:var(--color-accent);font-size:32px;font-weight:700;margin-bottom:24px;text-align:center}.progress-current-task{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:12px;margin-bottom:24px;padding:16px}.progress-spinner{animation:spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-accent);flex-shrink:0;height:20px;width:20px}.progress-current-task span{color:var(--color-text-primary);font-size:15px;font-weight:500}.progress-steps-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.progress-step-item{align-items:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:12px;padding:12px;transition:all .2s ease}.progress-step-item.pending{opacity:.5}.progress-step-item.pending .step-icon-pending{display:block}.progress-step-item.in-progress{background:hsla(20,60%,63%,.05);border-color:var(--color-accent)}.progress-step-item.in-progress .step-icon-progress{display:block}.progress-step-item.completed{background:rgba(46,204,113,.05);border-color:#2ecc71}.progress-step-item.completed .step-icon-completed{display:block}.progress-step-item.failed{background:rgba(231,76,60,.05);border-color:#e74c3c}.progress-step-item.failed .step-icon-failed{display:block}.progress-step-icon{height:16px;position:relative;width:16px}.progress-step-icon svg{display:none;left:0;position:absolute;top:0}.progress-step-item.pending .step-icon-pending{color:var(--color-text-muted)}.progress-step-item.in-progress .step-icon-progress{color:var(--color-accent)}.progress-step-item.completed .step-icon-completed{color:#2ecc71}.progress-step-item.failed .step-icon-failed{color:#e74c3c}.progress-step-text{color:var(--color-text-primary);font-size:14px}.progress-step-item.pending .progress-step-text{color:var(--color-text-muted)}.progress-step-item.failed .progress-step-text{color:#e74c3c}.progress-step-item.completed .progress-step-text{color:#2ecc71}.progress-steps-list::-webkit-scrollbar{width:8px}.progress-steps-list::-webkit-scrollbar-track{background:var(--color-background-alt);border-radius:4px}.progress-steps-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.progress-steps-list::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.structure-loading-subtitle{color:var(--color-text-secondary);font-size:14px;font-weight:400;line-height:1.5;margin:8px 0 0}.structure-loading-steps{display:flex;flex-direction:column;gap:16px;margin:32px 0}.structure-loading-step{align-items:flex-start;background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:16px;overflow:hidden;padding:16px;position:relative;transition:all .3s ease}.structure-loading-step[data-status=pending]{opacity:.4}.structure-loading-step[data-status=active]{background:hsla(20,60%,63%,.05);border-color:var(--color-accent);box-shadow:0 0 0 3px hsla(20,60%,63%,.1);opacity:1}.structure-loading-step[data-status=active]:before{animation:shimmer 2s infinite;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);content:"";height:3px;left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.structure-loading-step[data-status=completed]{background:rgba(46,204,113,.05);border-color:#2ecc71;opacity:1}.step-icon-container{flex-shrink:0;height:24px;margin-top:2px;position:relative;width:24px}.step-icon-spinner{animation:spinner-rotate .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-accent);height:24px;opacity:0;position:absolute;width:24px}.structure-loading-step[data-status=active] .step-icon-spinner{opacity:1}@keyframes spinner-rotate{to{transform:rotate(1turn)}}.step-icon-check{color:#2ecc71;left:2px;opacity:0;position:absolute;top:2px;transform:scale(0);transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.structure-loading-step[data-status=completed] .step-icon-check{opacity:1;transform:scale(1)}.step-text{flex:1}.step-text strong{color:var(--color-text-primary);display:block;font-size:15px;margin-bottom:4px}.step-text small{color:var(--color-text-muted);display:block;font-size:13px;line-height:1.4}.structure-loading-step[data-status=active] .step-text strong{color:var(--color-accent)}.structure-loading-step[data-status=completed] .step-text strong{color:#2ecc71}.structure-loading-progress{margin-top:24px}.structure-loading-progress-bar{background:var(--color-background-alt);border-radius:4px;height:8px;margin-bottom:16px;overflow:hidden;width:100%}.structure-loading-progress-fill{background:linear-gradient(90deg,var(--color-accent),#e89b77);border-radius:4px;box-shadow:0 0 10px hsla(20,60%,63%,.5);height:100%;transition:width .5s ease;width:0}.structure-loading-tips{align-items:center;background:rgba(52,152,219,.08);border:1px solid rgba(52,152,219,.2);border-radius:var(--radius-md);color:var(--color-text-secondary);display:flex;font-size:13px;gap:10px;padding:12px 16px}.structure-loading-tips svg{color:#3498db;flex-shrink:0}.structure-loading-tips span{line-height:1.4}#topic-header{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);gap:var(--space-2);padding:var(--space-3)}#topic-header,.topic-header-top{display:flex;flex-direction:column}.topic-header-controls{align-items:center;display:flex;justify-content:space-between}.topic-vote-controls{border-radius:var(--radius-md);flex-direction:row;gap:8px;padding:6px 10px}.topic-vote-controls,.vote-btn{align-items:center;display:flex}.vote-btn{background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;justify-content:center;padding:4px;transition:all .2s ease}.vote-btn:hover{background:var(--color-background);color:var(--color-text-primary)}.vote-btn.active.upvote-btn{color:#ff4500}.vote-btn.active.downvote-btn{color:#7193ff}.vote-count{color:var(--color-text-primary);font-size:14px;font-weight:600;min-width:28px;text-align:center}.topic-header-bottom{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.topic-header-bottom-left{align-items:center;display:flex;gap:8px}.topic-header-bottom-right{align-items:center;display:flex;flex:1;gap:var(--space-1);justify-content:flex-end}.topic-tags{flex:1}.topic-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between}#edit-mode-toggle,#owner-actions{display:none}body[data-owner=true] #edit-mode-toggle,body[data-owner=true] #owner-actions{display:flex}.owner-actions-toolbar{align-items:flex-start;display:flex;gap:var(--space-1);justify-content:flex-end}.owner-actions-toolbar .btn-danger{background:#f8d7da;border-color:rgba(107,28,38,.16);color:#6b1c26}.owner-actions-toolbar .btn{align-items:center;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:8px 12px}.owner-actions-toolbar .btn svg{flex-shrink:0;height:16px;width:16px}.edit-mode-toggle{align-items:center;display:flex;gap:var(--space-2)}.edit-mode-label{color:var(--color-text-secondary);font-size:14px;font-weight:600}#delete-topic-btn svg{bottom:-2px;position:relative}#owner-actions{align-items:center;display:none;flex-wrap:wrap;gap:var(--space-1)}#chats-container{grid-template-columns:320px 1fr}#chats-container,.chats-grid{display:grid;gap:var(--space-2)}.chats-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.chat-list{padding:var(--space-2)}.chat-list-item{cursor:pointer;margin-bottom:var(--space-3);transition:all .2s ease}.chat-list-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-1px)}.chat-list-item.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.chat-item-header{align-items:flex-start;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-2)}.chat-title-wrap{display:flex;flex-direction:column;gap:4px}.chat-item-actions{display:inline-flex;gap:6px}.chat-title{color:var(--color-text-primary);flex:1;font-size:16px;font-weight:600;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-date{flex-shrink:0;font-size:12px;white-space:nowrap}.chat-date,.chat-preview{color:var(--color-text-secondary)}.chat-preview{display:-webkit-box;font-size:14px;-webkit-line-clamp:2;line-height:1.5;margin-bottom:var(--space-2);overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.chat-meta{border-top:1px solid var(--color-border);gap:var(--space-3);padding-top:var(--space-2)}.chat-meta,.message-count{align-items:center;display:flex}.message-count{color:var(--color-text-secondary);font-size:13px;gap:6px}.message-count svg{flex-shrink:0}.chat-view{display:flex;flex-direction:column;min-height:520px}.chat-header{border-bottom:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-2)}.chat-header,.chat-messages{background:var(--color-background-alt)}.chat-messages{display:flex;flex:1;flex-direction:column;gap:var(--space-1);padding:var(--space-3)}.chat-message{display:flex}.message-bubble{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);max-width:70%;padding:12px 16px}.chat-message.user .message-bubble{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.chat-input-container{background:#fff;border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:1px solid var(--color-border);padding:var(--space-2)}#chat-input{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:12px 14px;resize:none;width:100%}@media (max-width:900px){header{align-items:flex-start;flex-direction:column}.container{padding:var(--space-3)}#topic-header{flex-direction:column}#chats-container,.subjects-grid,.topics-grid{grid-template-columns:1fr}}@media (max-width:600px){.pill-level-group{flex-wrap:wrap;justify-content:space-between;width:100%}.tabs{flex-wrap:nowrap}}.nav-drawer{background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;gap:var(--space-2);height:100vh;overflow-y:auto;padding:var(--space-3);position:fixed;right:-320px;top:0;transition:right .25s ease;width:320px;z-index:1200;-webkit-overflow-scrolling:touch}.nav-drawer.open{right:0}.nav-drawer-header{align-items:center;display:flex;justify-content:flex-end;margin-bottom:var(--space-2)}.nav-greeting{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-3);padding:var(--space-3)}.greeting-text{color:var(--color-text-secondary);display:block;font-size:14px;margin-bottom:4px}.greeting-username{color:var(--color-text-primary);display:block;font-size:20px;font-weight:700}.nav-label{color:var(--color-text-secondary);display:block;font-size:14px;margin-bottom:6px}.nav-drawer select{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);padding:10px 12px;width:100%}.nav-drawer-actions,.nav-drawer-menu{display:flex;gap:var(--space-1)}.nav-drawer-menu{flex-direction:column;margin-bottom:var(--space-2)}.nav-menu-item{align-items:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:var(--space-2);padding:var(--space-2);text-align:left;text-decoration:none;transition:all .2s ease;width:100%}.nav-menu-item:hover{background:var(--color-background-alt);border-color:var(--color-border-hover)}.nav-menu-item.is-saved{background:var(--color-primary-50);border-color:var(--color-primary-200);color:var(--color-primary)}.nav-menu-item svg{flex-shrink:0;height:20px;width:20px}.nav-menu-item span{flex:1;font-size:15px;font-weight:600}.btn-full{justify-content:center;margin-bottom:var(--space-1);width:100%}.nav-overlay{background:rgba(0,0,0,.35);inset:0;position:fixed;z-index:1100}.search-filters-wrapper{margin-bottom:var(--space-4)}.search-filters-container{align-items:center;background:transparent;border:2px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-2) var(--space-3);transition:all .2s ease}.search-filters-container:focus-within{background:var(--color-surface);border-color:var(--color-accent);box-shadow:0 0 0 3px hsla(20,60%,63%,.1)}.search-bar{align-items:center;display:flex;flex:0 0 auto;gap:var(--space-2);min-width:280px}@media (max-width:768px){.search-bar{flex:1 1 100%;min-width:unset}}.search-icon{color:var(--color-text-secondary);flex-shrink:0;height:20px;width:20px}.search-input{background:transparent;border:none;color:var(--color-text-primary);flex:1;font-size:15px;min-width:180px;outline:none;padding:8px 4px}.search-input::-moz-placeholder{color:var(--color-text-secondary)}.search-input::placeholder{color:var(--color-text-secondary)}.clear-search-btn{align-items:center;background:var(--color-background-alt);border:none;border-radius:var(--radius-full);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s ease;width:28px}.clear-search-btn svg{color:var(--color-text-secondary);height:14px;width:14px}.clear-search-btn:hover,.filter-divider{background:var(--color-border)}.filter-divider{flex-shrink:0;height:32px;width:1px}.filter-chip{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-primary);display:inline-flex;font-size:13px;gap:8px;margin-left:10px;padding:8px 12px}.filter-chip button{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:14px;line-height:1;padding:0}@media (max-width:768px){.filter-divider{display:none}}.tag-filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag-filter-label{color:var(--color-text-secondary);flex-shrink:0;font-size:14px;font-weight:600}.tag-filter-container{display:flex;flex:1;flex-wrap:wrap;gap:8px}.clear-tag-btn{align-items:center;background:var(--color-background-alt);border:none;border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:600;gap:4px;padding:6px 12px;transition:all .2s ease}.clear-tag-btn:hover{background:var(--color-border);color:var(--color-text-primary)}.tag-chip{align-items:center;background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;padding:6px 14px;transition:all .2s ease}.tag-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.tag-chip.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.tag-chip-more{background:var(--color-background-alt)}.all-tags-container{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);margin-top:var(--space-2);padding:var(--space-3)}.tag-search-input{border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;margin-bottom:var(--space-2);padding:10px 14px;width:100%}.tag-search-input:focus{border-color:var(--color-accent);outline:none}.all-tags-list{gap:8px;max-height:200px;overflow-y:auto}.all-tags-list,.topic-tags{display:flex;flex-wrap:wrap}.topic-tags{gap:6px;margin-top:var(--space-2)}.topic-tag{border-radius:var(--radius-full);display:inline-block;font-size:11px;font-weight:600;padding:4px 10px;text-transform:lowercase}.topic-tag,.topic-tag.language-tag{background:var(--color-background-alt);border:1px solid var(--color-border);color:var(--color-text-secondary)}.topic-tag.public-tag{background:var(--color-pastel-mint);border-color:rgba(15,79,54,.12);color:#0f4f36}.topic-tag.private-tag{background:#f8d7da;border-color:rgba(107,28,38,.16);color:#6b1c26}.topic-tag.saved-tag{background:var(--color-primary-50);border-color:var(--color-primary-200);color:var(--color-primary);text-transform:none}.filter-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--color-background);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23666' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:13px;max-width:170px;min-width:140px;padding-right:34px;width:100%}.flashcard-study-container{margin:0 auto;max-width:800px;padding:2rem 1rem}.flashcard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem;padding:0 .5rem}.flashcard-progress{align-items:center;color:var(--color-text-secondary);display:flex;font-size:.95rem;gap:.5rem}.flashcard-progress .progress-label{color:var(--color-text);font-weight:500}.flashcard-progress .progress-numbers{color:var(--color-primary);font-size:1.1rem;font-weight:600}.flashcard-list-item{margin-bottom:var(--space-3)}.flashcard-preview{align-items:stretch;display:flex;gap:var(--space-4)}.flashcard-side{flex:1;min-width:0}.flashcard-list-item .flashcard-label{color:var(--color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:var(--space-2);text-transform:uppercase}.flashcard-list-item .flashcard-content{color:var(--color-text-primary);font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.flashcard-divider{background:var(--color-border);flex-shrink:0;width:1px}.flashcard-scene{align-items:center;display:flex;justify-content:center;margin-bottom:2rem;min-height:400px;perspective:1000px}.flashcard-card{cursor:pointer;height:400px;max-width:600px;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);width:100%}.flashcard-card.flipped{transform:rotateY(180deg)}.flashcard-face{align-items:center;backface-visibility:hidden;border-radius:var(--radius-lg);box-shadow:0 10px 30px -5px rgba(0,0,0,.1),0 4px 10px -2px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.05);display:flex;flex-direction:column;height:100%;justify-content:center;padding:2.5rem 2rem;position:absolute;transition:box-shadow .3s ease;width:100%}.flashcard-card:hover .flashcard-face{box-shadow:0 20px 40px -5px rgba(0,0,0,.15),0 8px 20px -2px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.05)}.flashcard-face-front{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.flashcard-face-back{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;transform:rotateY(180deg)}.flashcard-face .flashcard-label{font-size:.75rem;font-weight:600;left:2rem;letter-spacing:.1em;opacity:.9;position:absolute;text-transform:uppercase;top:1.5rem}.flashcard-face .flashcard-content{font-size:1.5rem;line-height:1.6;max-height:280px;max-width:100%;overflow-y:auto;padding:0 1rem;text-align:center;word-wrap:break-word;background-color:transparent;color:#fff}.flashcard-content::-webkit-scrollbar{width:6px}.flashcard-content::-webkit-scrollbar-track{background:hsla(0,0%,100%,.1);border-radius:3px}.flashcard-content::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.3);border-radius:3px}.flashcard-content::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.5)}.flashcard-hint{align-items:center;animation:pulse 2s ease-in-out infinite;bottom:1.5rem;display:flex;font-size:.85rem;gap:.5rem;left:50%;opacity:.8;position:absolute;transform:translateX(-50%)}.flashcard-hint svg{height:20px;width:20px}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.flashcard-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.flashcard-controls .btn{align-items:center;display:inline-flex;font-size:.95rem;gap:.5rem;min-width:auto;padding:.75rem 1.5rem}.flashcard-controls .btn svg{height:18px;width:18px}.btn-flip{box-shadow:0 4px 12px rgba(99,102,241,.3);font-weight:600;padding:.875rem 2rem;transition:all .3s ease}.btn-flip:hover{box-shadow:0 6px 16px rgba(99,102,241,.4);transform:translateY(-2px)}.btn-flip:active{transform:translateY(0)}.btn-icon-label{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-icon-label:hover{background:var(--color-background-secondary);border-color:var(--color-primary)}.btn-icon-label:disabled{cursor:not-allowed;opacity:.4}.btn-icon-label:disabled:hover{background:var(--color-background);border-color:var(--color-border)}@media (max-width:768px){.flashcard-study-container{padding:1rem .5rem}.flashcard-scene{min-height:350px}.flashcard-card{height:350px}.flashcard-face{padding:2rem 1.5rem}.flashcard-content{font-size:1.25rem;max-height:220px}.flashcard-controls{gap:.5rem}.flashcard-controls .btn{font-size:.875rem;padding:.625rem 1rem}.btn-flip{padding:.75rem 1.5rem}.flashcard-controls .btn span{display:none}.flashcard-controls .btn svg{margin:0}}@media (max-width:480px){.flashcard-scene{min-height:300px}.flashcard-card{height:300px}.flashcard-content{font-size:1.1rem;max-height:180px}.flashcard-header{align-items:flex-start;flex-direction:column;gap:1rem}}@media (prefers-color-scheme:dark){.flashcard-face{box-shadow:0 10px 30px -5px rgba(0,0,0,.3),0 4px 10px -2px rgba(0,0,0,.2),0 0 0 1px hsla(0,0%,100%,.05)}.flashcard-card:hover .flashcard-face{box-shadow:0 20px 40px -5px rgba(0,0,0,.4),0 8px 20px -2px rgba(0,0,0,.3),0 0 0 1px hsla(0,0%,100%,.05)}}.flashcard-keyboard-hints{color:var(--color-text-secondary);display:flex;font-size:.85rem;gap:1.5rem;justify-content:center;margin-top:1.5rem}.flashcard-keyboard-hints span{align-items:center;display:flex;gap:.375rem}.flashcard-keyboard-hints kbd{background:var(--color-background);border:1px solid var(--color-border);border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.05);color:var(--color-text);display:inline-block;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.75rem;font-weight:600;min-width:1.5rem;padding:.25rem .5rem;text-align:center}@media (max-width:768px){.flashcard-keyboard-hints{display:none}}.figure-card{align-items:flex-start;background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 8%,var(--color-surface)) 0,var(--color-surface) 100%);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:1.5rem;padding:var(--space-4);transition:box-shadow .2s ease,transform .2s ease}.figure-card:hover{box-shadow:0 8px 20px hsla(20,60%,63%,.15);transform:translateY(-2px)}.figure-image{background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 12%,var(--color-background-alt)) 0,var(--color-background-alt) 100%);border:2px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 2px 6px rgba(0,0,0,.06);flex-shrink:0;height:140px;overflow:hidden;width:140px}.figure-image img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.figure-info{flex:1;min-width:0}.figure-name{color:var(--color-text);font-size:1.375rem;font-weight:700;line-height:1.3;margin:0 0 .5rem}.figure-role{background:color-mix(in srgb,var(--color-accent) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 35%,transparent);border-radius:20px;color:var(--color-accent);display:inline-block;font-size:.875rem;font-weight:600;margin:0 0 1rem;padding:.25rem .75rem}.figure-description{color:var(--color-text);font-size:.95rem;line-height:1.7;margin:0 0 1rem}.figure-significance,.figure-works{background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 12%,var(--color-background-alt)) 0,color-mix(in srgb,var(--color-accent) 6%,var(--color-background-alt)) 100%);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);font-size:.9rem;line-height:1.6;margin:.75rem 0;padding:1rem}.figure-significance strong,.figure-works strong{color:var(--color-accent);display:block;font-size:.85rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}@media (max-width:640px){.figure-card{flex-direction:column;gap:1.25rem;padding:var(--space-3)}.figure-image{height:220px;width:100%}.figure-name{font-size:1.25rem}}.timeline-container{padding:var(--space-4) 0;position:relative}.timeline-event{margin-bottom:var(--space-6);padding-left:3.5rem;position:relative}.timeline-event:before{background:var(--color-border);bottom:-2rem;content:"";left:1rem;position:absolute;top:0;width:2px}.timeline-event:last-child:before{display:none}.timeline-marker{align-items:center;background:#fff;border:3px solid;border-radius:50%;display:flex;font-size:1rem;height:2rem;justify-content:center;left:0;position:absolute;top:.25rem;width:2rem;z-index:1}.timeline-event-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:12px;padding:var(--space-4);transition:box-shadow .2s ease,transform .2s ease}.timeline-event-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.timeline-date{color:var(--color-text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.025em;margin-bottom:.5rem;text-transform:uppercase}.timeline-title{color:var(--color-text);font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.timeline-type{background:var(--color-background-secondary);border-radius:var(--radius-sm);color:var(--color-text-secondary);display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.75rem;padding:.25rem .75rem;text-transform:uppercase}.timeline-description,.timeline-significance{color:var(--color-text);line-height:1.6;margin:.75rem 0}.timeline-significance{background:var(--color-background-secondary);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);font-size:.9rem;padding:.75rem}.timeline-significance strong{color:var(--color-text);display:block;font-weight:600;margin-bottom:.25rem}@media (max-width:640px){.timeline-event{padding-left:2.5rem}.timeline-event:before{left:.5rem}.timeline-marker{font-size:.8rem;height:1.5rem;left:-.5rem;width:1.5rem}}#generation-progress{background:var(--color-background-alt);border:1px solid rgba(var(--color-accent-rgb),.2);border-radius:var(--radius-md);margin:1.5rem 0;padding:1.5rem}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.progress-header strong{color:var(--color-text);font-size:1rem}#progress-percentage{color:var(--color-accent);font-size:1.1rem;font-weight:600}.progress-bar-container{background:var(--color-background-secondary);border-radius:10px;height:8px;margin-bottom:1rem;overflow:hidden;width:100%}.progress-bar{background:linear-gradient(90deg,var(--color-accent),var(--color-primary));border-radius:10px;height:100%;transition:width .3s ease;width:0}#progress-steps{margin-top:1rem;max-height:200px;overflow-y:auto}.progress-step{align-items:center;background:var(--color-surface);border-radius:var(--radius-sm);display:flex;gap:.75rem;margin-bottom:.5rem;padding:.5rem}.progress-step-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:14px;height:24px;justify-content:center;width:24px}.progress-step.pending .progress-step-icon{background:var(--color-background-secondary);border:2px solid var(--color-background-secondary);color:var(--color-text-secondary)}.progress-step.in-progress .progress-step-icon{background:transparent;border:2px solid var(--color-accent);color:var(--color-accent)}.progress-step.in-progress .progress-step-icon:after{animation:spin 1s linear infinite;border:2px solid var(--color-accent);border-radius:50%;border-top:2px solid transparent;content:"";height:12px;width:12px}.progress-step.completed .progress-step-icon{background:var(--color-accent);color:#fff}.progress-step.completed .progress-step-icon:before{content:"✓"}.progress-step-text{color:var(--color-text);flex:1;font-size:.9rem}.progress-step.pending .progress-step-text{color:var(--color-text-secondary)}@keyframes spin{to{transform:rotate(1turn)}}.ai-quota{background:var(--background-secondary,#f8f9fa);border:1px solid var(--border-color,#dee2e6);border-radius:8px;margin:12px 0;padding:12px 16px;transition:all .3s ease}.ai-quota.unlimited{align-items:center;background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#c3e6cb;color:#155724;display:flex;gap:8px;padding:10px 16px}.ai-quota.unlimited .quota-icon{font-size:1.5rem;font-weight:700}.ai-quota.unlimited .quota-text{font-weight:500}.ai-quota.warning{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-color:#ffeaa7}.ai-quota.danger{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#f5c6cb}.quota-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.quota-label{color:var(--text-secondary,#495057);font-size:.875rem;font-weight:500}.quota-value{color:var(--text-primary,#212529);font-size:1rem;font-weight:700}.quota-bar{background:var(--background-tertiary,#e9ecef);border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.quota-progress{background:linear-gradient(90deg,#28a745,#20c997);border-radius:4px;height:100%;transition:width .3s ease}.ai-quota.warning .quota-progress{background:linear-gradient(90deg,#ffc107,#fd7e14)}.ai-quota.danger .quota-progress{background:linear-gradient(90deg,#dc3545,#c82333)}.quota-footer{align-items:center;color:var(--text-muted,#6c757d);display:flex;font-size:.875rem;justify-content:space-between}.quota-reset{font-size:.8rem}.quota-link{color:var(--primary-color,#007bff);font-weight:500;text-decoration:none;transition:color .2s ease}.quota-link:hover{color:var(--primary-color-dark,#0056b3);text-decoration:underline}.ai-quota-badge{align-items:center;background:var(--background-secondary,#f8f9fa);border:1px solid var(--border-color,#dee2e6);border-radius:12px;color:var(--text-primary,#212529);display:inline-flex;font-size:.75rem;font-weight:600;height:24px;justify-content:center;margin-left:8px;min-width:24px;padding:0 6px;transition:all .2s ease}.ai-quota-badge.unlimited{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#c3e6cb;color:#155724;font-size:1rem}.ai-quota-badge.warning{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-color:#ffeaa7;color:#856404}.ai-quota-badge.danger{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#f5c6cb;color:#721c24}.rate-limit-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.2);max-width:500px;width:90%}.rate-limit-modal .modal-header{align-items:center;background:linear-gradient(135deg,#dc3545,#c82333);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.rate-limit-modal .modal-header h3{font-size:1.25rem;font-weight:600;margin:0}.rate-limit-modal .modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;line-height:1;padding:0;transition:background .2s ease;width:32px}.rate-limit-modal .modal-close:hover{background:hsla(0,0%,100%,.2)}.rate-limit-modal .modal-body{padding:24px}.rate-limit-message{color:var(--text-primary,#212529);font-size:1rem;line-height:1.5;margin-bottom:20px}.quota-summary{background:var(--background-secondary,#f8f9fa);border-radius:8px;margin:16px 0;padding:16px}.quota-item{border-bottom:1px solid var(--border-color,#dee2e6);display:flex;justify-content:space-between;padding:8px 0}.quota-item:last-child{border-bottom:none}.quota-item .label{color:var(--text-secondary,#495057);font-weight:500}.quota-item .value{color:var(--text-primary,#212529);font-weight:600}.options{margin-top:20px}.options h4{color:var(--text-primary,#212529);font-size:1rem;font-weight:600;margin-bottom:12px}.options ul{margin:0;padding-left:24px}.options li{line-height:1.6;margin:8px 0}.options a{color:var(--primary-color,#007bff);font-weight:500;text-decoration:none}.options a:hover{text-decoration:underline}.rate-limit-modal .modal-footer{border-top:1px solid var(--border-color,#dee2e6);display:flex;justify-content:flex-end;padding:16px 24px}@media (max-width:768px){.ai-quota{padding:10px 12px}.quota-header{gap:4px}.quota-footer,.quota-header{align-items:flex-start;flex-direction:column}.quota-footer{gap:8px}.rate-limit-modal{max-width:none;width:95%}.rate-limit-modal .modal-body{padding:16px}}@media (prefers-color-scheme:dark){.ai-quota{background:#2d3748;border-color:#4a5568}.quota-label{color:#cbd5e0}.quota-value{color:#f7fafc}.quota-bar{background:#1a202c}.quota-footer{color:#a0aec0}.ai-quota-badge{border-color:#4a5568}.ai-quota-badge,.rate-limit-modal{background:#2d3748;color:#f7fafc}.quota-summary{background:#1a202c}.quota-item{border-bottom-color:#4a5568}.quota-item .label{color:#cbd5e0}.quota-item .value{color:#f7fafc}.rate-limit-modal .modal-footer{border-top-color:#4a5568}}.ai-quota-indicator{background:var(--color-background-alt,#f8f9fa);border:1px solid var(--color-border,#dee2e6);border-radius:8px;margin:16px 0;padding:14px 16px;transition:all .3s ease}.ai-quota-indicator[data-status=warning]{background:#fff9f0;border-color:#ffb74d}.ai-quota-indicator[data-status=danger]{background:#ffebee;border-color:#ef5350}.ai-quota-indicator .quota-header{align-items:center;display:flex;gap:8px;margin-bottom:10px}.ai-quota-indicator .quota-header svg{color:var(--color-accent,#d98c66);flex-shrink:0}.ai-quota-indicator .quota-label{color:var(--color-text-primary,#2d3748);font-size:14px;font-weight:600}.ai-quota-indicator .quota-stats{margin-bottom:12px}.ai-quota-indicator .quota-value{color:var(--color-text-secondary,#4a5568);display:block;font-size:13px;margin-bottom:6px}.ai-quota-indicator .quota-progress-bar{background:var(--color-background,#e2e8f0);border-radius:3px;height:6px;overflow:hidden;width:100%}.ai-quota-indicator .quota-progress-fill{background:linear-gradient(90deg,#4caf50,#66bb6a);height:100%;transition:width .3s ease,background .3s ease}.ai-quota-indicator[data-status=warning] .quota-progress-fill{background:linear-gradient(90deg,#ff9800,#ffb74d)}.ai-quota-indicator[data-status=danger] .quota-progress-fill{background:linear-gradient(90deg,#f44336,#ef5350)}.ai-quota-indicator .quota-actions{display:flex;flex-wrap:wrap;gap:8px}.ai-quota-indicator .quota-btn{align-items:center;border:1px solid transparent;border-radius:6px;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;text-decoration:none;transition:all .2s ease}.ai-quota-indicator .quota-btn svg{flex-shrink:0;height:14px;width:14px}.ai-quota-indicator .quota-btn.primary{background:var(--color-accent,#d98c66);border-color:var(--color-accent,#d98c66);color:#fff}.ai-quota-indicator .quota-btn.primary:hover{background:#c97b55;border-color:#c97b55;box-shadow:0 2px 8px hsla(20,60%,63%,.3);transform:translateY(-1px)}.ai-quota-indicator .quota-btn.secondary{background:#fff;border-color:var(--color-border,#cbd5e0);color:var(--color-text-secondary,#4a5568)}.ai-quota-indicator .quota-btn.secondary:hover{background:var(--color-background-alt,#f7fafc);border-color:var(--color-text-secondary,#a0aec0);transform:translateY(-1px)}.ai-quota-indicator .quota-info{align-items:center;color:var(--color-text-secondary,#4a5568);display:flex;font-size:14px;gap:8px;margin-bottom:12px}.ai-quota-indicator .quota-info svg{color:var(--color-accent,#d98c66);flex-shrink:0}@media (max-width:600px){.ai-quota-indicator{padding:12px}.ai-quota-indicator .quota-actions{flex-direction:column}.ai-quota-indicator .quota-btn{justify-content:center;width:100%}}.structure-editor{max-height:70vh;overflow-y:auto;padding:20px}.structure-editor-header{border-bottom:2px solid var(--border-color,#e0e0e0);margin-bottom:25px;padding-bottom:15px}.structure-editor-header h3{color:var(--text-primary,#333);font-size:1.4em;margin:0 0 10px}.structure-description{color:var(--text-secondary,#666);font-size:.95em;line-height:1.5;margin:0}.structure-topic-info{background:var(--bg-secondary,#f9f9f9);border-radius:8px;margin-bottom:25px;padding:15px}.structure-topic-description,.structure-topic-title{margin-bottom:15px}.structure-topic-description:last-child,.structure-topic-title:last-child{margin-bottom:0}.structure-topic-info label{color:var(--text-primary,#333);display:block;font-size:.9em;font-weight:600;margin-bottom:5px}.structure-input{border:1px solid var(--border-color,#ddd);border-radius:4px;font-family:inherit;font-size:1em;padding:10px;width:100%}.structure-input:focus{border-color:var(--primary-color,#007bff);box-shadow:0 0 0 3px rgba(0,123,255,.1);outline:none}.structure-subtopics-section{margin-bottom:25px}.structure-subtopics-section h4{color:var(--text-primary,#333);font-size:1.2em;margin:0 0 10px}.structure-subtopics-section .info-message{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;color:#1565c0;font-size:.9em;margin:10px 0;padding:10px 15px}.structure-subtopics-list{display:flex;flex-direction:column;gap:12px}.structure-subtopic-item{background:#fff;border:1px solid var(--border-color,#ddd);border-radius:6px;padding:12px;transition:all .2s}.structure-subtopic-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}.subtopic-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.subtopic-checkbox{cursor:pointer;flex-shrink:0;height:18px;width:18px}.subtopic-title-input{border:1px solid var(--border-color,#ddd);border-radius:4px;flex:1;font-size:1em;font-weight:500;padding:8px}.subtopic-priority{background:var(--bg-secondary,#f0f0f0);border-radius:4px;color:var(--text-secondary,#666);flex-shrink:0;font-size:.85em;padding:4px 8px}.subtopic-description-input{border:1px solid var(--border-color,#ddd);border-radius:4px;font-size:.9em;margin-left:28px;padding:8px;resize:vertical;width:100%}.structure-subtopic-content{background:var(--bg-secondary,#f9f9f9);border:1px dashed var(--border-color,#ddd);border-radius:6px;margin-left:28px;margin-top:12px;padding:12px}.structure-subtopic-content h5{color:var(--text-primary,#333);font-size:.95em;margin:0 0 6px}.structure-subtopic-item.is-disabled{background:#f6f6f6;opacity:.6}.structure-content-section{margin-bottom:25px}.structure-content-section h4{color:var(--text-primary,#333);font-size:1.2em;margin:0 0 10px}.help-text{color:var(--text-secondary,#666);font-size:.9em;margin:10px 0}.structure-content-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:15px}.structure-content-item{background:#fff;border:2px solid var(--border-color,#e0e0e0);border-radius:8px;opacity:.6;padding:12px;transition:all .2s}.structure-content-item.enabled{background:#f8fbff;border-color:var(--primary-color,#007bff);opacity:1}.structure-content-item:hover{box-shadow:0 2px 6px rgba(0,0,0,.08)}.content-item-header{align-items:center;display:flex;gap:8px;margin-bottom:10px}.content-checkbox{cursor:pointer;height:18px;width:18px}.content-item-header label{align-items:center;cursor:pointer;display:flex;flex:1;font-weight:500;gap:8px;margin:0}.content-icon{font-size:1.3em}.content-label{font-size:.95em}.content-item-body{margin-left:26px}.content-levels{display:flex;flex-direction:column;gap:6px}.content-levels label{align-items:center;cursor:pointer;display:flex;font-size:.9em;font-weight:400;gap:6px}.level-checkbox{cursor:pointer;height:16px;width:16px}.content-count{align-items:center;display:flex;gap:8px}.content-count label{font-size:.9em;font-weight:400;margin:0}.count-input{border:1px solid var(--border-color,#ddd);border-radius:4px;font-size:.9em;padding:6px 8px;width:70px}.count-input:focus{border-color:var(--primary-color,#007bff);outline:none}.structure-actions{border-top:2px solid var(--border-color,#e0e0e0);display:flex;gap:10px;justify-content:space-between;margin-top:20px;padding-top:20px}.structure-actions .btn{border:none;border-radius:6px;cursor:pointer;font-size:1em;font-weight:500;padding:10px 24px;transition:all .2s}.structure-actions .btn-secondary{background:var(--bg-secondary,#f0f0f0);color:var(--text-primary,#333)}.structure-actions .btn-secondary:hover{background:#e0e0e0}.structure-actions .btn-primary{background:var(--primary-color,#007bff);color:#fff}.structure-actions .btn-primary:hover{background:#0056b3}.structure-actions .btn-primary:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.structure-content-grid{grid-template-columns:1fr}.structure-actions{flex-direction:column-reverse}.structure-actions .btn{width:100%}}.CodeMirror{color:#000;direction:ltr;font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{background-color:#f7f7f7;border-right:1px solid #ddd;white-space:nowrap}.CodeMirror-linenumber{color:#999;min-width:20px;padding:0 3px 0 5px;text-align:right;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{background:#7e7;border:0!important;width:auto}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:transparent}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:-50px}.CodeMirror-ruler{border-left:1px solid #ccc;bottom:0;position:absolute;top:0}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;overflow:hidden;position:relative}.CodeMirror-scroll{height:100%;margin-bottom:-50px;margin-right:-50px;outline:0;overflow:scroll!important;padding-bottom:50px;position:relative;z-index:0}.CodeMirror-sizer{border-right:50px solid transparent;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{display:none;outline:0;position:absolute;z-index:6}.CodeMirror-vscrollbar{overflow-x:hidden;overflow-y:scroll;right:0;top:0}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-x:scroll;overflow-y:hidden}.CodeMirror-scrollbar-filler{bottom:0;right:0}.CodeMirror-gutter-filler{bottom:0;left:0}.CodeMirror-gutters{left:0;min-height:100%;position:absolute;top:0;z-index:3}.CodeMirror-gutter{display:inline-block;height:100%;margin-bottom:-50px;vertical-align:top;white-space:normal}.CodeMirror-gutter-wrapper{background:0 0!important;border:none!important;position:absolute;z-index:4}.CodeMirror-gutter-background{bottom:0;position:absolute;top:0;z-index:4}.CodeMirror-gutter-elt{cursor:default;position:absolute;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{background:0 0;border-radius:0;border-width:0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;color:inherit;line-height:inherit;overflow:visible;position:relative;z-index:2;-webkit-tap-highlight-color:transparent;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{bottom:0;left:0;position:absolute;right:0;top:0;z-index:0}.CodeMirror-linewidget{padding:.1px;position:relative;z-index:2}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:content-box}.CodeMirror-measure{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.CodeMirror-cursor{pointer-events:none;position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{position:relative;visibility:hidden;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:0 0}.EasyMDEContainer{display:block}.CodeMirror-rtl pre{direction:rtl}.EasyMDEContainer.sided--no-fullscreen{display:flex;flex-direction:row;flex-wrap:wrap}.EasyMDEContainer .CodeMirror{border:1px solid #ced4da;border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-sizing:border-box;font:inherit;height:auto;padding:10px;z-index:0;word-wrap:break-word}.EasyMDEContainer .CodeMirror-scroll{cursor:text}.EasyMDEContainer .CodeMirror-fullscreen{background:#fff;border-bottom-right-radius:0!important;border-right:none!important;bottom:0;height:auto;left:0;position:fixed!important;right:0;top:50px;z-index:8}.EasyMDEContainer .CodeMirror-sided{width:50%!important}.EasyMDEContainer.sided--no-fullscreen .CodeMirror-sided{border-bottom-right-radius:0;border-right:none!important;flex:1 1 auto;position:relative}.EasyMDEContainer .CodeMirror-placeholder{opacity:.5}.EasyMDEContainer .CodeMirror-focused .CodeMirror-selected{background:#d9d9d9}.editor-toolbar{border-left:1px solid #ced4da;border-right:1px solid #ced4da;border-top:1px solid #ced4da;border-top-left-radius:4px;border-top-right-radius:4px;padding:9px 10px;position:relative;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.editor-toolbar.fullscreen{background:#fff;border:0;box-sizing:border-box;height:50px;left:0;opacity:1;padding-bottom:10px;padding-top:10px;position:fixed;top:0;width:100%;z-index:9}.editor-toolbar.fullscreen:before{background:linear-gradient(90deg,#fff 0,hsla(0,0%,100%,0));height:50px;left:0;margin:0;padding:0;position:fixed;top:0;width:20px}.editor-toolbar.fullscreen:after{background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,#fff);height:50px;margin:0;padding:0;position:fixed;right:0;top:0;width:20px}.EasyMDEContainer.sided--no-fullscreen .editor-toolbar{width:100%}.editor-toolbar .easymde-dropdown,.editor-toolbar button{background:0 0;border:1px solid transparent;border-radius:3px;cursor:pointer;display:inline-block;height:30px;margin:0;padding:0;text-align:center;text-decoration:none!important}.editor-toolbar button{font-weight:700;min-width:30px;padding:0 6px;white-space:nowrap}.editor-toolbar button.active,.editor-toolbar button:hover{background:#fcfcfc;border-color:#95a5a6}.editor-toolbar i.separator{border-left:1px solid #d9d9d9;border-right:1px solid #fff;color:transparent;display:inline-block;margin:0 6px;text-indent:-10px;width:0}.editor-toolbar button:after{font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:65%;position:relative;top:2px;vertical-align:text-bottom}.editor-toolbar button.heading-1:after{content:"1"}.editor-toolbar button.heading-2:after{content:"2"}.editor-toolbar button.heading-3:after{content:"3"}.editor-toolbar button.heading-bigger:after{content:"▲"}.editor-toolbar button.heading-smaller:after{content:"▼"}.editor-toolbar.disabled-for-preview button:not(.no-disable){opacity:.6;pointer-events:none}@media only screen and (max-width:700px){.editor-toolbar i.no-mobile{display:none}}.editor-statusbar{color:#959694;font-size:12px;padding:8px 10px;text-align:right}.EasyMDEContainer.sided--no-fullscreen .editor-statusbar{width:100%}.editor-statusbar span{display:inline-block;margin-left:1em;min-width:4em}.editor-statusbar .lines:before{content:"lines: "}.editor-statusbar .words:before{content:"words: "}.editor-statusbar .characters:before{content:"characters: "}.editor-preview-full{height:100%;left:0;position:absolute;top:0;width:100%;z-index:7}.editor-preview-full,.editor-preview-side{box-sizing:border-box;display:none;overflow:auto}.editor-preview-side{border:1px solid #ddd;bottom:0;position:fixed;right:0;top:50px;width:50%;z-index:9;word-wrap:break-word}.editor-preview-active-side{display:block}.EasyMDEContainer.sided--no-fullscreen .editor-preview-active-side{flex:1 1 auto;height:auto;position:static}.editor-preview-active{display:block}.editor-preview{background:#fafafa;padding:10px}.editor-preview>p{margin-top:0}.editor-preview pre{background:#eee;margin-bottom:10px}.editor-preview table td,.editor-preview table th{border:1px solid #ddd;padding:5px}.cm-s-easymde .cm-tag{color:#63a35c}.cm-s-easymde .cm-attribute{color:#795da3}.cm-s-easymde .cm-string{color:#183691}.cm-s-easymde .cm-header-1{font-size:calc(1.375rem + 1.5vw)}.cm-s-easymde .cm-header-2{font-size:calc(1.325rem + .9vw)}.cm-s-easymde .cm-header-3{font-size:calc(1.3rem + .6vw)}.cm-s-easymde .cm-header-4{font-size:calc(1.275rem + .3vw)}.cm-s-easymde .cm-header-5{font-size:1.25rem}.cm-s-easymde .cm-header-6{font-size:1rem}.cm-s-easymde .cm-header-1,.cm-s-easymde .cm-header-2,.cm-s-easymde .cm-header-3,.cm-s-easymde .cm-header-4,.cm-s-easymde .cm-header-5,.cm-s-easymde .cm-header-6{line-height:1.2;margin-bottom:.5rem}.cm-s-easymde .cm-comment{background:rgba(0,0,0,.05);border-radius:2px}.cm-s-easymde .cm-link{color:#7f8c8d}.cm-s-easymde .cm-url{color:#aab2b3}.cm-s-easymde .cm-quote{color:#7f8c8d;font-style:italic}.editor-toolbar .easymde-dropdown{border:1px solid #fff;border-radius:0;position:relative}.editor-toolbar .easymde-dropdown,.editor-toolbar .easymde-dropdown:hover{background:linear-gradient(to bottom right,#fff,#fff 84%,#333 0,#333)}.easymde-dropdown-content{background-color:#f9f9f9;box-shadow:0 8px 16px 0 rgba(0,0,0,.2);display:block;padding:8px;position:absolute;top:30px;visibility:hidden;z-index:2}.easymde-dropdown:active .easymde-dropdown-content,.easymde-dropdown:focus .easymde-dropdown-content,.easymde-dropdown:focus-within .easymde-dropdown-content{visibility:visible}.easymde-dropdown-content button{display:block}span[data-img-src]:after{background-image:var(--bg-image);background-repeat:no-repeat;background-size:contain;content:"";display:block;height:0;max-height:100%;max-width:100%;padding-top:var(--height);width:var(--width)}.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:rgba(255,0,0,.15)}