:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#25382f;background:#f7f8f3;font-size:15px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}main{max-width:860px;margin:auto;padding:0 28px}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dde3d9}header>div{display:flex;align-items:center;gap:12px}header strong{font-size:20px}header small{margin-left:10px;color:#7c877b;font-size:12px}.mark{color:#71945f;font-size:32px}nav{display:flex;gap:8px}button,input,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:12px;background:#2e503b;color:white;padding:12px 19px}nav button{background:transparent;color:#586950;font-size:13px;padding:8px}button:disabled{opacity:.5;cursor:wait}input,textarea{width:100%;border:1px solid #d4ddcf;border-radius:13px;background:#fff;color:#25382f;padding:16px;outline:none}input:focus,textarea:focus{border-color:#7b986a;box-shadow:0 0 0 3px #8ea77e20}#login{padding:90px 0;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}.eyebrow{font-size:12px;letter-spacing:2px;color:#7e906e}h1{font-size:48px;line-height:1.3;letter-spacing:-2px;margin:24px 0}p{line-height:1.9;color:#7a8678}#loginform{background:#fff;padding:30px;border:1px solid #e0e5da;border-radius:22px;box-shadow:0 12px 40px #31422b06}label{display:block;font-size:13px;margin-bottom:14px}#loginform button{width:100%;margin-top:14px;display:flex;justify-content:space-between}.hint{font-size:12px;margin-bottom:0}#chat{padding:24px 0}#messages{min-height:48vh}.message{margin:16px 0 26px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.message.user{background:#e9efdf;padding:16px 20px;border-radius:17px;margin-left:15%}.message.assistant{padding:6px 4px}.message .role{display:block;font-size:11px;color:#7b8a74;margin-bottom:8px;letter-spacing:1px}.copy{background:transparent;border:1px solid #dce3d5;color:#71816b;font-size:11px;padding:4px 9px;margin-top:12px;display:block}#composer{position:sticky;bottom:12px;padding:12px;background:#fff;border:1px solid #d8dfcf;border-radius:18px;box-shadow:0 4px 30px #23381b09}textarea{border:0;resize:vertical;min-height:70px;max-height:220px;padding:8px;box-shadow:none!important}.compose-bottom{display:flex;align-items:center;justify-content:space-between;padding:2px 4px}.compose-bottom small{color:#8a9681;font-size:11px}.compose-bottom button{padding:9px 15px;font-size:13px}.footnote{text-align:center;font-size:11px;color:#95a08d}#empty{text-align:center;padding:60px 0 80px}.big{font-size:55px}h2{font-size:25px;font-weight:500}#empty p{font-size:13px}#status{color:#a05c40;font-size:13px;text-align:center;min-height:24px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:620px){main{padding:0 18px}header{height:76px}header small{display:none}#login{grid-template-columns:1fr;padding:40px 0;gap:24px}h1{font-size:39px;margin:16px 0}.intro p{font-size:13px}#loginform{padding:24px}.message.user{margin-left:8%}#messages{min-height:42vh}}

.message.assistant{white-space:normal}.message pre{white-space:pre;overflow:auto;padding:16px;background:#f0f3ed;border-radius:12px}.message table{border-collapse:collapse;display:block;overflow:auto}.message td,.message th{border:1px solid #d4ddcf;padding:7px 12px}.message iframe{width:100%;height:340px;border:0;background:white}.message blockquote{border-left:3px solid #9bac8e;padding-left:15px;margin-left:0}.message p{color:inherit}dialog{max-width:680px;width:calc(100% - 30px);max-height:85vh;overflow:auto;border:1px solid #d4ddcf;border-radius:20px;padding:28px;color:inherit}dialog::backdrop{background:#15291d66}dialog button{margin:5px}dialog code,#new-key{overflow-wrap:anywhere}#key-form{display:flex;gap:8px}select{font:inherit;max-width:60%;border:0;background:transparent;color:#50664b}header nav{flex-wrap:wrap}details{padding:12px;border:1px solid #ddd;border-radius:10px}.katex-display{overflow:auto}

.svg-preview{display:block;max-width:100%;min-height:40px;margin:20px auto}
dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}dialog{overflow-x:hidden}#key-form input{min-width:0}#key-form button{flex-shrink:0}
