:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#243f38;background:#faf9f5;font-size:15px;--green:#245c51;--muted:#7b8880;--line:#e4e8df}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0;background:transparent;color:inherit;border-radius:12px;padding:11px 15px}button:disabled{opacity:.5;cursor:wait}button:hover{background:#e8eee6}.primary{background:var(--green);color:#fff}.primary:hover{background:#19473e}input,textarea{border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px;outline:none;color:inherit}input:focus,textarea:focus{border-color:#6b998a;box-shadow:0 0 0 3px #dfeae3}input[type=checkbox]{accent-color:var(--green);padding:0;vertical-align:middle}h1,h2,p{margin-top:0}h1{font-size:34px;letter-spacing:-1px;font-weight:580}h2{font-size:24px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);margin:26px 0 15px}.muted{color:var(--muted);line-height:1.8}.fine{font-size:12px;color:var(--muted);line-height:1.8}.brand-mark{margin:auto;width:60px;height:60px;background:var(--green);color:white;border-radius:20px;font-size:32px;padding:9px}.auth-card{width:min(440px,92vw);padding:36px;margin:10vh auto;background:white;border:1px solid var(--line);border-radius:24px;text-align:center}.auth-card h1{font-size:30px}.auth-card label{display:block;text-align:left;margin:18px 0;font-size:13px}.auth-card input{display:block;width:100%;margin-top:8px}.auth-card .primary{width:100%}#authError{color:#ab4338;font-size:13px}#app{display:flex;height:100dvh}#app[hidden], [hidden]{display:none!important}aside{width:255px;flex-shrink:0;background:#f0f2ea;border-right:1px solid var(--line);padding:30px 22px;display:flex;flex-direction:column}.brand{font-size:29px;letter-spacing:3px;color:var(--green);text-decoration:none;margin-bottom:35px;font-weight:650}.brand span{display:block;font-size:10px;letter-spacing:3px;margin-top:7px;color:var(--muted)}nav{overflow:auto;flex:1}nav button{width:100%;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;margin:3px 0}nav button.active{background:#dfe7da}.sidebar-bottom{padding-top:15px;border-top:1px solid var(--line)}.sidebar-bottom button{display:block;width:100%;text-align:left;font-size:13px}main{flex:1;min-width:0;display:flex;flex-direction:column}header{display:flex;align-items:center;gap:12px;padding:23px 35px;border-bottom:1px solid var(--line)}header strong{font-size:14px;font-weight:500}.status{display:block;font-size:11px;color:var(--muted);margin-top:7px}.status i{display:inline-block;background:#749d78;width:6px;height:6px;border-radius:50%;margin-right:6px}#menu{display:none}.quiet{margin-left:auto;font-size:12px;color:var(--muted)}#messages{flex:1;overflow:auto;padding:25px max(28px,calc((100% - 780px)/2));scroll-behavior:smooth}#welcome{text-align:center;padding-top:7vh}.sun{font-size:60px;color:#b99966;margin-bottom:28px}#welcome p:not(.eyebrow){line-height:1.9;color:var(--muted)}.suggestions{display:flex;gap:12px;justify-content:center;margin-top:35px}.suggestions button{border:1px solid var(--line);background:#fff;padding:18px;font-size:13px}.message{margin:12px 0 25px;max-width:92%;line-height:1.85;overflow-wrap:anywhere}.message.user{margin-left:auto;background:#e8eee2;border-radius:18px 18px 4px 18px;padding:14px 20px;max-width:85%;width:fit-content}.message.assistant{padding:5px 0}.message .name{font-size:11px;letter-spacing:1px;color:var(--muted);margin-bottom:8px}.message .body{white-space:pre-wrap}.message img{display:block;max-width:100%;max-height:300px;border-radius:12px;margin-bottom:10px}.message .actions{display:flex;gap:5px;margin-top:7px}.message .actions button{font-size:11px;padding:5px 8px;color:var(--muted)}.compose-wrap{padding:10px 30px max(15px,env(safe-area-inset-bottom));width:min(840px,100%);margin:auto}#composer{border:1px solid #d5dfd3;border-radius:18px;background:white;box-shadow:0 5px 25px #223f3506;padding:9px}#prompt{border:0;resize:none;width:100%;min-height:65px;max-height:180px;box-shadow:none;background:transparent}.compose-actions{display:flex;justify-content:space-between;align-items:center}.compose-actions button{font-size:13px}.compose-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:12px;gap:10px}.compose-meta input{margin:0 5px 0 0}#notice{font-size:13px;padding:5px 2px 10px;min-height:25px;color:#8e6a3b}#imagePreview{display:flex;align-items:center;gap:10px;padding-bottom:10px}#imagePreview img{width:70px;height:65px;object-fit:cover;border-radius:8px}#imagePreview button{font-size:12px}#record.recording{background:#f7e0dc;color:#ae4435}audio{width:100%;margin-top:10px;height:35px}dialog{border:1px solid var(--line);border-radius:22px;padding:28px;max-width:560px;width:92vw;max-height:85dvh;color:inherit}dialog::backdrop{background:#14282065;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-head .eyebrow{margin-top:0}.dialog-head h2{margin-bottom:10px}.toggle{display:block;padding:13px 0}#addMemory{display:flex;gap:8px;margin:20px 0}#addMemory input{flex:1;min-width:0}.memory{border-top:1px solid var(--line);padding:16px 0;line-height:1.7}.memory p{margin-bottom:6px;white-space:pre-wrap}.memory button{font-size:12px;padding:6px 10px}.memory .fine{display:block}#inviteUrl{width:100%;margin:10px 0;resize:none}@media(max-width:720px){aside{display:none;position:fixed;inset:0 auto 0 0;z-index:5;box-shadow:15px 0 100px #173c3440;width:270px}aside.open{display:flex}#menu{display:block}header{padding:15px 13px}.compose-wrap{padding-left:12px;padding-right:12px}#messages{padding:20px 18px}#welcome{padding-top:5vh}#welcome h1{font-size:27px}.sun{font-size:48px;margin-bottom:15px}.suggestions{gap:8px;flex-wrap:wrap;margin-top:20px}.suggestions button{padding:12px;font-size:12px}.compose-meta{font-size:10px}.message{max-width:100%}dialog{padding:22px}.auth-card{padding:25px;margin-top:6vh}}

#closeSidebar{display:none}@media(max-width:720px){#closeSidebar{display:block;position:absolute;right:12px;top:20px}.compose-meta{flex-wrap:wrap}}
