:root{color-scheme:dark;background:#000;color:#f3f3f3;font-family:SF Mono,Roboto Mono,ui-monospace,Menlo,Monaco,Consolas,monospace;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;background:#000}button,input{font:inherit}button{cursor:pointer}.screen,.invite-screen,.capture-screen{width:min(100vw,520px);min-height:100svh;margin:0 auto;background:#000}.screen{padding:max(28px,env(safe-area-inset-top)) 22px max(28px,env(safe-area-inset-bottom))}.center-screen{display:grid;place-items:center}.empty-state{text-align:center}.empty-state h1{margin:0 0 18px;font-size:42px;letter-spacing:.36em}.empty-state p,.muted,.status-line,.capture-status{color:#ffffff8f;font-size:11px;letter-spacing:.22em;line-height:1.7}.invite-screen{display:flex;align-items:stretch;justify-content:center}.invite-card{position:relative;width:100%;min-height:100svh;display:flex;flex-direction:column;overflow:hidden}.invite-photo{position:relative;width:100%;aspect-ratio:3 / 4;min-height:48svh;overflow:hidden;background:#141414}.invite-photo img,.roll-hero img,.photo-grid img,.photo-stack img,.avatar,.camera-frame video{width:100%;height:100%;object-fit:cover;display:block}.invite-photo:after{content:"";position:absolute;left:0;right:0;top:36svh;height:28svh;pointer-events:none;background:linear-gradient(to bottom,#0000,#000 80%)}.invite-content{position:relative;z-index:1;margin-top:-12svh;padding:0 28px max(26px,env(safe-area-inset-bottom));display:flex;flex:1;flex-direction:column;justify-content:flex-end;gap:16px}.pill{align-self:center;margin:0;padding:8px 14px;border-radius:999px;background:#ffffff21;color:#ffffffb8;font-size:10px;letter-spacing:.18em}.invite-content h1{margin:0;text-align:center;font-size:clamp(30px,9vw,48px);line-height:1.12;letter-spacing:.12em;text-transform:uppercase}.invite-meta{display:flex;justify-content:center;gap:20px;color:#ffffffad;font-size:11px;letter-spacing:.18em}.name-field{display:grid;gap:8px}.name-field span,.section-title{color:#ffffff8a;font-size:11px;letter-spacing:.32em}.name-field input{width:100%;height:56px;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:0 18px;outline:none;background:#ffffff0f;color:#fff;letter-spacing:.14em;text-transform:uppercase}.primary-button{width:100%;height:58px;border:0;border-radius:12px;background:#f7f7f7;color:#050505;font-size:13px;letter-spacing:.24em;font-weight:700}.primary-button:disabled{opacity:.5}.text-button{border:0;background:transparent;color:#ffffff9e;font-size:11px;letter-spacing:.24em;padding:14px 8px}.invite-loading{min-height:100svh;display:grid;place-items:center;text-align:center}.invite-loading h1{font-size:44px;letter-spacing:.34em}.status-line{position:absolute;left:24px;right:24px;bottom:max(12px,env(safe-area-inset-bottom));text-align:center}.top-bar{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:68px;background:#000}.top-bar button,.capture-top button{width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:32px;line-height:1}.top-bar div{text-align:center;min-width:0}.top-bar strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;letter-spacing:.22em;text-transform:uppercase}.top-bar small{display:block;margin-top:7px;color:#ffffff8a;font-size:11px;letter-spacing:.22em}.roll-hero{position:relative;overflow:hidden;min-height:450px;border-radius:18px;background:#111}.roll-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#00000014,#000000db)}.roll-hero .placeholder{height:100%}.hero-copy{position:absolute;z-index:1;left:20px;right:20px;bottom:22px}.hero-copy h1{margin:0 0 18px;font-size:29px;letter-spacing:.12em;text-transform:uppercase}.hero-copy dl{display:grid;grid-template-columns:1fr auto;margin:0;font-size:12px;letter-spacing:.16em}.hero-copy dt,.hero-copy dd{margin:0;padding:9px 0;border-top:1px solid rgba(255,255,255,.28)}.section-block{margin-top:30px}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.photo-grid figure{position:relative;overflow:hidden;aspect-ratio:3 / 4;margin:0;border-radius:10px;background:#111}.photo-grid figcaption{position:absolute;right:10px;bottom:10px;color:#fff;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.people-list{display:grid;gap:18px;margin-top:18px}.person-row{display:grid;grid-template-columns:54px 1fr 86px;align-items:center;gap:14px;width:100%;border:0;background:transparent;color:#fff;text-align:left}.person-row strong{display:block;font-size:16px;letter-spacing:.14em;text-transform:uppercase}.person-row small{display:block;margin-top:8px;color:#ffffff8f;font-size:11px;letter-spacing:.16em}.avatar{width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.28)}.initial{display:grid;place-items:center;color:#ffffff94;font-size:24px}.photo-stack{position:relative;width:78px;height:78px;display:block}.photo-stack img{position:absolute;top:6px;right:12px;bottom:6px;left:12px;width:58px;height:70px;border:1px solid rgba(255,255,255,.62);border-radius:6px}.empty-stack{color:#ffffff8a;font-size:9px;letter-spacing:.12em;text-align:center}.placeholder{display:grid;place-items:center;width:100%;height:100%;color:#ffffff29;font-size:42px;background:linear-gradient(var(--seed),rgba(255,255,255,.24),rgba(255,255,255,.02)),#171717}.capture-screen{min-height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.capture-top{height:calc(78px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 20px 0;display:grid;grid-template-columns:54px 1fr 54px;align-items:center;background:#000;font-size:14px;letter-spacing:.18em;text-align:center;text-transform:uppercase}.camera-frame{position:relative;align-self:center;width:100%;aspect-ratio:3 / 4;max-height:100%;overflow:hidden;background:#050505}.camera-frame video{background:#050505}.mixed-toggle{position:absolute;left:50%;top:18px;transform:translate(-50%);display:flex;gap:6px;padding:5px;border-radius:999px;background:#0000008f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mixed-toggle button{min-width:82px;height:32px;border:0;border-radius:999px;background:transparent;color:#ffffff94;font-size:10px;letter-spacing:.18em}.mixed-toggle button.active{background:#ffffffe6;color:#050505}.capture-status{position:fixed;left:20px;right:20px;bottom:130px;text-align:center}.capture-bottom{height:calc(110px + env(safe-area-inset-bottom));padding:15px 28px calc(15px + env(safe-area-inset-bottom));display:grid;grid-template-columns:84px 1fr 84px;align-items:center;gap:18px;background:#000}.counter{height:45px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:28px;letter-spacing:.08em}.shutter{justify-self:center;width:80px;height:80px;border-radius:50%;border:5px solid rgba(255,255,255,.82);background:transparent}.wheel-bars{height:45px;display:flex;justify-content:flex-end;align-items:center;gap:7px}.wheel-bars span{width:10px;height:31px;border-radius:3px;background:#ffffff5c}@media(min-width:760px){body{background:radial-gradient(circle at center,#151515,#000 60%)}.screen,.invite-screen,.capture-screen{min-height:min(100svh,900px);margin-block:28px;border:1px solid rgba(255,255,255,.14);border-radius:34px;overflow:hidden}}
