.app{position:relative;z-index:2;height:100vh;max-height:100dvh;display:flex;flex-direction:column;max-width:720px;margin:0 auto;padding:1rem;color:#1a1a1a;overflow:hidden}.header{flex-shrink:0;text-align:center;padding:1.5rem 0;border-bottom:1px solid rgba(0,0,0,.15);position:relative}.header h1{font-family:Unbounded,sans-serif;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;margin:0;color:#1a1a1a;text-shadow:0 1px 2px rgba(255,255,255,.8)}.tagline{margin:.5rem 0 0;font-size:.9rem;color:#333}.btn-ghost{margin-top:.75rem;background:#ffffff80;color:#333;font-size:.8rem;padding:.4rem .75rem;border:1px solid rgba(0,0,0,.2);border-radius:6px}.btn-ghost:hover{background:#fffc;color:#000}.chat{flex:1;min-height:0;display:flex;flex-direction:column;padding:1rem 0}.messages{flex:1;min-height:0;overflow-y:auto;padding:.5rem 0;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.messages::-webkit-scrollbar{width:8px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:#ffffff59;border-radius:4px}.messages::-webkit-scrollbar-thumb:hover{background:#ffffff80}.message{margin-bottom:1.25rem;padding:.75rem 1rem;border-radius:10px;border:1px solid rgba(0,0,0,.3);background:#141414e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:messageEnter .3s ease-out}@keyframes messageEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message--user{margin-left:auto;max-width:85%;border-color:#00000040;background:#232323d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.message--assistant .message-content{white-space:pre-wrap}.message-content{font-size:.95rem;line-height:1.5;color:#fff}.message--user .message-content{color:#e8e8e8;text-align:right}.message-content em{font-style:italic;color:#ffb366}.message-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#fff;margin-bottom:.35rem}.message--user .message-label{color:#b0b0b0;text-align:right}.message-content.typing{color:#fff;font-style:italic}.form{flex-shrink:0;display:flex;gap:.5rem;margin-top:1rem}.input{flex:1;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;color:#fff;background:#141414e6;border:1px solid rgba(0,0,0,.3);border-radius:10px;outline:none;transition:border-color .2s,box-shadow .2s}.input::placeholder{color:#b0b0b0}.input:focus{border-color:#ffffff4d;box-shadow:0 0 0 2px #ffffff26}.input:disabled{opacity:.7;cursor:not-allowed}.btn{padding:.75rem 1.25rem;font-family:Unbounded,sans-serif;font-size:.85rem;font-weight:700;color:#1a1a1a;background:#ffe060;border:none;border-radius:10px;cursor:pointer;transition:background .2s,transform .1s;box-shadow:0 2px 4px #00000026}.btn:hover:not(:disabled){background:#ffe870}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.error-msg{margin-top:.5rem;padding:.5rem .75rem;font-size:.8rem;color:#e07070;background:#e070701a;border-radius:6px}.footer{text-align:center;padding:1rem 0;border-top:1px solid rgba(0,0,0,.15);color:#000;font-size:.85rem}.footer a{font-size:.85rem;color:#000;text-decoration:none}.footer a:hover{color:#333}@media (max-width: 480px){.app{padding:.75rem}.form{flex-direction:column}.btn{width:100%}}:root{--bg-deep: #0a0612;--bg-card: #120a1a;--bg-input: #1a0f28;--border: #2d1b4e;--accent: #ff6b35;--accent-dim: #c44d22;--glow: rgba(255, 107, 53, .25);--text: #e8e0f0;--text-dim: #9a8fb0}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:JetBrains Mono,monospace;background:var(--bg-deep);color:var(--text);-webkit-font-smoothing:antialiased}#root{min-height:100vh}.app-wrap{position:relative;min-height:100vh;width:100%}.app-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:url(/bg.svg) center/cover no-repeat;z-index:0}.fleeing-button{position:fixed;transform:translate(-50%,-50%);z-index:10;padding:0;border:none;background:none;cursor:pointer;transition:left .2s ease-out,top .2s ease-out}.fleeing-button img{display:block;width:auto;height:clamp(88px,20vw,160px);pointer-events:none}
