:root{
  --ink:#0d3029;--ink-2:#163b34;--muted:#73837e;--muted-2:#9aa7a2;
  --brand:#007a64;--brand-dark:#064b43;--lime:#d8ff36;--lime-soft:#f2ffd0;
  --line:#e8ede9;--line-2:#dce5df;--panel:#ffffff;--soft:#f7faf7;--user:#f1f6eb;
  --shadow:0 18px 60px rgba(21,55,45,.08);--shadow-soft:0 8px 30px rgba(15,62,50,.06);
  --radius:22px;--sidebar:286px;--topbar:84px;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink);background:#fff;color-scheme:light;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#fff}body{font-size:15px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}button,textarea,input{font:inherit}button{color:inherit}button:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid rgba(216,255,54,.52);outline-offset:3px}

/* Login */
.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 25%,rgba(216,255,54,.13),transparent 26%),#fff}.login-card{width:min(470px,100%);border:1px solid var(--line);border-radius:30px;padding:38px;background:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(216,255,54,.18);top:-90px;right:-65px;filter:blur(4px)}.login-brand{height:52px;display:flex;align-items:center;margin-bottom:28px;position:relative}.login-brand img{height:48px;width:auto;display:block}.login-orb{width:52px;height:52px;border-radius:17px;background:var(--lime);display:grid;place-items:center;color:var(--brand-dark);box-shadow:0 10px 28px rgba(171,211,0,.22);margin-bottom:18px;position:relative}.login-orb .icon{width:22px;height:22px}.login-eyebrow{margin:0 0 7px;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.login-card h1{font-size:34px;letter-spacing:-.04em;margin:0 0 8px}.login-copy{color:var(--muted);margin:0 0 26px;line-height:1.55}.login-error{padding:12px 14px;border-radius:12px;background:#fff1ef;color:#9a3029;font-size:13px}.login-form{display:grid;gap:10px}.login-form label{font-weight:700;font-size:13px}.login-form input{height:52px;border:1px solid var(--line-2);border-radius:14px;padding:0 15px;color:var(--ink);background:#fbfdfb}.login-form button{margin-top:6px;height:54px;border:0;border-radius:15px;background:var(--brand-dark);color:white;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 10px 24px rgba(6,75,67,.18);transition:.2s transform,.2s box-shadow}.login-form button:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(6,75,67,.22)}.login-note{display:flex;gap:8px;align-items:center;justify-content:center;color:var(--muted);font-size:12px;margin:20px 0 0}.login-note .icon{color:var(--brand)}

/* Shell */
.app-shell{height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);overflow:hidden;background:#fff}.sidebar{border-right:1px solid var(--line);padding:26px 24px 18px;display:flex;flex-direction:column;min-width:0;background:linear-gradient(180deg,#fff 0%,#fff 74%,#fbfdfb 100%);z-index:3}.brand{display:flex;align-items:center;height:54px;margin-bottom:28px;text-decoration:none}.brand img{display:block;width:205px;max-width:100%;height:auto}.new-chat{height:52px;border:0;border-radius:14px;background:var(--brand-dark);color:#fff;display:flex;align-items:center;gap:11px;padding:0 16px;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(6,75,67,.16);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.new-chat:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(6,75,67,.19);background:#083f39}.new-chat .icon{width:17px;height:17px}.new-chat kbd{margin-left:auto;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);border-radius:7px;padding:3px 6px;font-size:10px;font-family:inherit;font-weight:700;color:#d8e7e2}.sidebar-section{margin-top:30px}.sidebar-label{text-transform:uppercase;letter-spacing:.1em;color:#98a49f;font-weight:800;font-size:10px;margin:0 0 10px 12px}.session-item{width:100%;border:1px solid transparent;background:transparent;border-radius:13px;min-height:48px;display:flex;align-items:center;gap:11px;text-align:left;padding:0 12px;cursor:pointer;color:var(--ink-2);font-weight:700;font-size:13px}.session-item.active{background:#f2f7ed;border-color:#e0ead9}.session-icon{color:var(--brand);display:grid;place-items:center}.session-item i{margin-left:auto;width:6px;height:6px;border-radius:50%;background:var(--brand)}.sidebar-spacer{flex:1;min-height:24px}.idea-card{border:1px solid var(--line);border-radius:19px;padding:18px 17px 17px;background:#fff;box-shadow:0 8px 26px rgba(29,55,46,.035);display:grid;gap:8px;margin-bottom:16px}.idea-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--lime);color:var(--brand-dark);margin-bottom:5px}.idea-card strong{font-size:14px;line-height:1.35;letter-spacing:-.01em}.idea-card>span:last-child{color:var(--muted);font-size:11px;line-height:1.55}.privacy-row{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 4px;margin-bottom:12px}.privacy-row>.icon{color:var(--brand);width:18px;height:18px}.privacy-row div{display:grid;gap:2px}.privacy-row strong{font-size:11px}.privacy-row span{font-size:10px;color:var(--muted)}.sidebar-account{display:flex;align-items:center;gap:10px}.account-avatar{width:34px;height:34px;border-radius:50%;background:#f1f6e9;border:1px solid #dce7d4;display:grid;place-items:center;font-size:10px;font-weight:900}.sidebar-account>div{display:grid;gap:2px;min-width:0}.sidebar-account strong{font-size:11px}.sidebar-account span{font-size:9px;color:var(--muted)}.sidebar-account form{margin-left:auto}.logout-button{width:34px;height:34px;border:0;background:transparent;border-radius:10px;display:grid;place-items:center;color:#7c8d87;cursor:pointer}.logout-button:hover{background:#f2f6f3;color:var(--brand-dark)}

