:root{--bg:#0d0b14;--surface:#1a1724;--line:#36304a;--text:#f5f1e8;--muted:#b9b2c7;--accent:#e8b65a;--accent-ink:#1c1405;--danger:#ff9a8a;--display:"Iowan Old Style", "Palatino Linotype", Georgia, serif;--body:"Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--body);-webkit-tap-highlight-color:transparent;margin:0;font-size:clamp(16px,1.1vw + 10px,24px)}h1,h2{font-family:var(--display);text-align:center;margin:0;font-weight:600;line-height:1.15}h1{font-size:2.2rem}p{color:var(--muted);margin:0;line-height:1.5}.screen{-webkit-user-select:none;user-select:none;flex-direction:column;gap:1.5rem;min-height:100dvh;padding:2rem;display:flex}.screen.center{text-align:center;justify-content:center;align-items:center}.screen.picker{gap:.75rem;padding:1rem}.picker-header{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1.5rem;display:flex}.picker-header h1{font-size:1.6rem}.welcome{cursor:pointer;background:radial-gradient(ellipse at 50% 120%, #4a2a12 0%, var(--bg) 62%)}.eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;font-size:1.1rem}.hero{max-width:16ch;font-size:clamp(2.6rem,7vw,5.5rem)}.button{border:1px solid var(--line);background:var(--surface);min-height:3.5rem;color:var(--text);font:inherit;cursor:pointer;border-radius:.75rem;justify-content:center;align-items:center;padding:.8rem 2rem;font-weight:600;text-decoration:none;display:inline-flex}.button.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.button.large{min-height:4.5rem;padding-inline:3rem;font-size:1.3rem}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{opacity:.45;cursor:default}.button:focus-visible,.concept-card:focus-visible,.key:focus-visible{outline:3px solid var(--text);outline-offset:2px}.actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.stack{flex-direction:column;gap:.75rem;width:100%;display:flex}.consent{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:1rem;flex-direction:column;gap:1rem;max-width:44rem;padding:1.5rem 2rem;display:flex}.consent ul{flex-direction:column;gap:.5rem;margin:0;padding-left:1.2rem;line-height:1.45;display:flex}.model-switch{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.model-option{border:1px solid var(--line);background:var(--surface);min-height:3rem;color:var(--text);font:inherit;cursor:pointer;border-radius:.6rem;padding:.4rem 1.25rem}.model-option[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:600}.model-option:focus-visible{outline:3px solid var(--text);outline-offset:2px}.concept-grid{--cols:3;--rows:2;--gap:1rem;--chrome:6.5rem;--card:max(5rem, min(calc((100vw - 2rem - (var(--cols) - 1) * var(--gap)) / var(--cols)), calc((100dvh - var(--chrome) - (var(--rows) - 1) * var(--gap)) / var(--rows) * .8)));grid-template-columns:repeat(var(--cols), var(--card));gap:var(--gap);flex:1;place-content:center;display:grid}.concept-card{aspect-ratio:4/5;color:#fff;font:inherit;text-align:left;cursor:pointer;border:1px solid #ffffff26;border-radius:1rem;padding:0;display:block;position:relative;overflow:hidden}.concept-image{object-fit:cover;object-position:center top;width:100%;height:100%;position:absolute;inset:0}.concept-text{padding:calc(var(--card) * .08) calc(var(--card) * .05) calc(var(--card) * .04);background:linear-gradient(#0000,#000000d9 55%);flex-direction:column;gap:.1rem;display:flex;position:absolute;bottom:0;left:0;right:0}.concept-card:active{transform:scale(.98)}.concept-title{font-family:var(--display);font-size:max(12px, calc(var(--card) * .085));font-weight:600;line-height:1.15}.concept-tagline{color:#ffffffd9;font-size:max(10px, calc(var(--card) * .055))}.frame{aspect-ratio:3/2;border:1px solid var(--line);background:#000;border-radius:1rem;width:min(100%,150dvh - 22.5rem);position:relative;overflow:hidden}.frame video,.frame img{object-fit:cover;width:100%;height:100%;display:block}.mirrored{transform:scaleX(-1)}.countdown{color:#fff;font-family:var(--display);background:#0000004d;place-items:center;font-size:9rem;display:grid;position:absolute;inset:0}.hint,.note{color:var(--muted);text-align:center}.spinner{border:.4rem solid var(--line);border-top-color:var(--accent);border-radius:50%;width:5rem;height:5rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:4s}}.result{flex-direction:row;justify-content:center;align-items:center}.result-image{border-radius:1rem;min-width:0;max-width:68%;max-height:calc(100dvh - 4rem);display:block}.result-side{flex-direction:column;flex:1;align-items:center;gap:1rem;min-width:15rem;max-width:24rem;display:flex}.result-side h1{font-size:1.8rem}.qr{background:#fff;border-radius:.5rem;width:min(100%,13rem)}.print-sheet{display:none}.modal{z-index:10;background:#000000b3;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-body{border:1px solid var(--line);background:var(--surface);border-radius:1rem;flex-direction:column;gap:1rem;width:min(100%,52rem);padding:1.5rem;display:flex}.email-field{overflow-wrap:anywhere;border:1px solid var(--line);background:var(--bg);border-radius:.6rem;min-height:3.2rem;padding:.7rem 1rem;font-size:1.2rem;display:block}.keyboard{flex-direction:column;gap:.4rem;display:flex}.keyboard-row{justify-content:center;gap:.4rem;display:flex}.key{border:1px solid var(--line);background:var(--bg);min-width:0;max-width:7rem;min-height:3rem;color:var(--text);font:inherit;cursor:pointer;border-radius:.5rem;flex:1 1 0;padding:0 .2rem}.unlock{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.unlock input{border:1px solid var(--line);background:var(--surface);min-height:3.5rem;color:var(--text);font:inherit;border-radius:.75rem;padding:0 1rem}.error-text{color:var(--danger);text-align:center}.mobile-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:min(100%,40rem);min-height:100dvh;margin:0 auto;padding:1.5rem 1rem;display:flex}.mobile-image{border-radius:.75rem;width:100%;display:block}.mobile-page .button{width:100%}@media (max-width:800px),(orientation:portrait){.concept-grid{--cols:2;--rows:3;--chrome:11.25rem}.result{flex-direction:column}.result-image{max-width:100%;max-height:55dvh}}@media (max-width:520px){.model-switch{flex-wrap:nowrap}.model-option{white-space:nowrap;padding:.3rem .6rem;font-size:.85rem}}@media (max-height:520px) and (orientation:landscape){.concept-grid{--cols:6;--rows:1;--chrome:6.5rem}}@page{size:152mm 102mm;margin:0}@media print{html,body{background:#fff}body *{display:none!important}body,body main,.print-sheet{display:block!important}main{min-height:0!important;padding:0!important}.print-sheet{object-fit:cover;width:152mm;height:102mm}}
