:root{--green:#22533e;--ink:#24332b;--muted:#839087;--line:#e2e7e1;--bg:#f8faf6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 Inter,"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif}.hidden{display:none!important}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #9bbf8b;outline-offset:3px}header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:22px;font-weight:750;letter-spacing:-.7px}.mark{display:grid;place-items:center;background:#193e2d;color:#e1efa5;width:36px;height:36px;border-radius:10px;font-size:24px}.brand-sub{color:#93a28d;font-weight:450}.quiet{border:0;background:transparent;color:#5e7463;padding:8px 12px;border-radius:8px;min-height:42px;font-size:13px}.quiet:hover{background:#eff4eb}main{max-width:880px;margin:auto;padding:0 24px}.login-card{max-width:440px;background:white;border:1px solid var(--line);border-radius:20px;margin:80px auto;padding:38px;box-shadow:0 16px 70px #263a200a}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#96a281}h1,p{margin:0}.login-card h1{font-size:29px;margin:14px 0 8px}.muted{color:var(--muted);font-size:14px;margin-bottom:23px}label{display:block;font-size:13px;font-weight:600;margin:15px 0 7px}input,textarea,select{border:1px solid var(--line);border-radius:10px;padding:11px 13px;background:#fff;color:var(--ink);font-size:16px;outline:0;width:100%}input:focus,textarea:focus,select:focus{border-color:#91ad8a;box-shadow:0 0 0 3px #22533e0b}input::placeholder,textarea::placeholder{color:#9da79f}.primary{display:flex;justify-content:space-between;border:0;border-radius:10px;width:100%;padding:12px 17px;background:var(--green);color:#fff;font-weight:600;margin-top:24px;min-height:48px}.footnote{font-size:11px;color:var(--muted);margin-top:21px}.error{color:#ae4b3b;font-size:13px;min-height:3px;margin-top:8px}.model-bar{display:flex;justify-content:space-between;align-items:center;padding:20px 0;position:sticky;top:0;background:var(--bg);z-index:2}.model-bar select{width:auto;font-size:14px;font-weight:600;border:0;background:transparent;padding-left:0;max-width:75%}.model-bar span{font-size:11px;color:var(--muted)}#workspace{min-height:calc(100dvh - 80px);display:flex;flex-direction:column}#messages{flex:1}#welcome{text-align:center;padding:10vh 0 12vh;color:var(--muted)}.welcome-mark{color:#8ba579;font-size:39px;margin-bottom:17px}#welcome h1{font-size:30px;color:#3d5142;font-weight:550;letter-spacing:-.7px}#welcome p{font-size:14px;margin-top:10px}.message{margin:12px 0 28px}.message.user{margin-left:auto;max-width:85%;background:#eaf1e4;border-radius:18px 18px 4px 18px;padding:14px 18px;white-space:pre-wrap;overflow-wrap:anywhere}.message.assistant{padding:10px 4px;overflow-wrap:anywhere}.message-meta{font-size:11px;color:#8b9b83;margin-bottom:10px;font-weight:650}.answer{font-size:15px;line-height:1.9}.answer p{margin:0 0 13px;white-space:pre-wrap}.answer h3{font-size:17px;margin:20px 0 10px}.answer pre{font-family:ui-monospace,monospace;white-space:pre-wrap;overflow-x:auto;background:#eef2ea;padding:15px;border-radius:10px}.answer table{display:block;overflow-x:auto;border-collapse:collapse;margin:15px 0;font-size:13px}.answer td,.answer th{padding:8px 12px;min-width:80px;border:1px solid var(--line);text-align:left}.answer th{background:#eff4e8}.answer ul{padding-left:23px}.message img{display:block;max-width:100%;max-height:220px;border-radius:10px;margin-top:10px}.copy{font-size:11px;padding:4px 8px;min-height:30px;color:#8a9887}#composer{position:sticky;bottom:0;background:#fff;border:1px solid #d9e2d3;border-radius:17px;padding:10px 12px;box-shadow:0 5px 30px #263a2007;margin-top:15px}#source{border:0;box-shadow:none;resize:vertical;max-height:260px;min-height:70px;padding:5px 8px;background:transparent;line-height:1.7}.composer-bottom{display:flex;align-items:center;gap:12px}.send{border:0;background:var(--green);color:#fff;border-radius:50%;width:38px;height:38px;font-size:23px;margin-left:auto;line-height:1}#char-count{font-size:10px;color:#a0aaa0}#attachment{display:flex;align-items:center;justify-content:space-between;font-size:12px;background:#f1f5ec;border-radius:9px;padding:0 8px 0 12px;overflow-wrap:anywhere}.chat-note{font-size:10px;color:#9aa595;text-align:center;margin:12px 0 19px}#job-state{display:flex;align-items:center;gap:10px;color:#7e8f75;font-size:13px;padding:12px 4px}.spinner{width:17px;height:17px;border:2px solid #dae3d3;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:600px){header{height:65px;padding:0 16px}.brand{font-size:19px;gap:7px}.mark{height:32px;width:32px;font-size:22px}header .quiet{font-size:12px;padding:8px}.login-card{margin:40px auto;padding:29px 25px}.login-card h1{font-size:26px}main{padding:0 16px}#workspace{min-height:calc(100dvh - 65px)}.model-bar{padding:13px 0}#welcome{padding:12vh 0}#welcome h1{font-size:27px}.message.user{max-width:93%}.message{margin-bottom:20px}.chat-note{font-size:9px;line-height:1.6}.answer{font-size:15px}}
dialog{border:1px solid #dfe6da;border-radius:18px;padding:26px;width:min(460px,calc(100vw - 28px));color:#24332b;max-height:85dvh;overflow:auto}dialog::backdrop{background:#17291f55;backdrop-filter:blur(3px)}.admin-heading{display:flex;justify-content:space-between;align-items:center}.admin-heading h2{margin:0;font-size:22px}.users-title{font-size:14px;margin-top:27px}#users-list{list-style:none;padding:0}#users-list li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e2e7e1;font-size:13px}#users-list li span:last-child{color:#839087}#admin-feedback{font-size:13px;color:#22533e;margin-top:12px}
#history-dialog{width:min(420px,calc(100vw - 24px));margin:0;min-height:100dvh;max-height:100dvh;border-radius:0 18px 18px 0;border-left:0;border-top:0;border-bottom:0}#history-empty{margin-top:25px;font-size:13px}.history-item{display:flex;flex-direction:column;gap:6px;text-align:left;background:transparent;border:0;border-bottom:1px solid #e2e7e1;padding:15px 5px;width:100%;color:#344b3c}.history-item:hover{background:#f4f7ef}.history-item strong{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.history-item span{font-size:10px;color:#94a08e}

.answer-review{font-size:11px;color:#657d60;margin:8px 0}.answer-review summary{cursor:pointer}.answer-review p{margin:6px 0;white-space:pre-wrap}.review-warning{color:#995c21}
.user-text{white-space:pre-wrap;line-height:1.65;overflow-wrap:anywhere}.user-text.collapsed{max-height:13.2em;overflow:hidden}.user-text-toggle{display:block;position:sticky;top:64px;z-index:1;margin-bottom:6px;padding:4px 8px;font-weight:600;background:#eaf1e4;box-shadow:0 2px 4px #eaf1e4}.user-text-toggle[hidden]{display:none}

#char-count.over-limit{color:#ae4b3b;font-weight:600}

.mode-description{font-size:12px;color:#657d60;margin:-10px 0 12px}.model-bar{gap:8px;flex-wrap:wrap}.model-bar select{max-width:100%}#answer-mode{font-size:13px;width:auto;min-width:112px}@media(max-width:600px){.model-bar{display:grid;grid-template-columns:minmax(0,1fr) auto}.model-bar #model{width:100%;min-width:0}.model-bar #history-open{grid-column:2}.mode-description{margin-top:0}}

.answer-versions{display:inline-flex;align-items:center;gap:3px;margin-left:8px;font-size:11px;color:#657d60}.answer-versions button{min-width:30px;font-size:18px}.answer-versions button:disabled{cursor:default}