.main-panel{min-width:0;display:grid;grid-template-rows:var(--topbar) minmax(0,1fr);position:relative;overflow:hidden;background:#fff}.topbar{height:var(--topbar);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:rgba(255,255,255,.96);z-index:5;backdrop-filter:blur(14px)}.assistant-heading{display:flex;align-items:center;gap:12px;min-width:0}.assistant-mark{width:38px;height:38px;border-radius:13px;background:linear-gradient(145deg,var(--lime),#efffac);display:grid;place-items:center;color:var(--brand-dark);box-shadow:inset 0 0 0 1px rgba(129,164,0,.12),0 7px 20px rgba(175,211,0,.12)}.assistant-mark .icon{width:18px;height:18px}.assistant-copy{display:grid;gap:2px;padding-right:14px;border-right:1px solid var(--line)}.assistant-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--brand);font-weight:900}.assistant-copy strong{font-size:14px;letter-spacing:-.015em}.assistant-tags{display:flex;align-items:center;gap:7px}.assistant-tags span{height:28px;border:1px solid var(--line);border-radius:999px;padding:0 9px;display:flex;align-items:center;gap:5px;font-size:10px;font-weight:800;color:#52645e;background:#fbfdfb}.assistant-tags .icon{width:12px;height:12px;color:var(--brand)}.connection-control{height:40px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:0 12px 0 13px;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 5px 16px rgba(20,55,45,.04);transition:border-color .2s,box-shadow .2s,transform .2s;background-clip:padding-box}.connection-control:hover{border-color:#cfdad4;box-shadow:0 8px 20px rgba(20,55,45,.08);transform:translateY(-1px)}.connection-control #status{font-size:11px;font-weight:800;color:#52645e;min-width:58px;text-align:left}.status-dot{width:7px;height:7px;border-radius:50%;background:#b7c0bd;box-shadow:0 0 0 4px rgba(183,192,189,.10)}.connection-divider{height:16px;width:1px;background:var(--line)}.refresh-icon{color:#7c8d87;width:15px;height:15px;transition:transform .35s ease}.connection-control[data-state="online"] .status-dot{background:#2da66f;box-shadow:0 0 0 4px rgba(45,166,111,.10)}.connection-control[data-state="online"] #status{color:#376b56}.connection-control[data-state="loading"] .refresh-icon,.connection-control[data-state="reconnecting"] .refresh-icon{animation:spin 1s linear infinite}.connection-control[data-state="reconnecting"] .status-dot{background:#e3a72f;box-shadow:0 0 0 4px rgba(227,167,47,.10)}.connection-control[data-state="reconnecting"] #status{color:#8c6a20}@keyframes spin{to{transform:rotate(360deg)}}

.conversation-scroll{overflow:auto;overscroll-behavior:contain;padding:38px 7vw 205px;scrollbar-width:thin;scrollbar-color:#d9e2dd transparent;position:relative}.conversation-scroll:before{content:"";position:fixed;pointer-events:none;left:var(--sidebar);right:0;top:var(--topbar);height:190px;background:radial-gradient(circle at 50% -30%,rgba(216,255,54,.09),transparent 58%);z-index:0}.welcome{min-height:calc(100vh - var(--topbar) - 235px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;z-index:1;padding-top:18px}.hero-orbit{width:74px;height:74px;position:relative;display:grid;place-items:center;margin-bottom:14px}.hero-symbol{width:58px;height:58px;border-radius:20px;background:var(--lime);display:grid;place-items:center;color:var(--brand-dark);box-shadow:0 14px 32px rgba(178,217,0,.18),inset 0 0 0 1px rgba(128,158,0,.08)}.hero-symbol .icon{width:26px;height:26px}.orbit-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--brand)}.dot-a{top:2px;right:7px;opacity:.35}.dot-b{bottom:5px;left:3px;background:var(--lime);box-shadow:0 0 0 2px #fff}.eyebrow{font-size:11px;color:var(--brand);font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px}.welcome h1{font-size:50px;line-height:1.02;letter-spacing:-.055em;margin:0;color:var(--ink);font-weight:670}.welcome h1 span{color:#94a59f;font-weight:570}.welcome-description{font-size:13px;line-height:1.65;color:var(--muted);margin:20px 0 28px}.suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(820px,100%);text-align:left}.suggestion{min-height:132px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:17px 18px;position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto 1fr;column-gap:12px;cursor:pointer;box-shadow:0 7px 22px rgba(17,49,40,.025);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.suggestion:hover{transform:translateY(-3px);border-color:#d8e5d4;box-shadow:0 16px 34px rgba(17,49,40,.075)}.suggestion-icon{grid-column:1;width:32px;height:32px;border-radius:10px;background:#f5f9f1;display:grid;place-items:center;color:var(--brand);margin-bottom:12px}.suggestion-icon .icon{width:16px;height:16px}.suggestion strong{grid-column:1;font-size:13px;letter-spacing:-.01em}.suggestion>span:nth-of-type(2){grid-column:1;color:var(--muted);font-size:11px;line-height:1.45;margin-top:5px}.suggestion-arrow{grid-column:2;grid-row:1/4;align-self:start;color:#a8b4af;width:15px;height:15px;margin-top:5px}.welcome-trust{display:flex;gap:18px;align-items:center;margin-top:18px;color:#899791;font-size:10px}.welcome-trust span{display:flex;align-items:center;gap:6px}.welcome-trust .icon{width:12px;height:12px;color:var(--brand)}

.message-stack{width:min(900px,100%);margin:0 auto;position:relative;z-index:1}.message-row{display:flex;width:100%;margin:0 0 26px}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message-card{max-width:min(760px,88%)}.user .message-card{max-width:min(520px,78%);background:var(--user);border:1px solid #e0e9d9;border-radius:18px 18px 5px 18px;padding:13px 16px;box-shadow:0 5px 14px rgba(36,66,55,.025)}.message-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#83918c;font-size:10px;font-weight:800}.assistant-avatar{width:28px;height:28px;border-radius:9px;background:var(--lime-soft);border:1px solid #e4efbd;color:var(--brand-dark);display:grid;place-items:center}.assistant-avatar .icon{width:14px;height:14px}.assistant .message-card{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;width:100%}.assistant .message-content-wrap{min-width:0}.message-body{font-size:14px;line-height:1.72;color:#173a33;overflow-wrap:anywhere}.message-body p{margin:0 0 10px}.message-body p:last-child{margin-bottom:0}.message-body ul,.message-body ol{margin:7px 0 10px;padding-left:20px}.message-body li{margin:4px 0}.message-body strong{font-weight:850;color:#102f29}.message-actions{display:flex;align-items:center;gap:9px;margin-top:12px;color:#9aa6a1;font-size:10px}.copy-button{border:0;background:transparent;color:#8b9994;padding:4px 6px;border-radius:8px;display:flex;align-items:center;gap:5px;cursor:pointer}.copy-button:hover{background:#f3f6f4;color:var(--brand)}.copy-button .icon{width:12px;height:12px}.failed{opacity:.72}.failed .message-card{border-color:#f0d3cc;background:#fff5f2}

.thinking-row{display:flex;align-items:center;gap:10px;width:min(900px,100%);margin:2px auto 28px;position:relative;z-index:1}.thinking-line{height:1px;background:linear-gradient(90deg,transparent,#e1e8e4 28%,#e1e8e4 72%,transparent);flex:1}.thinking-tooth{width:34px;height:34px;border-radius:12px;background:#f8fce9;border:1px solid #e6efcb;display:grid;place-items:center;box-shadow:0 7px 18px rgba(80,106,35,.06);position:relative}.thinking-tooth img{width:22px;height:25px;object-fit:cover;object-position:left center;animation:toothPulse 1.3s ease-in-out infinite}.thinking-label{font-size:10px;color:#87958f;font-weight:800;white-space:nowrap}.thinking-dots{display:flex;gap:3px}.thinking-dots i{width:4px;height:4px;background:#9fb0aa;border-radius:50%;animation:dot 1.1s ease-in-out infinite}.thinking-dots i:nth-child(2){animation-delay:.15s}.thinking-dots i:nth-child(3){animation-delay:.3s}@keyframes toothPulse{0%,100%{transform:translateY(0) scale(1);opacity:.78}50%{transform:translateY(-2px) scale(1.05);opacity:1}}@keyframes dot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}

.composer-dock{position:absolute;left:0;right:0;bottom:0;padding:22px 7vw 16px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 24%,#fff 100%);z-index:4;pointer-events:none}.composer-width{width:min(900px,100%);margin:0 auto;pointer-events:auto}.context-hint{margin:0 8px 8px;padding:8px 11px;border-radius:10px;background:#fff8df;color:#7b6527;font-size:10px;border:1px solid #f0e2aa}.composer{border:1px solid #cfe089;border-radius:20px;background:#fff;box-shadow:0 14px 40px rgba(33,65,55,.085),0 0 0 3px rgba(216,255,54,.05);padding:14px 15px 11px;transition:border-color .2s,box-shadow .2s}.composer:focus-within{border-color:#b8d259;box-shadow:0 18px 48px rgba(33,65,55,.11),0 0 0 4px rgba(216,255,54,.09)}.composer textarea{width:100%;resize:none;border:0;outline:0;background:transparent;color:var(--ink);min-height:32px;max-height:150px;line-height:1.55;padding:2px 2px 5px;font-size:14px}.composer textarea::placeholder{color:#9ca9a4}.compose-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:6px}.composer-label{display:flex;align-items:center;gap:7px;color:#7c8b86;font-size:10px;font-weight:800}.mini-spark{width:20px;height:20px;border-radius:7px;background:#f1f9de;display:grid;place-items:center;color:var(--brand)}.mini-spark .icon{width:10px;height:10px}.composer-actions{display:flex;align-items:center;gap:10px}.send-hint{font-size:9px;color:#a0aaa6}.send-button{width:38px;height:38px;border:0;border-radius:12px;background:var(--lime);color:var(--brand-dark);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px rgba(181,214,23,.16);transition:transform .18s,filter .18s}.send-button:hover:not(:disabled){transform:translateY(-1px);filter:saturate(1.05) brightness(.99)}.send-button:disabled{opacity:.42;cursor:not-allowed}.send-button .icon{width:17px;height:17px}.below-composer{min-height:23px;display:flex;align-items:center;justify-content:center;position:relative}.below-composer p{margin:7px 0 0;font-size:9px;color:#a2aca8;text-align:center}.below-composer #feedback{position:absolute;left:0;right:0;top:0;color:#72817c;font-weight:700}.below-composer #feedback:not(:empty)+#composer-help{opacity:0}.below-composer #feedback[data-error="true"]{color:#9b4a3d}

@media(max-width:980px){:root{--sidebar:232px}.sidebar{padding-left:16px;padding-right:16px}.brand img{width:185px}.assistant-tags{display:none}.conversation-scroll,.composer-dock{padding-left:5vw;padding-right:5vw}.welcome h1{font-size:43px}}
@media(max-width:760px){:root{--topbar:72px}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.conversation-scroll:before{left:0}.topbar{padding:0 16px}.assistant-kicker{display:none}.assistant-copy{border:0;padding:0}.assistant-mark{width:34px;height:34px}.connection-control{padding:0 10px}.connection-control #status{min-width:auto}.connection-divider{display:none}.welcome{min-height:calc(100vh - var(--topbar) - 190px);justify-content:flex-start;padding-top:64px}.welcome h1{font-size:39px}.suggestions{grid-template-columns:1fr;max-width:520px}.suggestion{min-height:94px;grid-template-columns:44px 1fr auto;grid-template-rows:auto auto;padding:14px}.suggestion-icon{grid-column:1;grid-row:1/3;margin:0;align-self:center}.suggestion strong{grid-column:2}.suggestion>span:nth-of-type(2){grid-column:2}.suggestion-arrow{grid-column:3;grid-row:1/3;align-self:center}.welcome-trust{display:none}.conversation-scroll{padding:24px 16px 178px}.composer-dock{padding:18px 12px 10px}.message-card,.user .message-card{max-width:92%}.send-hint{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
