:root{--brand: #76C47F;--bg: #eef4ee;--card: #ffffff;--muted: #596a60;--accent: var(--brand);--accent-2: #9cc4b6;--soft: #f6fbf6;--shadow: rgba(10,20,15,.06);--text: #122619}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;margin:0;padding:0;background:linear-gradient(180deg,var(--bg) 0%,#e9f3ea 100%);color:var(--text);font-size:18px}.container{max-width:920px;margin:12px auto;padding:12px;min-height:calc(100vh - 24px);display:flex;flex-direction:column}.site-header .header-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-icon{flex:0 0 auto}.site-header .logo{width:160px;height:auto;object-fit:contain;object-position:center}.logo-wrap{width:160px;height:auto;overflow:visible;display:inline-block;border-radius:14px}.logo-wrap .logo{width:100%;height:auto;display:block;transform:none}.site-header h1{margin:0;font-size:34px;line-height:1.02;letter-spacing:.6px;font-weight:700}.headline{font-size:20px;font-weight:600;color:var(--text);margin:0 0 6px;line-height:1.08}.subtitle{font-size:14px;color:var(--muted);margin:0}.brand-bubble__bg{background:radial-gradient(circle at 30% 30%,rgba(118,196,127,.1),rgba(118,196,127,.02) 56%,transparent 72%);box-shadow:0 8px 30px #76c47f08}.brand-bubble{position:relative;display:inline-block}.brand-bubble__bg{position:absolute;z-index:0;left:-12px;top:-12px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(118,196,127,.08),rgba(118,196,127,.02) 56%,transparent 72%);filter:blur(6px)}.brand-bubble .brand{position:relative;z-index:1;display:flex;align-items:center;gap:16px}@media (max-width:900px){.site-header .header-row{gap:12px}.brand-icon{flex:0 0 96px}.logo-wrap{width:96px;height:auto}.site-header .logo{width:96px}.headline{font-size:18px}.brand-text{max-width:320px}}@media (max-width:560px){.site-header .header-row{flex-direction:column;align-items:flex-start}.brand-icon{margin-bottom:8px}.logo-wrap{width:88px;height:auto}.site-header .logo{width:88px}.headline{font-size:18px}.brand-text{max-width:100%}}header.site-header{padding-bottom:10px}.brand{align-items:center}.brand-text{padding-left:8px}.site-header+.header-controls{margin-top:8px}.disclaimer{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.35;max-width:720px}.disclaimer p{margin:0 0 6px}.disclaimer{font-size:12px;color:var(--muted);margin-top:8px}.messages{min-height:420px;padding:18px;margin-top:12px;border-radius:14px;background:linear-gradient(180deg,var(--card),#fbfff7);box-shadow:0 8px 30px var(--shadow);border:1px solid rgba(0,0,0,.03);display:flex;flex-direction:column;gap:10px;flex:1;overflow:auto}.messages{min-height:420px;padding:18px;margin-top:12px;border-radius:14px;background:linear-gradient(180deg,var(--card),#fbfff7);box-shadow:0 8px 30px var(--shadow);border:1px solid rgba(0,0,0,.03);display:flex;flex-direction:column;gap:10px;flex:1;overflow-y:auto;overflow-x:hidden}.brand-text{max-width:520px;display:flex;flex-direction:column;justify-content:center}.brand-text,.brand-icon{min-width:0}.messages.empty{min-height:120px;padding:12px;align-items:flex-start}main{display:flex;flex-direction:column;gap:12px;flex:1}.composer{flex:0 0 auto}.empty-hint{width:100%;text-align:center;margin-top:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);padding:8px 12px}.empty-hint__text{font-size:15px;color:var(--muted);line-height:1.25}.empty-hint__arrow{font-size:20px;color:var(--accent);animation:bob 1.2s ease-in-out infinite}@keyframes bob{0%{transform:translateY(0)}50%{transform:translateY(6px)}to{transform:translateY(0)}}.messages.empty{padding-bottom:80px}.message{padding:14px;margin-bottom:14px;border-radius:12px;display:block}.message .meta{font-size:13px;color:var(--muted);margin-bottom:8px}.message .body{font-size:18px;line-height:1.6;color:var(--text)}.message-content{word-break:break-word;white-space:pre-wrap}.message-meta{font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:600}.message.user .message-meta{color:#0a1e3c99}.message.assistant .message-meta{color:#14501e99}.message.user{background:linear-gradient(90deg,#e6f5ff 0%,#f4fbff 100%);border-radius:14px;align-self:flex-end;max-width:78%;color:#052235;box-shadow:0 6px 18px #1129580a;border:1px solid rgba(10,30,60,.04)}.message.assistant{background:linear-gradient(90deg,#f3fff4 0%,#f0fff2 100%);border-radius:14px;align-self:flex-start;max-width:78%;color:#053216;box-shadow:0 6px 18px #0a281408;border:1px solid rgba(20,80,30,.03)}.message.system{background:linear-gradient(90deg,#fff7f8,#fff9f9);align-self:center;border-radius:12px;color:#7a3b3b}.header-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:12px}.header-controls .left-controls,.header-controls .account-area{display:flex;align-items:center;gap:8px}button,.modal-actions button{font-family:inherit}.header-controls button,.account-area .small,.modal-switch button{padding:10px 14px;border-radius:999px;background:var(--accent);color:#fff;border:none;cursor:pointer;font-size:14px}.header-controls button[aria-pressed=true]{box-shadow:0 4px 12px #0000000f}.account-area .small{padding:8px 12px;border-radius:999px}.header-controls .badge{margin-left:6px}.account-email{display:inline-block;background:rgba(10,30,60,.08);color:#0a1e3ce6;padding:8px 12px;border-radius:999px;font-weight:600;margin-right:10px}.account .small{margin-left:6px}.composer button{padding:12px 18px;border-radius:999px;background:var(--accent);color:#fff;border:none;cursor:pointer;box-shadow:0 6px 18px #115a3414}.composer button:disabled{opacity:.6;cursor:not-allowed}.messages{padding:18px}.message{margin-bottom:12px}.message .message-content{font-size:17px;line-height:1.55}.composer{display:flex;gap:8px;margin-top:18px;align-items:center}.composer input{flex:1;padding:14px 18px;border-radius:999px;border:1px solid rgba(18,24,17,.06);background:var(--soft);box-shadow:inset 0 1px 1px #00000005;font-size:17px}.composer button{padding:12px 18px;border-radius:999px;background:var(--accent);color:#fff;border:none;cursor:pointer}.composer button:disabled{opacity:.5;cursor:not-allowed}.badge{background:var(--accent);color:#fff;padding:6px 12px;border-radius:999px;font-size:13px}.cursor{display:inline-block;width:12px;animation:blink 1s steps(1) infinite;margin-left:6px}@keyframes blink{50%{opacity:0}}.messages p{margin:0 0 10px}.messages pre{background:#eef7f0;color:#08321a;padding:12px;border-radius:10px;overflow:auto;border:1px solid rgba(0,0,0,.04)}.messages code{background:rgba(0,0,0,.04);padding:6px 10px;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Roboto Mono,monospace;font-size:.95em}.messages blockquote{border-left:4px solid rgba(118,196,127,.18);padding-left:12px;color:var(--muted);margin:6px 0}.messages a{color:var(--accent);text-decoration:underline}@media (max-width:640px){.container{margin:16px;padding:12px}.messages{min-height:220px}.messages.empty{min-height:80px;padding-bottom:68px}.msg .body{font-size:15px}}.simple-mode{font-size:18px}.simple-mode .messages{min-height:420px}.simple-mode .composer input{font-size:18px;padding:16px 18px}.simple-mode .composer button{padding:14px 20px;font-size:18px}.simple-mode header h1{font-size:26px}.simple-mode .msg{border-radius:12px;padding:16px}.simple-mode .disclaimer{font-size:14px}.simple-mode .msg.user{background:#eaf6ff;color:#052235}.simple-mode .msg.assistant{background:#f3fff4;color:#053216}.simple-mode .badge{font-size:14px;padding:8px 14px}.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(5,7,5,.45);z-index:2000}.modal-content{background:var(--card);padding:20px;border-radius:12px;min-width:320px;max-width:520px;box-shadow:0 12px 40px var(--shadow)}.modal-content h2{margin-top:0}.modal-content form{display:flex;flex-direction:column;gap:8px}.modal-content input{padding:10px;border-radius:8px;border:1px solid rgba(0,0,0,.06)}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.modal-actions button{padding:8px 12px;border-radius:8px;border:none;background:var(--accent);color:#fff}.modal-switch{margin-top:12px;display:flex;gap:8px;justify-content:center}.form-error{color:#a33;font-size:13px}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%);background:rgba(10,30,60,.95);color:#fff;padding:10px 16px;border-radius:999px;box-shadow:0 8px 24px #0000002e;z-index:3000;font-size:15px;pointer-events:none}
