:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#05060a;--bg-elev:#0a0d16;--surface:#0d111cd1;--surface-solid:#0d111c;--border:#00fff247;--border-strong:#00fff299;--text:#d8f9ff;--text-muted:#6f93a0;--cyan:#00fff2;--magenta:#ff2bd6;--purple:#a855f7;--danger:#ff3860;--gold:#ffd166;--font-display:"Orbitron", "Segoe UI", sans-serif;--font-mono:"Share Tech Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}[hidden]{display:none!important}body{min-height:100vh;font-family:var(--font-mono);color:var(--text);background-color:var(--bg);background-image:radial-gradient(circle at 20% 0,#a855f729,#0000 45%),radial-gradient(circle at 85% 15%,#00fff21f,#0000 40%),repeating-linear-gradient(0deg,#00fff209 0 1px,#0000 1px 40px),repeating-linear-gradient(90deg,#00fff209 0 1px,#0000 1px 40px);background-attachment:fixed;margin:0}::selection{background:var(--magenta);color:#05060a}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-elev)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--cyan), var(--magenta));border-radius:999px}.app{flex-direction:column;gap:20px;max-width:720px;margin:0 auto;padding:32px 16px 48px;display:flex}.app__header h1{font-family:var(--font-display);letter-spacing:.14em;color:var(--text);text-shadow:0 0 6px #00fff2bf,0 0 24px #00fff273,0 0 48px #a855f759;margin:0 0 8px;font-size:2rem;font-weight:800}.app__title-glitch{display:inline-block;position:relative}.app__title-glitch:before,.app__title-glitch:after{content:attr(data-text);background:inherit;clip-path:inset(0);position:absolute;inset:0}.app__title-glitch:before{color:var(--magenta);z-index:-1;animation:5s step-end infinite glitch-1}.app__title-glitch:after{color:var(--cyan);z-index:-1;animation:5s step-end infinite glitch-2}@keyframes glitch-1{0%,92%,to{opacity:0;transform:translate(0)}93%{opacity:.8;transform:translate(-2px,1px)}95%{opacity:.8;transform:translate(2px,-1px)}97%{opacity:0}}@keyframes glitch-2{0%,91%,to{opacity:0;transform:translate(0)}92%{opacity:.8;transform:translate(2px,-1px)}94%{opacity:.8;transform:translate(-2px,1px)}96%{opacity:0}}.app__subtitle{color:var(--text-muted);margin:0;font-size:.88rem}.panel{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);clip-path:polygon(0 12px,12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%);border-radius:4px;padding:16px;box-shadow:inset 0 0 0 1px #00fff20d,0 8px 30px #00000080}.panel--settings{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.field{flex-direction:column;gap:6px;font-size:.78rem;display:flex}.field__label{color:var(--cyan);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}select,textarea,button{font:inherit}select{border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:3px;padding:7px 10px}select:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}.badge{background:var(--bg-elev);border:1px solid var(--border);color:var(--cyan);border-radius:3px;width:fit-content;padding:6px 12px;font-size:.8rem;display:inline-block}.badge--paid{color:var(--gold);text-shadow:0 0 8px #ffd16699;border-color:#ffd16680}.badge--warn{color:var(--danger);border-color:var(--danger)}.field--paywall{flex:auto}.paywall-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn-unlock{border:1px solid var(--gold);color:var(--gold);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;font:inherit;background:#ffd1661a;border-radius:3px;padding:7px 14px;transition:box-shadow .15s,background .15s}.btn-unlock:hover:not(:disabled){background:#ffd16633;box-shadow:0 0 14px #ffd16673}.btn-unlock:disabled{opacity:.5;cursor:not-allowed}.paywall-notice{border:1px solid var(--gold);color:var(--gold);background:#ffd16614;border-radius:3px;margin:0;padding:10px 14px;font-size:.85rem;line-height:1.5}.panel--status{color:var(--text-muted);flex-direction:column;gap:10px;font-size:.82rem;display:flex}.progress{background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;height:6px;overflow:hidden}.progress__bar{background:linear-gradient(90deg, var(--cyan), var(--magenta));width:0%;height:100%;transition:width .15s;box-shadow:0 0 10px #00fff2b3}.panel--main{flex-direction:column;gap:18px;display:flex}.dropzone{border:1px dashed var(--border-strong);text-align:center;cursor:pointer;background:var(--bg-elev);border-radius:4px;justify-content:center;align-items:center;min-height:160px;padding:12px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.dropzone:hover{border-color:var(--cyan)}.dropzone:focus-visible,.dropzone.is-dragover{border-color:var(--cyan);outline:none;box-shadow:0 0 24px #00fff259}.dropzone__hint{color:var(--text-muted);font-size:.85rem}#image-preview{object-fit:contain;border-radius:2px;max-width:100%;max-height:320px}.chat{flex-direction:column;gap:12px;display:flex}.chat__log{flex-direction:column;gap:10px;max-height:340px;padding-right:2px;display:flex;overflow-y:auto}.chat__turn{white-space:pre-wrap;border:1px solid #0000;border-radius:3px;padding:10px 14px;font-size:.92rem;line-height:1.55}.chat__turn--question{border-color:var(--border-strong);color:var(--text);background:#00fff214;align-self:flex-end;max-width:85%}.chat__turn--answer{background:#a855f714;border-color:#a855f773;align-self:flex-start;max-width:85%}.chat__turn--error{border-color:var(--danger);color:var(--danger);background:#ff386014;align-self:flex-start}.chat__meta{color:var(--text-muted);margin-top:6px;font-size:.72rem;display:block}.chat__form{align-items:flex-end;gap:10px;display:flex}.chat__input{resize:vertical;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:3px;flex:1;padding:10px 12px}.chat__input:focus-visible{border-color:var(--cyan);outline:none;box-shadow:0 0 12px #00fff24d}.chat__input::placeholder{color:var(--text-muted)}.chat__actions{gap:10px;display:flex}button{border:1px solid var(--border-strong);color:var(--cyan);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:#00fff214;border-radius:3px;padding:10px 18px;font-size:.82rem;transition:box-shadow .15s,background .15s}button:hover:not(:disabled){background:#00fff22e;box-shadow:0 0 14px #00fff266}button:disabled{opacity:.4;cursor:not-allowed}#stop-btn{border-color:var(--danger);color:var(--danger);background:#ff38601a}#stop-btn:hover:not(:disabled){background:#ff386033;box-shadow:0 0 14px #ff386066}
