:root{--bg:#0e1013;--panel:#171a1f;--text:#e8ebef;--muted:#98a2ad;--line:#2b3038;--accent:#4d9be6}@media (prefers-color-scheme:light){:root{--bg:#f4f5f7;--panel:#fff;--text:#1b1f24;--muted:#66707c;--line:#dde1e6;--accent:#0b6bcb}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}.kiosk{background:#000;position:fixed;inset:0}.kiosk canvas{width:100%;height:100%;display:block}.kiosk.idle{cursor:none}.status{color:#ccc;pointer-events:none;background:#0000008c;border-radius:6px;max-width:calc(100vw - 24px);padding:4px 8px;font-size:12px;transition:opacity .6s;position:fixed;bottom:10px;left:12px}.status.hidden{opacity:0}.status.error{color:#ffb4a9;opacity:1}.home{max-width:460px;margin:10vh auto;padding:0 16px}.home h1{margin:0 0 6px;font-size:24px}.home p{color:var(--muted);margin:0 0 18px}.home form{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:12px;padding:18px;display:grid}.home label{color:var(--muted);gap:4px;font-size:12px;display:grid}.home input,.home select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);text-transform:none;border-radius:8px;padding:9px 10px}.home input.code{letter-spacing:.05em;text-transform:uppercase;font-family:ui-monospace,Menlo,monospace}.home button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px}.home .error{color:#e06c5a}.review{max-width:1280px;margin:0 auto;padding:20px 16px}.review header h1{margin:0 0 2px;font-size:22px}.review header p{color:var(--muted);margin:0 0 16px}.mono{letter-spacing:.04em;font-family:ui-monospace,Menlo,monospace}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.card .preview{background:#000;justify-content:center;display:flex}.card .preview canvas{aspect-ratio:16/9;width:100%;display:block}.card .preview.portrait canvas{aspect-ratio:9/16;width:auto;max-width:100%;height:420px}.card .meta{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px 0;display:flex}.card .meta .grow{flex:1}.card .meta button{font:inherit;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:3px 8px;font-size:12px}.card .meta button.on{color:var(--text);border-color:var(--accent)}.card .meta a{color:var(--accent);font-size:13px;text-decoration:none}.card .note{color:var(--muted);min-height:18px;padding:6px 12px 12px;font-size:12px}
