:root,[data-theme=light]{--brand: #94070a;--brand-hover: #a3282b;--brand-soft: rgba(148, 7, 10, .1);--brand-ring: rgba(148, 7, 10, .28);--brand-gradient: linear-gradient(135deg, #94070a 0%, #a3282b 100%);--bg: #f8fafc;--bg-warm: #f1f5f9;--surface: #ffffff;--surface-hover: #f8fafc;--text: #0f172a;--text-secondary: #475569;--muted: #94a3b8;--border: #e2e8f0;--border-strong: #cbd5e1;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .06);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08), 0 2px 4px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .1), 0 4px 8px rgba(15, 23, 42, .04);--shadow-xl: 0 20px 48px rgba(15, 23, 42, .14), 0 8px 16px rgba(15, 23, 42, .06);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .1);--success: #10b981;--success-soft: rgba(16, 185, 129, .1);--warning: #f59e0b;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--brand: #f0b8b9;--brand-hover: #f6d0d1;--brand-soft: rgba(240, 184, 185, .16);--brand-ring: rgba(148, 7, 10, .45);--brand-gradient: linear-gradient(135deg, #94070a 0%, #a3282b 100%);--bg: #0b0f1a;--bg-warm: #111827;--surface: #151a2b;--surface-hover: #1c2235;--text: #f1f5f9;--text-secondary: #cbd5e1;--muted: #64748b;--border: #1e293b;--border-strong: #334155;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5), 0 2px 4px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .6), 0 4px 8px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 48px rgba(0, 0, 0, .7), 0 8px 16px rgba(0, 0, 0, .5);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .15);--success: #34d399;--success-soft: rgba(52, 211, 153, .15);--warning: #fbbf24}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Inter,Roboto,sans-serif;color:var(--text);background:var(--bg);background-image:radial-gradient(at 0% 0%,var(--brand-soft) 0,transparent 50%);background-attachment:fixed;font-size:15px;line-height:1.6;transition:background-color var(--transition-slow),color var(--transition-slow)}[data-theme=dark] body{background-image:radial-gradient(at 0% 0%,rgba(129,140,248,.08) 0,transparent 50%),radial-gradient(at 100% 100%,rgba(167,139,250,.05) 0,transparent 50%)}.app-shell{min-height:100vh}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-secondary);gap:.85rem;font-size:.95rem}.loading-screen:before{content:"";width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hint{color:var(--muted);font-size:.85rem;margin:.25rem 0 0}.brand-kicker{margin:0;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brand);font-weight:700}.btn-primary{padding:.65rem 1.25rem;border:0;border-radius:var(--radius-md);background:var(--brand-gradient);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #94070a47,inset 0 1px #ffffff26;transition:transform var(--transition-fast),box-shadow var(--transition),filter var(--transition);position:relative;overflow:hidden}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #94070a61,inset 0 1px #ffffff26;filter:brightness(1.05)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px #94070a47}.btn-primary:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.btn-ghost{padding:.5rem .9rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-ghost:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.btn-ghost:active{transform:translateY(0)}.login-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh}.login-brand{position:relative;background:var(--brand-gradient);color:#fff;display:flex;align-items:center;padding:clamp(1.5rem,5vw,3.5rem);overflow:hidden}.login-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 50% at 100% 0%,rgba(255,255,255,.15),transparent),radial-gradient(ellipse 40% 40% at 0% 100%,rgba(255,255,255,.1),transparent);pointer-events:none}.login-brand:after{content:"";position:absolute;top:-50%;right:-30%;width:80%;height:80%;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 60%);border-radius:50%;pointer-events:none}.login-brand-inner{position:relative;z-index:1}.login-brand-inner h1{margin:.5rem 0 1rem;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;letter-spacing:-.02em;line-height:1.15}.login-brand .brand-kicker{color:#ffffffbf}.brand-copy{margin:0;max-width:28rem;line-height:1.7;opacity:.88;font-size:.95rem}.login-form-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.5rem,5vw,3rem);background:var(--bg);position:relative}.login-form-toolbar{display:flex;justify-content:flex-end;margin-bottom:1rem}.login-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:2rem 1.75rem;max-width:22rem;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:.5rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-form h2{margin:0 0 .25rem;font-size:1.4rem;font-weight:700;letter-spacing:-.01em}.login-form label{font-size:.8rem;font-weight:600;margin-top:.5rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.login-form input{padding:.7rem .85rem;border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;background:var(--bg-warm);color:var(--text);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition);outline:none}.login-form input:hover{border-color:var(--border-strong)}.login-form input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring);background:var(--surface)}.login-form .btn-primary{margin-top:1rem;padding:.75rem 1.25rem;font-size:.92rem}.login-form{max-width:26rem}.demo-account-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.demo-account{width:100%;text-align:left;border:1px solid var(--border);background:var(--bg-warm);color:var(--text);border-radius:var(--radius-md);padding:.55rem .7rem;display:grid;grid-template-columns:1fr auto;gap:.15rem .75rem;cursor:pointer}.demo-account-label{font-weight:650}.demo-account-name,.demo-account-password{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.demo-account-password{grid-column:1 / -1;color:var(--text-secondary);word-break:break-all}@media (max-width: 768px){.login-page{grid-template-columns:1fr}.login-brand{min-height:auto;padding:2.5rem 1.5rem}}.materials-page{max-width:1200px;margin:0 auto;padding:1.5rem clamp(1rem,3vw,2rem) 3rem}.materials-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.materials-header h1{margin:.25rem 0 0;font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.materials-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.lesson-nav{display:flex;flex-wrap:wrap;gap:.75rem;margin:-.25rem 0 1.25rem}.lesson-nav .btn-ghost,.lesson-nav .btn-primary{min-width:8.5rem}.materials-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.search-input{flex:1 1 16rem;min-width:0;padding:.7rem .9rem .7rem 2.25rem;border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;background:var(--surface);color:var(--text);transition:border-color var(--transition),box-shadow var(--transition);outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242.156a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.75rem center}.search-input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring)}.example-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.example-chip{border:1px solid var(--border);background:var(--bg-warm);color:var(--text);border-radius:999px;padding:.35rem .75rem;font-size:.85rem;cursor:pointer}.example-chip:hover{border-color:var(--brand);color:var(--brand)}.example-chip:disabled{opacity:.6;cursor:wait}.view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-xs)}.view-toggle button{border:0;background:var(--surface);color:var(--muted);padding:.55rem 1rem;cursor:pointer;font-size:.85rem;font-weight:500;transition:all var(--transition-fast)}.view-toggle button:not(:last-child){border-right:1px solid var(--border)}.view-toggle button.active{background:var(--brand-gradient);color:#fff}.view-toggle button:hover:not(.active){color:var(--brand)}.upload-panel{background:var(--surface);border:2px dashed var(--border-strong);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:1.5rem;transition:border-color var(--transition),background var(--transition)}.upload-panel:hover{border-color:var(--brand);background:var(--brand-soft)}.upload-panel label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.upload-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.75rem}.upload-row input[type=file]{flex:1 1 12rem;min-width:0;font-size:.85rem;padding:.4rem;border-radius:var(--radius-sm);color:var(--text-secondary)}.upload-row input[type=file]::file-selector-button{margin-right:.75rem;padding:.4rem .8rem;border:0;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand);font-weight:600;font-size:.8rem;cursor:pointer;transition:background var(--transition-fast)}.upload-row input[type=file]::file-selector-button:hover{background:var(--brand);color:#fff}.progress-wrap{margin-top:.85rem;display:flex;align-items:center;gap:.75rem}.progress{flex:1;height:6px;background:var(--bg-warm);border-radius:999px;overflow:hidden}.progress.indeterminate{position:relative}.progress.indeterminate:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--brand-gradient);animation:indeterminate 1.2s infinite}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-bar{height:100%;background:var(--brand-gradient);border-radius:999px;transition:width .15s ease}.progress-label{font-size:.8rem;color:var(--muted);min-width:2.5rem;font-variant-numeric:tabular-nums}.materials-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}@media (min-width: 900px){.materials-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}.materials-list-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.5rem;min-height:8rem;box-shadow:var(--shadow-sm)}.materials-list{list-style:none;margin:0;padding:.25rem}.materials-list li{border-bottom:1px solid var(--border)}.materials-list li:last-child{border-bottom:0}.material-link{width:100%;text-align:left;border:0;background:transparent;padding:.85rem .6rem;margin:.25rem 0;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:.2rem;transition:background var(--transition-fast),transform var(--transition-fast)}.material-link:hover{background:var(--brand-soft)}.material-link:hover .material-title{color:var(--brand)}.material-title{font-size:.95rem;font-weight:600;color:var(--text);transition:color var(--transition-fast)}.meta{color:var(--muted);font-size:.78rem}.materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem;padding:.5rem}.material-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-warm);padding:1rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.4rem;min-height:6rem;transition:all var(--transition);position:relative;overflow:hidden}.material-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--brand-gradient);opacity:0;transition:opacity var(--transition)}.material-card:hover{border-color:var(--brand);box-shadow:var(--shadow-md);transform:translateY(-2px);background:var(--surface)}.material-card:hover:before{opacity:1}.detail-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1.5rem 2rem;box-shadow:var(--shadow-sm);position:relative}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.detail-header h2{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.plain-body{white-space:pre-wrap;background:var(--bg-warm);border-radius:var(--radius-md);padding:1rem;font-size:.85rem;overflow-x:auto;max-width:100%;border:1px solid var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.7}.markdown-body{font-size:.92rem;line-height:1.75;overflow-x:auto;max-width:100%}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin-top:1.25rem;margin-bottom:.5rem;font-weight:700;letter-spacing:-.01em}.markdown-body h1{font-size:1.5rem}.markdown-body h2{font-size:1.25rem}.markdown-body h3{font-size:1.1rem}.markdown-body pre{background:var(--bg-warm);padding:1rem;border-radius:var(--radius-md);overflow-x:auto;border:1px solid var(--border)}.markdown-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;background:var(--bg-warm);padding:.15em .4em;border-radius:var(--radius-xs);border:1px solid var(--border)}.markdown-body pre code{background:none;padding:0;border:0}.markdown-body a{color:var(--brand);text-decoration:none;border-bottom:1px dashed var(--brand);transition:border-color var(--transition-fast)}.markdown-body a:hover{border-bottom-style:solid}.download-line{margin-top:1.25rem;font-size:.9rem}.download-line a{color:var(--brand);font-weight:600;text-decoration:none;border-bottom:1px dashed var(--brand);transition:border-color var(--transition-fast)}.download-line a:hover{border-bottom-style:solid}.empty-hint{padding:2rem 1rem;text-align:center;color:var(--muted);font-size:.9rem}.toast-stack{position:fixed;right:1.25rem;bottom:1.25rem;z-index:2000;display:flex;flex-direction:column;gap:.6rem;max-width:min(22rem,calc(100vw - 2.5rem))}.toast{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);font-size:.88rem;animation:toast-slide-in .3s cubic-bezier(.21,1.02,.73,1) both;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(24px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}.toast-success{border-left:4px solid var(--success);background-image:linear-gradient(to right,var(--success-soft),transparent)}.toast-error{border-left:4px solid var(--danger);background-image:linear-gradient(to right,var(--danger-soft),transparent)}.toast-close{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:.1rem .3rem;border-radius:var(--radius-xs);transition:all var(--transition-fast)}.toast-close:hover{background:var(--border);color:var(--text)}.hit-explain{margin:0 1.5rem .75rem;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);line-height:1.6}.hit-explain p{margin:0}.query-vector{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.query-vector-note{margin:.55rem 0 .35rem;color:var(--text)}.hit-explain .empty-hint{margin-top:.45rem;color:var(--text)}.hit-list{list-style:none;margin:0;padding:0 1.5rem 2rem;display:grid;gap:.75rem}.hit-badge{flex:none;font-size:.75rem;line-height:1.2;padding:.2rem .45rem;border-radius:var(--radius-xs);background:var(--bg-warm);color:var(--text-secondary)}.hit-badge.both{background:var(--success-soft);color:var(--text)}.hit-badge.vector{background:var(--brand-soft);color:var(--text)}.hit-why{margin:.4rem 0 0;color:var(--text-secondary);line-height:1.55;font-size:.92rem}.hit-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.9rem 1rem}.hit-card-head{display:flex;justify-content:space-between;gap:1rem}.hit-snippet{margin:.55rem 0;line-height:1.6;white-space:pre-wrap}.hit-snippet mark{background:var(--brand-soft);color:inherit;padding:0 .15rem}.vector-panel{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border)}.vector-panel h3{margin:0 0 .35rem;font-size:1rem}.vector-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.65rem}.vector-list li{padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.vector-head{display:flex;flex-wrap:wrap;gap:.45rem .75rem;align-items:baseline;font-size:.85rem;color:var(--text-secondary)}.vector-head strong{color:var(--text)}.vector-excerpt,.vector-meta{margin:.35rem 0;font-size:.85rem;line-height:1.45}.vector-meta{color:var(--text-secondary)}.vector-nums{margin:.35rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1.45;max-height:8rem;overflow:auto;white-space:pre-wrap;word-break:break-all}.vector-error{color:var(--brand)}.link-chain{margin:.5rem 0 0;padding-left:1.2rem;color:var(--text-secondary);font-size:.85rem;line-height:1.55}.link-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.45rem 0}.link-grid p{margin:.15rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1.45}.link-grid strong{display:block;margin-bottom:.25rem;font-family:inherit;font-size:.82rem}.link-ok{margin:.2rem 0 .4rem;font-size:.82rem;color:var(--text)}@media (max-width: 720px){.link-grid{grid-template-columns:1fr}}.chunk-panel{margin:.85rem 0 0;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-md);display:grid;gap:.5rem}.chunk-panel legend{padding:0 .3rem;font-weight:650}.chunk-option{display:flex;gap:.6rem;align-items:flex-start;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.chunk-option.selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.chunk-option span{display:grid;gap:.15rem}.chunk-option small,.chunk-checks small{color:var(--text-secondary);line-height:1.45}.chunk-option em{justify-self:start;font-style:normal;font-size:.75rem;padding:.05rem .35rem;border-radius:var(--radius-xs);background:var(--brand-soft)}.chunk-fields,.chunk-checks{display:grid;gap:.45rem;margin-left:1.6rem}.chunk-fields label,.chunk-checks label{display:grid;gap:.25rem;font-size:.92rem}.chunk-fields input,.chunk-fields select{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:.4rem .55rem}.chunk-checks label{display:flex;align-items:center;gap:.4rem}.upload-row select{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:.45rem .6rem}.pager{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.ask-lead{max-width:760px}.ask-thread{display:flex;flex-direction:column;gap:.75rem;max-width:760px;margin:.5rem 0 1rem}.ask-bubble{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-md);padding:.75rem .9rem;box-shadow:var(--shadow-xs)}.ask-user{align-self:flex-end;background:var(--brand-soft);max-width:min(100%,36rem)}.ask-role{margin:0 0 .25rem;font-size:.8rem;color:var(--text-secondary)}.ask-text{margin:0;white-space:pre-wrap}.ask-cites{margin:.6rem 0 0;padding-left:1.2rem;color:var(--text-secondary);font-size:.9rem}.ask-cites p{margin:.2rem 0 .45rem;color:var(--text)}.tutor-layout{display:grid;grid-template-columns:minmax(15rem,18rem) minmax(0,1fr);gap:1rem;align-items:stretch}.tutor-side,.tutor-main{min-width:0}.tutor-conv-list,.tutor-skill-list{list-style:none;margin:.75rem 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.tutor-conv,.tutor-skill-name{width:100%;text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:.55rem .7rem}.tutor-conv.active{border-color:var(--brand);background:var(--brand-soft)}.tutor-files h2{font-size:1rem;margin:1rem 0 .4rem}.tutor-skill-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem}.tutor-editor{display:flex;flex-direction:column;gap:.4rem;margin-top:.8rem}.tutor-editor textarea{width:100%;resize:vertical;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:.6rem .7rem;font:inherit}.tutor-upload input{display:none}@media (max-width: 860px){.tutor-layout{grid-template-columns:1fr}.tutor-page .tutor-main{order:-1}.tutor-side{max-height:13rem}.tutor-chat{min-height:28rem}}.agent-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.agent-skills{display:flex;flex-direction:column;gap:.25rem;margin:.5rem 0}.agent-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem}.agent-card{min-height:5.5rem;padding:1rem;text-align:left}.admin-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:.25rem 0 1rem}.console-roster ul{list-style:none;margin:0;padding:0}.console-roster li{padding:.75rem .15rem;border-bottom:1px solid rgba(148,7,10,.1);font-weight:650}.tutor-page{min-height:100vh;display:flex;flex-direction:column;box-sizing:border-box}.tutor-page .materials-header{margin-bottom:.85rem;padding:.85rem 1rem}.tutor-page .tutor-layout{flex:1;min-height:0}.tutor-page .tutor-main{display:flex}.tutor-side{max-height:calc(100vh - 8.5rem);overflow:auto;padding-right:.1rem}.tutor-kicker{margin:.15rem 0 .1rem;font-size:.75rem;letter-spacing:.04em;color:var(--text-secondary)}.tutor-item-title{display:block;font-weight:600}.conv-meta{display:block;margin-top:.15rem;font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tutor-chat{display:flex;flex-direction:column;flex:1;min-height:calc(100vh - 10.5rem);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.tutor-chat-head{padding:.85rem 1rem .7rem;border-bottom:1px solid var(--border)}.tutor-chat-head h2{margin:0;font-size:1.1rem}.tutor-chat-head .hint{margin:.25rem 0 0}.tutor-chat .ask-thread{flex:1;max-width:none;margin:0;padding:1rem 1.1rem;overflow:auto}.tutor-empty{margin:.4rem 0 .2rem}.tutor-composer{border-top:1px solid var(--border);padding:.75rem 1rem .9rem}.tutor-composer textarea{width:100%;resize:vertical;min-height:3.2rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);padding:.65rem .75rem;font:inherit}.tutor-composer textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring)}.tutor-composer-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-top:.6rem}.tutor-composer .example-row{margin-top:0;flex:1}.tutor-composer-spacer{flex:1}.ask-cites p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tutor-chat .ask-thread{overflow-anchor:none}.tutor-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ask-status{margin:0;color:var(--text-secondary)}.ask-caret{display:inline-block;width:2px;height:1em;margin-left:.15rem;vertical-align:text-bottom;background:currentColor;animation:ask-caret 1s steps(1) infinite}@keyframes ask-caret{50%{opacity:0}}.ask-source{margin:.45rem 0 0;font-size:.85rem;color:var(--text-secondary)}@media (prefers-reduced-motion: reduce){.ask-caret{animation:none}}.tutor-studio.materials-page{max-width:none;width:100%;min-height:100vh;padding:0 0 1.5rem;background:var(--bg)}.tutor-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem}.tutor-top-actions{display:flex;align-items:center;gap:.6rem}.tutor-stage{width:min(760px,calc(100% - 2rem));margin:0 auto;display:flex;flex-direction:column}.tutor-stage.is-home{min-height:calc(100vh - 5.5rem);justify-content:center;padding-bottom:8vh}.tutor-stage.is-chat{min-height:calc(100vh - 4.5rem)}.tutor-hero{text-align:center;margin-bottom:1.15rem}.tutor-hero h1{margin:0;font-size:clamp(1.8rem,4vw,2.35rem);letter-spacing:-.03em}.tutor-hero .hint{margin:.55rem auto 0;max-width:36rem}.tutor-hero .hint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-pills,.studio-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem}.agent-pills{margin-top:1.15rem}.studio-chips{margin-top:.85rem}.agent-pill,.studio-chip{border:1px solid transparent;background:var(--bg-warm);color:var(--text);border-radius:999px;padding:.45rem .95rem;font:inherit;cursor:pointer}.agent-pill.is-on{background:var(--text);color:var(--bg)}.studio-chip{background:var(--surface);border-color:var(--border);font-size:.92rem}.agent-pill:disabled,.studio-chip:disabled,.studio-send:disabled{opacity:.55;cursor:not-allowed}.studio-composer{position:relative;margin-top:1.15rem;padding:.9rem 1rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-lg)}.studio-composer textarea{width:100%;min-height:6.4rem;resize:none;border:0;outline:none;background:transparent;color:var(--text);font:inherit;font-size:1.02rem;line-height:1.55;padding:.35rem .25rem .2rem}.studio-composer-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.studio-ghost{border:0;background:transparent;color:var(--text-secondary);font:inherit;cursor:pointer;padding:.35rem .15rem}.studio-send{width:2.45rem;height:2.45rem;border:0;border-radius:999px;background:var(--text);color:var(--bg);font-size:1.05rem;line-height:1;cursor:pointer}.studio-history{position:absolute;left:0;right:0;bottom:calc(100% + .55rem);z-index:2;margin:0;padding:.35rem;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);max-height:16rem;overflow:auto}.studio-history button{width:100%;text-align:left;border:0;background:transparent;color:var(--text);border-radius:10px;padding:.55rem .7rem;cursor:pointer}.studio-history button.is-on,.studio-history button:hover{background:var(--bg-warm)}.tutor-chat-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.2rem .15rem .55rem}.tutor-stage.is-chat .ask-thread{flex:1;min-height:12rem;max-height:calc(100vh - 18rem);overflow:auto;padding:.2rem .1rem .8rem}.tutor-studio .ask-bubble{border:0;box-shadow:none;background:transparent;padding:.35rem .1rem}.tutor-studio .ask-user{background:var(--bg-warm);border-radius:16px;padding:.7rem .9rem}.tutor-stage.is-chat{height:calc(100vh - 4.5rem);min-height:0}.tutor-stage.is-chat .ask-thread{flex:1;min-height:0;max-height:none}.tutor-stage.is-chat .studio-composer{margin-top:.4rem;flex:none}@media (max-width: 720px){.tutor-hero h1{font-size:1.55rem}.studio-composer textarea{min-height:5.2rem}.tutor-stage.is-chat{height:calc(100vh - 4rem)}}.tutor-studio.materials-page{display:flex;flex-direction:row;align-items:stretch;padding:0;background:var(--bg-warm)}.studio-side{width:16.5rem;flex:none;display:flex;flex-direction:column;min-height:100vh;padding:.95rem .75rem .75rem;background:var(--bg-warm);border-right:1px solid var(--border)}.studio-main{flex:1;min-width:0;min-height:100vh;background:var(--bg)}.side-brand{padding:.15rem .45rem .85rem}.side-brand .hint{margin:.15rem 0 0}.side-new{width:100%;text-align:left;border:0;border-radius:10px;padding:.55rem .75rem;background:transparent;color:var(--text);font:inherit;font-weight:600;cursor:pointer}.side-new.is-on{background:var(--surface);box-shadow:var(--shadow-xs)}.side-label{margin:1rem .45rem .3rem;font-size:.75rem;color:var(--text-secondary)}.side-nav,.side-history{display:flex;flex-direction:column;gap:.1rem;margin:0;padding:0;list-style:none}.side-history{flex:1;min-height:0;overflow:auto}.side-item,.side-history button{width:100%;text-align:left;border:0;background:transparent;color:var(--text);border-radius:8px;padding:.42rem .65rem;font:inherit;cursor:pointer}.side-item.is-on,.side-history button.is-on,.side-item:hover,.side-history button:hover,.side-new:hover{background:var(--surface)}.side-item:disabled,.side-new:disabled{opacity:.55;cursor:not-allowed}.side-foot{margin-top:.6rem;padding-top:.7rem;border-top:1px solid var(--border)}.side-user{display:block;padding:0 .45rem .35rem;font-weight:600}.side-foot-actions{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.tutor-stage.is-home{min-height:100vh}.tutor-stage.is-chat{height:100vh}.studio-composer-bar{justify-content:flex-end}@media (max-width: 860px){.tutor-studio.materials-page{flex-direction:column}.studio-side{width:100%;min-height:0;max-height:16rem}.studio-main{min-height:0}.tutor-stage.is-home{min-height:auto;padding:1.25rem 0 1.5rem}.tutor-stage.is-chat{height:calc(100vh - 16rem)}}@media (max-width: 900px){.tutor-studio.materials-page{flex-direction:row}.studio-side{width:13rem;min-height:100vh;max-height:none}.studio-main{min-height:100vh}.tutor-stage.is-home{min-height:100vh;padding-bottom:6vh}.tutor-stage.is-chat{height:100vh}}@media (max-width: 560px){.tutor-studio.materials-page{flex-direction:column}.studio-side{width:100%;min-height:0;max-height:14rem}.studio-main{min-height:0}.tutor-stage.is-home{min-height:auto;padding:1.25rem 0 1.5rem}.tutor-stage.is-chat{height:calc(100vh - 14rem)}}.tutor-studio.materials-page{height:100vh;overflow:hidden}.studio-side{height:100vh;max-height:100vh;min-height:0;overflow:hidden}.studio-main{height:100vh;min-height:0;overflow:hidden;display:flex;flex-direction:column}.studio-main .tutor-stage{flex:1;min-height:0;height:auto}.studio-main .tutor-stage.is-home{min-height:0;height:100%}.studio-main .tutor-stage.is-chat{height:100%}.tutor-studio{--pku: #94070a;--pku-ink: #fff;--pku-soft: rgba(148, 7, 10, .1);--pku-line: rgba(148, 7, 10, .16);--pku-shadow: 0 18px 50px rgba(148, 7, 10, .1)}[data-theme=dark] .tutor-studio{--pku-soft: rgba(240, 184, 185, .14);--pku-line: rgba(240, 184, 185, .28);--pku-shadow: 0 18px 40px rgba(0, 0, 0, .4)}.tutor-studio.materials-page{background:#f7f2f1}.tutor-studio .studio-side{background:#f7f2f1;border-right-color:#94070a14}.tutor-studio .studio-main{background:radial-gradient(880px 380px at 50% -8%,rgba(148,7,10,.07),transparent 62%),#fcfaf9}[data-theme=dark] .tutor-studio.materials-page{background:var(--bg)}[data-theme=dark] .tutor-studio .studio-side{background:var(--bg-warm);border-right-color:var(--border)}[data-theme=dark] .tutor-studio .studio-main{background:radial-gradient(880px 380px at 50% -8%,rgba(148,7,10,.35),transparent 62%),var(--bg)}.tutor-studio .side-brand{padding-bottom:.7rem}.tutor-studio .side-new,.tutor-studio .side-item,.tutor-studio .side-history button,.tutor-studio .agent-pill,.tutor-studio .studio-chip,.tutor-studio .studio-send{transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.tutor-studio .side-new{border-radius:12px;background:#fff;box-shadow:0 1px 2px #94070a0f}.tutor-studio .side-new.is-on,.tutor-studio .side-item.is-on,.tutor-studio .side-history button.is-on,.tutor-studio .side-item:hover,.tutor-studio .side-history button:hover,.tutor-studio .side-new:hover{background:var(--pku-soft);color:var(--brand)}.tutor-studio .side-label{letter-spacing:.08em;text-transform:uppercase;font-weight:600}.tutor-studio .side-history .tutor-item-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tutor-studio .side-user{color:var(--text);letter-spacing:-.01em}.tutor-studio .side-foot{border-top-color:var(--pku-line)}.tutor-studio .side-foot .btn-ghost{border-color:transparent;background:transparent;border-radius:999px}.tutor-studio .side-foot .btn-ghost:hover{border-color:var(--pku-line);color:var(--brand);background:var(--pku-soft)}.tutor-studio .tutor-hero h1{font-weight:700;letter-spacing:-.04em}.tutor-studio .agent-pill{background:#fff;border-color:var(--pku-line);box-shadow:0 1px 2px #0f172a0a}[data-theme=dark] .tutor-studio .agent-pill{background:var(--surface)}.tutor-studio .agent-pill.is-on{background:var(--pku);border-color:var(--pku);color:var(--pku-ink);box-shadow:0 8px 18px #94070a47}.tutor-studio .studio-chip{background:#ffffffb8;border-color:var(--border)}[data-theme=dark] .tutor-studio .studio-chip{background:var(--surface)}.tutor-studio .studio-chip:hover:not(:disabled){border-color:var(--pku);color:var(--brand);background:var(--surface)}.tutor-studio .studio-composer{border-color:var(--pku-line);border-radius:28px;box-shadow:var(--pku-shadow);background:#fff}[data-theme=dark] .tutor-studio .studio-composer{background:var(--surface)}.tutor-studio .studio-composer:focus-within{border-color:var(--pku);box-shadow:var(--pku-shadow),0 0 0 4px #94070a1f}.tutor-studio .studio-send{background:var(--pku);color:var(--pku-ink);box-shadow:0 8px 16px #94070a47}.tutor-studio .studio-send:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}.tutor-studio .ask-user{background:var(--brand-soft)}.tutor-studio .ask-source{color:var(--brand)}.tutor-studio .ask-caret{background:var(--pku)}.tutor-studio .agent-pill:focus-visible,.tutor-studio .studio-chip:focus-visible,.tutor-studio .side-item:focus-visible,.tutor-studio .side-new:focus-visible,.tutor-studio .studio-send:focus-visible{outline:2px solid var(--pku);outline-offset:2px}.tutor-studio .side-foot{background:#f7f2f1;position:relative;z-index:1}[data-theme=dark] .tutor-studio .side-foot{background:var(--bg-warm)}.tutor-studio .side-history{padding-bottom:.45rem}.tutor-studio .studio-side{width:18.5rem;padding:.85rem .7rem .7rem}.tutor-studio .side-apps{margin:0 0 .15rem}.tutor-studio .side-apps .side-label{margin:.15rem .55rem .35rem}.tutor-studio .side-app{width:100%;display:flex;align-items:center;gap:.6rem;border:0;background:transparent;color:var(--text);font:inherit;font-weight:600;text-align:left;border-radius:12px;padding:.4rem .5rem;cursor:pointer}.tutor-studio .side-app-mark{width:1.75rem;height:1.75rem;border-radius:9px;background:var(--pku);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;flex:none}.tutor-studio .side-app.is-on{background:var(--pku-soft);color:var(--brand);box-shadow:inset 3px 0 0 var(--pku)}.tutor-studio .side-app:hover{background:var(--pku-soft);color:var(--brand)}.tutor-studio .side-app-body{flex:1;min-height:0;display:flex;flex-direction:column;margin:.35rem .15rem .2rem .85rem;padding-left:.65rem;border-left:1px solid var(--pku-line)}.tutor-studio .side-app-body .side-label{margin-top:.85rem}.tutor-studio .side-new{display:flex;align-items:center;gap:.55rem;width:100%;margin:0;padding:.48rem .6rem;border:1px solid var(--pku-line);border-radius:12px;background:#fff;box-shadow:none}[data-theme=dark] .tutor-studio .side-new{background:var(--surface)}.tutor-studio .side-new-mark{width:1.35rem;height:1.35rem;border-radius:999px;background:var(--pku);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;flex:none}.tutor-studio .side-item,.tutor-studio .side-history button{border-radius:10px}.tutor-studio .side-history{flex:1;min-height:0;overflow:auto;padding-bottom:.2rem;scrollbar-width:thin;scrollbar-color:rgba(148,7,10,.28) transparent;-webkit-mask-image:none;mask-image:none}.tutor-studio .side-history button{display:flex;flex-direction:column;align-items:stretch;gap:.06rem;min-width:0;overflow:hidden;padding:.4rem .6rem}.tutor-studio .side-history .tutor-item-title{display:block;max-width:100%;font-size:.86rem;font-weight:500;line-height:1.35}.tutor-studio .side-history .conv-meta{margin:0;font-size:.72rem;color:var(--muted)}.tutor-studio .side-history button.is-on .conv-meta{color:var(--brand)}.tutor-studio .side-new.is-on,.tutor-studio .side-item.is-on,.tutor-studio .side-history button.is-on{box-shadow:inset 3px 0 0 var(--pku)}.tutor-studio .side-foot{display:flex;align-items:center;gap:.6rem;margin:.45rem .15rem 0;padding:.7rem .2rem .05rem}.tutor-studio .side-avatar{width:2rem;height:2rem;border-radius:999px;background:var(--pku);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;flex:none}.tutor-studio .side-foot-main{min-width:0;flex:1}.tutor-studio .side-user{padding:0;font-size:.88rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 900px){.tutor-studio .studio-side{width:16.5rem}}@media (max-width: 560px){.tutor-studio .studio-side{width:100%}.tutor-studio .side-app-body{margin-left:.2rem}}.tutor-studio .studio-side,.tutor-studio .side-foot{background:#fff}[data-theme=dark] .tutor-studio .studio-side,[data-theme=dark] .tutor-studio .side-foot{background:#10141f}.tutor-studio .studio-side{border-right-color:#0f172a0f;padding:1.15rem .85rem .8rem}.tutor-studio .side-brand{padding:.1rem .45rem 1rem}.tutor-studio .side-label{margin:.85rem .45rem .28rem;font-size:.7rem;font-weight:500;letter-spacing:.04em;text-transform:none;color:var(--muted)}.tutor-studio .side-apps .side-label{margin-top:0}.tutor-studio .side-app,.tutor-studio .side-app.is-on,.tutor-studio .side-app:hover{background:transparent;box-shadow:none;color:var(--text);font-weight:600;border-radius:10px;padding:.28rem .35rem}.tutor-studio .side-app:hover{background:#0f172a0a}.tutor-studio .side-app-mark{width:1.45rem;height:1.45rem;border-radius:7px;font-size:.72rem}.tutor-studio .side-app-body{margin:.15rem 0 0;padding-left:0;border-left:0}.tutor-studio .side-new,.tutor-studio .side-new.is-on,.tutor-studio .side-new:hover{background:transparent;border:0;box-shadow:none;color:var(--text);font-weight:500;border-radius:10px;padding:.38rem .45rem}.tutor-studio .side-new:hover{background:#0f172a0a}.tutor-studio .side-new-mark{width:auto;height:auto;border-radius:0;background:transparent;color:var(--pku);font-size:1.15rem;font-weight:400}.tutor-studio .side-item{color:var(--text-secondary);font-weight:400;border-radius:8px;padding:.34rem .5rem}.tutor-studio .side-item:hover,.tutor-studio .side-history button:hover,.tutor-studio .side-new:hover{background:#0f172a0a;color:var(--text);box-shadow:none}.tutor-studio .side-item.is-on,.tutor-studio .side-history button.is-on{background:var(--pku-soft);color:var(--brand);box-shadow:none;font-weight:600}.tutor-studio .side-item.is-on:hover,.tutor-studio .side-history button.is-on:hover{background:var(--pku-soft);color:var(--brand)}.tutor-studio .side-history button{padding:.36rem .5rem;border-radius:8px}.tutor-studio .side-history .tutor-item-title{font-weight:500;font-size:.84rem}.tutor-studio .side-history button.is-on .conv-meta{color:var(--muted)}.tutor-studio .side-avatar{width:1.7rem;height:1.7rem;background:var(--pku-soft);color:var(--brand);font-size:.75rem}.tutor-studio .side-user{font-weight:500;font-size:.84rem}.tutor-studio .side-foot{border-top-color:#0f172a0f}[data-theme=dark] .tutor-studio .side-app:hover,[data-theme=dark] .tutor-studio .side-new:hover,[data-theme=dark] .tutor-studio .side-item:hover,[data-theme=dark] .tutor-studio .side-history button:hover{background:#ffffff0d;color:var(--text)}.tutor-studio .side-apps{display:flex;flex-direction:column;gap:.06rem}.tutor-studio .side-app-mark{background:#94070a14;color:var(--brand)}.tutor-studio .side-app.is-on,.tutor-studio .side-app.is-on:hover{background:var(--pku-soft);color:var(--brand)}.tutor-studio .side-app.is-on .side-app-mark{background:var(--pku);color:#fff}[data-theme=dark] .tutor-studio .side-app.is-on,[data-theme=dark] .tutor-studio .side-app.is-on:hover{background:var(--pku-soft);color:var(--brand)}.tutor-studio .side-app-body{flex:none}.tutor-studio .side-history-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.tutor-studio .side-history-wrap .side-label{margin-top:.85rem}.tutor-studio .studio-side{flex-direction:row;width:auto;padding:0;background:#fff}.tutor-studio .side-rail{width:13.5rem;flex:none;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;padding:1rem .7rem .7rem}.tutor-studio .side-flyout{width:14.5rem;flex:none;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;padding:.95rem .75rem .85rem;background:#f7f3f2;border-right:1px solid rgba(148,7,10,.08)}[data-theme=dark] .tutor-studio .side-flyout{background:#161b2a;border-right-color:var(--border)}.tutor-studio .side-flyout-title{margin:.15rem .45rem .75rem;font-size:.95rem;font-weight:600;letter-spacing:-.02em}.tutor-studio .side-flyout .side-nav{margin-top:.35rem;gap:.15rem}.tutor-studio .side-flyout .side-item{padding:.48rem .6rem;font-size:.92rem}@media (max-width: 900px){.tutor-studio .studio-side{width:auto;flex-direction:row}.tutor-studio .side-rail{width:11.75rem}.tutor-studio .side-flyout{width:12.25rem}}@media (max-width: 560px){.tutor-studio .studio-side{width:100%;flex-direction:column;max-height:18rem}.tutor-studio .side-rail,.tutor-studio .side-flyout{width:100%;height:auto}.tutor-studio .side-flyout{max-height:9rem}}.tutor-studio .library-stage{display:flex;flex-direction:column}.tutor-studio .library-read{flex:1;min-height:0;overflow:auto;padding:.4rem .2rem 1.5rem}.tutor-studio .library-stage.is-note{width:min(820px,calc(100% - 2.4rem))}.tutor-studio .library-read.is-writing{display:flex;flex-direction:column;overflow:hidden;padding:.15rem 0 1rem}.tutor-studio .note-sheet{flex:1;min-height:0;display:flex;flex-direction:column;margin:0;padding:1.35rem 1.55rem .85rem;background:#fff;border:1px solid rgba(148,7,10,.08);border-radius:18px;box-shadow:0 12px 32px #94070a0d}.tutor-studio .note-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .8rem}.tutor-studio .note-place{margin:0;color:var(--brand);font-size:.78rem;font-weight:650;letter-spacing:.04em}.tutor-studio .note-title{width:100%;border:0;border-radius:0;background:transparent;color:var(--text);font:inherit}.tutor-studio .note-title{margin:0;padding:0 0 .8rem;border-bottom:1px solid rgba(148,7,10,.1);font-size:1.7rem;font-weight:650;letter-spacing:-.03em;line-height:1.25}.tutor-studio .note-title::placeholder{color:#c4b4b2}.tutor-studio .note-title:focus{outline:none}.tutor-studio .note-foot{display:flex;justify-content:flex-end;margin-top:.55rem}.tutor-studio .note-count{margin:0;text-align:right;color:var(--muted);font-size:.75rem;white-space:nowrap}.tutor-studio .note-count.is-hot,.tutor-studio .note-status.is-hot{color:var(--brand)}.tutor-studio .note-status{color:var(--muted);font-size:.8rem;white-space:nowrap}.tutor-studio .note-save{padding:.38rem .95rem;border-radius:999px;font-size:.84rem;box-shadow:none}[data-theme=dark] .tutor-studio .note-sheet{background:var(--surface);border-color:var(--border);box-shadow:none}[data-theme=dark] .tutor-studio .note-title{border-bottom-color:var(--border)}[data-theme=dark] .tutor-studio .note-title::placeholder{color:#64748b}.tutor-studio .library-read .plain-body{margin:0;white-space:pre-wrap;font:inherit;line-height:1.75}.tutor-studio .side-flyout .side-nav{flex:1;min-height:0;overflow:auto}.tutor-studio .side-flyout .side-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tutor-studio .side-flyout-pane{flex:1;min-height:0;display:flex;flex-direction:column}.tutor-studio .lib-folder{display:flex;flex-direction:column;gap:.08rem}.tutor-studio .lib-dir{width:100%;display:flex;align-items:center;gap:.35rem;margin:0;padding:.38rem .4rem;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-weight:600;font-size:.92rem;text-align:left;cursor:pointer}.tutor-studio .lib-dir:hover{background:#1410100a}.tutor-studio .lib-chevron{width:.7rem;color:var(--brand);font-size:.72rem;line-height:1}.tutor-studio .lib-count{margin-left:auto;color:var(--muted);font-weight:500;font-size:.75rem}.tutor-studio .lib-files{display:flex;flex-direction:column;gap:.08rem;margin:0 0 .12rem .55rem}[data-theme=dark] .tutor-studio .lib-dir:hover{background:#ffffff0d}.tutor-studio .lib-files .lib-dir{font-weight:500;font-size:.84rem;padding-top:.28rem;padding-bottom:.28rem}.tutor-studio .lib-shelf{width:100%;display:flex;align-items:center;gap:.35rem;margin:.55rem 0 .15rem;padding:.28rem .4rem;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-weight:700;font-size:.92rem;text-align:left;cursor:pointer}.tutor-studio .lib-shelf.is-on{color:var(--brand)}.tutor-studio .catalog-search{width:100%;box-sizing:border-box;margin:0 0 .75rem;padding:.55rem .7rem;border-radius:10px;border:1px solid rgba(148,7,10,.16);background:transparent;color:inherit;font:inherit}.tutor-studio .catalog-subject h2{margin:.85rem 0 .2rem;font-size:.92rem}.tutor-studio .catalog-row{display:flex;align-items:center;gap:.35rem}.tutor-studio .catalog-row .side-item{flex:1;min-width:0}.tutor-studio .tutor-chat-bar{display:flex;align-items:center;gap:.45rem}.tutor-studio .tutor-chat-bar strong{margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-studio .lib-shelf-line{display:flex;align-items:center;gap:.15rem}.tutor-studio .lib-shelf-line .lib-shelf{flex:1;width:auto;min-width:0}.tutor-studio .lib-row{display:flex;align-items:center;gap:.1rem}.tutor-studio .lib-row .lib-dir,.tutor-studio .lib-row .side-item{flex:1;width:auto;min-width:0}.tutor-studio .lib-more{flex:none;width:1.55rem;height:1.55rem;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:1.05rem;line-height:1;cursor:pointer}.tutor-studio .lib-more:hover,.tutor-studio .lib-more[aria-expanded=true]{background:var(--brand-soft);color:var(--brand)}.tutor-studio .lib-menu-wrap{position:relative;flex:none}.tutor-studio .lib-menu{position:fixed;z-index:40;min-width:10.5rem;transform:translate(-100%);padding:.28rem;border-radius:10px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.tutor-studio .lib-menu-item{width:100%;display:flex;align-items:center;gap:.45rem;margin:0;padding:.42rem .5rem;border:0;border-radius:7px;background:transparent;color:var(--text);font:inherit;font-size:.84rem;text-align:left;cursor:pointer}.tutor-studio .lib-menu-item:hover{background:#1410100d}[data-theme=dark] .tutor-studio .lib-menu-item:hover{background:#ffffff0f}.tutor-studio .lib-menu-item.is-danger{color:var(--danger)}.tutor-studio .lib-menu-item.is-danger:hover{background:var(--danger-soft)}.tutor-studio .lib-menu-icon{width:.95rem;height:.95rem;flex:none}.tutor-studio .lib-menu-caret{margin-left:auto;color:var(--muted);font-size:.72rem}.tutor-studio .lib-menu-rule{height:1px;margin:.22rem .35rem;background:var(--border)}.tutor-studio .lib-menu-confirm{padding:.28rem .4rem .12rem}.tutor-studio .lib-menu-confirm p{margin:0 0 .28rem;color:var(--text);font-size:.8rem;line-height:1.45}.tutor-studio .lib-menu-confirm-actions{display:flex;gap:.15rem}.tutor-studio .lib-menu-confirm-actions .lib-menu-item{justify-content:center}.tutor-studio .lib-menu-sub{display:flex;flex-direction:column;margin:0 .15rem .15rem 1.15rem;padding-left:.2rem;border-left:1px solid var(--border)}.tutor-studio .lib-ops{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin:.1rem 0 .2rem}.tutor-studio .lib-ops .side-item{flex:1;min-width:4rem;text-align:left}.tutor-studio .lib-name,.tutor-studio .lib-ops select,.tutor-studio .catalog-place select,.tutor-studio .tutor-chat-bar select{font:inherit;font-size:.78rem;max-width:100%}.tutor-studio .catalog-place{display:flex;align-items:center;gap:.4rem;margin:.35rem 0 .7rem}
