:root{--font:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--panel-bg:rgba(18,14,28,0.55);--panel-border:rgba(255,255,255,0.55);--bubble-bg:rgba(236,236,240,0.92);--bubble-user:rgba(255,255,255,0.88);--text:#1a1520;--input-bg:#ececf0;--radius:10px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;overflow:hidden}body{font-family:var(--font);color:var(--text);background:#1a0f2e;line-height:1.45;min-height:100vh;min-height:100dvh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.stage{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:0 1rem 1.5rem}.bg-layer{position:absolute;inset:0;z-index:0;background:#1a0f2e}.bg-fallback,.bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.bg-fallback{z-index:0}.bg-video{z-index:1}.bg-video--mobile{display:none}.chat-panel{position:relative;z-index:2;width:min(720px,100%);min-width:720px;max-height:min(42vh,360px);display:flex;flex-direction:column;gap:.65rem;padding:.75rem;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 32px rgba(0,0,0,.35)}.chat-body{display:flex;gap:.75rem;align-items:stretch;min-height:0;flex:1 1;overflow:hidden}.icon-slot{position:relative;flex:0 0 auto;width:112px;height:112px;border-radius:6px;overflow:hidden;background:rgba(0,0,0,.25);align-self:flex-start}.icon-fallback,.icon-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.icon-fallback{z-index:0}.icon-video{z-index:1}.chat-thread{flex:1 1;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.55rem;padding-right:.15rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.bubble{background:var(--bubble-bg);border-radius:8px;padding:.7rem .85rem;font-size:.88rem;color:var(--text);white-space:pre-wrap;word-break:break-word;max-width:100%}.bubble p{margin:0}.bubble--user{background:var(--bubble-user);align-self:flex-end;max-width:92%}.bubble--au{align-self:flex-start}.bubble--streaming:after{content:"▍";animation:blink 1s steps(1) infinite;color:#5b2a8a}@keyframes blink{50%{opacity:0}}.composer{display:flex;align-items:stretch;gap:0;background:var(--input-bg);border-radius:6px;overflow:hidden;flex-shrink:0}.composer input{flex:1 1;font:inherit;font-size:.95rem;padding:.65rem .85rem;border:none;background:transparent;color:var(--text);outline:none;min-width:0}.composer input:disabled{opacity:.6}.send-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:0 .85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s ease}.send-btn:disabled{opacity:.35;cursor:not-allowed}.send-btn:hover:not(:disabled){opacity:.8}.send-triangle{display:block;width:0;height:0;border-color:transparent transparent transparent #111;border-style:solid;border-width:7px 0 7px 12px}@media (max-width:700px){.bg-video--desktop{display:none}.bg-video--mobile{display:block}.stage{padding:0 .75rem 1rem}.chat-panel{min-width:0;width:100%;max-height:38vh}.icon-slot{width:88px;height:88px}.bubble{font-size:.82rem}}@media (max-width:420px){.icon-slot{width:72px;height:72px}.chat-body{gap:.5rem}}@media (prefers-reduced-motion:reduce){.bg-video,.icon-video{display:none!important}.bg-fallback,.icon-fallback{z-index:1}.bubble--streaming:after{animation:none}}.auth-bar{position:absolute;top:.85rem;right:.85rem;z-index:4;display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 1.5rem)}.auth-bar-muted{color:rgba(255,255,255,.65);font-size:.85rem}.auth-bar-chip{font-size:.82rem;color:rgba(255,255,255,.92);background:rgba(18,14,28,.65);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.35rem .75rem}.auth-bar-btn,.auth-bar-chip{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.auth-bar-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:.82rem;font-weight:600;color:rgba(255,255,255,.95);background:rgba(18,14,28,.7);border:1px solid rgba(255,255,255,.45);border-radius:8px;padding:.4rem .85rem;cursor:pointer;transition:background .15s ease,opacity .15s ease}.auth-bar-btn:hover:not(:disabled){background:rgba(40,28,60,.85)}.auth-bar-btn:disabled{opacity:.5;cursor:not-allowed}.auth-bar-btn--primary{background:rgba(91,42,138,.75);border-color:rgba(220,180,255,.55)}.auth-modal-backdrop{position:fixed;inset:0;z-index:20;background:rgba(8,4,18,.55);display:flex;align-items:flex-start;justify-content:flex-end;padding:3.5rem .85rem 1rem}.auth-modal{width:min(360px,100%);background:rgba(18,14,28,.88);border:1px solid rgba(255,255,255,.4);border-radius:var(--radius);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 40px rgba(0,0,0,.45);padding:1rem 1.1rem 1.15rem;color:rgba(255,255,255,.95)}.auth-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.auth-modal-header h2{margin:0;font-size:1.05rem;font-weight:650}.auth-modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:rgba(255,255,255,.8);font-size:1.4rem;line-height:1;cursor:pointer;padding:.15rem .35rem}.auth-modal-sub{margin:0 0 .75rem;font-size:.78rem;color:rgba(255,255,255,.65)}.auth-error{margin:0 0 .65rem;padding:.5rem .65rem;font-size:.8rem;background:rgba(160,40,60,.35);border:1px solid rgba(255,140,160,.4);border-radius:6px;color:#ffd0d8}.auth-form{display:flex;flex-direction:column;gap:.35rem}.auth-label{font-size:.75rem;color:rgba(255,255,255,.7);margin-top:.25rem}.auth-input{font:inherit;font-size:.92rem;padding:.55rem .7rem;border-radius:6px;border:1px solid rgba(255,255,255,.28);background:rgba(236,236,240,.95);color:#1a1520;outline:none}.auth-input:focus{border-color:rgba(180,120,255,.8);box-shadow:0 0 0 2px rgba(120,60,180,.35)}.auth-pin-prompt{margin:.15rem 0 .5rem;font-size:.82rem;font-weight:600;letter-spacing:.02em;color:#e8d4ff}.auth-form-actions{display:flex;gap:.5rem;margin-top:.5rem}.auth-primary,.auth-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:.88rem;font-weight:600;border-radius:8px;padding:.55rem .9rem;cursor:pointer;border:1px solid transparent;margin-top:.55rem}.auth-primary{flex:1 1;background:rgba(91,42,138,.95);border-color:rgba(220,180,255,.45);color:#fff}.auth-primary:disabled,.auth-secondary:disabled{opacity:.55;cursor:not-allowed}.auth-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.9)}.auth-links{margin:.85rem 0 0;font-size:.75rem}.auth-links-note{margin:0 0 .35rem;color:rgba(220,210,240,.72);line-height:1.35}.auth-links-row{margin:0;display:flex;flex-wrap:wrap;gap:.25rem .35rem;align-items:center}.auth-links-sep{color:rgba(200,180,230,.45);-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-links a{color:#d4b8ff;text-decoration:underline;text-underline-offset:2px}.auth-links a:hover{color:#e8dcff}@media (max-width:700px){.auth-bar{top:.65rem;right:.65rem}.auth-modal-backdrop{padding-top:3.25rem;justify-content:center}}.admin-page{position:fixed;inset:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable;background:#0f1218;color:#e8ecf4;font-family:var(--font);padding:1.25rem 1rem 3rem}.admin-shell{width:100%;max-width:920px;margin:0 auto;min-width:0;overflow-wrap:anywhere}.admin-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.admin-header h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:650}.admin-sub{margin:0;color:#9aa3b5;font-size:.95rem}.admin-who{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.admin-pernum{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;background:rgba(255,255,255,.06);padding:.35rem .6rem;border-radius:8px}.admin-badge{background:#3d8bfd;color:#061018;font-weight:700;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;padding:.3rem .55rem;border-radius:999px}.admin-home-link{color:#9ec1ff;text-decoration:none;font-size:.9rem;margin-left:.25rem}.admin-home-link:hover{text-decoration:underline}.admin-gate{max-width:520px;margin:4rem auto;padding:1.5rem;background:#171b24;border:1px solid rgba(255,255,255,.08);border-radius:12px}.admin-gate h1{margin-top:0}.admin-gate a{color:#9ec1ff}.admin-gate--forbidden{border-color:rgba(255,120,120,.35)}.admin-alert{background:rgba(61,139,253,.15);border:1px solid rgba(61,139,253,.35);padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem}.admin-alert--error{background:rgba(220,70,70,.15);border-color:rgba(220,70,70,.4)}.admin-card{background:#171b24;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.1rem 1.2rem 1.25rem;margin-bottom:1.25rem}.admin-card h2{margin:0 0 .9rem;font-size:1.1rem}.admin-form{display:grid;grid-gap:.75rem;gap:.75rem}.admin-form label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.85rem;color:#b8c0d0}.admin-form input,.admin-form select,.admin-form textarea{width:100%;box-sizing:border-box;background:#0f1218;color:#e8ecf4;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.55rem .65rem;font:inherit}.admin-form textarea{resize:vertical;min-height:2.5rem}.admin-form-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.admin-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#e8ecf4;border-radius:8px;padding:.45rem .8rem;font:inherit;font-size:.9rem;cursor:pointer}.admin-btn:hover:not(:disabled){background:rgba(255,255,255,.1)}.admin-btn:disabled{opacity:.55;cursor:not-allowed}.admin-btn--primary{background:#3d8bfd;border-color:#3d8bfd;color:#061018;font-weight:650}.admin-btn--primary:hover:not(:disabled){filter:brightness(1.06)}.admin-btn--danger{border-color:rgba(220,70,70,.55);color:#ffb4b4}.admin-list-head{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem}.admin-list-head h2{margin:0 auto 0 0}.admin-check{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;color:#b8c0d0}.admin-empty{color:#9aa3b5;margin:0}.admin-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.75rem;gap:.75rem}.admin-list-item{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:.85rem .9rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(0,0,0,.2)}.admin-list-item.is-archived{opacity:.72}.admin-list-main{flex:1 1 280px;min-width:0}.admin-list-title{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.25rem}.admin-list-summary{margin:.2rem 0;color:#c5cddc;font-size:.95rem}.admin-list-meta{margin:.35rem 0 0;font-size:.8rem;color:#8b93a7}.admin-list-urls{margin:.35rem 0 0;display:flex;flex-direction:column;gap:.15rem;font-size:.85rem}.admin-list-urls a{color:#9ec1ff;word-break:break-all}.admin-list-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-content:flex-start}.admin-status{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:999px;background:rgba(255,255,255,.08);color:#c5cddc}.admin-status--active{background:rgba(60,180,110,.2);color:#8dffb8}.admin-status--paused{background:rgba(220,170,60,.2);color:#ffd88a}.admin-status--archived,.admin-status--unknown{background:rgba(140,140,160,.2);color:#c0c4d0}.admin-env-hint{margin:.75rem 0;padding:.65rem .8rem;border-radius:8px;background:rgba(0,0,0,.35);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;overflow-x:auto}.admin-docs{margin-top:.7rem;padding:.65rem .75rem;border:1px dashed rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.02)}.admin-docs-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.admin-docs-count{font-size:.8rem;color:#8b93a7;margin-right:auto}.admin-docs-upload{position:relative;overflow:hidden;display:inline-flex;align-items:center}.admin-docs-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.admin-docs-upload.is-busy{opacity:.6;cursor:progress}.admin-docs-hint{display:block;margin:.35rem 0 0;font-size:.78rem;color:#8b93a7}.admin-form input[type=file]{padding:.35rem}.admin-docs .admin-alert{margin:.5rem 0 0;font-size:.85rem}.admin-docs-list{list-style:none;margin:.5rem 0 0;padding:0;display:grid;grid-gap:.4rem;gap:.4rem}.admin-doc{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.45rem .55rem;border-radius:6px;background:rgba(0,0,0,.25)}.admin-doc.is-notext{border-left:3px solid rgba(220,170,60,.7)}.admin-doc-main{min-width:0;display:flex;flex-direction:column;gap:.1rem}.admin-doc-main>a{color:#9ec1ff;word-break:break-all;font-size:.9rem}.admin-doc-meta{font-size:.75rem;color:#8b93a7}.admin-doc-meta a{color:#9ec1ff}.admin-doc-warn{color:#ffd88a}.admin-btn--small{padding:.25rem .55rem;font-size:.8rem;flex-shrink:0}.admin-card h2,.admin-header h1{overflow-wrap:anywhere}.admin-form input,.admin-form label,.admin-form select,.admin-form textarea{min-width:0;max-width:100%}.admin-doc-main{flex:1 1 auto}@media (max-width:700px){.admin-page{padding:.85rem .65rem 2.5rem}.admin-header{flex-direction:column;gap:.6rem;margin-bottom:1rem}.admin-header h1{font-size:1.3rem}.admin-card{padding:.9rem .8rem 1rem;border-radius:10px}.admin-form input,.admin-form select,.admin-form textarea{font-size:16px}.admin-list-main{flex-basis:100%}.admin-list-actions{width:100%}.admin-btn{padding:.55rem .85rem}.admin-gate{margin:1.5rem auto;padding:1.1rem}}@media (max-width:420px){.admin-form-actions .admin-btn,.admin-list-actions .admin-btn{flex:1 1 auto}.admin-docs{padding:.55rem .6rem}.admin-docs-head .admin-docs-upload{flex:1 1 100%;justify-content:center}.admin-doc{flex-wrap:wrap}.admin-doc-main{flex-basis:100%}}