:root{--primary:#32184f;--primary-light:#4a2872;--secondary:#28743a;--secondary-dark:#1e5a2c;--surface:#fff;--surface-muted:#f5f3f7;--text:#221c2a;--text-soft:#6b6572;--text-on-primary:#fff;--text-on-primary-soft:#ffffffc7;--error:#9a3b33;--border:#32184f24;--font:"Raleway", Arial, Helvetica, sans-serif;--header-height:72px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--surface);color:var(--text);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}.page{flex-direction:column;height:100dvh;display:flex}.header{z-index:21;background:var(--primary);color:var(--text-on-primary);flex:none;align-items:center;gap:14px;padding:14px 24px;display:flex;position:relative}.burger{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:none;justify-content:center;gap:4px;width:40px;height:40px;padding:0;display:flex}.burger span{background:var(--text-on-primary);border-radius:1px;width:22px;height:2px;margin:0 auto;display:block}.burger:hover{background:#ffffff1f}.burger:focus-visible{outline:2px solid var(--text-on-primary);outline-offset:2px}.crest{object-fit:contain;flex:none;width:44px;height:44px}.header-text h1{color:var(--text-on-primary);margin:0;font-size:1.3rem;font-weight:700;line-height:1.1}.header-text p{color:var(--text-on-primary-soft);margin:2px 0 0;font-size:.85rem;font-weight:500}.sidebar-backdrop{z-index:30;background:#221c2a73;position:fixed;inset:0}.sidebar{top:var(--header-height);background:var(--surface);width:280px;max-width:82vw;color:var(--text);z-index:31;flex-direction:column;gap:16px;padding:20px;animation:.18s ease-out slide-in;display:flex;position:fixed;bottom:0;left:0;box-shadow:2px 0 16px #221c2a40}@keyframes slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar-header h2{color:var(--text);margin:0;font-size:1.1rem}.sidebar-close{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;font-size:1.4rem;line-height:1}.sidebar-close:hover{background:var(--surface-muted)}.sidebar-close:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.sidebar-nav{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.sidebar-disclosure{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.sidebar-disclosure-heading{color:var(--text);margin:0;font-size:.9rem;font-weight:600}.sidebar-disclosure p{color:var(--text-soft);margin:0;font-size:.82rem}.sidebar-disclosure a{color:var(--secondary)}.sidebar-disclosure a:hover{color:var(--secondary-dark)}.sidebar-link{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 12px;font-weight:500;display:block}.sidebar-link:hover{background:var(--surface-muted)}.sidebar-link:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.notice-panel{background:var(--surface);width:min(560px,90vw);max-height:85vh;color:var(--text);z-index:31;border-radius:12px;flex-direction:column;gap:16px;padding:20px;animation:.15s ease-out notice-fade-in;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 8px 32px #221c2a59}@keyframes notice-fade-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.notice-body h3{color:var(--text);margin:0 0 4px;font-size:1rem}.notice-body p,.notice-body ul{margin:0 0 12px}.notice-body ul{padding-left:20px}.notice-body a{color:var(--secondary);-webkit-text-decoration-color:var(--secondary);text-decoration-color:var(--secondary);text-underline-offset:3px}.notice-body a:hover{color:var(--secondary-dark)}.about-refreshed{font-style:italic}.changelog-list{margin:0;padding:0;list-style:none}.changelog-list li{border-bottom:1px solid var(--border);align-items:baseline;gap:10px;padding:10px 0;display:flex}.changelog-list li:last-child{border-bottom:none}.changelog-version{color:var(--secondary);flex:none;font-weight:600}.changelog-summary{flex:1}.changelog-commit{color:var(--text-muted);flex:none;font-family:monospace;font-size:.85rem}.thread{background:var(--surface);flex:1;padding:28px 20px 12px;overflow-y:auto}.message{flex-direction:column;gap:8px;display:flex}.message p{white-space:pre-wrap;margin:0}.message.assistant{border-left:3px solid var(--secondary);max-width:680px;margin:0 auto 20px;padding-left:16px}.message.assistant.error{border-left-color:var(--error);color:var(--error)}.message.parent{align-items:flex-end;max-width:680px;margin:0 auto 20px}.message.parent p{background:var(--primary);max-width:78%;color:var(--text-on-primary);border-radius:16px 16px 4px;padding:10px 16px}.thinking{color:var(--text-soft);font-style:italic;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}.sources{flex-direction:column;gap:4px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.sources a{color:var(--secondary);-webkit-text-decoration-color:var(--secondary);text-decoration-color:var(--secondary);text-underline-offset:3px}.sources a:hover{color:var(--secondary-dark)}.composer{padding:16px 20px calc(16px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);box-sizing:border-box;flex:none;gap:10px;width:100%;max-width:720px;margin:0 auto;display:flex}.composer input{border:1px solid var(--border);background:var(--surface-muted);min-width:0;color:var(--text);font:inherit;border-radius:999px;flex:1;padding:12px 18px}.composer input::placeholder{color:var(--text-soft)}.composer input:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.composer input:disabled{opacity:.6}.composer button{background:var(--secondary);color:var(--text-on-primary);font:inherit;cursor:pointer;border:none;border-radius:999px;flex:none;padding:0 24px;font-weight:600}.composer button:hover:not(:disabled){background:var(--secondary-dark)}.composer button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.composer button:disabled{opacity:.5;cursor:default}@media (width<=520px){.header{padding:12px 16px}.thread{padding:20px 14px 8px}.message.parent p{max-width:88%}.composer{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.thinking,.sidebar,.notice-panel{animation:none}}
