:root{color-scheme:light;--paper:#fbfbf8;--panel:#f1f2ed;--ink:#242a26;--muted:#7c827a;--line:#e3e6de;--accent:#28624a;--accent-soft:#e7eee5;--danger:#a64537;font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input:focus,textarea:focus,select:focus{outline:0}input,textarea{border:1px solid var(--line);border-radius:9px;background:white;padding:11px 13px}input:focus{border-color:var(--accent)}[hidden]{display:none!important}.muted{color:var(--muted)}.error{color:var(--danger);min-height:22px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:600;color:var(--muted)}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;border-radius:9px;padding:13px 16px;background:var(--accent);color:white;font-weight:600}.outline{border:1px solid var(--line);border-radius:7px;padding:6px 12px;white-space:nowrap}.outline:hover,.icon-button:hover{background:var(--accent-soft)}.text-button{font-size:12px;color:var(--muted);padding:5px 3px}.text-button:hover{color:var(--accent)}.icon-button{width:32px;height:32px;border-radius:7px;font-size:21px;display:inline-grid;place-items:center}.wordmark{display:flex;gap:10px;align-items:center;font-size:27px;color:var(--accent);text-decoration:none!important;font-weight:600}.wordmark>span{font-size:19px;letter-spacing:1px}.wordmark-sub{font-size:12px;font-weight:400;letter-spacing:0;margin-left:7px;color:var(--muted)}.loading{display:grid;place-items:center;height:100dvh;color:var(--muted)}.login-screen{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.login-story{background:#e8ede2;min-height:100dvh;padding:48px 12%;display:flex;flex-direction:column;justify-content:space-between}.login-story h1{font-family:Georgia,"Songti SC",serif;font-weight:500;font-size:clamp(30px,3.2vw,48px);line-height:1.45;letter-spacing:1px;margin:20px 0}.lead{color:#697367;line-height:2}.story-foot{font-size:11px;color:#8c9586}.login-form-wrap{display:grid;place-items:center;padding:32px}.login-form-wrap form{width:100%;max-width:330px}.login-form-wrap h2{font-size:25px;margin:25px 0 4px;font-weight:600}.login-form-wrap label{display:grid;gap:6px;margin-top:19px;font-size:12px}.login-form-wrap .muted{font-size:13px}.small-brand{font-size:13px;color:var(--accent)}.back-link{display:block;text-align:center;margin-top:24px;color:var(--muted);font-size:12px}.app-shell{height:100dvh;display:flex;overflow:hidden}.sidebar{flex:0 0 244px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:23px 16px 16px}.sidebar .wordmark{padding:0 8px;margin-bottom:29px}.new-thread{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #d8ddd3;background:#fbfcf8;border-radius:9px;padding:10px 12px;font-weight:500}.new-thread>span{font-size:19px;color:var(--accent)}kbd{margin-left:auto;font:10px monospace;color:#a0a59c;border:1px solid var(--line);border-radius:3px;padding:1px 4px}.search{display:flex;align-items:center;gap:6px;margin:17px 4px 20px;color:#92988e}.search>span{font-size:22px}.search input{border:none;background:transparent;padding:5px;width:100%;font-size:12px}.section-line{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);padding:0 8px;margin-bottom:6px}.thread-list{flex:1;overflow:auto;margin:0 -5px}.thread-button{display:flex;align-items:center;gap:9px;width:100%;padding:11px 12px;border-radius:7px;text-align:left;font-size:12px}.thread-button:hover{background:#e7eae1}.thread-button.active{background:#e0e7d9;color:#234e39;font-weight:500}.thread-button .thread-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.thread-button small{font-size:10px;color:#8c9487}.status-dot{display:inline-block;width:6px;height:6px;background:#b0b6ab;border-radius:50%;flex-shrink:0}.status-dot.online{background:#5a8965}.status-dot.working{background:#a38b42;box-shadow:0 0 0 3px #a38b4212}.sidebar-footer{font-size:11px;color:var(--muted);border-top:1px solid #dfe3d8;margin-top:12px;padding:16px 8px 0}.sidebar-footer>div:first-child{display:flex;gap:8px;align-items:center}.footer-links{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.footer-links a{color:var(--muted)}.conversation{min-width:0;flex:1;display:flex;flex-direction:column}.chat-header{display:flex;align-items:center;gap:10px;padding:17px 28px;border-bottom:1px solid var(--line);min-height:83px}.chat-heading{min-width:0}.chat-heading h2{font-size:15px;font-weight:550;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:35vw}.chat-heading .eyebrow{font-size:9px;letter-spacing:1px}.header-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.header-actions .outline{font-size:12px}.header-actions #file-count{color:var(--muted);margin-left:7px;font-variant-numeric:tabular-nums}.chat-scroll{flex:1;overflow:auto;padding:24px 28px;scroll-behavior:smooth}.welcome{max-width:700px;margin:clamp(25px,8vh,100px) auto 30px}.welcome-mark{font-size:43px;color:var(--accent);line-height:1}.welcome .eyebrow{margin-top:26px}.welcome h1{font-size:34px;font-weight:500;letter-spacing:-1px;margin:10px 0}.welcome>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:10px}.suggestions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:38px}.suggestions button{border:1px solid var(--line);padding:19px 16px;text-align:left;border-radius:10px;background:#fff;transition:border .2s,transform .2s}.suggestions button:hover{border-color:#a6b79d;transform:translateY(-2px)}.suggestions span{display:block;font-size:10px;letter-spacing:.8px;color:#8c9585;margin-bottom:15px}.suggestions strong{display:block;font-size:13px;font-weight:500;line-height:1.8}.suggestions small{display:block;font-size:10px;color:var(--muted);margin-top:20px}.suggestions b{float:right;font-size:15px;color:var(--accent)}.composer-zone{padding:0 28px 17px;background:var(--paper)}.composer-zone>*{max-width:800px;margin-left:auto;margin-right:auto}.composer{background:white;border:1px solid #dce1d5;border-radius:15px;box-shadow:0 4px 16px #232f2104;padding:12px 13px 8px}.composer:focus-within{border-color:#abbba4}.composer textarea{border:0;padding:4px 3px 12px;resize:none;max-height:200px;min-height:55px;width:100%;font-size:14px;line-height:1.7;background:transparent;display:block}.composer-bottom{display:flex;align-items:center;gap:8px}.model-picker{display:flex;align-items:center;min-width:0}.model-picker select{font-size:11px;appearance:none;border:0;background:transparent;padding:4px 16px 4px 4px;max-width:170px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='m1 1 3.5 3.5L8 1' fill='none' stroke='%23818b7a'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;cursor:pointer}.picker-separator{font-size:12px;color:#d1d7ca;margin:0 7px}.model-picker #effort{color:var(--muted);max-width:100px}.send-button{margin-left:auto;border-radius:9px;background:var(--accent);color:white;font-size:22px;width:35px;height:35px;line-height:1}.stop-button{margin-left:auto;background:#ecefe7;padding:6px 12px;border-radius:7px;font-size:12px}.composer-note{display:flex;justify-content:space-between;font-size:10px;color:#9aa092;margin-top:9px;padding:0 5px}.run-status{min-height:23px;font-size:11px;color:#7b856f;padding:0 7px 5px}.messages{max-width:800px;margin:0 auto}.message{margin:0 0 24px}.message.user{margin-left:14%;background:#eef1e8;border-radius:12px 12px 3px 12px;padding:14px 18px}.message.assistant{padding:4px 5px}.message.commentary{font-size:12px;color:#7d8774;border-left:2px solid #dce4d3;padding:0 0 0 12px;margin-bottom:15px}.message-role{font-size:10px;font-weight:600;letter-spacing:1px;margin-bottom:10px;color:#7a876d}.message.user .message-role{display:none}.markdown{font-size:14px;line-height:1.85;overflow-wrap:anywhere}.markdown p{margin:7px 0}.markdown pre{padding:15px;background:#f0f2eb;border:1px solid #e3e7dc;border-radius:8px;overflow:auto;font-size:12px;line-height:1.7;white-space:pre}.markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:#edf0e7;padding:2px 4px;border-radius:3px}.markdown pre code{padding:0;background:none}.markdown h2,.markdown h3,.markdown h4{font-size:16px;margin:24px 0 10px;font-weight:600}.markdown ul,.markdown ol{padding-left:23px}.markdown a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.markdown .artifact-link{border:1px solid #cbd7c0;padding:3px 7px;border-radius:5px;display:inline-block;text-decoration:none}.activity-wrap,.question-wrap{max-width:800px;margin:0 auto}.activity-box{margin:10px 0 20px;border:1px solid var(--line);border-radius:9px;font-size:11px;color:var(--muted);background:#f8f9f4}.activity-box summary{padding:9px 12px;cursor:pointer;color:#65715b}.activity-list{padding:0 12px 12px;max-height:230px;overflow:auto}.activity-row{padding:7px 0;border-top:1px solid var(--line)}.activity-row>div{display:flex;gap:7px;align-items:center}.activity-row small{margin-left:auto}.activity-row pre{font:10px/1.6 ui-monospace,monospace;max-height:120px;overflow:auto;white-space:pre-wrap}.run-error{background:#f9efeb;color:#9a5140;border-radius:8px;padding:10px 13px;font-size:12px;margin:15px 0}.question-card{border:1px solid #c9d7bd;background:#f1f6ea;border-radius:11px;padding:20px;margin:20px 0}.question-card h4{margin:0 0 12px;font-size:14px}.question-options{display:flex;gap:8px;flex-wrap:wrap}.question-options button{border:1px solid #c9d7bd;border-radius:6px;font-size:12px;padding:6px 10px;background:white}.question-card form{display:flex;gap:9px;margin-top:13px}.question-card input{flex:1;min-width:0}.question-card .primary{width:auto;white-space:nowrap;font-size:12px}.files-panel{width:300px;flex-shrink:0;border-left:1px solid var(--line);padding:22px 20px;background:#f7f8f3;display:flex;flex-direction:column}.files-panel header{display:flex;justify-content:space-between;align-items:center}.files-panel h3{margin:3px 0 0;font-size:15px;font-weight:550}.files-panel header .icon-button{color:var(--muted)}.file-list{flex:1;overflow:auto;margin:25px -4px 15px;padding:0 4px}.empty-files{padding:35px 10px;text-align:center;font-size:12px;color:#98a08f;line-height:1.9}.empty-files .empty-symbol{display:block;font-size:30px;color:#b5bfa8;margin-bottom:12px}.file-card{border:1px solid var(--line);border-radius:9px;background:white;padding:13px;margin-bottom:9px}.file-card .file-type{font-size:9px;letter-spacing:1px;color:#8c977f}.file-name{font-size:12px;font-weight:550;overflow-wrap:anywhere;line-height:1.7;margin:5px 0}.file-meta{font-size:10px;color:#98a08f}.file-actions{display:flex;gap:13px;margin-top:10px;font-size:11px}.file-actions button{color:var(--accent);padding:0}.file-actions a{color:var(--muted)}.upload-button{border:1px dashed #bdc9b3;border-radius:9px;padding:12px;font-size:12px;color:#5c7350;width:100%}.upload-button small{display:block;font-size:9px;color:#9ba591;margin-top:4px}.files-note{font-size:10px;line-height:1.8;color:#9aa38f;margin-top:12px}.preview-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 25px;gap:10px}.preview-header h3{margin:3px 0;font-size:16px;overflow-wrap:anywhere}.preview-header>div:last-child{display:flex;gap:13px;align-items:center}.preview-header .outline{font-size:12px}.preview-body{flex:1;min-height:0;overflow:auto;padding:28px}.preview-body>iframe{border:0;width:100%;height:100%;min-height:65dvh;background:white}.preview-body.html{padding:0}.preview-body.text .markdown{max-width:800px;margin:auto}.preview-body.text pre{white-space:pre-wrap}dialog{border:1px solid #d8e0ce;padding:0;border-radius:14px;max-width:1100px;width:92vw;height:88dvh;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #101b1440}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#15271b66;backdrop-filter:blur(4px)}.quiz{max-width:780px;margin:auto}.quiz-stats{display:flex;gap:17px;align-items:center;color:var(--muted);font-size:11px;flex-wrap:wrap}.quiz-progress{height:4px;background:#e5eadc;border-radius:5px;margin:14px 0 22px;overflow:hidden}.quiz-progress>div{height:100%;background:#6d9060}.quiz-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:28px}.quiz-toolbar select{background:white;border:1px solid var(--line);border-radius:5px;padding:4px 9px;font-size:12px}.quiz-toolbar span{font-size:11px;color:var(--muted)}.question-meta{display:flex;gap:8px;align-items:center;font-size:10px;color:var(--muted);margin-bottom:12px}.provenance{border:1px solid #d5dfc9;background:#edf3e5;color:#6b8157;padding:2px 7px;border-radius:4px}.question-prompt{font-size:17px;line-height:1.9;margin-bottom:20px}.quiz-options{display:grid;gap:10px}.quiz-option{display:flex;align-items:flex-start;gap:10px;padding:12px 15px;border:1px solid #dfe5d7;border-radius:8px;background:white;font-size:14px;cursor:pointer}.quiz-option:has(input:checked){border-color:#72935c;background:#edf3e7}.quiz-option.correct{border-color:#80a16b;background:#edf5e7}.quiz-option.incorrect{border-color:#c79682;background:#fbf1eb}.quiz-option input{margin-top:5px;accent-color:var(--accent)}.quiz-answer{padding:16px 18px;background:#edf2e7;border-radius:9px;margin-top:20px;font-size:13px}.quiz-answer.wrong{background:#f8eee8}.quiz-answer h4{margin:0 0 8px;font-size:13px}.quiz-sources{font-size:11px;margin:17px 0;color:var(--muted)}.quiz-sources a{display:block;margin-top:5px}.quiz-controls{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.quiz-controls button{padding:9px 16px;border:1px solid var(--line);border-radius:8px;font-size:12px;background:white}.quiz-controls .primary{width:auto;background:var(--accent);color:white}.quiz textarea{width:100%;min-height:120px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);max-width:min(80vw,600px);background:#2a3527;color:white;padding:11px 18px;border-radius:9px;box-shadow:0 8px 30px #0002;font-size:12px;z-index:1000}.mobile-only{display:none}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.shade{position:fixed;inset:0;background:#17241660;z-index:29}.empty-list{padding:20px 12px;font-size:11px;color:var(--muted)}
@media(min-width:1500px){.chat-scroll{padding-left:5vw;padding-right:5vw}.sidebar{flex-basis:260px}.files-panel{width:320px}}
@media(max-width:1250px){.files-panel{position:fixed;right:0;top:0;bottom:0;z-index:30;box-shadow:-15px 0 50px #20301518}.sidebar{flex-basis:220px}.suggestions{gap:8px}.suggestions button{padding:15px 12px}}
@media(max-width:800px){.mobile-only{display:inline-grid}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:30;width:260px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.chat-header{padding:12px 15px;min-height:70px}.chat-heading h2{max-width:45vw;font-size:14px}.header-actions{gap:9px}.header-actions .text-button{display:none}.chat-scroll{padding:20px 18px}.composer-zone{padding:0 12px max(12px,env(safe-area-inset-bottom))}.composer-note{font-size:9px}.desktop-note{display:none}.welcome{margin:35px auto}.welcome h1{font-size:29px}.welcome>p:not(.eyebrow){font-size:12px}.welcome .eyebrow{margin-top:22px}.suggestions{grid-template-columns:1fr;gap:10px;margin-top:25px}.suggestions button{padding:13px 16px}.suggestions span{margin-bottom:4px;font-size:9px}.suggestions strong{font-size:13px}.suggestions small{margin-top:6px}.message.user{margin-left:8%;padding:12px 15px}.model-picker select{max-width:135px;font-size:10px}.model-picker #effort{max-width:85px}.login-screen{grid-template-columns:1fr}.login-story{display:none}.login-form-wrap{min-height:100dvh;background:#f6f8f0}.login-form-wrap form{max-width:360px}.login-form-wrap h2{font-size:27px}.preview-header{padding:13px 16px}.preview-header h3{font-size:13px;max-width:60vw}.preview-body{padding:18px}dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0;margin:0}.quiz-toolbar{margin-bottom:20px}.question-prompt{font-size:16px}.quiz-controls{justify-content:space-between}.quiz-controls button{padding:9px 12px}.question-card form{flex-direction:column}.question-card .primary{justify-content:center}}
@media(max-width:800px){.chat-header{flex-wrap:wrap}.chat-heading{flex:1}.header-actions .text-button{display:inline-block;font-size:11px}.header-actions{flex-shrink:0}.chat-heading h2{max-width:55vw}.quiz-controls{flex-wrap:wrap}}
