:root{--bg:#0a0f1c;--surface:#111827;--border:#374151;--text:#f9fafb;--muted:#9ca3af;--accent:#00d4aa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}#app{max-width:1400px;margin:0 auto;padding:16px}.login{gap:12px;max-width:320px;margin:15vh auto;display:grid}.login h1{margin:0 0 8px;font-size:24px}input,button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 14px}button{background:var(--accent);color:#04241d;cursor:pointer;border:0;font-weight:600}button:disabled{opacity:.5;cursor:default}.error{color:#f87171;margin:0}.empty{color:var(--muted)}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:12px;gap:8px;padding:8px;font-weight:400;display:grid}.card:disabled{opacity:.45}.card img{aspect-ratio:9/16;object-fit:contain;background:#000;border-radius:8px;width:100%}.card .label{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.viewer{justify-items:center;gap:12px;display:grid}.viewer canvas{touch-action:none;background:#000;border-radius:12px;max-width:100%;max-height:78vh}.viewer .toolbar{flex-wrap:wrap;gap:8px;display:flex}.viewer .status{color:var(--muted);font-size:13px}
