:root{--bg: #ffffff;--bg-side: #f7f7f8;--bg-soft: #f0f1f3;--bg-hover: #ebecef;--border: #e3e5e8;--text: #1d2228;--text-dim: #6b7380;--accent: #2f6fde;--accent-text: #ffffff;--user-bg: #e9f1fe;--ok: #1f9d55;--warn: #c98a00;--err: #d0393e;--code-bg: #f6f7f9;--shadow: 0 2px 12px rgb(0 0 0 / .06), 0 1px 3px rgb(0 0 0 / .04);--shadow-pop: 0 8px 28px rgb(0 0 0 / .12), 0 2px 6px rgb(0 0 0 / .06);--hl-keyword: #cf222e;--hl-string: #0a3069;--hl-number: #0550ae;--hl-comment: #6e7781;--hl-title: #8250df;--hl-variable: #953800;--hl-meta: #116329;--content-width: 760px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #17191d;--bg-side: #1c1e23;--bg-soft: #24272d;--bg-hover: #2b2f36;--border: #2f333a;--text: #e6e8eb;--text-dim: #8c94a0;--accent: #5b8ff0;--user-bg: #22314b;--ok: #3fbf74;--warn: #e0a72a;--err: #ef5d62;--code-bg: #111316;--shadow: 0 2px 12px rgb(0 0 0 / .3);--shadow-pop: 0 8px 28px rgb(0 0 0 / .45);--hl-keyword: #ff7b72;--hl-string: #a5d6ff;--hl-number: #79c0ff;--hl-comment: #8b949e;--hl-title: #d2a8ff;--hl-variable: #ffa657;--hl-meta: #7ee787;color-scheme:dark}}:root[data-theme=dark]{--bg: #17191d;--bg-side: #1c1e23;--bg-soft: #24272d;--bg-hover: #2b2f36;--border: #2f333a;--text: #e6e8eb;--text-dim: #8c94a0;--accent: #5b8ff0;--user-bg: #22314b;--ok: #3fbf74;--warn: #e0a72a;--err: #ef5d62;--code-bg: #111316;--shadow: 0 2px 12px rgb(0 0 0 / .3);--shadow-pop: 0 8px 28px rgb(0 0 0 / .45);--hl-keyword: #ff7b72;--hl-string: #a5d6ff;--hl-number: #79c0ff;--hl-comment: #8b949e;--hl-title: #d2a8ff;--hl-variable: #ffa657;--hl-meta: #7ee787;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.65 system-ui,-apple-system,Segoe UI,Microsoft YaHei,sans-serif}button{font:inherit;cursor:pointer;border:none;border-radius:6px;padding:6px 14px;background:var(--accent);color:var(--accent-text)}button:disabled{opacity:.45;cursor:default}button.secondary{background:var(--bg-soft);color:var(--text);border:1px solid var(--border)}button.link{background:none;color:var(--text-dim);padding:2px 4px}.icon-button{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border-radius:50%;background:transparent;color:var(--text-dim)}.icon-button:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.icon-button.small{width:26px;height:26px}pre{margin:0;white-space:pre-wrap;word-break:break-word;font:12px/1.5 ui-monospace,Cascadia Code,Consolas,monospace}.shell{display:flex;flex-direction:column;height:100%}.titlebar{height:40px;flex-shrink:0;display:flex;align-items:center;background:var(--bg-side);-webkit-app-region:drag;-webkit-user-select:none;user-select:none}.platform-win32 .titlebar,.platform-linux .titlebar{padding-right:140px}.titlebar-left{display:flex;align-items:center;gap:2px;flex-shrink:0;padding:0 8px;transition:width .18s ease}.platform-darwin .titlebar-left{padding-left:78px}.titlebar-button{display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:7px;background:transparent;color:var(--text-dim);-webkit-app-region:no-drag}.titlebar-button:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.titlebar-app{margin-left:6px;font-weight:600;font-size:13px}.titlebar-title{flex:1;min-width:0;padding:0 16px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app{position:relative;flex:1;min-height:0;display:flex}.peek-zone{display:contents}.shell.peeking .peek-zone{position:absolute;top:0;bottom:0;left:0;z-index:26;display:flex;background:var(--bg-side);box-shadow:var(--shadow-pop);animation:peek-in .15s ease-out}.shell.peeking.rail-pinned .app{padding-left:52px}.shell.peeking.rail-pinned .peek-zone{animation:none}@keyframes peek-in{0%{opacity:0;transform:translate(-12px)}}.sidebar{flex-shrink:0;overflow:hidden;background:var(--bg-side);border-right:1px solid var(--border);transition:width .18s ease}.sidebar.collapsed{border-right:none}.sidebar.dragging,.sidebar.dragging+.sidebar-resizer{transition:none}.sidebar-inner{height:100%;display:flex}.sidebar-panel{height:100%;min-width:0;display:flex;flex-direction:column}.sidebar-resizer{position:relative;z-index:5;width:8px;margin:0 -4px;flex-shrink:0;cursor:col-resize}.sidebar-resizer:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:2px;background:transparent;transition:background .15s}.sidebar-resizer:hover:after,.sidebar-resizer.active:after{background:var(--accent)}.shell:has(.sidebar-resizer.active){cursor:col-resize;-webkit-user-select:none;user-select:none}.new-session{margin:12px 12px 6px}.ws-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 4px 18px;font-size:12px;color:var(--text-dim)}.session-list{flex:1;overflow-y:auto;padding:0 8px 8px}.ws-row{display:flex;align-items:center;gap:6px;height:34px;padding:0 4px 0 10px;margin-bottom:1px;border-radius:7px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.ws-row:hover,.ws-row.menu-open{background:var(--bg-hover)}.session-row.active{background:var(--bg-hover);font-weight:600}.session-row.nested{padding-left:32px}.folder-row>svg{flex-shrink:0;color:var(--text-dim)}.ws-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-count{font-size:12px;color:var(--text-dim)}.ws-more{display:grid;place-items:center;width:26px;height:26px;padding:0;flex-shrink:0;border-radius:6px;background:transparent;color:var(--text-dim);opacity:0}.ws-row:hover .ws-more,.ws-row.menu-open .ws-more{opacity:1}.ws-more:hover{background:var(--border);color:var(--text)}.ws-row:hover .ws-count,.ws-row.menu-open .ws-count{display:none}.folder-empty{padding:4px 10px 8px 32px;font-size:12px;color:var(--text-dim)}.ws-section{padding:12px 10px 4px;font-size:12px;color:var(--text-dim)}.ws-root{min-height:40px;border-radius:8px}.folder.drop>.folder-row,.ws-root.drop{background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 50%,transparent)}.rename-input{flex:1;min-width:0;font:inherit;font-weight:400;color:var(--text);background:var(--bg);border:1px solid var(--accent);border-radius:5px;padding:2px 6px;outline:none}.row-menu{position:fixed;min-width:200px;max-height:60vh;overflow-y:auto}.popover-item.danger{color:var(--err)}.popover-item.danger:hover{background:color-mix(in srgb,var(--err) 10%,transparent)}.dot{display:inline-block;flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--accent)}.sidebar-foot{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-top:1px solid var(--border);font-size:12px}.status{color:var(--text-dim)}.status.ok{color:var(--ok)}.status.warn{color:var(--warn)}.status.err{color:var(--err)}.chat{flex:1;min-width:0;display:flex;flex-direction:column}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0 16px;text-align:center}.empty-title{font-size:22px;font-weight:600}.empty-sub{color:var(--text-dim)}.messages-wrap{flex:1;min-height:0;position:relative}.messages{height:100%;overflow-y:auto}.messages-inner{max-width:var(--content-width);margin:0 auto;padding:20px 24px 24px;font-size:var(--chat-font-size, 14px)}.turn{margin-bottom:28px}.history-loader{text-align:center;padding:4px 0 24px;color:var(--text-dim);font-size:13px}.history-error{margin-top:8px}.user-turn{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-bottom:14px}.time-label{align-self:center;font-size:12px;color:var(--text-dim);margin:6px 0 4px}.user-images{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:100%}.user-images img{width:88px;height:88px;object-fit:cover;border-radius:10px;border:1px solid var(--border);cursor:zoom-in;display:block}.user-images img:hover{filter:brightness(.95)}.user-files{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.bubble{max-width:80%;background:var(--user-bg);padding:9px 14px;border-radius:16px;white-space:pre-wrap;word-break:break-word}.user-actions{display:flex;align-items:center;gap:6px;margin-top:-4px;opacity:0;transition:opacity .15s}.user-turn:hover .user-actions,.user-turn.show-detail .user-actions{opacity:1}.msg-time{font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.floating-day{position:absolute;top:10px;left:50%;z-index:3;transform:translate(-50%);padding:3px 12px;border-radius:999px;background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);font-size:12px;color:var(--text-dim);pointer-events:none;animation:floating-day-in .15s ease-out}@keyframes floating-day-in{0%{opacity:0;transform:translate(-50%,-4px)}}.file-chip,.attachment.file{display:flex;align-items:center;gap:8px;max-width:240px;padding:6px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.file-icon{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:8px;background:var(--accent);color:var(--accent-text)}.file-meta{display:flex;flex-direction:column;min-width:0;line-height:1.3}.file-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:11px;color:var(--text-dim)}.process{margin-bottom:10px}.process-head{display:inline-flex;align-items:center;gap:4px;padding:2px 0;background:none;color:var(--text-dim);font-size:13px}.process-head:hover{color:var(--text)}.process-count{opacity:.8}.process.running .process-head>span:first-child{background:linear-gradient(90deg,var(--text-dim) 0%,var(--text) 50%,var(--text-dim) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 1.6s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.process-body{margin:6px 0 4px 4px;padding-left:14px;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:8px}.step{font-size:13px;color:var(--text-dim)}.step-thinking{white-space:pre-wrap;font-size:13px;color:var(--text-dim);max-height:260px;overflow-y:auto}.answer{word-break:break-word}.meta{font-size:12px;color:var(--text-dim)}.cursor{display:inline-block;width:7px;height:1em;background:var(--text-dim);vertical-align:text-bottom;margin-left:2px;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.msg-error{color:var(--err);font-size:13px;white-space:pre-wrap;margin-top:6px}.turn-stats{margin-top:10px;font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.scroll-bottom{position:absolute;bottom:12px;left:50%;transform:translate(-50%);width:32px;height:32px;padding:0;display:grid;place-items:center;border-radius:50%;background:var(--bg);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow)}.tool{border:1px solid var(--border);border-radius:8px;overflow:hidden;font-size:13px}.tool-head{display:flex;gap:8px;align-items:center;width:100%;text-align:left;background:var(--bg-soft);color:var(--text);border-radius:0;padding:5px 10px}.tool-icon{width:14px;text-align:center}.tool.running .tool-icon{color:var(--accent);animation:blink 1s steps(2) infinite}.tool.done .tool-icon{color:var(--ok)}.tool.error .tool-icon{color:var(--err)}.tool-name{font-weight:600}.tool-arg{color:var(--text-dim);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tool-body{border-top:1px solid var(--border)}.tool-images{display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px;border-top:1px solid var(--border)}.tool-images img{max-width:260px;max-height:160px;border-radius:6px;border:1px solid var(--border);cursor:zoom-in;display:block}.tool-args,.tool-output{padding:8px 10px;max-height:320px;overflow:auto;background:var(--code-bg)}.tool-output{border-top:1px dashed var(--border)}.error-bar{max-width:var(--content-width);width:calc(100% - 48px);margin:0 auto 8px;padding:6px 12px;border-radius:8px;background:color-mix(in srgb,var(--err) 12%,transparent);color:var(--err);font-size:13px;cursor:pointer}.composer-wrap{padding:0 24px 18px}.study-shortcuts{max-width:var(--content-width);margin:0 auto 9px;display:flex;flex-wrap:wrap;gap:8px}.study-shortcut{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 11px;background:var(--bg-soft);border:1px solid var(--border);border-radius:9px;color:var(--text);font-size:13px}.study-shortcut.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--bg))}.study-shortcut:hover:not(:disabled){background:var(--bg-hover)}@media(pointer:coarse){.study-shortcut{min-height:44px}}@media(max-width:480px){.study-shortcuts{gap:6px}.study-shortcut{flex:1;gap:5px;padding:8px 5px;font-size:12px;white-space:nowrap}.study-shortcut svg{width:14px;height:14px}}.composer{max-width:var(--content-width);margin:0 auto;display:flex;flex-direction:column;gap:6px;padding:10px 10px 8px 14px;background:var(--bg);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);cursor:text}.composer:focus-within{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.composer.dragging{border-color:var(--accent);border-style:dashed}.composer textarea{width:100%;resize:none;font:inherit;font-size:var(--chat-font-size, 14px);color:var(--text);background:transparent;border:none;outline:none;padding:2px 0;field-sizing:content;min-height:46px;max-height:220px;overflow-y:auto}.composer-bar{display:flex;align-items:center;gap:6px;margin-left:-6px}.spacer{flex:1}.send-button{display:grid;place-items:center;width:32px;height:32px;padding:0;border-radius:50%;background:var(--accent);color:var(--accent-text)}.send-button.stop{background:var(--text);color:var(--bg)}.attachments{display:flex;flex-wrap:wrap;gap:10px;padding-top:4px}.attachment{position:relative}.attachment.image img{width:60px;height:60px;object-fit:cover;border-radius:10px;border:1px solid var(--border);display:block}.attachment.preparing img{opacity:.45}.attachment .spinner{position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.attachment .remove{position:absolute;top:-7px;right:-7px;width:20px;height:20px;padding:0;display:grid;place-items:center;border-radius:50%;background:var(--text);color:var(--bg);opacity:0;transition:opacity .15s}.attachment .remove svg{width:11px;height:11px}.attachment:hover .remove{opacity:1}.selection-action{position:fixed;z-index:25;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--bg);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-pop);font-size:13px}.selection-action:hover{background:var(--bg-hover)}.quotes{display:flex;flex-direction:column;gap:6px;padding-top:4px}.quote-card,.user-quote{display:flex;align-items:flex-start;gap:8px;padding:7px 8px 7px 10px;border-radius:10px;background:var(--bg-soft);color:var(--text-dim);font-size:13px;line-height:1.5}.quote-card .quote-icon,.user-quote>svg{flex-shrink:0;margin-top:2px;opacity:.7}.quote-text{flex:1;min-width:0;white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.quote-card .icon-button{margin:-3px -2px -3px 0}.user-quote{max-width:80%;padding-right:12px}.menu-anchor,.picker{position:relative}.popover{position:absolute;z-index:20;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-pop);padding:6px;cursor:default}.popover-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:7px 10px;border-radius:8px;background:transparent;color:var(--text)}.popover-item:hover{background:var(--bg-hover)}.popover-item-main{flex:1;display:flex;flex-direction:column;line-height:1.35}.popover-item-sub{font-size:12px;color:var(--text-dim)}.popover-title{padding:4px 10px 2px;font-size:12px;color:var(--text-dim)}.popover-divider{height:1px;background:var(--border);margin:6px 4px}.popover-hint{padding:4px 10px 2px;font-size:11px;color:var(--text-dim);line-height:1.5}.popover-hint.warn{color:var(--warn)}.plus-menu{bottom:40px;left:0;width:330px}.context-menu{position:fixed;min-width:160px}.picker-button{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 12px;border-radius:999px;background:transparent;color:var(--text-dim);font-size:13px}.picker-button:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.picker-model{color:var(--text)}.picker-level{opacity:.85}.picker-popover{bottom:40px;right:0;width:310px}.segmented{display:flex;margin:4px 6px;padding:3px;gap:2px;border-radius:9px;background:var(--bg-soft)}.segmented button{flex:1;padding:4px 0;border-radius:7px;background:transparent;color:var(--text-dim);font-size:12px}.segmented button.active{background:var(--bg);color:var(--text);box-shadow:0 1px 3px #0000001f}.lightbox{position:fixed;inset:0;z-index:30;background:#000c;display:grid;place-items:center;cursor:zoom-out}.lightbox{overflow:hidden}.lightbox img{max-width:92vw;max-height:calc(100vh - 120px);border-radius:6px;cursor:zoom-in;-webkit-user-select:none;user-select:none;touch-action:none;transition:transform .15s ease}.lightbox img.sideways{max-width:calc(100vh - 120px);max-height:92vw}.lightbox img.zoomed{cursor:grab}.lightbox img.zoomed:active{cursor:grabbing;transition:none}.lightbox-bar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:2px;padding:5px;border-radius:12px;background:#1e2024eb;cursor:default;white-space:nowrap}.lightbox-bar button{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:transparent;color:#f0f0f0;font-size:13px}.lightbox-bar button:hover:not(:disabled){background:#ffffff1f}.lightbox-bar button:disabled{opacity:.4}.lightbox-scale{min-width:52px;justify-content:center;font-variant-numeric:tabular-nums}.lightbox-sep{width:1px;height:18px;margin:0 4px;background:#fff3}.lightbox-hint{position:fixed;bottom:72px;left:50%;transform:translate(-50%);padding:3px 10px;border-radius:6px;background:#1e2024cc;color:#ddd;font-size:12px;pointer-events:none}.toast{position:fixed;z-index:40;bottom:110px;left:50%;transform:translate(-50%);padding:7px 16px;border-radius:8px;background:var(--text);color:var(--bg);font-size:13px;box-shadow:var(--shadow-pop)}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol,.md blockquote,.md table,.md .code-block{margin:0 0 10px}.md h1,.md h2,.md h3,.md h4{margin:18px 0 8px;line-height:1.35}.md h1{font-size:1.4em}.md h2{font-size:1.25em}.md h3{font-size:1.1em}.md ul,.md ol{padding-left:22px}.md li+li{margin-top:2px}.md a{color:var(--accent)}.md blockquote{border-left:3px solid var(--border);padding-left:12px;color:var(--text-dim)}.md hr{border:none;border-top:1px solid var(--border);margin:14px 0}.md table{border-collapse:collapse;display:block;overflow-x:auto}.md th,.md td{border-bottom:1px solid var(--border);padding:7px 14px 7px 0;text-align:left}.md th{font-weight:600}.md :not(pre)>code{font:.9em ui-monospace,Cascadia Code,Consolas,monospace;background:var(--bg-soft);padding:1px 5px;border-radius:4px}.code-block{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--code-bg)}.code-head{display:flex;justify-content:space-between;align-items:center;padding:2px 6px 2px 12px;font-size:12px;color:var(--text-dim);border-bottom:1px solid var(--border)}.code-block pre{padding:10px 12px;overflow-x:auto;white-space:pre;word-break:normal;font-size:12.5px}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-type{color:var(--hl-keyword)}.hljs-string,.hljs-attr,.hljs-template-string,.hljs-regexp{color:var(--hl-string)}.hljs-number,.hljs-literal,.hljs-symbol{color:var(--hl-number)}.hljs-comment,.hljs-quote{color:var(--hl-comment);font-style:italic}.hljs-title,.hljs-title.function_,.hljs-section{color:var(--hl-title)}.hljs-variable,.hljs-params,.hljs-property{color:var(--hl-variable)}.hljs-meta,.hljs-tag,.hljs-name{color:var(--hl-meta)}.hljs-addition{color:var(--ok)}.hljs-deletion{color:var(--err)}.overlay{position:fixed;inset:0;z-index:50;background:#00000059;display:grid;place-items:center}.dialog{width:min(440px,calc(100% - 32px));background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px}.dialog h2{margin:0 0 4px;font-size:16px}.dialog label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-dim)}.dialog input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 8px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.dialog.confirm{width:min(400px,calc(100% - 32px));box-shadow:var(--shadow-pop)}.confirm-message{margin:0;color:var(--text-dim);line-height:1.6}.dialog-actions button.danger{background:var(--err);color:#fff}.settings{position:relative;display:flex;width:min(860px,calc(100% - 48px));height:min(600px,calc(100% - 48px));background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-pop);overflow:hidden}.settings-nav{width:200px;flex-shrink:0;padding:18px 10px;background:var(--bg-side);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.settings-nav h2{margin:0 10px 14px;font-size:17px}.settings-tab{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;text-align:left;border-radius:8px;background:transparent;color:var(--text)}.settings-tab:hover{background:var(--bg-hover)}.settings-tab.active{background:var(--bg-hover);font-weight:600}.settings-tab svg{color:var(--text-dim)}.settings-body{flex:1;min-width:0;overflow-y:auto;padding:22px 28px}.settings-close{position:absolute;top:14px;right:14px}.settings-panel{display:flex;flex-direction:column;gap:14px}.settings-panel h3{margin:0;font-size:16px}.panel-head{display:flex;align-items:center;gap:12px;padding-right:36px}.panel-head h3{flex:1}.panel-note{font-size:13px;color:var(--text-dim)}.panel-note.err{color:var(--err)}.small-button{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:13px}.card{border:1px solid var(--border);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.card-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.card-title{font-weight:600}.card-sub{font-size:12px;color:var(--text-dim)}.card-divider{height:1px;background:var(--border)}.card-actions{display:flex;gap:8px}.card-actions button{display:inline-flex;align-items:center;gap:6px}.balance{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.badge{font-size:12px;padding:2px 8px;border-radius:999px}.badge.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.badge.err{color:var(--err);background:color-mix(in srgb,var(--err) 12%,transparent)}.setting{display:flex;flex-direction:column;gap:10px;padding:14px 0;border-bottom:1px solid var(--border)}.setting.row{flex-direction:row;align-items:center;justify-content:space-between}.setting:last-child{border-bottom:none}.setting-label{font-weight:500}.setting-sub{font-size:12px;color:var(--text-dim)}.setting-sub.align-right{text-align:right}.theme-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.theme-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 0;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.theme-card:hover{background:var(--bg-hover)}.theme-card.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.settings select{font:inherit;color:var(--text);background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;padding:5px 10px}.settings .segmented{margin:0}.settings .segmented button{min-width:38px;padding:4px 8px}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-dim)}.field input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:7px 10px}.setting-group-title{margin-top:8px;font-size:12px;font-weight:600;color:var(--text-dim)}.settings select{max-width:220px}.switch{position:relative;flex-shrink:0;width:40px;height:22px;padding:0;border-radius:999px;background:var(--border);transition:background .15s}.switch span{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}.switch.on{background:var(--accent)}.switch.on span{transform:translate(18px)}.setting.row>div:first-child{min-width:0;padding-right:16px}.login-page{height:100%;display:grid;place-items:center;padding:24px;background:var(--bg-side)}.login-card{width:min(380px,100%);display:flex;flex-direction:column;gap:14px;padding:28px 28px 24px;background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-pop)}.login-card h1{margin:0;font-size:22px}.login-sub{margin:-6px 0 4px;font-size:13px;color:var(--text-dim)}.login-card button[type=submit]{margin-top:4px;padding:9px 14px}.login-error{font-size:13px;color:var(--err)}.login-drag{position:fixed;top:0;left:0;right:0;height:40px;-webkit-app-region:drag}.login-icp{position:absolute;bottom:24px;left:0;right:0;text-align:center;font-size:12px}.login-icp a{color:var(--text-dim);text-decoration:none}.login-icp a:hover{text-decoration:underline}.sidebar-foot .account-chip{flex:1;min-width:0}.account-chip{display:flex;align-items:center;gap:10px;padding:4px 6px;margin-left:-6px;border-radius:8px;background:transparent;color:var(--text);text-align:left}button.account-chip:hover{background:var(--bg-hover)}.account-chip.static{margin-left:0;padding:0}.avatar{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-text);font-weight:600;font-size:14px}.account-meta{display:flex;flex-direction:column;min-width:0;line-height:1.3}.account-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-meta .status{font-size:11px}.shell{overflow:hidden}html,body{overscroll-behavior-x:none}.sidebar-backdrop{display:none}@media(max-width:760px){.app{position:relative}.sidebar{position:absolute;top:0;bottom:0;left:52px;z-index:25;max-width:calc(100vw - 92px);box-shadow:var(--shadow)}.sidebar.collapsed{box-shadow:none}.sidebar-inner{max-width:calc(100vw - 92px)}.sidebar-resizer{display:none}.sidebar-backdrop{display:block;position:absolute;inset:0 0 0 52px;z-index:24;background:#00000040}.titlebar-left{width:auto!important}.composer-wrap{padding:0 10px 10px}.picker{min-width:0}.picker-button{max-width:100%;min-width:0}.picker-model{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-level{white-space:nowrap}.composer{position:relative}.composer .menu-anchor,.composer .picker{position:static}.composer .picker-popover,.composer .plus-menu{left:0;right:0;bottom:calc(100% + 6px);width:auto;max-height:70vh;overflow-y:auto}}@media(hover:none){.ws-more{opacity:.7}.ws-row .ws-count{display:none}}.img-placeholder{display:block;border-radius:10px;border:1px solid var(--border);background:var(--bg-hover);animation:placeholder-pulse 1.2s ease-in-out infinite}.user-images .img-placeholder{width:88px;height:88px}.tool-images .img-placeholder{width:160px;height:100px;border-radius:6px}@keyframes placeholder-pulse{50%{opacity:.5}}.md details.solution{margin:8px 0 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-side)}.md details.solution>summary{padding:6px 12px;cursor:pointer;color:var(--accent);font-size:.92em;-webkit-user-select:none;user-select:none}.md .solution-body{padding:4px 14px 10px;white-space:pre-wrap;line-height:1.8}.profile-text{width:100%;min-height:220px;margin-top:10px;padding:10px 12px;box-sizing:border-box;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;line-height:1.7;resize:vertical}.profile-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.ws-others{margin-top:10px}.ws-row.readonly .ws-label{color:var(--text-dim)}.ws-row.readonly.active .ws-label{color:var(--text)}.rail{width:52px;flex-shrink:0;box-sizing:border-box;background:var(--bg-side);display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0;border-right:1px solid var(--border)}.rail .spacer{flex:1}.rail .rail-push,.rail .rail-toggle{display:none}@media(max-width:760px){.rail{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.rail .rail-push{display:block;flex:1}.rail .spacer{flex:0 0 auto;width:24px;height:1px;margin:4px 0;background:var(--border)}.rail .rail-toggle{display:grid}.shell:not(.rail-hidden) .titlebar-toggle{display:none}}.rail-button{display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:10px;background:transparent;color:var(--text-dim)}.rail-button svg{width:19px;height:19px}.rail-button:hover{background:var(--bg-hover);color:var(--text)}.rail-button.active{background:var(--bg-hover);color:var(--accent)}.rail-button{position:relative}.rail-caret{position:absolute;top:50%;right:-5px;width:6px;height:6px;margin-top:-3px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);opacity:.8}.rail-caret.open{right:-3px;transform:rotate(-135deg)}.rail-caret.pulse{animation:caret-nudge 1.2s ease-in-out infinite}@keyframes caret-nudge{50%{right:-8px}}.rail-hint{position:absolute;top:50%;left:calc(100% + 14px);z-index:40;display:flex;align-items:center;gap:8px;width:max-content;max-width:220px;padding:8px 8px 8px 12px;border-radius:10px;background:var(--accent);color:var(--accent-text);box-shadow:var(--shadow-pop);font-size:13px;line-height:1.4;text-align:left;white-space:normal;transform:translateY(-50%);animation:hint-pop .25s ease-out}.rail-hint:before{content:"";position:absolute;top:50%;left:-6px;margin-top:-6px;border:6px solid transparent;border-left:0;border-right-color:var(--accent)}.rail-hint-close{display:grid;place-items:center;flex-shrink:0;width:22px;height:22px;border-radius:50%;background:#fff3;font-size:11px}@keyframes hint-pop{0%{opacity:0;transform:translate(-6px,-50%)}}.sidebar-swipe-hint{position:fixed;z-index:40;left:max(12px,env(safe-area-inset-left));bottom:calc(92px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;width:min(354px,calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));padding:16px 42px 16px 14px;border-radius:14px;background:var(--accent);color:var(--accent-text);box-shadow:var(--shadow-pop);animation:hint-pop .25s ease-out}.sidebar-swipe-step{margin-bottom:3px;font-size:11px;opacity:.85}.sidebar-swipe-hint strong{font-size:14px}.sidebar-swipe-hint p{margin:5px 0 0;font-size:12px;line-height:1.5}.sidebar-swipe-track{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:12px;background:#ffffff26;overflow:hidden}.sidebar-swipe-track span{font-size:27px;animation:sidebar-swipe-nudge 1.5s ease-in-out infinite}.sidebar-swipe-close{position:absolute;top:0;right:0;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:12px;background:transparent;color:inherit}.sidebar-swipe-close svg{width:15px;height:15px}.sidebar-swipe-hint-shown{left:max(64px,calc(52px + env(safe-area-inset-left)));width:min(354px,calc(100vw - 76px - env(safe-area-inset-left) - env(safe-area-inset-right)))}.sidebar-swipe-hint.swipe-left .sidebar-swipe-track span{animation-direction:reverse}@keyframes sidebar-swipe-nudge{0%,to{transform:translate(-5px)}60%{transform:translate(5px)}}@media(prefers-reduced-motion:reduce){.sidebar-swipe-hint,.sidebar-swipe-track span{animation:none}}.readonly-bar{max-width:var(--content-width);margin:0 auto 8px;padding:6px 12px;border-radius:10px;background:var(--bg-hover);color:var(--text-dim);font-size:12px;text-align:center}.mistakes-main{overflow-y:auto;overflow-x:hidden}.mistakes-page{width:100%;max-width:var(--content-width);margin:0 auto;padding:20px 24px 40px;box-sizing:border-box}.mistakes-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mistakes-head h2{margin:0;font-size:20px}.mistakes-head .secondary{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.mistakes-sub{margin-top:4px;font-size:12px;color:var(--text-dim)}.mistakes-filters{display:flex;flex-direction:column;gap:10px;margin:16px 0 12px}.mistakes-filters .segmented{align-self:flex-start}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-dim);font-size:12px}.chip.active{border-color:var(--accent);color:var(--accent)}.mistakes-selection{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:8px 12px;border-radius:10px;background:var(--bg-side);border:1px solid var(--border);font-size:13px}.mistakes-list{display:flex;flex-direction:column;gap:10px}.mistakes-empty{padding:40px 0;text-align:center;color:var(--text-dim)}.mistake-card{padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.mistake-card.mastered{opacity:.7}.mistake-card.selected{border-color:var(--accent)}.mistake-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mistake-item{font-weight:600}.mistake-point{padding:1px 8px;border-radius:999px;background:var(--bg-hover);font-size:12px}.mistake-badge{font-size:12px;color:var(--accent)}.mistake-meta{font-size:12px;color:var(--text-dim)}.mistake-question{margin:8px 0 4px;white-space:pre-wrap}.mistake-rows{display:flex;flex-direction:column;gap:3px;font-size:13px}.mistake-rows details summary{cursor:pointer;color:var(--accent)}.mistake-label{display:inline-block;min-width:5em;margin-right:6px;color:var(--text-dim)}.mistake-note{margin-top:4px;font-size:13px}.mistake-note-edit input{width:100%;margin-top:6px;padding:6px 10px;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}.mistake-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:12px}.link.danger{color:var(--err)}.mistake-form{width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box}.mistake-form h3{margin:0 0 10px}.image-import-dialog{width:min(1040px,calc(100vw - 32px))!important}.image-import-upload{border:1px dashed var(--border);border-radius:10px;padding:12px;margin:14px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.image-import-upload p{width:100%;margin:0;color:var(--text-dim);font-size:13px;line-height:1.7}.image-import-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}.image-import-grid>aside{position:sticky;top:0;min-width:0}.image-import-grid>aside h4{margin:0 0 12px}.image-import-grid>aside img{width:100%;height:auto;border:1px solid var(--border);border-radius:8px}.image-import-grid>aside p{font-size:12px;line-height:1.7;color:var(--text-dim)}.image-import-drafts{min-width:0}.image-import-selection{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:12px;font-size:14px}.image-import-card{border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:14px}.image-import-card.excluded{opacity:.65}.dialog .image-import-select{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text)}.image-import-select input{width:17px;height:17px;accent-color:var(--accent)}.image-import-fields{border:0;margin:0;padding:0;min-width:0}.image-import-fields .form-field{margin-top:15px}.image-import-fields .form-field input,.image-import-fields textarea{box-sizing:border-box;width:100%}.image-import-error{background:var(--bg-side);color:var(--danger,#c93030);padding:12px;border-radius:8px;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.image-import-warnings{margin:10px 0;padding-left:20px;font-size:12px;line-height:1.8;color:var(--text-dim);overflow-wrap:anywhere}.image-import-status{font-size:14px;line-height:1.8;color:var(--accent)}.image-import-actions{position:sticky;bottom:0;padding:12px 0;background:var(--bg);z-index:1}.image-import-original{display:block;width:100%;padding:0!important;border:0!important;background:transparent!important;cursor:zoom-in}.image-import-zoom{position:fixed;inset:12px;z-index:65;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-pop)}.image-import-zoom>div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.image-import-zoom>section{min-height:0;flex:1;overflow:auto}.image-import-zoom>section img{display:block;max-width:none;max-height:none}@media(max-width:760px){.image-import-dialog{width:calc(100vw - 32px)!important}.image-import-grid{grid-template-columns:minmax(0,1fr);gap:12px}.image-import-grid>aside{position:static}.image-import-grid>aside img{max-height:260px;object-fit:contain}.image-import-upload button{min-height:40px}.image-import-fields input,.image-import-fields textarea{font-size:16px}.image-import-card{padding:12px}}.form-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:13px}.form-field span{color:var(--text-dim)}.form-field input,.form-field textarea{padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;resize:vertical}@media(max-width:760px){.mistakes-page{padding:14px 12px 30px}}[hidden]{display:none!important}.mistake-card .mistake-top{cursor:pointer;flex-wrap:nowrap}.mistake-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mistake-top .mistake-point,.mistake-top .mistake-meta{flex-shrink:0}.mistake-detail{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.mistake-image img{display:block;max-width:100%;max-height:360px;border-radius:8px;border:1px solid var(--border)}.mistake-image .img-placeholder{width:240px;height:120px}@media(max-width:760px){.mistake-top .mistake-point{display:none}}.mistakes-filters .segmented button{flex:none;padding:4px 14px;white-space:nowrap}.subject-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border)}.subject-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;margin-bottom:-1px;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--text-dim);font-size:14px}.subject-tab.active{border-bottom-color:var(--accent);color:var(--text);font-weight:600}.subject-count{min-width:18px;padding:0 5px;border-radius:999px;background:var(--bg-hover);color:var(--text-dim);font-size:11px;font-weight:400;line-height:18px;text-align:center}.subject-tag{flex-shrink:0;padding:1px 7px;border-radius:6px;font-size:12px;font-weight:600;color:#fff}.subject-tag.subject-数学{background:#2f6fde}.subject-tag.subject-语文{background:#d9534f}.subject-tag.subject-英语{background:#2e9e6b}.subject-tag.subject-地理{background:#a56b24}.mastered-check{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-size:12px;color:var(--text-dim);cursor:pointer}.mistake-pick{display:inline-flex;align-items:center;flex-shrink:0;margin:-6px 0 -6px -4px;padding:6px 4px;cursor:pointer}.mistake-pick input,.mistakes-all input{width:17px;height:17px;margin:0;accent-color:var(--accent)}.mistakes-all{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:2px 14px;font-size:13px;color:var(--text-dim);cursor:pointer}.mistake-form .segmented{margin:0;align-self:flex-start}.mistake-form .segmented button{flex:none;padding:4px 16px}@media(max-width:760px){.settings{flex-direction:column;width:100%;height:100%;border:none;border-radius:0}.settings-nav{width:auto;flex-direction:row;align-items:center;gap:4px;padding:8px;border-right:none;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.settings-nav h2{display:none}.settings-tab{width:auto;flex-shrink:0;padding:6px 10px;white-space:nowrap}.settings-tab svg{display:none}.settings-close{position:sticky;top:auto;right:0;flex-shrink:0;margin-left:auto;background:var(--bg-side)}.settings-body{padding:16px}.setting.row{flex-direction:column;align-items:stretch;gap:8px}.setting.row>div:first-child{padding-right:0}.settings select{max-width:100%;width:100%}.theme-cards{gap:6px}.dialog{max-width:calc(100vw - 24px);box-sizing:border-box}}.nickname-row{flex-wrap:wrap}.nickname-edit{display:flex;gap:8px;flex-shrink:0}.nickname-edit input{width:9em;padding:5px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft);color:var(--text);font:inherit}.setting-sub.error-text{width:100%;color:var(--err)}@media(max-width:760px){.nickname-edit input{flex:1;width:auto}}.agent-list{display:flex;flex-direction:column;gap:2px;padding:10px 8px 4px;border-bottom:1px solid var(--border)}.agent-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;cursor:pointer}.agent-row:hover{background:var(--bg-hover)}.agent-row.active{background:var(--bg-hover);box-shadow:inset 3px 0 0 var(--accent)}.agent-avatar{flex-shrink:0;border-radius:50%;object-fit:cover}.agent-avatar.emoji{display:grid;place-items:center;background:var(--bg-soft)}.agent-meta{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.35}.agent-name{font-weight:600;font-size:13px}.agent-desc{font-size:11px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-row .agent-edit{opacity:.55}.agent-row:hover .agent-edit{opacity:1}@media(hover:none){.agent-row .agent-edit{opacity:.7}}.empty .agent-avatar{margin-bottom:8px}.agent-editor{width:min(640px,calc(100vw - 24px));max-height:calc(100vh - 40px);overflow-y:auto;box-sizing:border-box}.agent-editor h3{margin:0 0 12px}.agent-editor-top{display:flex;gap:16px;align-items:flex-start}.agent-editor-fields{flex:1;min-width:0}.agent-avatar-upload{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:var(--accent);cursor:pointer}.agent-prompt{min-height:260px;line-height:1.6;font-size:13px}.agent-editor .dialog-actions{align-items:center}.agent-editor .dialog-actions .setting-sub{margin-right:auto}.agent-edit-entry{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:12px}.agent-avatar-hint{color:var(--text-dim);font-size:11px}.agent-avatar-upload.dragging .agent-avatar{outline:2px dashed var(--accent);outline-offset:3px}.retest-badge{flex-shrink:0;padding:1px 7px;border-radius:6px;background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn);font-size:12px}.lib-page{width:100%;max-width:1240px;margin:0 auto;padding:20px 24px 40px;box-sizing:border-box}.lib-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lib-head h2{margin:0;font-size:20px}.lib-size{font-size:14px;font-weight:400;color:var(--text-dim)}.lib-tools{display:flex;align-items:center;gap:8px}.lib-tool{position:relative}.lib-tool.on{color:var(--accent)}.lib-dot{position:absolute;top:-4px;right:-4px;min-width:15px;height:15px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-size:10px;line-height:15px;text-align:center}.lib-search{display:flex;align-items:center;gap:6px;width:240px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text-dim)}.lib-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font:inherit}.lib-new{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:999px}.lib-popover-anchor{position:relative}.lib-popover{top:calc(100% + 6px);left:0;width:280px;padding-bottom:8px}.lib-popover.right{left:auto;right:0}.lib-popover .chips{padding:2px 10px 6px}.lib-dates{display:flex;align-items:center;gap:6px;padding:2px 10px 6px;font-size:12px}.lib-dates input{flex:1;min-width:0;font:inherit;color:var(--text);background:var(--bg-soft);border:1px solid var(--border);border-radius:6px;padding:3px 6px}.lib-clear{margin:4px 10px 0;font-size:12px}.lib-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 6px}.lib-tab{padding:6px 16px;border-radius:999px;background:transparent;color:var(--text-dim)}.lib-tab:hover{background:var(--bg-hover)}.lib-tab.active{background:var(--bg-hover);color:var(--text);font-weight:600}.lib-day{margin-top:18px}.lib-day-title{margin-bottom:8px;font-size:13px;font-weight:600;color:var(--text-dim)}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--lib-card),1fr));gap:10px}.lib-card{position:relative;aspect-ratio:3 / 4;display:flex;flex-direction:column;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--bg-side);color:var(--text);text-align:left;cursor:pointer}.lib-card:hover{border-color:var(--accent)}.lib-thumb{flex:1;min-height:0;display:grid;place-items:center;background:var(--bg)}.lib-thumb img{width:100%;height:100%;object-fit:cover}.lib-thumb .img-placeholder{width:100%;height:100%;border:none;border-radius:0}.lib-badges{position:absolute;left:6px;top:6px;display:flex;flex-wrap:wrap;gap:4px}.lib-kind{padding:1px 7px;border-radius:6px;background:#0000008c;color:#fff;font-size:11px}.lib-file,.lib-text{gap:6px;padding:12px}.lib-file svg{width:32px;height:32px;color:var(--accent)}.lib-file-name{font-weight:600;font-size:13px;word-break:break-all}.lib-file-meta{margin-top:auto;font-size:11px;color:var(--text-dim)}.lib-text .lib-kind{align-self:flex-start}.lib-text-body{flex:1;overflow:hidden;font-size:12px;line-height:1.6;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical}.lib-sentinel{padding:16px;text-align:center;font-size:12px;color:var(--text-dim)}.lib-viewer-body{display:flex;width:min(1200px,calc(100vw - 32px));height:min(860px,calc(100vh - 32px));border-radius:14px;overflow:hidden;background:var(--bg);box-shadow:var(--shadow-pop)}.lib-viewer-image{position:relative;flex:1;min-width:0;display:grid;place-items:center;background:#111}.lib-viewer-image img{max-width:100%;max-height:100%;object-fit:contain}.lib-viewer-image .img-placeholder{width:200px;height:260px}.lib-nav{position:absolute;top:50%;width:40px;height:56px;margin-top:-28px;padding:0;border-radius:10px;background:#ffffff26;color:#fff;font-size:28px}.lib-nav.prev{left:10px}.lib-nav.next{right:10px}.lib-viewer-info{position:relative;width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:10px;padding:20px 18px;overflow-y:auto;border-left:1px solid var(--border)}.lib-info-title{font-size:16px;font-weight:600}.lib-info-row{display:flex;align-items:center;gap:8px}.lib-info-row select{font:inherit;color:var(--text);background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;padding:3px 8px}.lib-info-text{padding:10px;border-radius:8px;background:var(--bg-side);font-size:13px;line-height:1.6;white-space:pre-wrap}.lib-picked{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto}.lib-picked-item{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px}@media(max-width:760px){.lib-page{padding:14px 12px 30px}.lib-tools{width:100%}.lib-search{flex:1;width:auto;min-width:0}.lib-new,.lib-tools>.lib-popover-anchor,.lib-tools .icon-button{flex-shrink:0;white-space:nowrap}.lib-grid{grid-template-columns:repeat(var(--lib-cols, 3),minmax(0,1fr));gap:6px}.lib-card{border-radius:8px}.lib-badges{left:4px;top:4px;gap:2px}.lib-badges .subject-tag,.lib-kind{padding:0 4px;font-size:10px}.lib-text{padding:8px}.lib-text-body{font-size:11px}.lib-viewer-body{position:relative;width:100vw;height:100vh;height:100dvh;border-radius:0}.lib-viewer-info{display:none}.lib-viewer-body.show-info .lib-viewer-info{display:flex;position:absolute;left:0;right:0;bottom:0;z-index:3;width:auto;max-height:60%;border-left:none;border-top:1px solid var(--border);border-radius:14px 14px 0 0;background:var(--bg);box-shadow:var(--shadow-pop)}.lib-viewer .lightbox-bar button.lib-info-toggle{display:inline-flex}.lib-viewer .lightbox-bar span.lib-info-toggle,.lib-viewer .lib-viewer-image .lib-viewer-count{display:block}.lib-viewer-bar{bottom:calc(16px + env(safe-area-inset-bottom))}}.lib-viewer .lib-info-toggle,.lib-viewer .lib-viewer-count{display:none}.lib-viewer-count{position:absolute;top:calc(12px + env(safe-area-inset-top));left:50%;z-index:2;transform:translate(-50%);padding:2px 10px;border-radius:999px;background:#00000073;color:#fff;font-size:12px;pointer-events:none}.lib-viewer-image{overflow:hidden;touch-action:none}.lib-viewer-image img{cursor:grab;transition:transform .05s linear}.lib-viewer-bar{position:absolute;bottom:16px}.steward-tabs{position:sticky;top:0;z-index:4;flex-shrink:0;display:flex;justify-content:center;padding:8px 12px 4px;background:var(--bg)}.steward-tabs .segmented{width:min(260px,100%);margin:0}.steward-tabs .segmented button{position:relative;padding:5px 0;font-size:13px}.tab-dot{position:absolute;top:5px;right:14px;width:7px;height:7px;border-radius:50%;background:var(--warn)}.weekly-page{width:100%;max-width:1120px;margin:0 auto;padding:20px 24px 0;box-sizing:border-box}.weekly-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.weekly-crumb{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim)}.weekly-head h2{margin:4px 0 2px;font-size:24px}.weekly-sub{font-size:13px;color:var(--text-dim)}.weekly-head-actions{display:flex;gap:8px;align-items:center}.weekly-head-actions select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 8px}.weekly-head-actions button,.weekly-foot button,.weekly-practice{display:inline-flex;align-items:center;justify-content:center;gap:6px}.weekly-badge{padding:0 8px;border-radius:6px;font-size:12px;background:var(--bg-soft);color:var(--text-dim)}.weekly-badge.draft{background:color-mix(in srgb,var(--warn) 14%,var(--bg));color:var(--warn)}.weekly-badge.ok{background:color-mix(in srgb,var(--ok) 14%,var(--bg));color:var(--ok)}.weekly-banner{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;border-radius:10px;background:var(--bg-soft);font-size:13px}.weekly-banner.error{background:color-mix(in srgb,var(--err) 10%,var(--bg));color:var(--err)}.weekly-banner .spinner{width:14px;height:14px;flex-shrink:0;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.weekly-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 16px;border:1px dashed var(--border);border-radius:12px;color:var(--text-dim);text-align:center}.weekly-headline{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--accent) 7%,var(--bg))}.weekly-headline>svg{flex-shrink:0;margin-top:4px;color:var(--accent)}.weekly-headline>.weekly-editable,.weekly-headline>.weekly-edit-box{flex:1}.weekly-headline-title{font-size:16px;font-weight:600}.weekly-headline-text{margin-top:2px;font-size:13px;color:var(--text-dim)}.weekly-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.weekly-col{display:flex;flex-direction:column;gap:16px;min-width:0}.weekly-card{padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.weekly-card h3{margin:0;font-size:15px}.weekly-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.weekly-card-hint,.weekly-meta,.weekly-card-note{font-size:12px;font-weight:400;color:var(--text-dim)}.weekly-card-note{margin-top:8px;line-height:1.5}.weekly-none{padding:6px 0;font-size:13px;color:var(--text-dim)}button.weekly-evidence-link{padding:0;color:var(--accent);font-size:12px}button.small{padding:2px 10px;font-size:12px}.weekly-editable{position:relative;display:flex;align-items:flex-start;gap:4px;min-width:0}.weekly-editable>:first-child{flex:1;min-width:0}.weekly-pencil{flex-shrink:0;opacity:.25}.weekly-editable:hover .weekly-pencil,.weekly-pencil:focus-visible{opacity:1}@media(pointer:coarse){.weekly-pencil{opacity:.6}}.weekly-edit-box{display:flex;flex-direction:column;gap:6px;width:100%}.weekly-edit-box textarea,.weekly-edit-box input,.weekly-note-input{width:100%;box-sizing:border-box;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;resize:vertical}.weekly-edit-actions,.weekly-note-actions{display:flex;justify-content:flex-end;gap:8px}.weekly-subject{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.weekly-subject:first-of-type{border-top:none;padding-top:2px}.weekly-subject-badge{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:10px;background:var(--bg-soft);font-size:13px;font-weight:600}.weekly-subject-badge.subject-语文{color:#d9534f}.weekly-subject-badge.subject-数学{color:#2f6fde}.weekly-subject-badge.subject-英语{color:#2e9e6b}.weekly-subject-badge.subject-地理{color:#a56b24}.weekly-subject-body{flex:1;min-width:0}.weekly-subject-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;font-weight:600}.weekly-line{display:flex;align-items:baseline;gap:8px;margin-top:4px;font-size:13px}.weekly-channel{flex-shrink:0;padding:0 5px;border-radius:4px;background:var(--bg-soft);font-size:11px;color:var(--text-dim)}.weekly-channel.tutoring{background:color-mix(in srgb,var(--warn) 14%,var(--bg));color:var(--warn)}.weekly-subject-foot{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:12px;color:var(--text-dim)}.weekly-concern{padding:12px 0;border-top:1px solid var(--border)}.weekly-concern:first-of-type{border-top:none;padding-top:2px}.weekly-concern-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-weight:600}.weekly-concern-text{margin-top:4px;font-size:13px}.weekly-concern-foot{display:flex;align-items:center;gap:8px;margin-top:6px}.weekly-tag{padding:0 6px;border-radius:4px;background:var(--bg-soft);font-size:11px;font-weight:400;color:var(--text-dim)}.weekly-tag.warn{background:color-mix(in srgb,var(--warn) 14%,var(--bg));color:var(--warn)}.weekly-progress{margin-top:10px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--ok) 9%,var(--bg));color:var(--ok);font-size:13px}.weekly-progress svg{vertical-align:-3px}.weekly-plan{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px}.weekly-plan+.weekly-plan{border-top:1px solid var(--border)}.weekly-plan-date{flex-shrink:0;width:70px;color:var(--text-dim);font-size:12px}.weekly-plan-text{flex:1;min-width:0}.weekly-focus{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--border)}.weekly-focus:first-of-type{border-top:none;padding-top:0}.weekly-focus>input{flex-shrink:0;width:16px;height:16px;margin-top:3px;accent-color:var(--accent)}.weekly-focus>.weekly-editable,.weekly-focus>.weekly-edit-box{flex:1}.weekly-focus-title{font-weight:600}.weekly-focus-plan{margin-top:2px;font-size:13px;color:var(--text-dim)}.weekly-practice{width:100%;margin-top:10px;padding:9px 14px;border-radius:8px}.weekly-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px}.weekly-day{display:flex;flex-direction:column;align-items:center;gap:1px;min-height:74px;padding:4px 2px;border-radius:8px;background:var(--bg-soft);font-size:11px}.weekly-day.empty{background:transparent;border:1px dashed var(--border);color:var(--text-dim)}.weekly-day-name{font-weight:600}.weekly-day-date{color:var(--text-dim)}.weekly-day-marks{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;margin-top:2px}.weekly-dot{display:grid;place-items:center;width:16px;height:16px;border-radius:4px;color:#fff;font-size:10px;line-height:1}.weekly-dot.subject-语文{background:#d9534f}.weekly-dot.subject-数学{background:#2f6fde}.weekly-dot.subject-英语{background:#2e9e6b}.weekly-dot.subject-地理{background:#a56b24}.weekly-dot.group{background:var(--text-dim)}.weekly-basis-rows>div{display:flex;justify-content:space-between;gap:8px;padding:4px 0;font-size:13px}.weekly-basis-rows b{font-weight:600;text-align:right}.weekly-warning{margin-top:10px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--warn) 11%,var(--bg));color:var(--warn);font-size:12px;line-height:1.6}.weekly-note{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;padding:8px 10px;border-radius:8px;background:var(--bg-soft);font-size:13px}.weekly-note-actions{margin-top:8px}.weekly-foot{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:14px 0 16px;border-top:1px solid var(--border);background:var(--bg)}.weekly-foot-title{font-weight:600}.weekly-foot-sub{font-size:12px;color:var(--text-dim)}.weekly-foot button{flex-shrink:0;padding:8px 18px}.dialog.weekly-evidence{width:min(640px,calc(100% - 32px));max-height:calc(100% - 48px);padding:0;gap:0;overflow:hidden}.weekly-evidence-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 18px;border-bottom:1px solid var(--border)}.weekly-evidence-head h3{margin:0;font-size:15px}.weekly-evidence-body{overflow-y:auto;padding:8px 18px 18px}.weekly-evidence-section{margin:12px 0 6px;font-size:12px;font-weight:600;color:var(--text-dim)}.weekly-evidence-mistake,.weekly-evidence-upload{padding:8px 0;border-top:1px solid var(--border);font-size:13px}.weekly-evidence-mistake{display:flex;gap:8px;align-items:flex-start}.weekly-evidence-thumbs{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.weekly-evidence-thumb{display:flex;width:96px;height:96px;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft)}.weekly-child{display:flex;flex-direction:column;gap:16px;max-width:640px;padding-bottom:32px}.weekly-child h3{margin-bottom:8px}.weekly-child-item{display:flex;gap:8px;align-items:flex-start;padding:4px 0}.weekly-child-item svg{flex-shrink:0;margin-top:4px;color:var(--ok)}.weekly-child-todo{display:flex;align-items:center;gap:8px;padding:8px 0}.weekly-child-todo+.weekly-child-todo{border-top:1px solid var(--border)}.weekly-child-text{flex:1;min-width:0}@media(max-width:860px){.weekly-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.weekly-page{padding:14px 12px 0}.weekly-head h2{font-size:20px}.weekly-head-actions{width:100%}.weekly-head-actions select{flex:1;min-width:0}.weekly-card{padding:14px}.weekly-foot{flex-direction:column;align-items:stretch}.weekly-child-todo{flex-wrap:wrap}}.calendar-page{width:100%;max-width:1120px;margin:0 auto;padding:20px 24px 40px;box-sizing:border-box}.calendar-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.calendar-head h2{margin:0 0 2px;font-size:22px}.calendar-stats{font-size:13px;color:var(--text-dim)}.calendar-stats b{font-size:16px;color:var(--accent)}.calendar-nav{display:flex;align-items:center;gap:4px}.calendar-prev{display:inline-flex;transform:rotate(180deg)}.calendar-month{min-width:92px;text-align:center;font-weight:600}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekday{padding:2px 0;text-align:center;font-size:12px;color:var(--text-dim)}.calendar-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:78px;padding:6px 8px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);text-align:left}.calendar-cell.blank{border:none;background:transparent}.calendar-cell:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.calendar-cell:disabled{opacity:.4}.calendar-cell.has{background:color-mix(in srgb,var(--ok) 9%,var(--bg));border-color:color-mix(in srgb,var(--ok) 30%,var(--border))}.calendar-cell.today .calendar-date{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:11px;background:var(--accent);color:var(--accent-text)}.calendar-cell.selected{outline:2px solid var(--accent);outline-offset:-1px}.calendar-date{font-size:13px;font-weight:600}.calendar-total{font-size:15px;font-weight:600;color:var(--ok)}.calendar-split{font-size:11px;color:var(--text-dim)}.calendar-legend{margin-top:8px;font-size:12px;color:var(--text-dim)}.calendar-day{padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.calendar-day-head h3{margin:0;font-size:15px}.calendar-day-sum{margin-top:2px;font-size:13px;color:var(--text-dim)}.calendar-upload{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:12px;padding:8px 14px;border-radius:8px}.calendar-none{padding:16px 0 4px;font-size:13px;color:var(--text-dim)}.calendar-entry{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:13px}.calendar-entry-head{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim)}.calendar-kind{padding:0 6px;border-radius:4px;background:color-mix(in srgb,var(--ok) 14%,var(--bg));color:var(--ok);font-weight:600}.calendar-kind.grade{background:color-mix(in srgb,var(--accent) 12%,var(--bg));color:var(--accent)}.calendar-late{padding:0 6px;border-radius:4px;background:color-mix(in srgb,var(--warn) 14%,var(--bg));color:var(--warn)}.calendar-entry-summary{margin-top:4px}.calendar-entry-grading{margin-top:2px;color:var(--text-dim)}.calendar-thumbs{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.calendar-thumb{display:flex;width:84px;height:84px;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft)}button.calendar-open{margin-top:4px;padding:0;color:var(--accent);font-size:12px}@media(max-width:860px){.calendar-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.calendar-page{padding:14px 12px 30px}.calendar-head h2{font-size:20px}.calendar-grid{gap:3px}.calendar-cell{min-height:56px;padding:4px;border-radius:8px}.calendar-total{font-size:12px}.calendar-split{display:none}}.calendar-uploads{display:flex;gap:8px;margin-top:12px}.calendar-uploads .calendar-upload{flex:1;width:auto;margin-top:0;white-space:nowrap}.calendar-kind.tutoring{background:color-mix(in srgb,var(--warn) 14%,var(--bg));color:var(--warn)}.lib-select-toggle.active{border-color:var(--accent);color:var(--accent)}.lib-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.lib-check{position:absolute;top:6px;right:6px;z-index:2;display:grid;place-items:center;width:22px;height:22px;border:2px solid #fff;border-radius:50%;background:#00000040;color:#fff;box-shadow:0 1px 3px #0000004d}.lib-check.on{border-color:var(--accent);background:var(--accent)}.lib-check svg{width:13px;height:13px}.lib-card.lib-text{position:relative}.lib-select-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:8px;margin:12px -8px 0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);border-radius:12px 12px 0 0;background:var(--bg);box-shadow:var(--shadow-pop)}.lib-select-count{flex:1;min-width:0;font-size:13px;color:var(--text-dim)}.lib-select-bar button{flex-shrink:0;white-space:nowrap}.lib-send-anchor{position:relative;display:inline-flex}.lib-send-menu{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:max-content;padding:4px;z-index:5}.lib-send-menu .popover-item{display:flex;color:var(--text);white-space:nowrap}.lib-send-menu .popover-item:hover:not(:disabled){background:var(--bg-hover)}.lib-picker{width:min(1000px,calc(100vw - 32px));height:min(760px,calc(100vh - 48px));overflow-y:auto;border-radius:14px;background:var(--bg);box-shadow:var(--shadow-pop)}.lib-picker .lib-page{min-height:100%;padding-bottom:0;display:flex;flex-direction:column}.lib-picker .lib-select-bar{margin-top:auto}.attachment.lib-ref .lib-ref-open{display:block;width:60px;height:60px;padding:0;overflow:hidden;border:1px solid var(--accent);border-radius:10px;background:var(--bg-soft)}.attachment.lib-ref .lib-thumb{width:100%;height:100%}.attachment.lib-ref .lib-thumb img{width:100%;height:100%;object-fit:cover;border:none;border-radius:0}.lib-ref-badge{position:absolute;left:3px;bottom:3px;padding:0 4px;border-radius:4px;background:var(--accent);color:var(--accent-text);font-size:10px;line-height:15px;pointer-events:none}.attachment.file.lib-ref{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.dialog.send-target{width:min(460px,calc(100vw - 24px));max-height:calc(100vh - 48px);overflow-y:auto;gap:4px}.send-target-head{display:flex;align-items:center;justify-content:space-between}.send-target-head h3{margin:0;font-size:16px}.send-target-note{margin-bottom:4px;font-size:12px;color:var(--text-dim)}.send-target-section{margin:10px 0 4px;font-size:12px;font-weight:600;color:var(--text-dim)}.send-target-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:10px;background:transparent;color:var(--text);text-align:left}.send-target-row:hover,.send-target-agent:hover{background:var(--bg-hover)}.send-target-icon{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--bg-soft);color:var(--text-dim)}.send-target-text{display:flex;flex-direction:column;min-width:0}.send-target-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.send-target-sub{font-size:12px;color:var(--text-dim)}.send-target-agents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.send-target-agent{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);text-align:left}.msg-library{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.msg-library-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--accent) 6%,var(--bg));color:var(--accent);font-size:12px;text-align:left}.msg-library-chip svg{flex-shrink:0;width:13px;height:13px}@media(max-width:760px){.lib-send-label{display:none}.lib-picker{width:100vw;height:100vh;height:100dvh;border-radius:0}}.pack-entry-actions,.pack-toolbar,.pack-summary,.pack-downloads,.pack-row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pack-overlay{z-index:70;padding:24px;overflow:auto;align-items:flex-start}.pack-dialog{width:min(1180px,100%);max-width:1180px;max-height:calc(100dvh - 48px);overflow:auto;margin:auto;padding:24px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-pop)}.pack-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:18px}.pack-head h2{margin:0 0 7px;font-size:22px}.pack-head p,.pack-note,.pack-history>p{font-size:12px;color:var(--text-dim);line-height:1.8;margin:6px 0 12px}.pack-head .icon-button{flex:none}.pack-dialog button:not(.link):not(.icon-button){display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--bg-soft);color:var(--text);border:1px solid var(--border);padding:7px 11px;min-height:36px;border-radius:7px;font:inherit;font-size:13px}.pack-dialog button.primary{background:var(--accent)!important;color:var(--accent-text)!important;border-color:var(--accent)!important}.pack-dialog button:disabled{opacity:.48;cursor:not-allowed}.pack-dialog button svg{width:16px;height:16px}.pack-dialog input:not([type=checkbox]),.pack-dialog select,.pack-dialog textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:8px;font:inherit;font-size:13px;min-width:0;max-width:100%}.pack-dialog textarea{width:100%;resize:vertical;line-height:1.75}.pack-dialog label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-dim)}.pack-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px}.pack-filters label{flex:1;min-width:120px}.pack-filters button{align-self:flex-end}.pack-filters input{width:100%}.pack-range{margin-bottom:12px}.pack-ai{margin:12px 0;padding:10px 14px;border:1px solid var(--border);border-radius:10px}.pack-ai>summary{cursor:pointer;font-size:13px;color:var(--accent)}.pack-ai .pack-toolbar{margin:6px 0 4px}.pack-range>summary{cursor:pointer;font-size:13px;color:var(--accent);padding:4px 0 12px}.pack-summary{border:1px solid var(--border);border-radius:10px;padding:13px 15px;background:var(--bg-side);font-size:13px}.pack-summary button{margin-left:auto}.pack-summary .ok{color:var(--ok)}.pack-summary button.link{margin-left:4px;color:var(--accent);font-size:13px}.pack-summary{position:sticky;top:-24px;z-index:2}.pack-error{background:color-mix(in srgb,var(--err) 8%,var(--bg));border:1px solid color-mix(in srgb,var(--err) 35%,var(--border));color:var(--err);padding:12px 14px;line-height:1.8;border-radius:8px;margin:12px 0;font-size:13px}.pack-task{padding:13px 15px;background:var(--user-bg);border-radius:8px;margin:12px 0;font-size:12px;line-height:1.8}.pack-warning{padding:12px 14px;background:color-mix(in srgb,var(--warn) 10%,var(--bg));color:var(--text);border-radius:8px;font-size:12px;line-height:1.8;margin:10px 0}.pack-warning ul{margin:0 0 8px;padding-left:18px}.pack-items{margin:12px 0}.pack-group-head{display:flex;align-items:center;gap:12px;padding:16px 0 8px;border-bottom:2px solid var(--border);font-size:14px}.pack-group-head span{font-size:12px;color:var(--text-dim)}.pack-row{padding:16px 0;border-bottom:1px solid var(--border);display:flex;gap:18px;justify-content:space-between}.pack-row>div:not(.pack-row-actions){min-width:0;flex:1}.pack-dialog label.pack-pick{flex:none;flex-direction:row;padding-top:2px;cursor:pointer}.pack-pick input{width:19px;height:19px;margin:0;accent-color:var(--accent)}.pack-pick input:disabled{cursor:not-allowed}.pack-row b{font-size:13px}.pack-row p{font-size:13px;line-height:1.8;white-space:pre-wrap;margin:8px 0;overflow-wrap:anywhere;max-height:100px;overflow:auto}.pack-row ul{font-size:12px;line-height:1.8;color:var(--text-dim);padding-left:18px;margin:6px 0}.pack-row-actions{flex-direction:column;align-items:stretch;justify-content:center;flex-shrink:0}.pack-state{display:inline-block;font-size:11px;line-height:1.6;background:var(--bg-soft);color:var(--text-dim);padding:2px 7px;border-radius:5px;margin-right:5px}.pack-state.ready{color:var(--ok);background:color-mix(in srgb,var(--ok) 9%,var(--bg))}.pack-state.conflict,.pack-state.stale{color:var(--err);background:color-mix(in srgb,var(--err) 8%,var(--bg))}.pack-state.needs_material{color:var(--warn)}.pack-create{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border:1px solid var(--border);border-radius:10px;padding:16px;margin:20px 0}.pack-create>label{min-width:200px;flex:1}.pack-create>div{text-align:right}.pack-create-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.pack-pdf-ready{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;margin:10px 0;border-radius:8px;background:color-mix(in srgb,var(--ok) 9%,var(--bg));font-size:13px}.pack-pdf-ready span{min-width:0;overflow-wrap:anywhere}.pack-create p{font-size:12px;color:var(--text-dim);margin:0 0 8px}.pack-empty{padding:28px 12px;color:var(--text-dim);font-size:13px;line-height:1.8}.pack-history{margin-top:24px}.pack-history h3{font-size:15px}.pack-history article{border:1px solid var(--border);border-radius:9px;padding:14px;margin:12px 0}.pack-history article>b{font-size:14px}.pack-history article>span{font-size:11px;color:var(--text-dim)}.pack-downloads{margin-top:10px;gap:12px}.pack-downloads>span{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pack-downloads .link{font-size:12px}.pack-toolbar{margin:12px 0 18px}.pack-toolbar>span{font-size:12px;color:var(--text-dim)}.pack-editor-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px}.pack-editor-columns>section{min-width:0}.pack-editor-columns h3{font-size:15px;margin:16px 0 12px}.pack-editor-columns label{margin:14px 0}.pack-editor-columns details{font-size:12px;line-height:1.8;padding:12px;border:1px solid var(--border);border-radius:8px}.pack-editor-columns details p{white-space:pre-wrap;overflow-wrap:anywhere}.pack-check{flex-direction:row!important;align-items:flex-start;gap:8px!important;line-height:1.8;color:var(--text)!important}.pack-check input{width:17px;height:17px;flex:none;accent-color:var(--accent);margin-top:3px}.pack-image{border:1px solid var(--border);border-radius:8px;padding:10px;margin:10px 0}.pack-image img{display:block;max-width:100%;max-height:260px;object-fit:contain;margin-bottom:8px}.pack-upload input{width:100%;font-size:12px!important}.pack-crop{margin:12px 0}.pack-crop-stage{position:relative;background:var(--bg-side)}.pack-crop-stage img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.pack-crop-stage.editable{touch-action:none;cursor:crosshair}.pack-crop-stage>span{position:absolute;pointer-events:none;border:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.pack-crop-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.pack-crop-actions span{font-size:12px;color:var(--text-dim)}.pack-crop-stage .img-placeholder,.pack-image .img-placeholder{display:block;height:160px}.pack-preview{display:block;width:100%;height:70dvh;border:1px solid var(--border);border-radius:8px;background:#fff}@media(max-width:760px){.pack-overlay{padding:8px}.pack-dialog{padding:16px;max-height:calc(100dvh - 16px);border-radius:12px}.pack-editor-columns{grid-template-columns:1fr;gap:12px}.pack-row{flex-wrap:wrap;gap:8px 12px}.pack-row-actions{flex-basis:100%;flex-direction:row;justify-content:flex-start;flex-wrap:wrap}.pack-create-actions{justify-content:flex-start}.pack-head h2{font-size:19px}.pack-create{flex-direction:column;align-items:stretch}.pack-create>div{text-align:left}.pack-filters label{min-width:105px}.pack-summary button{margin-left:0}.pack-summary{top:-16px}.pack-row{padding:12px 0}.pack-row p{margin:5px 0}.pack-dialog .pack-row-actions button:not(.link):not(.icon-button){min-height:32px;padding:4px 10px;font-size:12px}.pack-row-actions{padding-left:31px}.pack-summary button.primary{margin-left:auto}.pack-dialog input:not([type=checkbox]),.pack-dialog textarea,.pack-dialog select{font-size:16px}.pack-dialog button:not(.link):not(.icon-button){min-height:42px}.pack-entry-actions{justify-content:flex-start}}
