@font-face{font-display:swap;font-family:"Press Start 2P";font-style:normal;font-weight:400;src:url(/fonts/PressStart2P-Regular.woff2)format("woff2")}:root{--surface-bg:#070714;--surface-raised:#15132d;--surface-input:#0d0b20;--surface-border:#4d37ff;--surface-shadow:#02020a;--text-primary:#fff8d8;--text-secondary:#ffe84a;--text-muted:#8f82c7;--text-on-accent:#080611;--accent:#ffe84a;--accent-hover:#ff39d8;--accent-quiet:#2d1b9f;--accent-red:#ff2f5d;--accent-red-deep:#9d073d;--accent-green:#35ff89;--accent-green-deep:#087343;--accent-cyan:#20f6ff;--accent-magenta:#ff39d8;--bubble-bot-bg:#221143;--bubble-bot-border:#ffe84a;--bubble-bot-text:var(--text-primary);--bubble-user-bg:#0649d9;--bubble-user-text:#f3f8ff;--bubble-user-border:#20f6ff;--state-focus:#ff39d8;--state-disabled:var(--text-muted);--font-pixel:"Press Start 2P", monospace;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--content-width:560px;--page-gutter:16px;--border-width:3px;--avatar-size:32px;--arcade-shadow:4px 4px 0 var(--surface-shadow);--arcade-shadow-small:3px 3px 0 var(--surface-shadow);color:var(--text-primary);background:radial-gradient(circle at 15% 10%, #ff39d838, transparent 34%), radial-gradient(circle at 86% 16%, #20f6ff2e, transparent 30%), linear-gradient(180deg, #080818 0%, var(--surface-bg) 44%, #03030a 100%);font-family:var(--font-ui)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--surface-bg);font-size:16px}body{background:radial-gradient(circle at 15% 10%, #ff39d838, transparent 34%), radial-gradient(circle at 86% 16%, #20f6ff2e, transparent 30%), linear-gradient(180deg, #080818 0%, var(--surface-bg) 44%, #03030a 100%);min-width:320px;margin:0;position:relative}body:before{content:"";pointer-events:none;z-index:100;background-image:repeating-linear-gradient(#0000 0 2px,#0000001f 2px 3px);position:fixed;inset:0}@media (prefers-reduced-motion:reduce){body:before{background-image:none}}button,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}#root{min-height:100dvh}.app{background:linear-gradient(90deg, #20f6ff1a, transparent 10%, transparent 90%, #ff39d81a), var(--surface-bg);height:100dvh;max-width:var(--content-width);border-left:2px solid #20f6ff47;border-right:2px solid #ff39d847;flex-direction:column;width:100%;min-width:320px;margin:0 auto;display:flex}.chat-shell{flex:1;min-height:0;display:flex}.skip-link{background:var(--accent);color:var(--text-on-accent);font:400 10px / 18px var(--font-pixel);padding:var(--space-2) var(--space-3);z-index:30;position:fixed;top:0;left:0;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:var(--border-width) solid var(--state-focus);outline-offset:2px}@media (width>=480px){:root{--avatar-size:40px}}@media (width>=641px){:root{--page-gutter:24px}}@media (width>=768px){:root{--avatar-size:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.message-enter,.empty-state{animation:none!important}}.app-header{background:linear-gradient(90deg, #21124e 0%, var(--surface-raised) 42%, #2e0f3f 100%);border-bottom:var(--border-width) solid var(--accent-cyan);box-shadow:0 4px 0 var(--accent-magenta), 0 8px 0 var(--surface-shadow);min-height:56px;padding:var(--space-2) var(--page-gutter);z-index:10;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-header__brand{align-items:center;gap:var(--space-3);min-width:0;display:flex}.app-header__logo{height:28px;image-rendering:pixelated;flex:none;width:28px;display:block}.app-header__copy{min-width:0}.app-header__title{color:var(--accent);font:400 10px / 16px var(--font-pixel);letter-spacing:1px;text-shadow:2px 2px 0 var(--accent-red-deep), 4px 4px 0 var(--surface-shadow);text-transform:uppercase;margin:0}.app-header__subline{color:var(--accent-cyan);font:400 10px / 16px var(--font-pixel);text-transform:uppercase;margin:0}.app-header__clear{background:var(--accent-red);border:var(--border-width) solid var(--accent-red-deep);box-shadow:var(--arcade-shadow-small);color:var(--text-primary);cursor:pointer;font:400 16px / 1 var(--font-ui);justify-content:center;align-items:center;width:44px;height:44px;margin-right:-6px;padding:0;display:inline-flex;transform:scale(1)}.app-header__clear:hover{background:var(--accent-magenta);border-color:var(--accent-cyan);color:var(--text-on-accent)}.app-header__clear:active{color:var(--text-primary);transform:scale(.98)}@media (width>=641px){.app-header{min-height:64px}.app-header__logo{width:36px;height:36px}.app-header__title{font-size:12px;line-height:20px}.app-header__subline{font-size:11px;line-height:18px}}.input-area{background:linear-gradient(90deg, #18143d 0%, var(--surface-raised) 100%);border-top:var(--border-width) solid var(--accent-magenta);box-shadow:0 -4px 0 var(--accent-cyan), 0 -8px 0 var(--surface-shadow);align-items:flex-end;gap:var(--space-2);padding:var(--space-3) var(--page-gutter);z-index:10;display:flex;position:sticky;bottom:0}.input-area__field{background:var(--surface-input);border:var(--border-width) solid var(--accent-cyan);box-shadow:var(--arcade-shadow-small);color:var(--text-primary);font:400 16px / 22px var(--font-ui);min-width:0;min-height:48px;max-height:104px;padding:10px var(--space-3);resize:none;flex:1;overflow-y:auto}.input-area__field:focus{border-color:var(--state-focus);outline:none}.input-area__field:focus-visible{outline:var(--border-width) solid var(--state-focus);outline-offset:2px}.input-area__field::placeholder{color:var(--accent-cyan)}.input-area__field[readonly]{color:var(--text-secondary)}.input-area__send{background:var(--accent);border:var(--border-width) solid var(--state-focus);box-shadow:var(--arcade-shadow-small);color:var(--text-on-accent);cursor:pointer;font:400 10px / 18px var(--font-pixel);min-width:48px;height:48px;padding:0 var(--space-3);flex:none;justify-content:center;align-items:center;display:inline-flex;transform:scale(1)}.input-area__send:hover:not(:disabled),.input-area__send:active:not(:disabled){background:var(--accent-magenta);border-color:var(--accent-cyan)}.input-area__send:active:not(:disabled){transition:transform 80ms linear;transform:scale(.98)}.input-area__send:disabled{background:var(--accent);border-color:var(--surface-border);color:var(--text-muted);cursor:default}.input-area__send-icon{font-size:16px;line-height:1}.input-area__send-label{display:none}@media (width>=641px){.input-area__send{gap:var(--space-1);padding:0 var(--space-4)}.input-area__send-label{display:inline}}.bot-message{align-items:flex-start;gap:var(--space-2);justify-content:flex-start;display:flex}.bot-message__avatar,.bot-message__avatar-spacer{flex:0 0 var(--avatar-size);height:var(--avatar-size);width:var(--avatar-size)}.bot-message__avatar{background:var(--surface-shadow);border:var(--border-width) solid var(--accent-magenta);box-shadow:var(--arcade-shadow-small);image-rendering:pixelated;display:block}.bot-message__avatar-spacer{display:block}.bot-message__bubble{background:linear-gradient(180deg, #311463 0%, var(--bubble-bot-bg) 100%);border:var(--border-width) solid var(--bubble-bot-border);box-shadow:var(--arcade-shadow), inset 0 0 0 2px #ff39d859;color:var(--bubble-bot-text);font:400 16px / 24px var(--font-ui);max-width:min(85%,440px);padding:var(--space-3) var(--space-4)}.bot-message__bubble p{font-kerning:normal;overflow-wrap:anywhere;text-rendering:optimizelegibility;white-space:pre-wrap;margin:0}@media (width<=360px){.bot-message__bubble{font-size:15px;line-height:22px}}.empty-state{color:var(--accent-cyan);font:400 11px / 18px var(--font-pixel);min-height:45dvh;padding:var(--space-8) var(--space-4);text-align:center;flex:1;justify-content:center;align-items:center;animation:.24s ease-out empty-state-in;display:flex}.empty-state p{background:linear-gradient(180deg, #241157 0%, var(--surface-raised) 100%);border:var(--border-width) solid var(--accent);box-shadow:var(--arcade-shadow);max-width:340px;padding:var(--space-4);margin:0}@keyframes empty-state-in{0%{opacity:0}to{opacity:1}}.typing-indicator{align-items:flex-start;gap:var(--space-2);display:flex}.typing-indicator__avatar{background:var(--surface-shadow);border:var(--border-width) solid var(--accent-magenta);box-shadow:var(--arcade-shadow-small);flex:0 0 var(--avatar-size);height:var(--avatar-size);image-rendering:pixelated;width:var(--avatar-size);display:block}.typing-indicator__bubble{background:linear-gradient(180deg, #311463 0%, var(--bubble-bot-bg) 100%);border:var(--border-width) solid var(--bubble-bot-border);box-shadow:var(--arcade-shadow);min-height:var(--avatar-size);padding:var(--space-3) var(--space-4);align-items:center;gap:6px;display:flex}.typing-indicator__dot{background:var(--accent-cyan);opacity:.3;width:8px;height:8px;animation:1.2s ease-in-out infinite typing-pulse;display:block}.typing-indicator__dot:nth-child(2){animation-delay:.15s}.typing-indicator__dot:nth-child(3){animation-delay:.3s}@keyframes typing-pulse{0%,to{opacity:.3}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.typing-indicator__dot{opacity:1;animation:none}}.user-message{align-items:flex-start;gap:var(--space-2);justify-content:flex-end;display:flex}.user-message__avatar{background:var(--surface-shadow);border:var(--border-width) solid var(--bubble-user-border);box-shadow:var(--arcade-shadow-small);flex:0 0 var(--avatar-size);height:var(--avatar-size);image-rendering:pixelated;width:var(--avatar-size);display:block}.user-message__bubble{background:linear-gradient(180deg, #0c62ff 0%, var(--bubble-user-bg) 100%);border:var(--border-width) solid var(--bubble-user-border);box-shadow:var(--arcade-shadow), inset 0 0 0 2px #20f6ff52;color:var(--bubble-user-text);font:400 15px / 22px var(--font-ui);max-width:min(76%,420px);padding:var(--space-3) var(--space-4)}.user-message__bubble p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.message-list{background:var(--surface-bg);min-height:0;padding:var(--space-6) var(--page-gutter) calc(var(--space-8) + var(--space-4));scroll-behavior:smooth;scrollbar-color:var(--surface-border) transparent;flex:1;display:flex;overflow-y:auto}.message-list__stack{align-items:stretch;gap:var(--space-3);flex-direction:column;width:100%;display:flex}.message-list__stack>.user-message+.bot-message,.message-list__stack>.bot-message+.user-message,.message-list__stack>.user-message+.typing-indicator{margin-top:var(--space-3)}.message-list__loading{flex:1;justify-content:center;align-items:flex-end;gap:8px;padding-bottom:25dvh;display:flex}.message-list__loading-dot{background:var(--accent);box-shadow:2px 2px 0 var(--surface-shadow);width:8px;height:8px;animation:1.4s ease-in-out infinite both dot-pulse}.message-list__loading-dot:first-child{animation-delay:0s}.message-list__loading-dot:nth-child(2){animation-delay:.16s}.message-list__loading-dot:nth-child(3){animation-delay:.32s}@keyframes dot-pulse{0%,80%,to{opacity:.3;transform:scale(1)}40%{opacity:1;transform:scale(1.3)}}.message-list__error-state{padding:var(--space-8) var(--space-4);flex:1;justify-content:center;align-items:center;display:flex}.message-list__error-state .bot-message{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column}.message-list__error-state .bot-message__avatar{height:calc(var(--avatar-size) + 8px);width:calc(var(--avatar-size) + 8px);flex-basis:auto}.message-list__error-state .bot-message__bubble{max-width:360px}.message-enter{animation:.18s ease-out message-in}@keyframes message-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
