@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Source+Serif+4:wght@600;700&display=swap");:root{--bg:#f4efe7;--bg-elevated:rgba(255,255,255,0.7);--panel:rgba(255,255,255,0.86);--panel-strong:#ffffff;--text:#17151f;--muted:#6a6675;--border:rgba(23,21,31,0.08);--accent:#0f766e;--accent-strong:#0b5e57;--accent-soft:rgba(15,118,110,0.08);--danger:#b42318;--shadow:0 18px 50px rgba(18,20,31,0.08);--radius-xl:28px;--radius-lg:18px;--radius-md:14px}*{box-sizing:border-box}body,html{margin:0;height:100%;background:radial-gradient(circle at top left,rgba(15,118,110,.16),transparent 35%),radial-gradient(circle at bottom right,rgba(180,35,24,.09),transparent 30%),var(--bg);color:var(--text);font-family:Inter,sans-serif}body{min-height:100vh;overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.screen{height:100vh;height:100dvh;display:grid;place-items:center;padding:32px}.login-card{width:min(460px,100%);padding:32px;border-radius:var(--radius-xl);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:18px}.login-title{margin:0 0 10px;font-family:"Source Serif 4",Georgia,serif;font-size:clamp(32px,5vw,44px);line-height:1.06}.login-copy{margin:0 0 24px;color:var(--muted);line-height:1.6}.field{display:grid;grid-gap:8px;gap:8px;margin-bottom:16px}.field label{font-size:13px;font-weight:600;color:var(--muted)}.composer textarea,.field input{width:100%;border-radius:var(--radius-md);border:1px solid var(--border);background:rgba(255,255,255,.9);color:var(--text);padding:14px 16px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.composer textarea:focus,.field input:focus{border-color:rgba(15,118,110,.38);box-shadow:0 0 0 4px rgba(15,118,110,.12)}.button{border:none;border-radius:999px;padding:12px 18px;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:white;box-shadow:0 12px 20px rgba(15,118,110,.18)}.button.secondary{background:rgba(23,21,31,.05);color:var(--text);box-shadow:none}.button:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--danger);font-size:14px;margin-top:14px}.app-shell{height:100vh;height:100dvh;padding:20px;overflow:hidden}.workspace{display:grid;grid-template-columns:320px 1fr;grid-gap:20px;gap:20px}.main-panel,.sidebar,.workspace{height:100%;min-height:0;overflow:hidden}.main-panel,.sidebar{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar{display:flex;flex-direction:column;min-width:0}.main-header,.sidebar-header{padding:20px;border-bottom:1px solid var(--border)}.main-header h1,.sidebar-header h1{margin:0;font-family:"Source Serif 4",Georgia,serif;font-size:26px}.main-header p,.sidebar-header p{margin:8px 0 0;color:var(--muted);line-height:1.5}.conversation-list{display:grid;grid-gap:10px;gap:10px;padding:16px;overflow-y:auto;flex:1 1;min-height:0;overscroll-behavior:contain}.conversation-item{display:grid;grid-gap:6px;gap:6px;padding:14px 15px;border-radius:var(--radius-md);border:1px solid transparent;background:rgba(255,255,255,.55);text-align:left}.conversation-item.active{border-color:rgba(15,118,110,.22);background:var(--panel-strong)}.conversation-item strong{font-size:14px}.conversation-item span{color:var(--muted);font-size:13px;line-height:1.4}.main-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0}.message-list{padding:20px;overflow-y:auto;display:grid;grid-gap:14px;gap:14px;align-content:start;min-height:0;overscroll-behavior:contain}.message-row{display:flex}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message-bubble{max-width:min(760px,100%);padding:16px 18px;border-radius:22px;border:1px solid var(--border);background:white;line-height:1.7;white-space:normal;word-break:break-word}.message-row.user .message-bubble{background:linear-gradient(135deg,rgba(15,118,110,.11),rgba(15,118,110,.04));border-color:rgba(15,118,110,.18)}.message-meta{margin-top:10px;font-size:12px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}.markdown{display:grid;grid-gap:.85em;gap:.85em}.markdown h1,.markdown h2,.markdown h3{margin:0;line-height:1.25}.markdown h1{font-size:1.4rem}.markdown h2{font-size:1.15rem}.markdown h3{font-size:1rem}.markdown p{margin:0}.markdown ol,.markdown ul{margin:0;padding-left:1.4em}.markdown li+li{margin-top:.35em}.markdown pre{margin:0;padding:14px 16px;border-radius:16px;background:rgba(23,21,31,.96);color:#fafafa;overflow-x:auto}.markdown code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.94em}.markdown :not(pre)>code{padding:.16em .38em;border-radius:8px;background:rgba(15,118,110,.08);color:var(--accent-strong)}.composer{display:grid;grid-gap:12px;gap:12px;border-top:1px solid var(--border);background:var(--panel);padding:20px 20px calc(20px + env(safe-area-inset-bottom, 0px))}.composer textarea{min-height:92px;resize:vertical}.composer-actions{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.helper{color:var(--muted);font-size:13px;line-height:1.5}.empty-state,.loading-state{min-height:0;height:100%;display:grid;place-items:center;padding:32px;color:var(--muted);text-align:center}@media (max-width:1024px){.workspace{grid-template-columns:1fr;grid-template-rows:minmax(220px,34vh) minmax(0,1fr);grid-template-rows:minmax(220px,34dvh) minmax(0,1fr)}}@media (max-width:640px){.app-shell{padding:12px}.workspace{height:100%;grid-template-rows:minmax(200px,32vh) minmax(0,1fr);grid-template-rows:minmax(200px,32dvh) minmax(0,1fr)}.main-header,.message-list,.sidebar-header{padding:16px}.composer{padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px))}}