:root{color-scheme:dark;--bg:#110904;--bg-2:#1b1008;--panel:rgba(30,18,10,0.82);--panel-2:rgba(38,23,12,0.94);--panel-3:rgba(54,34,18,0.68);--border:rgba(214,170,78,0.2);--border-strong:rgba(240,196,102,0.36);--text:#f7efe4;--muted:#cab59c;--accent:#daa520;--accent-2:#f0c466;--accent-deep:#a56a12;--accent-soft:rgba(218,165,32,0.14);--accent-ring:rgba(240,196,102,0.24);--danger:#ff9b8a;--shadow-lg:0 24px 90px rgba(0,0,0,0.42)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at top,rgba(240,196,102,.08) 0,rgba(240,196,102,0) 26%),radial-gradient(circle at 20% 0,#342012 0,#1b1008 34%,#110904 68%,#060302 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100%}a{color:var(--accent-2);-webkit-text-decoration-color:rgba(240,196,102,.45);text-decoration-color:rgba(240,196,102,.45)}a:hover{color:#f7d78b}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 4px var(--accent-ring),0 0 24px rgba(240,196,102,.12)}.page-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.card{width:min(1100px,100%);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0)),var(--panel);border:1px solid var(--border);border-radius:28px;-webkit-backdrop-filter:blur(20px) saturate(1.08);backdrop-filter:blur(20px) saturate(1.08);box-shadow:var(--shadow-lg)}.login-card{width:min(460px,100%);padding:28px}.login-card h1{margin:0 0 8px;font-size:2rem}.muted{color:var(--muted)}.field{display:grid;grid-gap:8px;gap:8px;margin-top:18px}.input,.textarea{width:100%;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));color:var(--text);border:1px solid var(--border);border-radius:16px;padding:14px 16px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.textarea{min-height:92px;resize:vertical}.input::placeholder,.textarea::placeholder{color:#a99177}.input:focus,.textarea:focus{border-color:var(--border-strong);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.024));box-shadow:0 0 0 4px var(--accent-ring),inset 0 1px 0 rgba(255,255,255,.04)}.btn{border:1px solid rgba(255,221,149,.18);border-radius:16px;padding:12px 18px;background:linear-gradient(180deg,var(--accent-2),var(--accent) 58%,var(--accent-deep));color:#281707;font-weight:800;letter-spacing:.01em;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 12px 28px rgba(0,0,0,.28),0 0 24px rgba(218,165,32,.12)}.btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.btn.secondary{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));color:var(--text);border:1px solid var(--border);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.btn.secondary:hover:not(:disabled){background:linear-gradient(180deg,rgba(218,165,32,.1),rgba(218,165,32,.05))}.btn:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--danger)}.chat-shell{display:grid;grid-template-columns:300px 1fr;min-height:88vh;overflow:hidden}.sidebar{border-right:1px solid var(--border);padding:28px 24px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01)),rgba(255,255,255,.02)}.brand{display:grid;grid-gap:6px;gap:6px}.brand h1{margin:0;font-size:2rem;letter-spacing:-.02em}.brand p{margin:0;color:var(--muted);line-height:1.6}.sidebar-section{margin-top:28px}.sidebar-kv,.sidebar-section{display:grid;grid-gap:10px;gap:10px}.sidebar-kv{color:var(--muted);font-size:.95rem}.dot{display:inline-block;width:10px;height:10px;border-radius:999px;background:#f0c466;margin-right:8px;box-shadow:0 0 18px rgba(240,196,102,.45)}.main{display:grid;grid-template-rows:auto 1fr auto}.header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0))}.header h2{margin:0;letter-spacing:-.02em}.messages{padding:28px;display:grid;grid-gap:18px;gap:18px;overflow:auto;max-height:calc(88vh - 180px);background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,0))}.message{max-width:min(780px,100%);padding:16px 18px;border-radius:22px;border:1px solid var(--border);line-height:1.6;overflow-wrap:anywhere;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}.message.user{margin-left:auto;background:linear-gradient(180deg,rgba(240,196,102,.17),rgba(165,106,18,.1));border-color:rgba(240,196,102,.24)}.message.assistant{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.025))}.message.system{background:rgba(255,206,112,.08);color:#ffe2a8}.composer{border-top:1px solid var(--border);padding:18px 24px 24px;display:grid;grid-gap:12px;gap:12px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0)),var(--panel-2)}.sticky-composer{position:-webkit-sticky;position:sticky;bottom:0;z-index:5}.row{display:flex;gap:12px;align-items:center}.row.wrap{flex-wrap:wrap}.spacer{flex:1 1}.small{color:var(--muted)}.code,.small{font-size:.9rem}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.message>:first-child{margin-top:0}.message>:last-child{margin-bottom:0}.message p{margin:0 0 .9rem}.message ol,.message ul{margin:0 0 .9rem;padding-left:1.4rem}.message li+li{margin-top:.3rem}.message blockquote{margin:0 0 .9rem;padding:.15rem 0 .15rem 1rem;border-left:3px solid rgba(240,196,102,.55);color:#dbc7b0}.message code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:rgba(0,0,0,.28);border:1px solid rgba(240,196,102,.12);border-radius:8px;padding:.16rem .38rem}.message pre{margin:0 0 .9rem;padding:1rem 1.05rem;overflow-x:auto;background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.28));border:1px solid rgba(240,196,102,.14);border-radius:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}.message pre code{background:transparent;border:0;padding:0}.message hr{border:0;border-top:1px solid rgba(218,165,32,.18);margin:1rem 0}.message table{width:100%;border-collapse:collapse;margin:0 0 .9rem;display:block;overflow-x:auto}.message td,.message th{border:1px solid rgba(218,165,32,.15);padding:.55rem .7rem;text-align:left}.message th{background:rgba(218,165,32,.08)}@media (max-width:860px){.page-shell{padding:0}.card{width:100%;border-radius:0;border-left:0;border-right:0;box-shadow:none}.chat-shell{grid-template-columns:1fr;min-height:100vh}@supports (height:100dvh){.chat-shell{min-height:100dvh}}.sidebar{display:none}.header,.messages{padding:16px 16px 12px}.composer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.textarea{min-height:72px;max-height:30vh}}