:root{color-scheme:dark;font-family:Satoshi,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#111316;color:#f5f6f8;--color-bg: #111316;--color-panel: rgba(24, 26, 32, .94);--color-panel-soft: rgba(28, 30, 36, .88);--color-muted: rgba(205, 207, 214, .72);--color-accent: #2563eb;--color-highlight: #ef4444;--color-positive: #38bdf8;--color-error: #f87171;--shadow-soft: 0 28px 80px rgba(6, 8, 16, .45);--shadow-strong: 0 34px 120px rgba(6, 8, 16, .6)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--color-bg);color:inherit}.shell{min-height:100vh;width:min(1080px,100%);margin:0 auto;padding:clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column}.stage{flex:1;display:flex;flex-direction:column}.stage--intro{justify-content:center;gap:clamp(2rem,5vw,3.2rem)}.intro-bar{display:flex;justify-content:space-between;align-items:center}.intro-body{display:flex;flex-direction:column;gap:.8rem;text-align:left}.intro-title{margin:0;font-size:clamp(2.6rem,6vw,3.6rem);font-weight:600;letter-spacing:-.03em}.intro-text{margin:0;font-size:1rem;color:#dee0e5b8}.logo{font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:1.05rem;color:#f5f6fad9}.logo span{color:var(--color-accent)}.logo--compact{font-size:.95rem;letter-spacing:.12em}.stage--chat{gap:clamp(1.5rem,3vw,2.2rem)}.chat-header{display:flex;justify-content:flex-start;align-items:center;padding-bottom:.75rem}.theme-switch{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#ffffff29;color:inherit;border:none;cursor:pointer;transition:background .16s ease,transform .16s ease}.theme-switch:hover{background:#ffffff3d;transform:translateY(-2px)}.chat-log{flex:1;display:flex;flex-direction:column;gap:1.1rem;padding-right:.4rem;overflow-y:auto;scroll-behavior:smooth}.bubble{display:flex;gap:.85rem;align-items:flex-start;max-width:min(70ch,100%)}.bubble--user{align-self:flex-end;flex-direction:row-reverse}.bubble__avatar{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;font-size:.95rem;background:#2563eb33;color:var(--color-accent)}.bubble--user .bubble__avatar{background:#ef44443d;color:var(--color-highlight)}.bubble__body{flex:1;background:#181a20f0;border-radius:18px;padding:1rem 1.25rem;box-shadow:0 18px 42px #0608108c}.bubble--user .bubble__body{background:#1a1c22f5}.bubble__author{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.4rem}.bubble__markdown{white-space:pre-wrap;word-break:break-word;line-height:1.52;font-size:.97rem}.bubble__markdown p{margin:.1rem 0}.bubble__markdown p+p{margin-top:.4rem}.bubble__markdown code{font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:#2563eb24;padding:.2rem .4rem;border-radius:.35rem;font-size:.9em}.bubble__markdown pre{background:#121318f2;border-radius:.9rem;padding:1rem;margin:.65rem 0;overflow:auto;box-shadow:inset 0 0 0 1px #ffffff0d}.bubble__markdown pre code{background:transparent;border:none;padding:0}.bubble__markdown a{color:var(--color-accent);text-decoration:none}.bubble__markdown a:hover{text-decoration:underline}.bubble--pending .bubble__body{background:linear-gradient(135deg,#2563eb38,#181a20f5)}.bubble--error .bubble__body{background:linear-gradient(135deg,#ef444433,#181a20f5);color:var(--color-error)}.bubble__typing{display:inline-flex;gap:.35rem}.bubble__typing span{width:.45rem;height:.45rem;border-radius:50%;background:#2563ebb8;animation:typing 1s infinite ease-in-out}.bubble__typing span:nth-child(2){animation-delay:.18s}.bubble__typing span:nth-child(3){animation-delay:.36s}@keyframes typing{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-3px);opacity:1}}.composer{display:flex;flex-direction:column;gap:.9rem;background:linear-gradient(180deg,#1a1c22f2,#12141ae6);border-radius:26px;border:none;padding:1.25rem 1.45rem;box-shadow:0 24px 60px #080a128c}.composer--chat{position:sticky;bottom:clamp(1.2rem,3vw,2rem);margin:0 auto;width:min(860px,100%);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:5}.composer--intro{width:min(680px,100%)}.composer__input{width:100%;background:transparent;border:none;resize:none;color:inherit;font-size:1.02rem;line-height:1.6;padding:0}.composer__input::placeholder{color:#d1d6de66}.composer__input:focus{outline:none}.composer__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.composer__status{flex:1;font-size:.84rem;color:var(--color-muted)}.composer__send{width:48px;height:48px;border-radius:18px;border:none;background:linear-gradient(135deg,#2563ebf2,#ef4444eb);color:#f8fafc;font-size:1.1rem;font-weight:600;display:grid;place-items:center;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease;box-shadow:0 26px 68px #2563eb66}.composer__send:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.composer__send:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 32px 82px #2563eb80}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 900px){.shell{padding:1.5rem}.composer--chat{width:100%;bottom:1.6rem}}@media (max-width: 640px){.shell{padding:1.2rem}.composer__footer{flex-direction:column;align-items:stretch;gap:.75rem}.composer__status{text-align:center}}@media (max-width: 420px){.composer__send{width:46px;height:46px}.bubble__avatar{width:34px;height:34px}}[data-theme=light]{--color-bg: #f9fafc;--color-panel: rgba(255, 255, 255, .98);--color-panel-soft: rgba(249, 250, 251, .94);--color-muted: rgba(86, 88, 98, .75);color:#1b1d22}[data-theme=light] body{background:#f9fafc;color:#1b1d22}[data-theme=light] .logo{color:#1b1d22}[data-theme=light] .logo span{color:#2563eb}[data-theme=light] .bubble__body{background:#fffffffa;color:#1b1d22;box-shadow:0 18px 36px #0f172a1f}[data-theme=light] .bubble--user .bubble__body{background:#f9fafbfa}[data-theme=light] .composer{background:#fffffff7;box-shadow:0 24px 60px #0f172a1f}[data-theme=light] .composer__status{color:#606269bf}[data-theme=light] .theme-switch{background:#0f111a14;color:#1b1d22}[data-theme=light] .theme-switch:hover{background:#0f111a1f}
