:root{--bg-primary:#FAF7F2;--bg-secondary:#F3EDE5;--bg-sidebar:#FDF8F3;--bg-sidebar-hover:#F5EEE5;--text-primary:#2D2A26;--text-secondary:#5C534A;--text-muted:#8C8078;--text-sidebar:#4A443D;--border-color:#E8DFD5;--border-light:#F0E8DE;--border-hover:#D4C9BD;--accent-theorem:#C2703E;--accent-theorem-bg:#FDF5EE;--accent-definition:#4A7C8F;--accent-definition-bg:#F2F7F9;--accent-example:#D4A03C;--accent-example-bg:#FDFAF0;--accent-proof:#7C9070;--accent-proof-bg:#F5F8F3;--accent-proposition:#9B7BA8;--accent-proposition-bg:#F9F5FB;--accent-remark:#8C8078;--accent-remark-bg:#F8F5F0;--accent-link:#C2703E;--shadow-sm:0 1px 2px hsl(30 30% 50%/0.04),0 2px 4px hsl(30 30% 50%/0.03);--shadow-md:0 1px 2px hsl(30 30% 50%/0.04),0 4px 8px hsl(30 30% 50%/0.05),0 8px 16px hsl(30 30% 50%/0.03);--shadow-lg:0 1px 2px hsl(30 30% 50%/0.03),0 4px 8px hsl(30 30% 50%/0.04),0 12px 24px hsl(30 30% 50%/0.05),0 24px 48px hsl(30 30% 50%/0.03);--toc-active:#C2703E;--toc-active-bg:rgba(194,112,62,0.07);--hr-color:#E8DFD5;--scrollbar-track:#F0E8DE;--scrollbar-thumb:#D4C9BD;--code-bg:#F0EAE0;--overlay:rgba(0,0,0,0.3);--highlight-bg:rgba(194,112,62,0.08);--accent-theorem-10:rgba(194,112,62,0.10);--accent-theorem-25:rgba(194,112,62,0.25);--accent-theorem-60:rgba(194,112,62,0.6);--radius-card:20px;--radius-btn:12px;--radius-input:10px;--radius-badge:8px;--transition-lift:250ms cubic-bezier(0.22,1,0.36,1);--tab-bar-h:42px}[data-theme=dark]{--bg-primary:#1E1C19;--bg-secondary:#272420;--bg-sidebar:#221F1B;--bg-sidebar-hover:#2E2B26;--text-primary:#EAE5DC;--text-secondary:#B8B0A5;--text-muted:#7A7468;--text-sidebar:#C8C0B4;--border-color:#3A3530;--border-light:#302C27;--border-hover:#4A453E;--accent-theorem:#D4884E;--accent-theorem-bg:#2A2118;--accent-definition:#6AAEC0;--accent-definition-bg:#1A2530;--accent-example:#E0B44A;--accent-example-bg:#28241A;--accent-proof:#96B58A;--accent-proof-bg:#1C2820;--accent-proposition:#B898C8;--accent-proposition-bg:#28202A;--accent-remark:#8C8680;--accent-remark-bg:#262320;--accent-link:#D4884E;--shadow-sm:0 1px 3px rgba(0,0,0,0.2);--shadow-md:0 2px 8px rgba(0,0,0,0.3);--shadow-lg:0 4px 20px rgba(0,0,0,0.4);--toc-active:#D4884E;--toc-active-bg:rgba(212,136,78,0.1);--hr-color:#3A3530;--scrollbar-track:#272420;--scrollbar-thumb:#4A4640;--code-bg:#2A2826;--overlay:rgba(0,0,0,0.6);--highlight-bg:rgba(212,136,78,0.08);--accent-theorem-10:rgba(212,136,78,0.10);--accent-theorem-25:rgba(212,136,78,0.25);--accent-theorem-60:rgba(212,136,78,0.6)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:where(.studio-msg--assistant,.chat-msg--assistant,.qhelp-bubble--ai,.qcard-result-feedback,.qmc-question,.quiz-question-text,.lesson-content-block,.lesson-exercise-wrapper,.analytics-recs){& ol,& ul{margin:.3rem 0;padding-left:1.3rem}& li{margin:.15rem 0}}html{scroll-behavior:smooth;font-size:18px;-webkit-text-size-adjust:100%}::selection{background:var(--accent-theorem-25);color:var(--text-primary)}::-moz-selection{background:var(--accent-theorem-25);color:var(--text-primary)}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-primary);background:var(--bg-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::view-transition-new(root),::view-transition-old(root){animation-duration:.3s;animation-timing-function:ease;mix-blend-mode:normal}.theme-switching,.theme-switching *,.theme-switching :after,.theme-switching :before{transition:none!important}table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.9em}td,th{border:1px solid var(--border-color);padding:.45rem .7rem;text-align:left}th{font-weight:600}th,tr:nth-child(2n){background:var(--bg-secondary)}.layout{display:grid;grid-template-columns:var(--sidebar-width,300px) 1fr;height:calc(100vh - var(--tab-bar-h, 42px))}.layout.sidebar-collapsed{grid-template-columns:0 1fr}@media (max-width:1000px){.layout{grid-template-columns:1fr}}.sidebar{position:fixed;top:var(--tab-bar-h,42px);left:0;width:var(--sidebar-width,300px);height:calc(100vh - var(--tab-bar-h, 42px));background:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:100;transition:width .3s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1),background-color .4s ease}.sidebar.collapsed{width:0;overflow:hidden;border-right:none}.chat-panel.resizing,.layout.resizing,.layout.resizing .main-content,.layout.resizing~.sidebar-collapse-btn,.sidebar.resizing{transition:none!important}.sidebar-resize-handle{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:101}.sidebar-resize-handle.active,.sidebar-resize-handle:hover{background:var(--accent-theorem);opacity:.3}.sidebar-collapse-btn{position:fixed;top:calc(var(--tab-bar-h, 42px) + 10px);left:calc(var(--sidebar-width, 300px) - 12px);z-index:102;width:24px;height:24px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-sidebar);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:left .3s cubic-bezier(.4,0,.2,1),background .15s ease,color .15s ease;box-shadow:var(--shadow-sm)}.sidebar-collapse-btn.flipped{left:6px}.sidebar-collapse-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar-collapse-btn svg{width:12px;height:12px;transition:transform .3s ease}.sidebar-collapse-btn.flipped svg{transform:rotate(180deg)}@media (max-width:1000px){.sidebar{transform:translateX(-100%);width:320px!important;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translateX(0)}.sidebar-collapse-btn,.sidebar-resize-handle{display:none}}.sidebar-header{padding:1.5rem 1.25rem 1rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.sidebar-title{font-size:1.05rem;font-weight:800;color:var(--text-primary);letter-spacing:-.03em;line-height:1.3}.sidebar-subtitle,.sidebar-title{font-family:Plus Jakarta Sans,sans-serif}.sidebar-subtitle{font-size:.68rem;color:var(--text-muted);margin-top:.3rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.toc-container{flex:1 1;overflow-y:auto;padding:.75rem 0}.toc-list{list-style:none;padding:0}.toc-item{position:relative}.toc-item a{display:block;padding:.35rem 1.25rem;color:var(--text-sidebar);text-decoration:none;font-family:Plus Jakarta Sans,sans-serif;font-size:.76rem;line-height:1.4;transition:all .2s ease;border-left:2.5px solid transparent}.toc-item a:hover{background:var(--bg-sidebar-hover);color:var(--text-primary)}.toc-item.active>a{color:var(--toc-active);border-left-color:var(--toc-active);background:var(--toc-active-bg);font-weight:600}.toc-item[data-level="1"]>a{font-weight:600;font-size:.8rem;padding-top:.6rem;padding-bottom:.4rem;color:var(--text-primary);letter-spacing:.01em}.toc-item[data-level="2"]>a{padding-left:2rem;font-size:.74rem}.toc-item[data-level="3"]>a{padding-left:2.75rem;font-size:.7rem;color:var(--text-muted)}.sidebar-controls{padding:.75rem 1.25rem;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:.75rem;flex-shrink:0}.sidebar-search{position:relative;padding:.75rem 1.25rem .6rem;flex-shrink:0}.sidebar-search input{width:100%;padding:.35rem 1.8rem .35rem .6rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;border:1px solid var(--border-color);border-radius:var(--radius-input);background:var(--bg-primary);color:var(--text-primary);outline:none;transition:border-color .2s}.sidebar-search input:focus{border-color:var(--accent-theorem)}.sidebar-search input::placeholder{color:var(--text-muted)}.search-clear{position:absolute;right:1.45rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 .2rem;transition:color .15s}.search-clear:hover{color:var(--text-primary)}.search-results{flex:1 1;overflow-y:auto;padding:.25rem 0}.search-no-results{padding:1.5rem 1.25rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.74rem;color:var(--text-muted);text-align:center}.search-result-item{display:flex;flex-direction:column;gap:.15rem;width:100%;padding:.4rem 1.25rem;background:none;border:none;border-left:2.5px solid transparent;text-align:left;cursor:pointer;transition:all .15s ease}.search-result-item:hover{background:var(--bg-sidebar-hover);border-left-color:var(--accent-theorem)}.search-result-type{font-family:Plus Jakarta Sans,sans-serif;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-theorem)}.search-result-snippet{font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;line-height:1.4;color:var(--text-sidebar);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-snippet mark{background:none;color:var(--accent-theorem);font-weight:700}.search-highlight{animation:searchHighlightFade 1.5s ease-out}@keyframes searchHighlightFade{0%{outline:3px solid var(--accent-theorem);outline-offset:4px;background-color:var(--highlight-bg)}to{outline:3px solid transparent;outline-offset:4px;background-color:transparent}}.theme-toggle{position:relative;width:44px;height:24px;border-radius:12px;background:var(--border-color);border:none;cursor:pointer;transition:background .3s ease;flex-shrink:0}.theme-toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--bg-primary);box-shadow:0 1px 3px rgba(0,0,0,.15);transition:transform .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .theme-toggle:after{transform:translateX(20px)}.theme-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.menu-btn{display:none;position:fixed;bottom:1.5rem;left:1.5rem;z-index:200;width:48px;height:48px;border-radius:var(--radius-btn);background:var(--accent-theorem);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 16px rgba(194,112,62,.3);font-size:1.2rem;transition:transform .2s ease,box-shadow .2s ease;align-items:center;justify-content:center}.menu-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px rgba(194,112,62,.4)}@media (max-width:1000px){.menu-btn{display:flex}}.sidebar-overlay{display:none;position:fixed;inset:0;background:var(--overlay);z-index:99;opacity:0;transition:opacity .35s ease}.sidebar-overlay.visible{display:block;opacity:1}.main-content{grid-column:2;min-width:0;height:calc(100vh - var(--tab-bar-h, 42px));display:flex;flex-direction:column;overflow:hidden}@media (max-width:1000px){.main-content{grid-column:1}}.main-scroll{flex:1 1;min-height:0;overflow-y:auto}.content-wrapper{max-width:740px;margin:0 auto;padding:3rem 2.5rem 6rem;position:relative}@media (max-width:600px){.content-wrapper{padding:2rem 1.25rem 4rem}}.empty-notes{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:50vh;padding:2rem}.empty-notes__icon{color:var(--text-muted);opacity:.45;margin-bottom:1.5rem}.empty-notes__title{font-size:1.4rem;font-weight:600;margin:0 0 .75rem;color:var(--text-primary)}.empty-notes__description{font-size:.95rem;color:var(--text-secondary);line-height:1.6;max-width:380px;margin:0 0 1.75rem}.empty-notes__description strong{color:var(--text-primary)}.empty-notes__actions{display:flex;gap:.75rem}.empty-notes__btn{padding:.6rem 1.4rem;border-radius:8px;border:none;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.empty-notes__btn--primary{background:var(--accent-theorem);color:#fff}.empty-notes__btn--primary:hover{opacity:.85}.empty-notes__btn--secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--bg-sidebar-hover)}.empty-notes__btn--secondary:hover{background:var(--bg-sidebar-hover)}.content h1{font-family:Plus Jakarta Sans,sans-serif;font-size:2rem;font-weight:800;color:var(--text-primary);margin:3rem 0 1.2rem;line-height:1.15;letter-spacing:-.02em;padding-bottom:.6rem;border-bottom:1.5px solid var(--border-color)}.content h1:first-child{margin-top:0}.content h2{font-size:1.5rem;color:var(--text-primary);margin:2.5rem 0 .8rem;line-height:1.25;letter-spacing:-.01em}.content h2,.content h3{font-family:Plus Jakarta Sans,sans-serif;font-weight:700}.content h3{font-size:1.2rem;color:var(--text-secondary);margin:2rem 0 .6rem}.content h4,.content h5{font-size:.9rem;color:var(--text-secondary);margin:1.5rem 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.content h4,.content h5,.content h6{font-family:Plus Jakarta Sans,sans-serif;font-weight:600}.content h6{font-size:.85rem;color:var(--accent-proof);margin:1.5rem 0 .4rem;font-style:italic;text-transform:none;letter-spacing:0}.content p{margin:.8rem 0;text-align:justify;-webkit-hyphens:auto;hyphens:auto}.content a{color:var(--accent-link);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.content a:hover{border-bottom-color:var(--accent-link)}.content strong{font-weight:700;color:var(--text-primary)}.content em{font-style:italic}.content hr{border:none;height:1px;background:var(--hr-color);margin:2.5rem 0}.content ol,.content ul{margin:.8rem 0;padding-left:1.5rem}.content li{margin:.3rem 0}.content blockquote{border-left:3px solid var(--border-color);padding:.5rem 1rem;margin:1rem 0;color:var(--text-secondary);font-style:italic;background:var(--bg-secondary);border-radius:0 12px 12px 0}.content code,.content pre{font-family:JetBrains Mono,monospace;font-size:.82rem}.content code{background:var(--code-bg);padding:.15em .35em;border-radius:5px}.content pre{background:var(--code-bg);padding:1rem;border-radius:var(--radius-btn);overflow-x:auto;margin:1rem 0}.content pre code{background:none;padding:0}.thm-block{margin:1.5rem 0;padding:1rem 1.25rem;border-radius:12px;border-left:4px solid;position:relative;transition:background-color .3s ease;box-shadow:var(--shadow-sm)}.thm-block p:first-of-type{margin-top:0}.thm-block p:last-of-type{margin-bottom:0}.thm-block--corollary,.thm-block--lemma,.thm-block--theorem{background:var(--accent-theorem-bg);border-left-color:var(--accent-theorem)}.thm-block--definition{background:var(--accent-definition-bg);border-left-color:var(--accent-definition)}.thm-block--example,.thm-block--solution{background:var(--accent-example-bg);border-left-color:var(--accent-example)}.thm-block--proof{background:var(--accent-proof-bg);border-left-color:var(--accent-proof)}.thm-block--proposition{background:var(--accent-proposition-bg);border-left-color:var(--accent-proposition)}.thm-block--note,.thm-block--remark{background:var(--accent-remark-bg);border-left-color:var(--accent-remark)}.thm-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem;display:block}.thm-block--corollary .thm-label,.thm-block--lemma .thm-label,.thm-block--theorem .thm-label{color:var(--accent-theorem)}.thm-block--definition .thm-label{color:var(--accent-definition)}.thm-block--example .thm-label{color:var(--accent-example)}.thm-block--proof .thm-label{color:var(--accent-proof)}.thm-block--proposition .thm-label{color:var(--accent-proposition)}.thm-block--note .thm-label,.thm-block--remark .thm-label{color:var(--accent-remark)}.thm-block--proof:after{content:"\25AE";display:block;text-align:right;color:var(--accent-proof);font-size:.9rem;margin-top:.3rem}.content .katex{font-size:1.05em!important}.content .katex-display{margin:1.2rem 0!important;overflow-x:auto;overflow-y:hidden;max-width:100%}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1.5rem}.loading-text{font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;color:var(--text-muted);letter-spacing:.03em}.skeleton{padding:2rem 0}.skeleton-line{border-radius:4px;background:linear-gradient(90deg,var(--border-color) 25%,color-mix(in srgb,var(--border-color),var(--bg-primary) 50%) 50%,var(--border-color) 75%);background-size:800px 100%;animation:skeleton-shimmer 1.6s ease-in-out infinite}.skeleton-title{height:1.8rem;width:55%;margin-bottom:.75rem}.skeleton-subtitle{height:1rem;width:35%;margin-bottom:.5rem}.skeleton-heading{height:1.3rem;width:40%;margin-bottom:.75rem}.skeleton-text{height:.85rem;margin-bottom:.6rem}.skeleton-text.w100{width:100%}.skeleton-text.w95{width:95%}.skeleton-text.w92{width:92%}.skeleton-text.w90{width:90%}.skeleton-text.w88{width:88%}.skeleton-text.w85{width:85%}.skeleton-text.w75{width:75%}.skeleton-text.w70{width:70%}.skeleton-text.w60{width:60%}.skeleton-spacer{height:1.5rem}.skeleton-block{height:3.5rem;border-radius:6px;background:linear-gradient(90deg,var(--border-color) 25%,color-mix(in srgb,var(--border-color),var(--bg-primary) 50%) 50%,var(--border-color) 75%);background-size:800px 100%;animation:skeleton-shimmer 1.6s ease-in-out infinite}.content-skeleton{padding:2rem 2.5rem}.toc-skeleton .toc-skeleton-line{display:block;height:.7rem;border-radius:3px}.toc-skeleton .toc-item{padding:.35rem 1.25rem}.toc-skeleton .toc-item[data-level="2"]{padding-left:2rem}.toc-skeleton .toc-item[data-level="3"]{padding-left:2.75rem}.toc-skeleton .toc-item[data-level="1"] .toc-skeleton-line{height:.8rem;margin-top:.25rem;margin-bottom:.05rem}.back-to-top{position:fixed;bottom:3.5rem;right:1.5rem;width:40px;height:40px;border-radius:var(--radius-btn);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;opacity:0;transform:translateY(10px);transition:all .3s ease;box-shadow:var(--shadow-sm);z-index:50}.back-to-top.visible{opacity:1;transform:translateY(0)}.back-to-top:hover{background:var(--accent-theorem);color:#fff;border-color:var(--accent-theorem)}@media print{.back-to-top,.chat-resize-handle,.menu-btn,.sidebar,.sidebar-collapse-btn,.sidebar-overlay,.sidebar-resize-handle{display:none!important}.layout{grid-template-columns:1fr!important}.main-content{grid-column:1}.content-wrapper{max-width:100%;padding:0}body{font-size:11pt}.thm-block{page-break-inside:avoid;break-inside:avoid}h1,h2,h3{page-break-after:avoid;break-after:avoid}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.chat-messages,.chat-preview-content,.search-results,.toc-container{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.chat-messages::-webkit-scrollbar,.chat-preview-content::-webkit-scrollbar,.search-results::-webkit-scrollbar,.toc-container::-webkit-scrollbar{width:5px}.chat-messages::-webkit-scrollbar-track,.chat-preview-content::-webkit-scrollbar-track,.search-results::-webkit-scrollbar-track,.toc-container::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb,.chat-preview-content::-webkit-scrollbar-thumb,.search-results::-webkit-scrollbar-thumb,.toc-container::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.selection-overlay{position:fixed;border:2px solid var(--accent-theorem-60);background:var(--highlight-bg);pointer-events:none;z-index:1000;display:none;border-radius:3px}.content-wrapper--notes a,.content-wrapper--notes button,.content-wrapper--notes input,.content-wrapper--notes select{cursor:pointer}.chat-selection-highlight{background:var(--accent-theorem-10)!important;outline:2px solid var(--accent-theorem-25);outline-offset:2px;border-radius:2px}.chat-panel{position:fixed;top:var(--tab-bar-h,42px);right:0;width:var(--chat-width,380px);height:calc(100vh - var(--tab-bar-h, 42px));background:var(--bg-primary);border-left:1px solid var(--border-color);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:150;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1),width .01s}.chat-panel.open{transform:translateX(0)}.chat-resize-handle{position:absolute;top:0;left:-3px;width:6px;height:100%;cursor:col-resize;z-index:151;display:none}.chat-panel.open .chat-resize-handle{display:block}.chat-resize-handle.active,.chat-resize-handle:hover{background:var(--accent-theorem);opacity:.3}.main-content{transition:margin-right .35s cubic-bezier(.4,0,.2,1),margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width:1001px){.main-content.chat-open{margin-right:var(--chat-width,380px)}}@media (max-width:1000px){.chat-panel{width:100%!important;max-width:420px}.chat-resize-handle{display:none}}.chat-header{display:flex;align-items:center;padding:.9rem 1rem;border-bottom:1px solid var(--border-color);flex-shrink:0;gap:.5rem}.chat-header-title{font-family:Plus Jakarta Sans,sans-serif;font-size:.82rem;font-weight:600;color:var(--text-primary);flex:1 1;letter-spacing:.01em}.chat-header-btn{width:30px;height:30px;border-radius:var(--radius-badge);border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .15s ease}.chat-header-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.chat-preview{padding:.6rem 1rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.chat-preview-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem}.chat-preview-content{max-height:150px;overflow-y:auto;padding:.5rem .7rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-input);font-family:Plus Jakarta Sans,sans-serif;font-size:.8rem;line-height:1.5;color:var(--text-secondary)}.chat-messages{flex:1 1;overflow-y:auto;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.8rem}.chat-msg{max-width:90%;padding:.55rem .8rem;border-radius:16px;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;line-height:1.55;word-wrap:break-word}.chat-msg--user{align-self:flex-end;background:var(--accent-theorem);color:#fff;border-bottom-right-radius:3px}.chat-msg--assistant{align-self:flex-start;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-light);border-bottom-left-radius:3px}.chat-msg--assistant p{margin:.4rem 0}.chat-msg--assistant p:first-child{margin-top:0}.chat-msg--assistant p:last-child{margin-bottom:0}.chat-msg--assistant code{background:var(--code-bg);padding:.1em .3em;border-radius:3px;font-size:.74rem}.chat-msg--assistant strong{font-weight:600}.chat-msg--error{align-self:center;background:var(--accent-theorem-bg);color:var(--accent-theorem);border:1px solid var(--accent-theorem);font-size:.72rem;text-align:center}.chat-typing{display:inline-flex;gap:4px;padding:.4rem 0}.chat-typing span{width:6px;height:6px;background:var(--text-muted);border-radius:50%;animation:chatBounce 1.4s ease-in-out infinite}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes chatBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.chat-input-area{padding:.7rem 1rem;border-top:1px solid var(--border-color);flex-shrink:0;display:flex;gap:.5rem;align-items:flex-end}.chat-input{flex:1 1;resize:none;border:1px solid var(--border-color);border-radius:var(--radius-input);padding:.5rem .7rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;line-height:1.4;color:var(--text-primary);background:var(--bg-secondary);max-height:120px;min-height:36px;outline:none;transition:border-color .2s ease}.chat-input:focus{border-color:var(--accent-theorem)}.chat-input::placeholder{color:var(--text-muted)}.chat-send-btn{width:36px;height:36px;border-radius:var(--radius-btn);border:none;background:var(--accent-theorem);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s ease}.chat-send-btn:hover{opacity:.85}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-settings-overlay{position:fixed;inset:0;background:var(--overlay);z-index:2000;display:none;align-items:center;justify-content:center}.chat-settings-overlay.visible{display:flex}.chat-settings-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-card);padding:1.5rem;width:340px;max-width:90vw;box-shadow:var(--shadow-lg)}.chat-settings-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.15rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.chat-settings-field{margin-bottom:.9rem}.chat-settings-label{display:block;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:600;color:var(--text-secondary);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.04em}.chat-settings-helper{display:block;font-size:.68rem;color:var(--text-muted);margin-top:.2rem}.chat-settings-input,.chat-settings-select{width:100%;padding:.45rem .6rem;border:1px solid var(--border-color);border-radius:var(--radius-input);background:var(--bg-secondary);color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;outline:none;transition:border-color .2s}.chat-settings-input:focus,.chat-settings-select:focus{border-color:var(--accent-theorem)}.chat-settings-actions{display:flex;gap:.5rem;margin-top:1.1rem}.chat-settings-btn{flex:1 1;padding:.45rem .8rem;border-radius:var(--radius-btn);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:.74rem;font-weight:600;cursor:pointer;transition:all .15s ease}.chat-settings-btn:hover{background:var(--border-color)}.chat-settings-btn--primary{background:var(--accent-theorem);color:#fff;border-color:var(--accent-theorem)}.chat-settings-btn--primary:hover{opacity:.9;background:var(--accent-theorem)}.chat-settings-btn--danger{color:var(--accent-theorem);border-color:var(--accent-theorem);background:var(--accent-theorem-bg)}.chat-bubble,.chat-settings-btn--danger:hover{background:var(--accent-theorem);color:#fff}.chat-bubble{position:absolute;width:30px;height:30px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.6;transition:all .2s ease;box-shadow:var(--shadow-sm);padding:0;line-height:1;z-index:10}.chat-bubble:hover{opacity:1;transform:scale(1.15);box-shadow:var(--shadow-md)}.chat-bubble svg{width:15px;height:15px;flex-shrink:0}[data-theme=dark] .chat-bubble{opacity:.55}.chat-bubble-hover-highlight{background:var(--accent-theorem-10)!important;outline:2px solid var(--accent-theorem-25);outline-offset:2px;border-radius:2px;transition:background .15s ease}@media print{.chat-bubble,.chat-panel,.chat-settings-overlay,.selection-overlay{display:none!important}}.note-selector{width:100%;padding:.35rem .5rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;border:1px solid var(--border-color);border-radius:var(--radius-input);background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.stream-notifications{position:fixed;bottom:1.2rem;right:1.2rem;z-index:10000;display:flex;flex-direction:column-reverse;gap:.5rem;pointer-events:none}.stream-notif{display:flex;align-items:center;gap:.6rem;padding:.65rem .75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-btn);box-shadow:0 4px 16px rgba(0,0,0,.12);pointer-events:auto;animation:notifSlideIn .3s ease-out;max-width:340px}@keyframes notifSlideIn{0%{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}.stream-notif-body{flex:1 1;min-width:0}.stream-notif-title{font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:600;color:var(--text-primary);margin-bottom:.15rem}.stream-notif-snippet{font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stream-notif-open{flex-shrink:0;padding:.3rem .65rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:600;color:#fff;background:var(--accent-theorem);border:none;border-radius:var(--radius-badge);cursor:pointer;transition:opacity .15s}.stream-notif-open:hover{opacity:.85}.stream-notif-dismiss{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0;font-size:1rem;line-height:1;color:var(--text-muted);background:none;border:none;border-radius:50%;cursor:pointer;transition:color .15s,background .15s}.stream-notif-dismiss:hover{color:var(--text-primary);background:var(--bg-secondary)}[data-theme=dark] .stream-notif{box-shadow:0 4px 16px rgba(0,0,0,.35)}.view-tab-bar{padding:0 1.5rem;height:var(--tab-bar-h,42px);flex-shrink:0;border-bottom:1px solid var(--border-color);background:var(--bg-primary);position:relative;z-index:200}.view-tab-back,.view-tab-bar{display:flex;align-items:center;justify-content:center}.view-tab-back{position:absolute;left:.75rem;width:28px;height:28px;border:none;border-radius:var(--radius-btn);background:transparent;color:var(--text-muted);cursor:pointer;transition:color .2s,background .2s}.view-tab-back:hover{color:var(--text-primary);background:var(--bg-secondary)}.view-tab-title{position:absolute;left:2.5rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.82rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.view-tab-group{gap:.25rem}.view-tab,.view-tab-group{display:flex;align-items:center}.view-tab{gap:.4rem;padding:.35rem .75rem;border:none;background:none;color:var(--text-muted);font-family:Plus Jakarta Sans,sans-serif;font-size:.74rem;font-weight:500;cursor:pointer;border-radius:var(--radius-btn);transition:all .15s ease;white-space:nowrap}.view-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.view-tab.active{color:var(--toc-active);background:var(--toc-active-bg);font-weight:600}.view-tab svg{flex-shrink:0;opacity:.65}.view-tab.active svg{opacity:1}.view-tab-actions{position:absolute;right:1.5rem;display:flex;align-items:center;gap:.25rem}.token-counter-wrapper{position:relative}.token-counter{display:flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border:1px solid var(--border-light);background:var(--bg-secondary);color:var(--text-muted);font-size:.7rem;font-family:var(--font-mono,monospace);border-radius:var(--radius-btn);cursor:pointer;transition:all .15s ease;white-space:nowrap;line-height:1;height:26px}.token-counter:hover{color:var(--text-primary);border-color:var(--border-medium)}.token-counter-cost{font-weight:600;color:var(--text-secondary)}.token-counter-tokens{opacity:.7}.token-counter-dropdown{position:absolute;top:calc(100% + 6px);right:0;z-index:100;min-width:180px;padding:.5rem 0;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-card,8px);box-shadow:0 4px 16px rgba(0,0,0,.12);font-size:.72rem;font-family:var(--font-mono,monospace)}.token-counter-row{display:flex;justify-content:space-between;padding:.25rem .75rem;color:var(--text-secondary)}.token-counter-row--sub{padding-left:1.25rem;font-size:.65rem;opacity:.7}.token-counter-row--total{font-weight:600;color:var(--text-primary)}.token-counter-row--muted{opacity:.5}.token-counter-divider{height:1px;margin:.3rem .75rem;background:var(--border-light)}.view-tab-theme{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-btn);transition:all .15s ease}.view-tab-theme:hover{color:var(--text-primary);background:var(--bg-secondary)}[data-theme=dark] .view-tab-theme--dark-toggle svg circle,[data-theme=dark] .view-tab-theme--dark-toggle svg line{display:none}[data-theme=dark] .view-tab-theme--dark-toggle:before{content:"\263E";font-size:1rem}[data-theme=dark] .view-tab-theme--dark-toggle svg{display:none}.layout.sidebar-hidden{grid-template-columns:0 1fr}.layout.sidebar-hidden .sidebar{opacity:0;pointer-events:none;overflow:hidden}.layout.sidebar-hidden .sidebar-collapse-btn{opacity:0;pointer-events:none}.layout.sidebar-hidden .menu-btn{display:none!important}@media (max-width:700px){.view-tab-title{display:none}}@media (max-width:600px){.view-tab-bar{padding:0 .75rem}.view-tab span{display:none}.view-tab{padding:.35rem .55rem}}.studio-panel{position:relative;flex-shrink:0;background:var(--bg-primary);border-top:1px solid var(--border-color);box-shadow:0 -2px 12px rgba(0,0,0,.06);z-index:80;display:flex;flex-direction:column;transition:height .35s ease-out}.studio-panel.closing{transition:height .2s ease-in}.studio-panel.maximized{transition:height .3s ease-out}.studio-panel.resizing{transition:none!important}.studio-panel.snap-preview{box-shadow:0 -4px 24px rgba(0,0,0,.12)}.studio-panel.snap-preview .studio-resize-handle{background:var(--accent-theorem);opacity:.5}.studio-resize-handle{position:absolute;top:-3px;left:0;right:0;height:6px;cursor:row-resize;z-index:81;display:none}.studio-panel.open .studio-resize-handle{display:block}.studio-resize-handle:hover{background:var(--accent-theorem);opacity:.3}.studio-header{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;border-bottom:1px solid transparent;transition:background .15s}.studio-panel.open .studio-header{border-bottom-color:var(--border-color)}.studio-header:hover{background:var(--bg-secondary)}.studio-chevron{transition:transform .2s ease;color:var(--text-muted);flex-shrink:0}.studio-chevron.open{transform:rotate(180deg)}.studio-header-title{font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:600;color:var(--text-primary);letter-spacing:.01em}.studio-header-badge{font-family:Plus Jakarta Sans,sans-serif;font-size:.58rem;font-weight:700;color:var(--accent-theorem);background:var(--accent-theorem-bg);padding:.1rem .35rem;border-radius:var(--radius-badge);text-transform:uppercase;letter-spacing:.06em}.studio-body{flex:1 1;display:flex;flex-direction:row;min-height:0;overflow:hidden}.studio-body--hidden{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.help-chatkit,.studio-chatkit{width:100%;height:100%}.studio-sidebar{width:160px;min-width:160px;border-right:1px solid var(--border-color);display:flex;flex-direction:column;background:var(--bg-secondary)}.studio-sidebar-new{margin:.5rem;padding:.4rem .5rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:600;color:var(--text-muted);background:transparent;border:1.5px dashed var(--border-color);border-radius:var(--radius-btn);cursor:pointer;transition:color .15s,border-color .15s;flex-shrink:0}.studio-sidebar-new:hover{color:var(--accent-theorem);border-color:var(--accent-theorem)}.studio-sidebar-list{flex:1 1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.studio-sidebar-list::-webkit-scrollbar{width:4px}.studio-sidebar-list::-webkit-scrollbar-track{background:transparent}.studio-sidebar-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:2px}.studio-sidebar-empty{padding:1rem .6rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;color:var(--text-muted);text-align:center}.studio-sidebar-item{display:flex;align-items:center;gap:.3rem;padding:.4rem .5rem;cursor:pointer;transition:background .12s;border-left:2px solid transparent}.studio-sidebar-item:hover{background:var(--bg-primary)}.studio-sidebar-item--active{background:var(--bg-primary);border-left-color:var(--accent-theorem)}.studio-sidebar-item-title{flex:1 1;font-family:Plus Jakarta Sans,sans-serif;font-size:.7rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.35rem}.studio-sidebar-item--active .studio-sidebar-item-title{font-weight:600}.studio-sidebar-item-delete{opacity:0;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.9rem;line-height:1;padding:0 .15rem;flex-shrink:0;transition:opacity .12s,color .12s}.studio-sidebar-item:hover .studio-sidebar-item-delete{opacity:1}.studio-sidebar-item-delete:hover{color:var(--accent-theorem)}.studio-sidebar-streaming-dot{flex-shrink:0}.studio-header-streaming-dot,.studio-sidebar-streaming-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#f59e0b;animation:studio-pulse 1.2s ease-in-out infinite}.studio-header-streaming-dot{margin-left:.3rem}@keyframes studio-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.studio-chat-area{flex:1 1;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.studio-chat-area-empty{flex:1 1;display:flex;align-items:center;justify-content:center;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;color:var(--text-muted)}.studio-chat-instance--hidden{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.studio-chat{min-height:0;overflow:hidden}.studio-chat,.studio-messages{flex:1 1;display:flex;flex-direction:column}.studio-messages{overflow-y:auto;padding:.8rem 1rem;gap:.6rem;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.studio-messages::-webkit-scrollbar{width:5px}.studio-messages::-webkit-scrollbar-track{background:transparent}.studio-messages::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.studio-msg{max-width:85%;padding:.5rem .75rem;border-radius:16px;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;line-height:1.55;word-wrap:break-word}.studio-msg--user{align-self:flex-end;width:-moz-fit-content;width:fit-content;background:var(--accent-theorem);color:#fff;border-bottom-right-radius:3px}.studio-msg-group{display:flex;flex-direction:column;align-self:flex-start;gap:.4rem;max-width:85%}.studio-timeline-standalone{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:16px;padding:.5rem .75rem;font-size:.78rem}.studio-msg--assistant{align-self:flex-start;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-light);border-bottom-left-radius:3px}.studio-msg-group .studio-msg--assistant{max-width:100%}.studio-msg--assistant p{margin:.4rem 0}.studio-msg--assistant p:first-child{margin-top:0}.studio-msg--assistant p:last-child{margin-bottom:0}.studio-msg--assistant code{background:var(--code-bg);padding:.1em .3em;border-radius:3px;font-size:.74rem}.studio-msg--assistant strong{font-weight:600}.studio-msg-text p{margin:.4rem 0}.studio-msg-text p:first-child{margin-top:0}.studio-msg-text p:last-child{margin-bottom:0}.studio-input-form{display:flex;gap:.5rem;align-items:flex-end;padding:.6rem 1rem;border-top:1px solid var(--border-color);flex-shrink:0}.studio-input{flex:1 1;resize:none;border:1px solid var(--border-color);border-radius:var(--radius-input);padding:.5rem .7rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;line-height:1.4;color:var(--text-primary);background:var(--bg-secondary);max-height:120px;min-height:36px;outline:none;transition:border-color .2s ease}.studio-input:focus{border-color:var(--accent-theorem)}.studio-input::placeholder{color:var(--text-muted)}.studio-send-btn{width:36px;height:36px;border-radius:var(--radius-btn);border:none;background:var(--accent-theorem);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s ease}.studio-send-btn:hover{opacity:.85}.studio-send-btn:disabled{opacity:.4;cursor:not-allowed}.studio-api-warning{padding:.5rem 1rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;color:var(--accent-theorem);background:var(--accent-theorem-bg);border-top:1px solid var(--accent-theorem);text-align:center}.studio-examples{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;gap:1rem}.studio-examples-title{font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.studio-examples-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.5rem;gap:.5rem;width:100%;max-width:700px}.studio-example-btn{display:flex;flex-direction:column;gap:.2rem;padding:.6rem .8rem;border:1px solid var(--border-color);border-radius:var(--radius-btn);background:var(--bg-secondary);cursor:pointer;text-align:left;transition:transform var(--transition-lift),box-shadow var(--transition-lift),border-color var(--transition-lift)}.studio-example-btn:hover{transform:translateY(-3px);border-color:var(--border-hover);box-shadow:var(--shadow-lg)}.studio-example-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-theorem)}.studio-example-text{font-family:Plus Jakarta Sans,sans-serif;font-size:.74rem;color:var(--text-secondary);line-height:1.35}.studio-tool-loading{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;color:var(--text-muted)}.studio-tool-done,.studio-tool-loading{font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem}.studio-tool-done{color:var(--accent-proof);padding:.3rem 0;font-style:italic}.studio-tool-working{display:flex;align-items:center;gap:.5rem;padding:.4rem 0}.studio-tool-working .chat-typing{display:inline-flex}.studio-tool-working-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;color:var(--text-muted);font-style:italic}.studio-quiz-ready{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;background:var(--accent-definition-bg);border:1px solid var(--accent-definition);border-radius:var(--radius-btn);margin:.4rem 0}.studio-quiz-ready span{font-size:.78rem;color:var(--accent-definition)}.studio-quiz-ready span,.studio-quiz-start-btn{font-family:Plus Jakarta Sans,sans-serif;font-weight:600}.studio-quiz-start-btn{padding:.35rem .8rem;font-size:.74rem;color:#fff;background:var(--accent-definition);border:none;border-radius:var(--radius-badge);cursor:pointer;transition:opacity .15s}.studio-quiz-start-btn:hover{opacity:.85}.studio-mod-preview{border:1px solid var(--border-color);border-radius:var(--radius-btn);overflow:hidden;margin:.5rem 0}.studio-mod-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.studio-mod-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--accent-definition);padding:.1rem .4rem;border-radius:var(--radius-badge)}.studio-mod-badge,.studio-mod-desc{font-family:Plus Jakarta Sans,sans-serif}.studio-mod-desc{font-size:.72rem;color:var(--text-secondary)}.studio-mod-content{padding:.75rem;max-height:200px;overflow-y:auto;font-family:Plus Jakarta Sans,sans-serif;font-size:.76rem;line-height:1.5;color:var(--text-primary)}.studio-mod-content p{margin:.4rem 0}.studio-mod-actions{display:flex;gap:.5rem;padding:.5rem .75rem;border-top:1px solid var(--border-light);background:var(--bg-secondary)}.studio-mod-btn{padding:.35rem .8rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:600;border:none;border-radius:var(--radius-badge);cursor:pointer;transition:opacity .15s}.studio-mod-btn--approve{background:var(--accent-proof);color:#fff}.studio-mod-btn--reject{background:var(--accent-theorem);color:#fff}.studio-mod-btn:hover{opacity:.85}.studio-plan-preview{border:1px solid var(--border-color);border-radius:var(--radius-btn);overflow:hidden;margin:.5rem 0}.studio-plan-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.studio-plan-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;background:var(--accent-definition);color:#fff;border-radius:var(--radius-badge)}.studio-plan-badge,.studio-plan-title{font-family:Plus Jakarta Sans,sans-serif}.studio-plan-title{font-size:.78rem;font-weight:600;color:var(--text-primary)}.studio-plan-body{padding:.75rem}.studio-plan-summary{font-family:Plus Jakarta Sans,sans-serif;font-size:.75rem;color:var(--text-secondary);margin:0 0 .6rem;line-height:1.45}.studio-plan-steps{margin:0;padding-left:1.4rem;list-style:decimal}.studio-plan-step{margin-bottom:.45rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.73rem;line-height:1.4}.studio-plan-step-label{font-weight:600;color:var(--text-primary)}.studio-plan-step-detail{color:var(--text-secondary);margin-left:.25rem}.studio-plan-step-detail:before{content:"\2014\00a0"}.studio-plan-scope{font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;color:var(--text-muted);font-style:italic;margin-top:.5rem;padding-top:.4rem;border-top:1px solid var(--border-light)}.studio-plan-actions{display:flex;gap:.5rem}.studio-plan-actions,.studio-plan-feedback{padding:.5rem .75rem;border-top:1px solid var(--border-light);background:var(--bg-secondary)}.studio-plan-feedback-input{width:100%;font-family:Plus Jakarta Sans,sans-serif;font-size:.73rem;padding:.4rem .5rem;border:1px solid var(--border-color);border-radius:var(--radius-btn);background:var(--bg-primary);color:var(--text-primary);resize:vertical;outline:none}.studio-plan-feedback-input:focus{border-color:var(--accent-definition)}.studio-plan-feedback-actions{display:flex;gap:.5rem;margin-top:.4rem;justify-content:flex-end}.quiz-topbar{gap:.6rem;padding:.5rem 0;margin-bottom:1.5rem;border-bottom:1px solid var(--border-light)}.quiz-topbar,.quiz-topbar-back{display:flex;align-items:center}.quiz-topbar-back{width:28px;height:28px;justify-content:center;border:1px solid var(--border-color);border-radius:var(--radius-badge);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.quiz-topbar-back:hover{border-color:var(--accent-theorem);color:var(--accent-theorem)}.quiz-topbar-info{flex:1 1;min-width:0;display:flex;align-items:baseline;gap:.6rem}.quiz-topbar-title{font-size:.76rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.quiz-topbar-progress,.quiz-topbar-title{font-family:Plus Jakarta Sans,sans-serif;white-space:nowrap}.quiz-topbar-progress{font-size:.66rem;color:var(--text-muted)}.socrates-fab{position:fixed;bottom:1rem;right:1.5rem;z-index:90;display:flex;align-items:flex-end;justify-content:center;padding:0;background:none;border:none;cursor:pointer;transition:filter .2s}.socrates-fab:hover{filter:drop-shadow(0 0 8px rgba(0,0,0,.25))}.socrates-sprite{display:block;image-rendering:pixelated;transform:scale(3);transform-origin:bottom right}.dock-socrates{position:absolute;bottom:100%;right:1.5rem;z-index:82;padding:0;background:none;border:none;cursor:pointer;transition:filter .2s}.dock-socrates:hover{filter:drop-shadow(0 0 8px rgba(0,0,0,.25))}.dock-socrates--fallen,.dock-socrates--falling{bottom:calc(100% - 26px)}.dock-socrates-sprite{display:block;image-rendering:pixelated;transform:scale(3);transform-origin:bottom right;filter:drop-shadow(0 0 1px rgba(0,0,0,.2))}[data-theme=dark] .dock-socrates-sprite{filter:drop-shadow(0 0 1px rgba(255,255,255,.3))}.dock-socrates--anim-fall{animation:socratesFall .55s cubic-bezier(.33,0,1,.33) forwards}@keyframes socratesFall{0%{transform:translateY(0)}to{transform:translateY(var(--fall-distance))}}.dock-socrates-confetti-layer{position:absolute;inset:0;transform:scale(3);transform-origin:bottom right;image-rendering:pixelated;pointer-events:none;z-index:-1;overflow:visible}.dock-socrates-confetti{position:absolute;right:38px;bottom:42px;pointer-events:none}.quiz-header{margin-bottom:1.8rem}.quiz-header-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.3rem;line-height:1.3}.quiz-header-desc,.quiz-header-title{font-family:Plus Jakarta Sans,sans-serif}.quiz-header-desc{font-size:.8rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.quiz-header-stats{display:flex;gap:1.5rem}.quiz-stat{display:flex;align-items:baseline;gap:.3rem}.quiz-stat-value{font-size:1rem;font-weight:700;color:var(--text-primary)}.quiz-stat-label,.quiz-stat-value{font-family:Plus Jakarta Sans,sans-serif}.quiz-stat-label{font-size:.66rem;color:var(--text-muted);text-transform:lowercase}.quiz-body{display:flex;align-items:flex-start}.quiz-main{flex:1 1;min-width:0}.quiz-questions{display:flex;flex-direction:column;gap:.75rem}.qcard{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--bg-primary);transition:border-color .2s,box-shadow .2s;overflow:hidden}.qcard--active{border-color:var(--accent-definition);box-shadow:0 0 0 1px var(--accent-definition-bg)}.qcard--correct{border-color:var(--accent-proof);background:var(--accent-proof-bg)}.qcard--incorrect{border-color:var(--accent-theorem)}.qcard-head{justify-content:space-between;padding:.5rem .9rem;border-bottom:1px solid var(--border-light)}.qcard-head,.qcard-num{display:flex;align-items:center}.qcard-num{font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;font-weight:700;color:var(--accent-definition);width:22px;height:22px;justify-content:center;background:var(--accent-definition-bg);border-radius:6px}.qcard--correct .qcard-num{color:var(--accent-proof);background:rgba(61,107,79,.15)}.qcard--incorrect .qcard-num{color:var(--accent-theorem);background:var(--accent-theorem-bg)}.qcard-pts{font-family:Plus Jakarta Sans,sans-serif;font-size:.66rem;font-weight:600;color:var(--text-muted)}.qcard-body{padding:.8rem .9rem}.qcard-check{display:inline-flex;align-items:center;margin-top:.6rem;padding:.3rem .9rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.7rem;font-weight:600;color:var(--accent-definition);background:transparent;border:1px solid var(--accent-definition);border-radius:var(--radius-badge);cursor:pointer;transition:all .15s}.qcard-check:hover:not(:disabled){background:var(--accent-definition);color:#fff}.qcard-check:disabled{opacity:0;pointer-events:none}.qcard-checking{display:inline-flex;align-items:center;gap:.4rem;margin-top:.6rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.7rem;color:var(--text-muted)}.qcard-result{margin-top:.7rem;border-radius:var(--radius-input);overflow:hidden}.qcard-result--correct{border:1px solid var(--accent-proof);background:var(--accent-proof-bg)}.qcard-result--incorrect{border:1px solid var(--accent-theorem);background:var(--accent-theorem-bg)}.qcard-result-head{display:flex;align-items:center;justify-content:space-between;padding:.35rem .7rem}.qcard-retry{font-family:Plus Jakarta Sans,sans-serif;font-size:.65rem;font-weight:600;color:var(--accent-theorem);background:transparent;border:1px solid var(--accent-theorem);border-radius:var(--radius-badge);padding:.2rem .7rem;cursor:pointer;transition:all .15s}.qcard-retry:hover{background:var(--accent-theorem);color:#fff}.qcard-result-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.qcard-result--correct .qcard-result-label{color:var(--accent-proof)}.qcard-result--incorrect .qcard-result-label{color:var(--accent-theorem)}.qcard-result-loading{display:flex;align-items:center;gap:.4rem;padding:.3rem .7rem .5rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.7rem;color:var(--text-muted);font-style:italic}.qcard-result-feedback{padding:.4rem .7rem .6rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.76rem;line-height:1.55;color:var(--text-primary);border-top:1px solid var(--border-light);background:var(--bg-primary)}.qcard-result-feedback p{margin:.3rem 0}.qcard-result-feedback p:first-child{margin-top:0}.qcard-result-feedback p:last-child{margin-bottom:0}.qmc-question{font-family:Plus Jakarta Sans,sans-serif;font-size:.82rem;line-height:1.55;color:var(--text-primary);margin-bottom:.6rem}.qmc-question p{margin:.35rem 0}.qmc-question p:first-child{margin-top:0}.qmc-question p:last-child{margin-bottom:0}.qmc-options{display:flex;flex-direction:column;gap:.35rem}.qmc-opt{display:flex;align-items:center;gap:.55rem;padding:.5rem .7rem;border:1.5px solid var(--border-color);border-radius:var(--radius-btn);cursor:pointer;transition:all .15s;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;color:var(--text-primary)}.qmc-opt input{display:none}.qmc-opt--selected,.qmc-opt:hover:not(.qmc-opt--dimmed){border-color:var(--accent-definition);background:var(--accent-definition-bg)}.qmc-opt--correct{border-color:var(--accent-proof)!important;background:var(--accent-proof-bg)!important}.qmc-opt--correct .qmc-indicator{border-color:var(--accent-proof)}.qmc-opt--correct .qmc-indicator:after{background:var(--accent-proof)}.qmc-opt--wrong{border-color:var(--accent-theorem)!important;background:var(--accent-theorem-bg)!important}.qmc-opt--wrong .qmc-indicator{border-color:var(--accent-theorem)}.qmc-opt--wrong .qmc-indicator:after{background:var(--accent-theorem)}.qmc-opt--dimmed{opacity:.45;cursor:default}.qmc-indicator{width:15px;height:15px;border-radius:50%;border:2px solid var(--border-color);flex-shrink:0;transition:all .15s;position:relative}.qmc-opt--selected .qmc-indicator{border-color:var(--accent-definition)}.qmc-opt--selected .qmc-indicator:after{content:"";position:absolute;top:2.5px;left:2.5px;width:6px;height:6px;border-radius:50%;background:var(--accent-definition)}.qmc-label p{display:inline;margin:0}.quiz-sa{margin-top:0}.quiz-sa .quiz-question-text{font-size:.82rem;line-height:1.55;margin-bottom:.5rem;padding:0}.quiz-sa .quiz-question-text,.quiz-sa-input{font-family:Plus Jakarta Sans,sans-serif;color:var(--text-primary)}.quiz-sa-input{width:100%;padding:.5rem .7rem;border:1px solid var(--border-color);border-radius:var(--radius-input);background:var(--bg-secondary);font-size:.78rem;outline:none;transition:border-color .2s}.quiz-sa-input:focus{border-color:var(--accent-definition)}.quiz-wp{margin-top:0}.quiz-wp .quiz-question-text{font-family:Plus Jakarta Sans,sans-serif;font-size:.82rem;line-height:1.55;color:var(--text-primary);margin-bottom:.5rem;padding:0}.quiz-wp-textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--border-color);border-radius:var(--radius-input);background:var(--bg-secondary);color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.76rem;line-height:1.5;resize:vertical;min-height:100px;outline:none;transition:border-color .2s}.quiz-wp-textarea:focus{border-color:var(--accent-definition)}.quiz-submit{margin-top:1.8rem;display:flex;align-items:center;justify-content:center;gap:.8rem}.quiz-submit-btn{padding:.55rem 1.8rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.8rem;font-weight:600;color:#fff;background:var(--accent-theorem);border:none;border-radius:var(--radius-btn);cursor:pointer;transition:all .15s}.quiz-submit-btn:hover{opacity:.88}.quiz-submit-btn:disabled{opacity:.35;cursor:not-allowed}.quiz-submit-note{font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;color:var(--text-muted)}.quiz-grading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;gap:1rem}.quiz-grading-text{font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;font-weight:600;color:var(--text-primary)}.quiz-grading-subtext{font-family:Plus Jakarta Sans,sans-serif;font-size:.76rem;color:var(--text-muted)}.quiz-results{padding-bottom:2rem}.quiz-results-header{text-align:center;margin-bottom:1.5rem}.quiz-results-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:.8rem}.quiz-results-score{display:inline-flex;flex-direction:column;align-items:center;gap:.2rem;padding:1rem 2rem;border-radius:12px;border:2px solid}.quiz-results-score.excellent{border-color:var(--accent-proof);background:var(--accent-proof-bg)}.quiz-results-score.good{border-color:var(--accent-definition);background:var(--accent-definition-bg)}.quiz-results-score.fair{border-color:var(--accent-example);background:var(--accent-example-bg)}.quiz-results-score.needs-work{border-color:var(--accent-theorem);background:var(--accent-theorem-bg)}.quiz-results-percent{font-family:Plus Jakarta Sans,sans-serif;font-size:2rem;font-weight:700}.quiz-results-score.excellent .quiz-results-percent{color:var(--accent-proof)}.quiz-results-score.good .quiz-results-percent{color:var(--accent-definition)}.quiz-results-score.fair .quiz-results-percent{color:var(--accent-example)}.quiz-results-score.needs-work .quiz-results-percent{color:var(--accent-theorem)}.quiz-results-fraction{font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;color:var(--text-muted)}.quiz-results-overall{margin:1.5rem 0;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-btn);font-family:Plus Jakarta Sans,sans-serif;font-size:.82rem;line-height:1.55;color:var(--text-primary)}.quiz-results-overall p{margin:.4rem 0}.quiz-results-questions{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.quiz-result-item{border:1px solid var(--border-color);border-radius:var(--radius-btn);overflow:hidden}.quiz-result-item.correct{border-left:3.5px solid var(--accent-proof)}.quiz-result-item.incorrect{border-left:3.5px solid var(--accent-theorem)}.quiz-result-item-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .8rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.quiz-result-item-num{font-size:.74rem;color:var(--text-primary)}.quiz-result-item-badge,.quiz-result-item-num{font-family:Plus Jakarta Sans,sans-serif;font-weight:700}.quiz-result-item-badge{font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .4rem;border-radius:var(--radius-badge)}.quiz-result-item-badge.correct{color:var(--accent-proof);background:var(--accent-proof-bg)}.quiz-result-item-badge.incorrect{color:var(--accent-theorem);background:var(--accent-theorem-bg)}.quiz-result-item-pts{margin-left:auto;font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;color:var(--text-muted)}.quiz-result-item-question{padding:.6rem .8rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;line-height:1.5}.quiz-result-item-question p{margin:.3rem 0}.quiz-result-item-answer{padding:.4rem .8rem;color:var(--text-secondary);background:var(--bg-secondary)}.quiz-result-item-answer,.quiz-result-item-feedback{font-family:Plus Jakarta Sans,sans-serif;font-size:.76rem}.quiz-result-item-feedback{padding:.6rem .8rem;line-height:1.5;color:var(--text-primary);border-top:1px solid var(--border-light)}.quiz-result-item-feedback p{margin:.3rem 0}.quiz-results-actions{display:flex;gap:.75rem;justify-content:center;margin-top:2rem}.quiz-results-btn{padding:.5rem 1.5rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:600;border:none;border-radius:var(--radius-btn);cursor:pointer;transition:opacity .15s}.quiz-results-btn--retake{background:var(--accent-definition);color:#fff}.quiz-results-btn--back{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.quiz-results-btn:hover{opacity:.85}.qhelp{display:flex;flex-direction:column;height:100%;max-height:calc(100vh - 2rem);border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--bg-primary);overflow:hidden;box-shadow:var(--shadow-sm)}.qhelp-head{justify-content:space-between;padding:.45rem .7rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.qhelp-head,.qhelp-head-left{display:flex;align-items:center}.qhelp-head-left{gap:.35rem;font-size:.7rem;font-weight:700;color:var(--accent-definition)}.qhelp-head-ctx,.qhelp-head-left{font-family:Plus Jakarta Sans,sans-serif}.qhelp-head-ctx{font-size:.6rem;font-weight:600;color:var(--text-muted);background:var(--bg-primary);padding:.08rem .35rem;border-radius:3px;border:1px solid var(--border-light)}.qhelp-messages{flex:1 1;overflow-y:auto;padding:.6rem;display:flex;flex-direction:column;gap:.5rem}.qhelp-empty{text-align:center;padding:2rem .8rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.7rem;color:var(--text-muted);line-height:1.6}.qhelp-empty p{margin:.15rem 0}.qhelp-bubble{font-family:Plus Jakarta Sans,sans-serif;font-size:.74rem;line-height:1.55;padding:.4rem .6rem;border-radius:16px;max-width:90%;word-wrap:break-word}.qhelp-bubble--user{align-self:flex-end;background:var(--accent-definition);color:#fff;border-bottom-right-radius:3px}.qhelp-bubble--ai{align-self:flex-start;background:var(--bg-secondary);color:var(--text-primary);border-bottom-left-radius:3px}.qhelp-bubble--ai p{margin:.25rem 0}.qhelp-bubble--ai p:first-child{margin-top:0}.qhelp-bubble--ai p:last-child{margin-bottom:0}.qhelp-bubble--ai code{background:var(--code-bg);padding:.1em .3em;border-radius:3px;font-size:.74rem}.qhelp-bubble--ai strong{font-weight:600}.qhelp-compose{display:flex;gap:.3rem;padding:.4rem .5rem;border-top:1px solid var(--border-light);background:var(--bg-secondary)}.qhelp-input{flex:1 1;padding:.4rem .55rem;border:1px solid var(--border-color);border-radius:var(--radius-input);background:var(--bg-primary);color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;resize:none;outline:none;transition:border-color .2s}.qhelp-input:focus{border-color:var(--accent-definition)}.qhelp-input::placeholder{color:var(--text-muted)}.qhelp-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--accent-definition);color:#fff;border:none;border-radius:var(--radius-badge);cursor:pointer;transition:opacity .15s;flex-shrink:0;align-self:flex-end}.qhelp-send:hover{opacity:.85}.qhelp-send:disabled{opacity:.3;cursor:not-allowed}@media (max-width:800px){.quiz-header-stats{gap:1rem}}.library-view{padding-bottom:2rem}.library-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.75rem}.library-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.6rem;font-weight:700;color:var(--text-primary)}.library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:30vh;gap:.75rem}.library-empty-icon{font-size:2.5rem}.library-empty-text{font-family:Plus Jakarta Sans,sans-serif;font-size:.82rem;color:var(--text-muted);text-align:center}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:1rem;gap:1rem}.library-card{border:1px solid var(--border-color);border-radius:var(--radius-card);padding:1rem;background:var(--bg-primary);transition:transform var(--transition-lift),box-shadow var(--transition-lift),border-color var(--transition-lift);position:relative}.library-card:hover{transform:translateY(-3px);border-color:var(--border-hover);box-shadow:var(--shadow-lg)}.library-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.library-card-title{font-family:Plus Jakarta Sans,sans-serif;font-size:.88rem;font-weight:600;color:var(--text-primary);line-height:1.3}.library-card-delete{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:4px;font-size:1rem;opacity:0;transition:all .15s}.library-card:hover .library-card-delete{opacity:1}.library-card-delete:hover{color:var(--accent-theorem);background:var(--accent-theorem-bg)}.library-card-subtitle{font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;color:var(--text-muted);margin-bottom:.6rem}.library-card-dot{margin:0 .3em}.library-card-score{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.library-card-score-bar{flex:1 1;height:5px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.library-card-score-fill{height:100%;border-radius:3px;transition:width .4s cubic-bezier(.22,1,.36,1)}.library-card-score-fill[data-level=high]{background:var(--accent-proof)}.library-card-score-fill[data-level=mid]{background:var(--accent-example)}.library-card-score-fill[data-level=low]{background:var(--accent-theorem)}.library-card-score-fill[data-level=in-progress]{background:var(--accent-theorem);opacity:.7}.library-card-progress{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.library-card-score-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;font-weight:600;color:var(--text-secondary);min-width:2rem;text-align:right}.library-card-actions{display:flex;gap:.4rem}.library-card-btn{padding:.3rem .7rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:600;border:none;border-radius:var(--radius-badge);cursor:pointer;transition:opacity .15s}.library-card-btn--start{background:var(--accent-definition);color:#fff}.library-card-btn--continue{background:var(--accent-theorem);color:#fff}.library-card-btn--review{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.library-card-btn:hover{opacity:.85}.attempt-history{padding-bottom:2rem}.attempt-history-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.attempt-history-summary{display:flex;justify-content:space-evenly;margin-bottom:1.5rem;padding:.8rem 1rem;background:var(--bg-secondary);border-radius:var(--radius-card);border:1px solid var(--border-color)}.attempt-history-stat{display:flex;flex-direction:column;align-items:center;gap:.15rem}.attempt-history-stat-value{font-family:Plus Jakarta Sans,sans-serif;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.attempt-history-stat-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.65rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.attempt-history-list{display:flex;flex-direction:column;gap:.35rem}.attempt-history-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .85rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-card);cursor:pointer;transition:border-color .15s,box-shadow .15s;font-family:Plus Jakarta Sans,sans-serif;width:100%;text-align:left}.attempt-history-item:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.attempt-history-item-left{display:flex;align-items:center;gap:.65rem;min-width:0}.attempt-history-item-num{font-size:.78rem;font-weight:700;color:var(--text-secondary);min-width:2rem}.attempt-history-item-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.attempt-history-item-date{font-size:.76rem;font-weight:500;color:var(--text-primary)}.attempt-history-item-points{font-size:.66rem;color:var(--text-muted)}.attempt-history-item-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.attempt-history-item-best{font-size:.62rem;font-weight:600;color:var(--accent-proof);text-transform:uppercase;letter-spacing:.04em;padding:.15rem .4rem;background:var(--accent-proof-bg,rgba(76,175,80,.1));border-radius:var(--radius-badge)}.attempt-history-item-score{font-size:.82rem;font-weight:700;min-width:2.5rem;text-align:right}.attempt-history-item-score[data-level=high]{color:var(--accent-proof)}.attempt-history-item-score[data-level=mid]{color:var(--accent-example)}.attempt-history-item-score[data-level=low]{color:var(--accent-theorem)}.attempt-history-item-chevron{color:var(--text-muted);flex-shrink:0}.attempt-review{padding-bottom:2rem}.attempt-review-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:.8rem}.attempt-review-date{font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;color:var(--text-muted);margin-bottom:1.5rem}.attempt-review-nav{display:flex;align-items:center;gap:.25rem;margin-left:auto}.attempt-review-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:all .15s}.attempt-review-nav-btn:hover:not(:disabled){border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-secondary)}.attempt-review-nav-btn:disabled{opacity:.3;cursor:not-allowed}.analytics-view{padding-bottom:2rem}.analytics-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.6rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem}.analytics-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:30vh;gap:.75rem}.analytics-overview{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem;margin-bottom:2rem}@media (max-width:600px){.analytics-overview{grid-template-columns:repeat(2,1fr)}}.analytics-stat{text-align:center;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--bg-secondary);transition:transform var(--transition-lift),box-shadow var(--transition-lift),border-color var(--transition-lift)}.analytics-stat:hover{transform:translateY(-3px);border-color:var(--border-hover);box-shadow:var(--shadow-lg)}.analytics-stat-value{font-family:Plus Jakarta Sans,sans-serif;font-size:1.8rem;font-weight:700;color:var(--accent-theorem)}.analytics-stat-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.2rem}.analytics-section{margin-bottom:2rem}.analytics-section-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.15rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-color)}.analytics-topics{display:flex;flex-direction:column;gap:.8rem}.topic-progress{padding:.6rem 0}.topic-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem}.topic-progress-name{font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:600;color:var(--text-primary)}.topic-progress-pct{font-family:Plus Jakarta Sans,sans-serif;font-size:.74rem;font-weight:700;color:var(--text-secondary)}.topic-progress-bar{width:100%;height:10px;background:var(--bg-secondary);border-radius:6px;overflow:hidden;border:1px solid var(--border-light)}.topic-progress-fill{height:100%;border-radius:6px;transition:width .5s ease}.topic-progress-fill.excellent{background:var(--accent-proof)}.topic-progress-fill.good{background:var(--accent-definition)}.topic-progress-fill.fair{background:var(--accent-example)}.topic-progress-fill.needs-work{background:var(--accent-theorem)}.topic-progress-meta{font-family:Plus Jakarta Sans,sans-serif;font-size:.65rem;color:var(--text-muted);margin-top:.2rem}.analytics-weak-areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:.8rem;gap:.8rem}.weak-area-card{padding:.8rem;border-left:1px solid var(--accent-theorem);border:1px solid var(--accent-theorem);border-left-width:3.5px;border-radius:var(--radius-btn);background:var(--accent-theorem-bg);transition:transform var(--transition-lift),box-shadow var(--transition-lift)}.weak-area-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.weak-area-topic{font-size:.82rem;font-weight:600;color:var(--text-primary);margin-bottom:.2rem}.weak-area-score,.weak-area-topic{font-family:Plus Jakarta Sans,sans-serif}.weak-area-score{font-size:.74rem;font-weight:700;color:var(--accent-theorem);margin-bottom:.15rem}.weak-area-detail{font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;color:var(--text-muted);margin-bottom:.5rem}.weak-area-practice-btn{padding:.3rem .6rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:600;color:#fff;background:var(--accent-theorem);border:none;border-radius:var(--radius-badge);cursor:pointer;transition:opacity .15s}.weak-area-practice-btn:hover{opacity:.85}.analytics-recs{padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-btn);font-family:Plus Jakarta Sans,sans-serif;font-size:.82rem;line-height:1.55;color:var(--text-primary)}.analytics-recs p{margin:.4rem 0}.analytics-recs strong{font-weight:600}.analytics-recs-btn{padding:.5rem 1.2rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:600;color:#fff;background:var(--accent-definition);border:none;border-radius:var(--radius-btn);cursor:pointer;transition:opacity .15s}.analytics-recs-btn:hover{opacity:.85}.analytics-recs-btn:disabled{opacity:.4;cursor:not-allowed}.lesson-view{padding-bottom:2rem}.lesson-topbar{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;margin-bottom:1.5rem;border-bottom:1px solid var(--border-light)}.lesson-header{margin-bottom:1.8rem}.lesson-header-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.3rem;line-height:1.3}.lesson-header-desc{font-family:Plus Jakarta Sans,sans-serif;font-size:.8rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.lesson-header-stats{display:flex;gap:1.5rem}.lesson-body{display:flex;align-items:flex-start}.lesson-main{flex:1 1;min-width:0}.lesson-sections{display:flex;flex-direction:column;gap:1.5rem}.lesson-section{border-left:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--bg-primary);overflow:hidden;border:1px solid var(--border-color);border-left-width:4px}.lesson-section--motivation{border-left-color:var(--accent-example)}.lesson-section--concept{border-left-color:var(--accent-definition)}.lesson-section--worked_example{border-left-color:var(--accent-theorem)}.lesson-section--exploration{border-left-color:var(--accent-proposition)}.lesson-section--summary{border-left-color:var(--accent-proof)}.lesson-section-header{display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem;border-bottom:1px solid var(--border-light)}.lesson-section-badge{font-family:Plus Jakarta Sans,sans-serif;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .5rem;border-radius:var(--radius-badge);flex-shrink:0}.lesson-section-title{font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;font-weight:600;color:var(--text-primary)}.lesson-section-body{padding:.8rem .9rem}.lesson-content-block{font-family:Plus Jakarta Sans,sans-serif;font-size:.82rem;line-height:1.65;color:var(--text-primary)}.lesson-content-block p{margin:.5rem 0}.lesson-content-block p:first-child{margin-top:0}.lesson-content-block p:last-child{margin-bottom:0}.lesson-content-block strong{font-weight:600}.lesson-content-block code{background:var(--code-bg);padding:.1rem .3rem;border-radius:3px;font-size:.78rem}.lesson-content-block h3{font-size:.86rem;font-weight:600;margin:.8rem 0 .3rem;color:var(--text-primary)}.lesson-content-block h4{font-size:.82rem;font-weight:600;margin:.6rem 0 .2rem;color:var(--text-secondary)}.lesson-content-block blockquote{border-left:3px solid var(--accent-definition);padding-left:.8rem;margin:.5rem 0;color:var(--text-secondary);font-style:italic}.lesson-exercise-wrapper{margin:1rem 0;padding:.6rem;background:var(--bg-secondary);border-radius:var(--radius-btn);border:1px solid var(--border-light)}.lesson-figure{margin:1.2rem auto;max-width:560px;text-align:center}.lesson-figure img{width:100%;border-radius:var(--radius-btn);border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.lesson-figure figcaption{margin-top:.4rem;font-size:.78rem;font-style:italic;color:var(--text-muted);text-align:center}.lesson-diagram{max-width:340px}.lesson-interactive-wrapper{margin:1.2rem auto;max-width:700px;text-align:center}.lesson-interactive-iframe{width:100%;height:480px;border:1px solid var(--border-light);border-radius:var(--radius-btn);box-shadow:var(--shadow-sm);background:#fff;resize:vertical;overflow:auto}.lesson-interactive-wrapper figcaption{margin-top:.4rem;font-size:.78rem;font-style:italic;color:var(--text-muted)}.note-interactive{margin:1.5rem auto;max-width:720px;text-align:center}.note-interactive iframe{width:100%;height:450px;border:1px solid var(--border-light);border-radius:var(--radius-btn);box-shadow:var(--shadow-sm);background:#fff;resize:vertical;overflow:auto}.note-interactive .interactive-caption{margin-top:.4rem;font-size:.78rem;font-style:italic;color:var(--text-muted)}.studio-lesson-ready{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;background:var(--accent-proposition-bg);border:1px solid var(--accent-proposition);border-radius:var(--radius-btn);margin:.4rem 0}.studio-lesson-ready span{font-size:.78rem;color:var(--accent-proposition)}.studio-lesson-ready span,.studio-lesson-start-btn{font-family:Plus Jakarta Sans,sans-serif;font-weight:600}.studio-lesson-start-btn{padding:.35rem .8rem;font-size:.74rem;color:#fff;background:var(--accent-proposition);border:none;border-radius:var(--radius-badge);cursor:pointer;transition:opacity .15s}.studio-lesson-start-btn:hover{opacity:.85}.library-tabs{display:flex;gap:.2rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-light)}.library-tab{font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:600;color:var(--text-muted);background:none;padding:.5rem 1rem;cursor:pointer;border:none;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;margin-bottom:-1px}.library-tab:hover{color:var(--text-primary)}.library-tab--active{color:var(--accent-definition);border-bottom-color:var(--accent-definition)}@media (max-width:800px){.lesson-header-stats{gap:1rem}}.chat-msg--user,.qhelp-bubble--user,.studio-msg--user{position:relative}.chat-edit-btn,.qhelp-edit-btn,.studio-edit-btn{position:absolute;left:-28px;top:50%;transform:translateY(-50%);width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:var(--bg-secondary);color:var(--text-muted);border-radius:4px;cursor:pointer;opacity:0;transition:opacity .15s,color .15s,background .15s;padding:0}.chat-msg--user:hover .chat-edit-btn,.qhelp-bubble--user:hover .qhelp-edit-btn,.studio-msg--user:hover .studio-edit-btn{opacity:1}.chat-edit-btn:hover,.qhelp-edit-btn:hover,.studio-edit-btn:hover{color:var(--text-primary);background:var(--border-color)}.studio-msg--editing{display:flex;flex-direction:column;gap:.4rem;max-width:85%;background:var(--bg-secondary);border:1px solid var(--border-color)}.studio-msg--editing-inline{border:1.5px solid rgba(255,255,255,.25)}.studio-edit-inline{outline:none;min-width:2rem;cursor:text;color:#fff;caret-color:#fff}.studio-edit-inline::selection{background:rgba(255,255,255,.3)}.studio-edit-inline-actions{display:flex;gap:.3rem;justify-content:flex-end;margin-top:.3rem}.studio-edit-inline-btn{background:none;border:none;cursor:pointer;font-size:.7rem;padding:.15rem .3rem;border-radius:4px;line-height:1}.studio-edit-inline-btn--send{color:#fff;opacity:.9}.studio-edit-inline-btn--send:hover{opacity:1}.studio-edit-inline-btn--cancel{color:#fff;opacity:.6}.studio-edit-inline-btn--cancel:hover{opacity:.9}.chat-edit-textarea,.qhelp-edit-textarea,.studio-edit-textarea{width:100%;min-height:48px;padding:.4rem .6rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;line-height:1.5;border:1px solid var(--border-color);border-radius:var(--radius-btn);background:var(--bg-primary);color:var(--text-primary);resize:vertical}.chat-edit-textarea:focus,.qhelp-edit-textarea:focus,.studio-edit-textarea:focus{outline:none;border-color:var(--accent-definition)}.chat-edit-actions,.qhelp-edit-actions,.studio-edit-actions{display:flex;gap:.4rem;justify-content:flex-end}.chat-edit-confirm,.qhelp-edit-confirm,.studio-edit-confirm{padding:.25rem .6rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:600;color:#fff;background:var(--accent-theorem);border:none;border-radius:var(--radius-badge);cursor:pointer;transition:opacity .15s}.chat-edit-confirm:hover,.qhelp-edit-confirm:hover,.studio-edit-confirm:hover{opacity:.85}.chat-edit-cancel,.qhelp-edit-cancel,.studio-edit-cancel{padding:.25rem .6rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-badge);cursor:pointer;transition:opacity .15s}.chat-edit-cancel:hover,.qhelp-edit-cancel:hover,.studio-edit-cancel:hover{opacity:.85}.chat-edit-overlay,.qhelp-edit-overlay{padding:.5rem .75rem;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:var(--bg-secondary);display:flex;flex-direction:column;gap:.4rem;flex-shrink:0}@media print{.analytics-view,.lesson-view,.library-view,.quiz-view,.studio-panel{display:none!important}}[data-theme=dark] .studio-panel{box-shadow:0 -4px 16px rgba(0,0,0,.35)}.help-panel{position:fixed;top:var(--tab-bar-h,42px);right:0;width:var(--help-width,380px);height:calc(100vh - var(--tab-bar-h, 42px));background:var(--bg-primary);border-left:1px solid var(--border-color);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:150;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1),width .01s}.help-panel.open{transform:translateX(0)}.help-panel.resizing{transition:none!important}.help-resize-handle{position:absolute;top:0;left:-3px;width:6px;height:100%;cursor:col-resize;z-index:151;display:none}.help-panel.open .help-resize-handle{display:block}.help-resize-handle.active,.help-resize-handle:hover{background:var(--accent-definition);opacity:.3}@media (min-width:1001px){.main-content.help-open{margin-right:var(--help-width,380px)}}@media (max-width:1000px){.help-panel{width:100%!important;max-width:420px}}.help-header{display:flex;align-items:center;gap:.4rem;padding:.55rem .7rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-light);flex-shrink:0}.help-header-title{font-size:.75rem;font-weight:700;color:var(--accent-definition);flex:1 1}.help-header-ctx,.help-header-title{font-family:Plus Jakarta Sans,sans-serif}.help-header-ctx{font-size:.6rem;font-weight:600;color:var(--text-muted);background:var(--bg-primary);padding:.08rem .35rem;border-radius:3px;border:1px solid var(--border-light)}.help-header-btn{width:26px;height:26px;border-radius:4px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem}.help-header-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.help-body{flex:1 1;min-height:0;overflow:hidden;display:flex;flex-direction:row}.study-help-selection{padding:.5rem .75rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}.study-help-selection__label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.study-help-selection__text{font-size:.8rem;color:var(--text-secondary);margin:.25rem 0 0;line-height:1.4;font-style:italic;border-left:2px solid var(--accent-theorem);padding-left:.5rem}.help-panel .qhelp-head{display:none}.help-panel .qhelp{height:100%;max-height:none;border:none;border-radius:0;box-shadow:none}.help-sidebar{width:130px;min-width:130px;display:flex;flex-direction:column;border-right:1px solid var(--border-light);background:var(--bg-secondary);overflow:hidden}.help-sidebar-new{display:block;width:calc(100% - .6rem);margin:.4rem .3rem;padding:.3rem .4rem;background:var(--accent-definition);color:#fff;border:none;border-radius:var(--radius-badge);font-family:Plus Jakarta Sans,sans-serif;font-size:.62rem;font-weight:600;cursor:pointer;text-align:center;transition:opacity .15s}.help-sidebar-new:hover{opacity:.85}.help-sidebar-list{flex:1 1;overflow-y:auto;padding:.15rem 0}.help-sidebar-empty{padding:.6rem .4rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.58rem;color:var(--text-muted);text-align:center}.help-sidebar-item{display:flex;align-items:center;gap:.2rem;padding:.3rem .35rem;cursor:pointer;transition:background .12s;border-left:2px solid transparent}.help-sidebar-item--active,.help-sidebar-item:hover{background:var(--bg-primary)}.help-sidebar-item--active{border-left-color:var(--accent-definition)}.help-sidebar-item-title{flex:1 1;font-family:Plus Jakarta Sans,sans-serif;font-size:.6rem;line-height:1.3;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:.25rem}.help-sidebar-streaming-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent-example);flex-shrink:0;animation:help-pulse 1.2s ease-in-out infinite}@keyframes help-pulse{0%,to{opacity:1}50%{opacity:.3}}.help-sidebar-item-delete{display:none;width:18px;height:18px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.8rem;border-radius:3px;align-items:center;justify-content:center;flex-shrink:0}.help-sidebar-item:hover .help-sidebar-item-delete{display:flex}.help-sidebar-item-delete:hover{background:var(--bg-secondary);color:var(--text-primary)}.help-chat-area{flex:1 1;min-width:0}.help-chat-area,.help-chat-instance{display:flex;flex-direction:column;overflow:hidden}.help-chat-instance{height:100%}.help-chat-instance--hidden{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none;opacity:0}@media (max-width:600px){.help-sidebar{display:none}}@media print{.help-panel{display:none!important}}.progress-timeline{position:fixed;left:0;top:calc(var(--tab-bar-h, 42px) + 2rem);bottom:2rem;width:44px;z-index:50;pointer-events:none}.ptl-rail{position:relative;width:100%;height:100%}.ptl-track{bottom:0;background:var(--border-color);z-index:0}.ptl-fill,.ptl-track{position:absolute;left:50%;top:0;width:2px;transform:translateX(-50%);border-radius:1px}.ptl-fill{background:var(--ptl-accent,var(--accent-definition));transition:height .1s linear;z-index:2}.ptl-stop{position:absolute;left:0;width:100%;display:flex;align-items:center;justify-content:center;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px 0;pointer-events:auto;z-index:3}.ptl-stop:before{content:"";position:absolute;background:var(--bg-primary);z-index:1}.ptl-dot,.ptl-stop:before{width:10px;height:10px;border-radius:50%}.ptl-dot{border:2px solid var(--border-color);background:transparent;transition:all .25s ease;flex-shrink:0;position:relative;z-index:3}.ptl-stop[data-status=answered] .ptl-dot{border-color:var(--accent-example)}.ptl-stop[data-status=correct] .ptl-dot{border-color:var(--accent-proof)}.ptl-stop[data-status=incorrect] .ptl-dot{border-color:var(--accent-theorem)}.ptl-stop[style*="--ptl-accent"] .ptl-dot{border-color:var(--ptl-accent)}.ptl-label{position:absolute;left:100%;margin-left:4px;white-space:nowrap;font-family:Plus Jakarta Sans,sans-serif;font-size:.58rem;font-weight:600;letter-spacing:.01em;color:var(--text-muted);opacity:0;transform:translateX(-4px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.ptl-stop:hover .ptl-label{opacity:1;transform:translateX(0)}@media (max-width:1000px){.progress-timeline{display:none}}@media print{.progress-timeline{display:none!important}}.glossary-term{-webkit-text-decoration:underline dotted 1px;text-decoration:underline dotted 1px;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted);text-underline-offset:3px;cursor:help}.glossary-ctx-menu{position:fixed;z-index:2000;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-badge);padding:4px;box-shadow:var(--shadow-md)}.glossary-ctx-btn{display:block;width:100%;padding:6px 14px;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:500;color:var(--text-primary);background:none;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;text-align:left;transition:background .15s ease}.glossary-ctx-btn:hover{background:var(--bg-secondary)}.glossary-ctx-btn:disabled{opacity:.6;cursor:wait}.glossary-tooltip{position:fixed;z-index:1500;max-width:320px;padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-badge);box-shadow:var(--shadow-md);font-family:Plus Jakarta Sans,sans-serif;font-size:.76rem;line-height:1.55;color:var(--text-secondary);pointer-events:auto}.glossary-tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.glossary-tooltip strong{color:var(--text-primary);font-weight:600}.glossary-tooltip-delete{width:20px;height:20px;border:none;background:transparent;color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.glossary-tooltip-delete:hover{background:var(--bg-secondary);color:var(--text-primary)}.lpt-timeline{display:flex;flex-direction:column;padding:.5rem 0;gap:0}.lpt-step{display:flex;flex-direction:row;align-items:flex-start;position:relative;padding-bottom:6px;animation:lptSlideIn .3s ease-out both;animation-delay:var(--step-delay,0s)}.lpt-step:not(.lpt-step--last) .lpt-indicator-col:after{content:"";position:absolute;left:11px;top:24px;bottom:-6px;width:2px;background:var(--border-color);transition:background .4s ease}.lpt-step--completed:not(.lpt-step--last) .lpt-indicator-col:after{background:var(--accent-proof)}.lpt-indicator-col{align-items:flex-start;align-self:stretch;min-height:32px}.lpt-indicator,.lpt-indicator-col{position:relative;flex-shrink:0;width:24px;display:flex;justify-content:center}.lpt-indicator{height:24px;border-radius:50%;align-items:center;transition:background .3s ease,border-color .3s ease,color .3s ease;color:var(--text-muted);background:var(--bg-secondary);border:2px solid var(--border-color)}.lpt-step--active .lpt-indicator{background:var(--accent-definition-bg);border-color:var(--accent-definition);color:var(--accent-definition)}.lpt-step--completed .lpt-indicator{background:var(--accent-proof);border-color:var(--accent-proof);color:#fff}.lpt-step--just-completed .lpt-indicator{animation:lptCompleteBounce .4s ease}.lpt-step--error .lpt-indicator{background:#fee2e2;border-color:#ef4444;color:#ef4444}.lpt-step--pending .lpt-indicator{opacity:.5}.lpt-pulse-ring{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--accent-definition);opacity:0;animation:lptPulse 1.5s ease-in-out infinite;pointer-events:none}.lpt-content{display:flex;flex-direction:column;padding:2px 0 8px 8px;min-height:24px;justify-content:center}.lpt-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;line-height:1.4;color:var(--text-muted);font-weight:500;transition:color .3s ease,font-weight .3s ease}.lpt-step--active .lpt-label{color:var(--text-primary);font-weight:600}.lpt-step--completed .lpt-label{color:var(--text-secondary);font-weight:500}.lpt-step--error .lpt-label{color:#ef4444;font-weight:600}.lpt-detail{font-family:Plus Jakarta Sans,sans-serif;font-size:.64rem;color:var(--text-muted);line-height:1.3;animation:lptDetailFadeIn .3s ease-out both}.lpt-step--error .lpt-detail{color:#ef4444}@keyframes lptSlideIn{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes lptCompleteBounce{0%{transform:scale(1)}40%{transform:scale(1.25)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes lptPulse{0%{opacity:.6;transform:scale(1)}50%{opacity:0;transform:scale(1.5)}to{opacity:0;transform:scale(1.5)}}@keyframes lptDetailFadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}html[data-theme=dark] .lpt-indicator{background:var(--bg-secondary);border-color:var(--border-color)}html[data-theme=dark] .lpt-step--active .lpt-indicator{background:rgba(74,124,143,.2);border-color:var(--accent-definition)}html[data-theme=dark] .lpt-step--completed .lpt-indicator{background:var(--accent-proof);border-color:var(--accent-proof);color:#fff}html[data-theme=dark] .lpt-step--error .lpt-indicator{background:rgba(239,68,68,.15);border-color:#ef4444;color:#ef4444}.ingest-modal{max-width:500px;width:90vw}.file-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 24px;margin-bottom:16px;border:2px dashed var(--border-color);border-radius:var(--radius-card);background:var(--bg-secondary);cursor:pointer;transition:border-color .2s,background .2s}.file-drop-zone--active,.file-drop-zone:hover{border-color:var(--accent-theorem);background:var(--accent-theorem-bg)}.file-drop-zone--active{border-style:solid}.file-drop-zone--disabled{opacity:.5;pointer-events:none}.file-drop-zone__icon{color:var(--text-muted);transition:color .2s}.file-drop-zone--active .file-drop-zone__icon,.file-drop-zone:hover .file-drop-zone__icon{color:var(--accent-theorem)}.file-drop-zone__text{margin:0;font-size:.92rem;font-weight:500;color:var(--text-primary)}.file-drop-zone__formats{margin:0;font-size:.78rem;color:var(--text-muted)}.ingest-file-info{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:12px;border-radius:var(--radius-badge);background:var(--bg-secondary);font-size:.85rem}.ingest-file-name{font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1}.ingest-file-size{color:var(--text-muted);flex-shrink:0}.ingest-processing{padding:16px 0 8px}.ingest-processing-hint{margin:16px 0 0;font-size:.82rem;color:var(--text-muted);text-align:center}.ingest-complete{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 0}.ingest-complete-icon{animation:ingest-pop .4s cubic-bezier(.22,1,.36,1)}@keyframes ingest-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.ingest-complete-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.ingest-complete-file{margin:0;font-size:.85rem;color:var(--text-muted);font-family:monospace}.ingest-issues{width:100%;padding:12px;border-radius:var(--radius-badge);background:var(--bg-secondary)}.ingest-issues-title{margin:0 0 8px;font-size:.82rem;font-weight:500;color:var(--text-secondary)}.ingest-issues-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.ingest-issue{display:flex;align-items:flex-start;gap:6px;font-size:.8rem;color:var(--text-secondary)}.ingest-issue-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;flex-shrink:0}.ingest-issue--error .ingest-issue-badge{background:rgba(220,38,38,.12);color:#dc2626}.ingest-issue--warning .ingest-issue-badge{background:rgba(234,179,8,.15);color:#b45309}.ingest-issue-text{line-height:1.4}.ingest-error{padding:16px 0}.ingest-error-text{margin:0 0 16px;padding:12px;border-radius:var(--radius-badge);background:rgba(220,38,38,.08);color:#dc2626;font-size:.85rem;line-height:1.5}.sidebar-import-btn{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;margin-top:6px;border:1px dashed var(--border-color);border-radius:var(--radius-badge);background:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.sidebar-import-btn:hover{color:var(--accent-theorem);border-color:var(--accent-theorem);background:var(--accent-theorem-bg)}html[data-theme=dark] .file-drop-zone{border-color:var(--border-color);background:var(--bg-secondary)}html[data-theme=dark] .file-drop-zone--active,html[data-theme=dark] .file-drop-zone:hover{border-color:var(--accent-theorem);background:var(--accent-theorem-bg)}html[data-theme=dark] .ingest-error-text{background:rgba(239,68,68,.12);color:#f87171}html[data-theme=dark] .ingest-issue--error .ingest-issue-badge{background:rgba(239,68,68,.15);color:#f87171}html[data-theme=dark] .ingest-issue--warning .ingest-issue-badge{background:rgba(234,179,8,.15);color:#fbbf24}.dashboard{min-height:100vh;background:var(--bg-primary);padding:2.5rem 2rem 4rem;max-width:960px;margin:0 auto}.dashboard__header{margin-bottom:2rem}.dashboard__title-row{display:flex;align-items:center;gap:1rem;margin-bottom:.35rem}.dashboard__title{font-family:Plus Jakarta Sans,sans-serif;font-size:2.2rem;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;margin-top:1.5rem}.dashboard__actions{display:flex;gap:.35rem}.dashboard__icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-btn);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;transition:color .2s,border-color .2s,background .2s}.dashboard__icon-btn:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-primary)}.dashboard__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.space-card{position:relative;display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-card);overflow:hidden;cursor:pointer;text-align:left;font-family:Plus Jakarta Sans,sans-serif;transition:transform var(--transition-lift),box-shadow var(--transition-lift),border-color .2s;box-shadow:var(--shadow-sm)}.space-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--border-hover)}.space-card__stripe{height:5px;background:var(--space-accent,var(--accent-theorem));flex-shrink:0}.space-card__body{padding:1.15rem 1.15rem 1rem;flex:1 1;display:flex;flex-direction:column;min-height:120px}.space-card__icon{font-size:1.75rem;line-height:1;margin-bottom:.6rem}.space-card__name{font-size:.92rem;font-weight:650;color:var(--text-primary);margin-bottom:.25rem;line-height:1.3}.space-card__desc{font-size:.74rem;color:var(--text-muted);line-height:1.4;flex:1 1}.space-card__badge{display:inline-flex;margin-top:.65rem;padding:.15rem .55rem;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-badge);font-size:.65rem;font-weight:600;width:-moz-fit-content;width:fit-content}.space-card__badge,.space-card__delete{align-items:center;color:var(--text-muted)}.space-card__delete{position:absolute;top:12px;right:10px;width:26px;height:26px;display:flex;justify-content:center;border-radius:8px;border:none;background:transparent;cursor:pointer;opacity:0;transition:opacity .2s,color .2s,background .2s}.space-card:hover .space-card__delete{opacity:1}.space-card__delete:hover{background:rgba(220,38,38,.08);color:#dc2626}.space-card__delete--confirm{opacity:1;background:rgba(220,38,38,.12);color:#dc2626}.space-card--add{border-style:dashed;border-width:2px;background:transparent;box-shadow:none}.space-card--add:hover{background:var(--bg-secondary);border-color:var(--accent-theorem);transform:translateY(-2px);box-shadow:none}.space-card__body--add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding-top:calc(1.15rem + 5px)}.space-card__add-icon{color:var(--text-muted);transition:color .2s}.space-card--add:hover .space-card__add-icon{color:var(--accent-theorem)}.space-card__add-label{font-size:.78rem;font-weight:600;color:var(--text-muted);transition:color .2s}.space-card--add:hover .space-card__add-label{color:var(--accent-theorem)}.folder-card{position:relative;overflow:hidden}.folder-card__snapshot-img{position:absolute;top:5px;left:0;width:100%;opacity:.5;pointer-events:none}.folder-card__snapshot{position:absolute;inset:5px 0 0 0;pointer-events:none}.folder-card__empty-pattern{height:100%;border:2px dashed var(--border-color);border-radius:8px;margin:8px;opacity:.3}.folder-card__content{position:relative;padding:1.15rem 1.15rem 1rem;flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:120px}.folder-card--drop-target{transform:scale(1.05);border-color:var(--accent-theorem);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-theorem) 20%,transparent)}.breadcrumbs{display:flex;align-items:center;gap:0;font-size:.8rem;color:var(--text-muted);margin:1rem 0;min-height:24px}@keyframes breadcrumbFadeIn{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.breadcrumbs__item{animation:breadcrumbFadeIn .3s ease both}.breadcrumbs__segment{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:2px 4px;border-radius:4px;transition:color .15s,background .15s;display:inline-flex;align-items:center;gap:4px}.breadcrumbs__segment:hover{color:var(--text-primary);text-decoration:underline}.breadcrumbs__segment--active{color:var(--text-secondary);cursor:default}.breadcrumbs__segment--active:hover{text-decoration:none}.breadcrumbs__segment--drop-target{color:var(--accent-theorem);background:color-mix(in srgb,var(--accent-theorem) 15%,transparent);border-radius:4px}.breadcrumbs__separator{color:var(--text-muted);margin:0 2px;opacity:.6}.breadcrumbs__home-icon{opacity:.7}.search-bar-wrapper{position:relative;flex:1 1;min-width:0}.search-bar{display:flex;align-items:center;gap:.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:0 .75rem;height:40px;transition:border-color .2s}.search-bar--focused{border-color:var(--accent-theorem)}.search-bar__icon{color:var(--text-muted);flex-shrink:0}.search-bar__input{flex:1 1;background:none;border:none;outline:none;color:var(--text-primary);font-size:.88rem;font-family:inherit}.search-bar__input::placeholder{color:var(--text-muted)}.search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);max-height:320px;overflow-y:auto;z-index:100}.search-dropdown__item{display:flex;flex-direction:column;gap:2px;width:100%;padding:.75rem 1rem;background:none;border:none;border-bottom:1px solid var(--border-color);text-align:left;cursor:pointer;transition:background .15s;font-family:inherit}.search-dropdown__item:last-child{border-bottom:none}.search-dropdown__item--active,.search-dropdown__item:hover{background:var(--bg-primary)}.search-dropdown__name{font-size:.88rem;font-weight:600;color:var(--text-primary)}.search-dropdown__path{font-size:.72rem;color:var(--text-muted)}.zoom-overlay{position:fixed;inset:0;z-index:1000;background:transparent}.zoom-card{will-change:left,top,width,height,border-radius}.folder-card[data-dragging=true],.space-card[data-dragging=true]{opacity:.6;transform:scale(.95)}.create-module-modal{width:400px}.space-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);grid-gap:4px;gap:4px}.space-emoji-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;border:1.5px solid transparent;border-radius:8px;background:transparent;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.space-emoji-btn:hover{background:var(--bg-secondary)}.space-emoji-btn--active{border-color:var(--accent-theorem);background:var(--accent-theorem-bg);transform:scale(1.1)}.space-color-row{display:flex;gap:8px}.space-color-swatch{width:28px;height:28px;border-radius:50%;border:2.5px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.space-color-swatch:hover{transform:scale(1.15)}.space-color-swatch--active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px currentColor}.space-textarea{resize:vertical;min-height:60px;line-height:1.5}@media (max-width:600px){.dashboard{padding:1.5rem 1rem 3rem}.dashboard__grid{grid-template-columns:1fr}.dashboard__title{font-size:1.3rem}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-line{height:14px;border-radius:6px}.skeleton-block,.skeleton-line{background:linear-gradient(90deg,var(--border-color) 25%,transparent 50%,var(--border-color) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;margin-bottom:8px}.skeleton-block,.skeleton-card{border-radius:10px}.skeleton-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-color);margin-bottom:6px}.skeleton-card__icon{width:36px;height:36px;border-radius:8px;flex-shrink:0;background:linear-gradient(90deg,var(--border-color) 25%,transparent 50%,var(--border-color) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-card__info{flex:1 1;min-width:0}.skeleton-card__info .skeleton-line{height:12px}.skeleton-card__info .skeleton-line:first-child{height:14px;margin-bottom:6px}.skeleton-note-list{padding:8px 0}.skeleton-note-item{padding:8px 16px}.skeleton-note-item .skeleton-line{height:12px;margin-bottom:0}.skeleton-content{padding:2rem;max-width:800px}.skeleton-file-list{padding:0}.skeleton-space-card{pointer-events:none;cursor:default}.skeleton-space-card:hover{transform:none;box-shadow:var(--shadow-sm);border-color:var(--border-color)}.skeleton-space-stripe{background:linear-gradient(90deg,var(--border-color) 25%,transparent 50%,var(--border-color) 75%)!important;background-size:200% 100%!important;animation:skeleton-shimmer 1.5s ease-in-out infinite!important}.skeleton-space-icon{width:36px;height:36px;border-radius:8px;margin-bottom:8px;background:linear-gradient(90deg,var(--border-color) 25%,transparent 50%,var(--border-color) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.files-view{max-width:800px;margin:0 auto;padding:2rem 1.5rem}.files-dropzone{border:2px dashed var(--accent-theorem-25);border-radius:16px;padding:2.5rem 2rem;text-align:center;cursor:pointer;background:var(--accent-theorem-10);transition:border-color .2s,background .2s,transform .15s,box-shadow .2s;margin-bottom:2rem}.files-dropzone:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}.files-dropzone--active,.files-dropzone:hover{border-color:var(--accent-theorem);background:var(--accent-theorem-bg);transform:translateY(-2px)}.files-dropzone--active{border-style:solid;box-shadow:0 4px 20px var(--accent-theorem-25)}.files-dropzone--disabled{opacity:.5;pointer-events:none}.files-dropzone__icon{color:var(--accent-theorem-60);margin-bottom:.75rem}.files-dropzone__text{font-size:.95rem;font-weight:500;color:var(--text-primary);margin:0 0 .25rem}.files-dropzone__hint{font-size:.8rem;color:var(--text-muted);margin:0}.files-empty,.files-loading{text-align:center;color:var(--text-muted);padding:3rem 1rem;font-size:.9rem}.files-section{margin-bottom:2rem}.files-section__title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.files-section__count{font-size:.75rem;font-weight:500;background:var(--bg-secondary);color:var(--text-muted);padding:.1em .5em;border-radius:10px}.files-list{display:flex;flex-direction:column;gap:2px}.file-card{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:8px;transition:background .15s}.file-card:hover,.file-card__icon{background:var(--bg-secondary)}.file-card__icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--text-muted)}.file-card__icon[data-type=markdown]{color:var(--accent-theorem)}.file-card__icon[data-type=pdf]{color:#e74c3c}.file-card__icon[data-type=image]{color:#27ae60}.file-card__icon[data-type=latex]{color:#8e44ad}.file-card__info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.file-card__name{font-size:.9rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;min-width:0}.file-card__name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.file-card__badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.1em .45em;border-radius:var(--radius-badge,4px);background:var(--accent-theorem-bg);color:var(--accent-theorem);flex-shrink:0}.file-card__badge--ocr{background:rgba(39,174,96,.12);color:#27ae60}.file-card__badge--processing{background:rgba(52,152,219,.12);color:#3498db;animation:file-card-pulse 1s ease-in-out infinite alternate}@keyframes file-card-pulse{0%{opacity:.6}to{opacity:1}}.file-card__badge--error{background:rgba(231,76,60,.12);color:#e74c3c;cursor:help}.file-card__badge--retry{background:transparent;color:#3b82f6;cursor:pointer;border:1px solid rgba(59,130,246,.4);font:inherit;font-size:.65rem;font-weight:600;padding:.1em .55em;border-radius:var(--radius-badge,4px);transition:background .15s,border-color .15s}.file-card__badge--retry:hover{background:rgba(59,130,246,.12);border-color:#3b82f6}.file-card__meta{font-size:.75rem;color:var(--text-muted)}.file-card__rename-input{font-size:.9rem;font-weight:500;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--accent-theorem);border-radius:4px;padding:.15em .4em;outline:none;width:100%}.file-card__actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s;flex-shrink:0}.file-card:hover .file-card__actions{opacity:1}.file-card__action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.file-card__action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.file-card__action-btn--delete:hover{color:#e74c3c}.files-section--failed,.files-section--processing{margin-bottom:1.5rem}.files-section--failed .files-section__title{color:#e74c3c}.processing-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:.875rem 1rem;margin-bottom:.5rem}.processing-card__info{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.processing-card__name{font-size:.85rem;font-weight:500;color:var(--text-primary)}.processing-card__stage{font-size:.75rem;color:var(--text-muted);animation:file-card-pulse 1s ease-in-out infinite alternate}.processing-card__bar{height:4px;background:var(--border-color);border-radius:2px;overflow:hidden}.processing-card__bar-fill{height:100%;background:var(--accent,#3498db);border-radius:2px;transition:width .6s ease;animation:processing-shimmer 1.5s ease-in-out infinite}.processing-card--done{border-color:rgba(39,174,96,.3);animation:processing-fadeout 2s ease forwards}.processing-card--done .processing-card__stage{color:#27ae60;animation:none;display:flex;align-items:center;gap:4px}.processing-card__check{color:#27ae60}.processing-card__bar-fill--done{background:#27ae60;animation:none;opacity:1}@keyframes processing-shimmer{0%,to{opacity:.7}50%{opacity:1}}.upload-error-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:rgba(231,76,60,.06);border:1px solid rgba(231,76,60,.25);border-radius:10px;padding:.75rem 1rem;margin-bottom:.5rem}.upload-error-card__info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.upload-error-card__name{font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-error-card__message{font-size:.75rem;color:#e74c3c}.upload-error-card__actions{display:flex;gap:.4rem;flex-shrink:0}.upload-error-card__btn{font-size:.75rem;font-weight:600;padding:.3em .75em;border-radius:6px;border:none;cursor:pointer;transition:background .15s}.upload-error-card__btn--retry{background:rgba(59,130,246,.15);color:#3b82f6}.upload-error-card__btn--retry:hover{background:rgba(59,130,246,.25)}.upload-error-card__btn--dismiss{background:transparent;color:var(--text-muted)}.upload-error-card__btn--dismiss:hover{background:var(--bg-secondary);color:var(--text-primary)}@keyframes processing-fadeout{0%,70%{opacity:1}to{opacity:0}}.delete-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999;animation:delete-modal-fade-in .15s ease-out}@keyframes delete-modal-fade-in{0%{opacity:0}to{opacity:1}}.delete-modal{background:var(--bg-primary);border:1px solid var(--bg-sidebar-hover);border-radius:12px;padding:1.5rem;width:340px;max-width:90vw;text-align:center;animation:delete-modal-scale-in .15s ease-out}@keyframes delete-modal-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.delete-modal__icon{color:var(--accent-theorem);margin-bottom:.75rem}.delete-modal__title{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary)}.delete-modal__message{font-size:.85rem;color:var(--text-secondary);margin:0 0 1.25rem;line-height:1.5}.delete-modal__message strong{color:var(--text-primary)}.delete-modal__actions{display:flex;gap:.75rem;justify-content:center}.delete-modal__btn{padding:.5rem 1.25rem;border-radius:8px;border:none;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.delete-modal__btn--cancel{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--bg-sidebar-hover)}.delete-modal__btn--cancel:hover{background:var(--bg-sidebar-hover)}.delete-modal__btn--confirm{background:var(--accent-theorem);color:#fff}.delete-modal__btn--confirm:hover{opacity:.85}@media (max-width:600px){.files-view{padding:1rem}.file-card__actions{opacity:1}}.file-preview-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;animation:file-preview-fade-in .15s ease}@keyframes file-preview-fade-in{0%{opacity:0}to{opacity:1}}.file-preview-modal{width:90vw;height:88vh;max-width:1200px;background:var(--bg-primary);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.3);animation:file-preview-scale-in .2s ease}@keyframes file-preview-scale-in{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.file-preview__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.file-preview__title{font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.file-preview__header-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.file-preview__close,.file-preview__header-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);border-radius:8px;cursor:pointer;transition:background .15s,color .15s;text-decoration:none}.file-preview__close:hover,.file-preview__header-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.file-preview__body{flex:1 1;overflow:auto;min-height:0}.file-preview__error,.file-preview__loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.9rem}.file-preview__error{color:#e74c3c}.file-preview__iframe{width:100%;height:100%;border:none}.file-preview__image-wrap{display:flex;align-items:center;justify-content:center;height:100%;padding:1.5rem;overflow:auto}.file-preview__image{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}.file-preview__markdown{padding:2rem 2.5rem;max-width:800px;margin:0 auto}.file-preview__code{margin:0;padding:1.5rem 2rem;font-size:.85rem;line-height:1.6;color:var(--text-primary);background:var(--bg-secondary);overflow:auto;height:100%;white-space:pre-wrap;word-break:break-word;font-family:SF Mono,Cascadia Code,Fira Code,JetBrains Mono,monospace;-moz-tab-size:2;tab-size:2}.file-preview__unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--text-muted)}.file-preview__unsupported-icon{opacity:.4}.file-preview__unsupported p{margin:0;font-size:.95rem}.file-preview__download-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.2rem;border-radius:8px;font-size:.85rem;font-weight:500;background:var(--accent-theorem);color:white;text-decoration:none;transition:opacity .15s}.file-preview__download-btn:hover{opacity:.85}@media (max-width:600px){.file-preview-modal{width:100vw;height:100vh;border-radius:0}.file-preview__markdown{padding:1rem}}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);padding:1rem}.auth-card{width:100%;max-width:400px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem}.auth-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem;text-align:center}.auth-subtitle{font-size:.875rem;color:var(--text-muted);margin:0 0 1.5rem;text-align:center}.auth-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px;padding:.75rem 1rem;font-size:.8125rem;margin-bottom:1rem}[data-theme=dark] .auth-error{background:#371717;color:#fca5a5;border-color:#5c2020}.auth-form{gap:1rem}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:.375rem}.auth-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.auth-field input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.625rem .75rem;font-size:.875rem;color:var(--text-primary);outline:none;transition:border-color .15s}.auth-field input:focus{border-color:var(--accent-theorem)}.auth-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary)}.auth-btn:hover{border-color:var(--border-hover);background:var(--bg-secondary)}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-btn--primary{background:var(--accent-theorem);color:white;border-color:var(--accent-theorem);margin-top:.5rem}.auth-btn--primary:hover{background:#a85f35;border-color:#a85f35}.auth-btn--oauth{flex:1 1}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border-color)}.auth-divider span{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.auth-oauth{display:flex;gap:.75rem}.auth-footer{margin-top:1.5rem;text-align:center;font-size:.8125rem;color:var(--text-muted)}.auth-footer a{color:var(--accent-theorem);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.dashboard__loading{text-align:center;padding:3rem;color:var(--text-muted);font-size:.9375rem}.diagram-container{margin:1.5rem 0;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-card);overflow-x:auto;text-align:center}.diagram-container.diagram-rendered{background:transparent;border-color:transparent;padding:.5rem 0}.diagram-container svg{max-width:100%;height:auto}.diagram-loading{padding:2rem;color:var(--text-muted);font-size:.875rem;font-style:italic}.diagram-error{text-align:left;padding:1rem}.diagram-error-label{display:inline-block;background:#d9534f;color:#fff;font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:var(--radius-badge);margin-bottom:.5rem}.diagram-error pre{background:var(--code-bg);padding:.75rem;border-radius:var(--radius-badge);font-size:.8125rem;overflow-x:auto;white-space:pre-wrap;margin:.5rem 0}.diagram-error-msg{display:block;font-size:.75rem;color:#d9534f;margin-top:.25rem}.diagram-error-state{border-color:rgba(217,83,79,.3)}[data-theme=dark] .diagram-tikz.diagram-rendered img,[data-theme=dark] .diagram-tikz.diagram-rendered svg{filter:invert(1) hue-rotate(180deg)}.diagram-container:not(.diagram-rendered):not(.diagram-error-state){font-size:0;color:transparent}pre.diagram-converted{display:none}.billing-modal{max-width:420px}.billing__plan-section{display:flex;align-items:center;gap:10px;margin-bottom:16px}.billing__plan-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.billing__plan-badge--free{background:var(--border);color:var(--text-secondary)}.billing__plan-badge--pro{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.billing__status-warning{font-size:.8rem;color:#ef4444;font-weight:500}.billing__usage-section{margin-bottom:16px}.billing__usage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.billing__usage-label{font-size:.82rem;color:var(--text-secondary)}.billing__usage-value{font-size:.82rem;font-weight:600;color:var(--text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing__usage-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.billing__usage-fill{height:100%;background:#6366f1;border-radius:4px;transition:width .4s ease}.billing__usage-fill--warning{background:#f59e0b}.billing__usage-fill--danger{background:#ef4444}.billing__period-info{display:block;margin-top:4px;font-size:.75rem;color:var(--text-secondary)}.billing__description{margin-bottom:16px;font-size:.88rem;color:var(--text-secondary);line-height:1.5}.billing__description p{margin:0 0 10px}.billing__pro-features{margin-top:12px;padding:12px 14px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.billing__feature-title{font-weight:600;color:var(--text-primary);margin-bottom:8px;font-size:.9rem}.billing__feature-list{margin:0;padding-left:18px;font-size:.84rem;line-height:1.7;color:var(--text-secondary)}.billing__feature-list li::marker{color:#6366f1}.billing-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:12px 24px;border-radius:10px;font-size:.88rem;font-weight:500;box-shadow:0 4px 20px rgba(99,102,241,.3);z-index:9999;cursor:pointer;animation:billing-toast-in .3s ease}@keyframes billing-toast-in{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}