:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#eee9dc;color:#241f18;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #eee9dc;--paper: #fbf8f0;--paper-strong: #fffdf7;--panel: rgba(251, 248, 240, .84);--panel-solid: #f7f1e4;--panel-soft: #efe6d6;--line: rgba(74, 62, 48, .12);--line-strong: rgba(74, 62, 48, .2);--text: #241f18;--muted: #716554;--soft: #514838;--cream: #fff8e9;--accent: #2f6f73;--accent-soft: #dceceb;--gold: #b98535;--green: #3d8a57;--red: #b85b4e;--ease: cubic-bezier(.22, 1, .36, 1);--shadow: 0 24px 70px rgba(91, 72, 44, .18);--soft-shadow: 0 14px 36px rgba(91, 72, 44, .12);--sidebar-width: clamp(280px, 22vw, 352px)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.9),transparent 24rem),radial-gradient(circle at 24% 12%,rgba(255,255,255,.72),transparent 30rem),radial-gradient(circle at 12% 88%,rgba(47,111,115,.09),transparent 28rem),linear-gradient(135deg,#eee9dc,#e7dece 48%,#f8f3e7)}button,input,textarea,select{font:inherit}button{border:0}button,.thread-item,.message-bubble{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;min-height:100dvh;max-height:100vh;max-height:100dvh}.ambient-grid{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;opacity:.22;background-image:linear-gradient(rgba(74,62,48,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(74,62,48,.07) 1px,transparent 1px);background-size:38px 38px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 70%);mask-image:radial-gradient(circle at center,black,transparent 70%);animation:gridDrift 34s linear infinite}.app-ambient{position:absolute;pointer-events:none;border-radius:999px;filter:blur(18px);opacity:.38}.sidebar-brand,.sidebar-top,.chat-header{display:flex;align-items:center;gap:10px}.brand-mark{width:56px;height:56px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(145deg,#2c2922,#504432);color:#fff8e9;box-shadow:0 16px 40px #5044322e}.brand-mark.small{width:40px;height:40px}.status-pill{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 11px;color:#295e45;border:1px solid rgba(61,138,87,.22);border-radius:8px;background:#3d8a5717;font-size:.82rem;animation:softPulse 3.8s ease-in-out infinite}h1,h2,p{margin:0}label{display:grid;gap:8px;color:var(--soft);font-size:.9rem}.field-hint{margin-top:-6px;color:var(--muted);font-size:.78rem}input,textarea,select{width:100%;color:var(--text);background:#fffdf7db;border:1px solid var(--line);border-radius:8px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input,select{height:48px;padding:0 14px}textarea{min-height:48px;resize:none;padding:13px 14px}input:focus,textarea:focus,select:focus{border-color:#2f6f73b8;box-shadow:0 0 0 4px #2f6f7321;background:#fffdf7fa}.primary-button,.new-chat,.send-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 16px;border-radius:8px;background:linear-gradient(135deg,#2d2921,#4e4230);color:#fff8e9;font-weight:800;cursor:pointer;box-shadow:0 16px 30px #50443224;transition:transform .18s var(--ease),filter .18s ease,box-shadow .18s ease}.primary-button:hover,.new-chat:hover,.send-button:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 18px 38px #5044322e}.primary-button:active,.new-chat:active,.send-button:active{transform:translateY(0) scale(.98)}.text-button{width:100%;margin-top:16px;color:var(--accent);background:transparent;cursor:pointer}.error-text{color:var(--red);font-size:.92rem}.app-shell{position:relative;overflow:hidden;display:block;height:100vh;height:100dvh;background:radial-gradient(circle at 70% 6%,rgba(255,253,247,.74),transparent 26rem),radial-gradient(circle at 10% 92%,rgba(47,111,115,.08),transparent 26rem),var(--bg)}.app-shell:before,.app-shell:after{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;pointer-events:none}.app-shell:before{opacity:.34;background-image:linear-gradient(115deg,transparent 0 36%,rgba(255,253,247,.5) 42%,transparent 50% 100%),linear-gradient(rgba(74,62,48,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(74,62,48,.045) 1px,transparent 1px);background-size:100% 100%,46px 46px,46px 46px;animation:desktopSheen 24s linear infinite}.app-shell:after{opacity:.18;background-image:radial-gradient(circle at 20% 20%,rgba(185,133,53,.22),transparent 22rem),radial-gradient(circle at 80% 74%,rgba(47,111,115,.18),transparent 26rem);animation:ambientFloat 18s ease-in-out infinite}.app-shell>.sidebar,.app-shell>.chat-shell,.app-shell>.menu-scrim{z-index:1}.menu-scrim{display:none}.app-ambient.one{position:fixed;z-index:0;width:680px;height:680px;top:-220px;right:5%;background:radial-gradient(circle,rgba(255,255,255,.72),transparent 65%);animation:ambientFloat 17s ease-in-out infinite}.app-ambient.two{position:fixed;z-index:0;width:560px;height:560px;left:30%;bottom:-230px;background:radial-gradient(circle,rgba(47,111,115,.16),transparent 68%);animation:ambientFloat 19s ease-in-out infinite reverse}.sidebar{position:fixed;inset:0 auto 0 0;transform:none;z-index:2;width:var(--sidebar-width);height:100vh;height:100dvh;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#fbf8f0db;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:16px 0 44px #5b482c14;overflow:hidden}.sidebar-brand{padding:max(18px,env(safe-area-inset-top)) 18px 10px}.sidebar-brand div:last-child{min-width:0;display:grid;gap:2px}.sidebar-brand strong,.sidebar-brand span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sidebar-brand span{color:var(--muted);font-size:.78rem}.sidebar-top{padding:10px 18px 16px}.sidebar-top .icon-button{display:none}.new-chat{width:100%}.thread-list{flex:1;overflow:auto;padding:0 12px 12px}.thread-item{display:grid;grid-template-columns:minmax(0,1fr) 34px 34px;gap:4px;align-items:center;min-height:48px;margin-bottom:4px;border:1px solid transparent;border-radius:8px;transition:background .18s ease,border-color .18s ease,transform .18s var(--ease)}.thread-item:hover{background:#fffdf7b8}.thread-item.active{border-color:#2f6f7338;background:linear-gradient(135deg,#2f6f731a,#fffdf7eb);box-shadow:var(--soft-shadow)}.thread-item>button:first-child{min-width:0;overflow:hidden;display:flex;align-items:center;gap:9px;padding:12px;color:var(--text);text-align:left;background:transparent;cursor:pointer}.thread-item>button:first-child span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rename-input{height:38px;margin-left:6px}.mini-button,.icon-button{display:inline-grid;place-items:center;color:var(--soft);background:transparent;border-radius:8px;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s var(--ease)}.mini-button{width:32px;height:32px}.icon-button{width:42px;height:42px}.mini-button:hover,.icon-button:hover{color:var(--text);background:#fffdf7c2}.mini-button:active,.icon-button:active{transform:scale(.94)}.danger{color:var(--red)}.chat-shell{position:fixed;inset:0 0 0 var(--sidebar-width);z-index:1;min-width:0;height:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:linear-gradient(180deg,#fffdf747,#f7f1e41a)}.chat-header{min-height:70px;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;justify-content:initial;padding:max(12px,env(safe-area-inset-top)) clamp(18px,3vw,34px) 12px;border-bottom:1px solid var(--line);background:#fbf8f0c7;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.chat-header>div{justify-self:center;width:min(100%,780px);text-align:center}.chat-header>.icon-button:first-child{visibility:hidden;pointer-events:none}.chat-header div{display:grid;gap:3px;min-width:0}.chat-header strong{overflow:hidden;color:var(--text);white-space:nowrap;text-overflow:ellipsis}.chat-header span{color:var(--muted);font-size:.82rem}.live-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:999px;background:var(--green);box-shadow:0 0 0 5px #3d8a571a;animation:livePulse 2.8s ease-in-out infinite}.messages{overflow:auto;padding:34px max(24px,calc((100vw - 1160px)/2)) 34px;scroll-behavior:smooth}.empty-state{min-height:66vh;display:grid;align-content:center;justify-items:center;gap:14px;color:var(--muted);text-align:center;animation:fadeUp .52s var(--ease)}.empty-orbit{width:92px;height:92px;display:grid;place-items:center;border:1px solid rgba(47,111,115,.16);border-radius:50%;color:var(--cream);background:radial-gradient(circle,rgba(255,255,255,.72),transparent 64%),#f7f1e4d9;box-shadow:var(--soft-shadow);animation:floatSoft 6.5s ease-in-out infinite}.empty-state h2{color:var(--text);font-size:clamp(2.15rem,4vw,3.6rem);letter-spacing:0}.empty-state p{max-width:520px;line-height:1.55}.prompt-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}.prompt-chips button{min-height:38px;padding:0 13px;color:var(--soft);border:1px solid var(--line);border-radius:8px;background:#fffdf7b8;cursor:pointer;transition:transform .18s var(--ease),background .18s ease,border-color .18s ease}.prompt-chips button:hover{transform:translateY(-1px);border-color:#2f6f7340;background:#2f6f7314}.message{display:flex;margin:14px 0;animation:messageIn .32s var(--ease) both}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-bubble{max-width:min(76%,760px);position:relative;padding:14px 43px 14px 16px;border:1px solid var(--line);border-radius:8px;line-height:1.58;overflow-wrap:anywhere;box-shadow:var(--soft-shadow);transition:background .2s ease,border-color .2s ease,transform .2s var(--ease)}.message.user .message-bubble{color:#fff8e9;border-color:#5044321a;background:linear-gradient(135deg,#312c23,#544733)}.message.assistant .message-bubble{color:var(--text);background:linear-gradient(180deg,#fffdf7f5,#f7f1e4f0)}.message-bubble p+p{margin-top:10px}.message-bubble strong{font-weight:850}.message-list-line{display:grid;grid-template-columns:18px minmax(0,1fr);gap:7px;margin-top:8px}.message-list-line>span{width:5px;height:5px;margin-top:10px;border-radius:50%;background:currentColor;opacity:.55}.thinking-row{display:inline-flex;align-items:center;gap:9px;min-height:28px;color:var(--muted);font-weight:650}.copy-button{position:absolute;top:8px;right:8px;width:28px;height:28px;display:grid;place-items:center;color:currentColor;background:#00000014;border-radius:8px;opacity:0;cursor:pointer;transition:opacity .18s ease,background .18s ease}.message-bubble:hover .copy-button{opacity:.72}.copy-button:hover{opacity:1;background:#00000024}.typing-loader{display:inline-flex;align-items:center;gap:5px;min-height:22px}.typing-loader i{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:typingPulse 1.05s ease-in-out infinite}.typing-loader i:nth-child(2){animation-delay:.12s}.typing-loader i:nth-child(3){animation-delay:.24s}.inline-error{padding:10px 0}.composer{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 48px;gap:9px;align-items:end;padding:15px max(22px,calc((100vw - 1120px)/2)) max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fbf8f0db;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.attach-button,.voice-button{background:#fffdf7c2;border:1px solid var(--line)}.composer-stack{min-width:0;display:grid;gap:8px}.attachment-tray{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:thin}.attachment-chip{position:relative;flex:0 0 auto;width:min(220px,62vw);min-height:58px;display:grid;grid-template-columns:46px minmax(0,1fr) 28px;gap:9px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fffdf7f0;box-shadow:var(--soft-shadow);animation:attachmentIn .24s var(--ease) both}.attachment-chip img,.attachment-file-icon{width:46px;height:46px;border-radius:8px}.attachment-chip img{object-fit:cover;background:#e4dac8}.attachment-file-icon{display:grid;place-items:center;color:var(--cream);background:linear-gradient(145deg,#2f6f731f,#b985351a)}.attachment-chip div{min-width:0;display:grid;gap:3px}.attachment-chip strong,.attachment-chip span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.attachment-chip strong{color:var(--text);font-size:.86rem}.attachment-chip span{color:var(--muted);font-size:.74rem}.attachment-chip button{width:28px;height:28px;display:grid;place-items:center;color:var(--soft);border-radius:8px;background:#4a3e300f;cursor:pointer;transition:transform .16s var(--ease),background .16s ease,color .16s ease}.attachment-chip button:hover{color:var(--red);background:#ff9d901f}.attachment-chip button:active{transform:scale(.92)}.composer-field{min-height:50px;display:grid;align-items:center;padding:2px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fffdf7eb,#f7f1e4eb);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.composer-field:focus-within{border-color:#2f6f73b8;box-shadow:0 0 0 4px #2f6f731a}.composer textarea{max-height:160px;min-height:44px;border:0;background:transparent;box-shadow:none}.composer textarea:focus{box-shadow:none}.send-button:disabled{opacity:.42;cursor:not-allowed;transform:none}@media(min-width:861px){.app-shell{--sidebar-width: clamp(292px, 22vw, 360px)}.sidebar{transform:none!important}.chat-shell{left:var(--sidebar-width)}.sidebar-top .icon-button,.menu-scrim{display:none!important}.thread-item{grid-template-columns:minmax(0,1fr) 32px 32px}}@media(max-width:860px){.app-shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;z-index:4;width:min(88vw,330px);transform:translate(-104%);transition:transform .3s var(--ease);box-shadow:18px 0 70px #5b482c33}.chat-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;height:100vh;height:100dvh}.sidebar.open{transform:translate(0)}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;display:block;width:100%;min-height:100vh;min-height:100dvh;border:0;background:#453a2c38;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:scrimIn .18s ease both;cursor:pointer}.sidebar{z-index:4}.sidebar-top .icon-button{display:inline-grid}.chat-header{display:flex;justify-content:space-between;padding-inline:12px}.chat-header>div{justify-self:initial;width:auto;text-align:left}.chat-header>.icon-button:first-child{visibility:visible;pointer-events:auto}.messages{padding:22px 14px}.composer{padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.empty-orbit{width:76px;height:76px}.message-bubble{max-width:89%}}@media(min-width:1280px){.composer{grid-template-columns:48px minmax(0,820px) 48px 52px;justify-content:center}.messages{padding-left:max(32px,calc((100vw - 1240px)/2));padding-right:max(32px,calc((100vw - 1240px)/2))}}@media(max-width:460px){.empty-state h2{font-size:1.72rem}.messages,.chat-header{padding-inline:12px}.prompt-chips{display:grid;width:100%;max-width:310px}.composer{grid-template-columns:42px minmax(0,1fr) 42px 46px;gap:7px}.attachment-chip{width:190px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@keyframes panelIn{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes messageIn{0%{opacity:0;transform:translateY(7px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes drawerIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes typingPulse{0%,to{transform:translateY(0) scale(.88);opacity:.42}50%{transform:translateY(-3px) scale(1);opacity:1}}@keyframes floatSoft{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes gridDrift{0%{background-position:0 0,0 0}to{background-position:38px 38px,38px 38px}}@keyframes desktopSheen{0%{background-position:-20% 0,0 0,0 0}to{background-position:120% 0,46px 46px,46px 46px}}@keyframes ambientFloat{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(28px,-18px,0) scale(1.06)}}@keyframes attachmentIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes softPulse{0%,to{border-color:#3d8a5733;background:#3d8a5714}50%{border-color:#3d8a5757;background:#3d8a5721}}@keyframes livePulse{0%,to{box-shadow:0 0 0 4px #3d8a5714}50%{box-shadow:0 0 0 7px #3d8a5724}}@keyframes scrimIn{0%{opacity:0}to{opacity:1}}
