:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#17231d;background:#f5f7f4}*{box-sizing:border-box}body{margin:0}.shell{width:min(900px,100%);height:100dvh;margin:auto;padding:28px 24px 12px;display:flex;flex-direction:column}header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #dce4dc;padding-bottom:18px}.eyebrow{font-size:.72rem;letter-spacing:.14em;font-weight:700;color:#4e6c55;margin:0 0 8px}h1{margin:0;font-size:clamp(1.5rem,4vw,2.15rem);letter-spacing:-.05em}.controls{display:flex;align-items:center;gap:24px;padding:12px 0;border-bottom:1px solid #e0e7e0}.toggle{display:flex;align-items:center;gap:8px;font-size:.87rem;font-weight:650;cursor:pointer}.toggle input{position:absolute;opacity:0}.track{width:38px;height:22px;border-radius:20px;background:#aebaae;position:relative;transition:.2s}.track:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:white;transition:.2s}.toggle input:checked+.track{background:#1f5633}.toggle input:checked+.track:after{transform:translateX(16px)}.token-control{margin-left:auto;display:grid;grid-template-columns:auto 150px;align-items:center;gap:10px;font-size:.82rem;color:#4c5d50}.token-control strong{color:#1f5633}.token-control input{accent-color:#1f5633}#chat{flex:1;min-height:0;padding:24px 2px;overflow-y:auto;scroll-behavior:smooth}.welcome{display:grid;gap:8px;color:#5c685f;padding-top:16px}.welcome strong{font-size:1.15rem;color:#17231d}.message{max-width:80%;margin:0 0 22px;display:grid;gap:6px}.message.user{margin-left:auto}.label{font-size:.72rem;font-weight:700;color:#68816d}.content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;padding:12px 15px;border-radius:14px;background:#e6eee6}.user .content{background:#1f5633;color:white}.message.user .label{text-align:right}.thinking-detail{border:1px solid #d7e1d7;border-radius:10px;background:#f9fbf9;font-size:.82rem;color:#526257}.thinking-detail summary{padding:9px 11px;cursor:pointer;font-weight:650}.thinking-detail div{white-space:pre-wrap;overflow-wrap:anywhere;padding:0 11px 11px;line-height:1.5}.scroll-bottom{position:absolute;align-self:center;bottom:138px;border-radius:99px;background:#305e3d;box-shadow:0 4px 15px #17351b33;font-size:.8rem;padding:8px 12px}.attachment-list{display:flex;gap:7px;flex-wrap:wrap;padding:0 2px 7px}.attachment-list:empty{display:none}.attachment-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 7px;border-radius:8px;background:#edf3ed;color:#3f5845;font-size:.76rem}.attachment-chip button{padding:0 3px;line-height:1;color:#416148;background:transparent;font-size:1.1rem}.attachment-chip button:hover{color:#a12d2d}#composer{flex:none;border:1px solid #cbd7cb;background:#fff;border-radius:18px;padding:8px 8px 8px 13px}.compose-row{display:flex;gap:9px;align-items:flex-end}.attach{display:flex;align-items:center;gap:4px;padding:9px 5px;color:#416148;font-size:.78rem;font-weight:650;cursor:pointer;white-space:nowrap}.attach input{display:none}textarea{flex:1;border:0;outline:0;resize:none;font:inherit;line-height:1.45;padding:8px 0;background:transparent;max-height:160px}button{border:0;border-radius:11px;background:#1f5633;color:white;font:inherit;font-weight:650;padding:11px 15px;cursor:pointer}button:disabled{opacity:.5}.quiet{background:transparent;color:#31533a;border:1px solid #b5c6b7}.hint{text-align:center;color:#718074;font-size:.75rem;margin:8px 0 0}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(390px,100%);background:white;padding:34px;border-radius:20px;box-shadow:0 14px 50px #17351b15}.login-card h1{margin-bottom:10px}.login-card>p:not(.eyebrow){color:#637066;margin-bottom:28px}.login-card form{display:grid;gap:10px}.login-card input{padding:12px;border:1px solid #cbd7cb;border-radius:10px;font:inherit}.error{min-height:1.2em;color:#aa2d2d;margin:2px 0 0;font-size:.9rem}@media(max-width:600px){.shell{padding:18px 13px 10px}.controls{gap:12px}.token-control{grid-template-columns:1fr;width:150px;gap:4px}.token-control input{width:100%}.message{max-width:92%}.attach span{display:none}.scroll-bottom{bottom:130px}h1{font-size:1.45rem}}
