@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-cyrillic-ext-600-normal-DDEJyoof.woff2) format("woff2"),url(/assets/caveat-cyrillic-ext-600-normal-BLVNc-Ct.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-cyrillic-600-normal-Ba_MyzgW.woff2) format("woff2"),url(/assets/caveat-cyrillic-600-normal-CqH0c_uj.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-ext-600-normal-DDJRD6ps.woff2) format("woff2"),url(/assets/caveat-latin-ext-600-normal-shBvSnoU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-600-normal-zlTlWIYU.woff2) format("woff2"),url(/assets/caveat-latin-600-normal-DUjB8dgm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:DM Sans,system-ui,sans-serif;color:#51232c;background:#fff8f1;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #51232c;--muted: #8d6c70;--paper: #fff8f1;--paper-deep: #f8ebdf;--red: #b73243;--red-dark: #922737;--blush: #f5cbd1;--plum: #59324a;--line: rgba(103, 45, 54, .15);--shadow: 0 26px 70px rgba(101, 46, 52, .14)}:root[data-theme=dark]{--ink: #fff7ef;--muted: #cfbfc3;--paper: #1e1c24;--paper-deep: #28232d;--line: rgba(255, 245, 237, .15);color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--paper)}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper);color:var(--ink)}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid rgba(183,50,67,.28);outline-offset:3px}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:24px;font-weight:700;letter-spacing:-1.2px;text-decoration:none}.brand>span:last-child span{color:var(--red)}.brand-mark{width:32px;height:32px;display:grid;place-items:center;color:#fff8f1;background:var(--red);border-radius:50% 50% 45% 48%;transform:rotate(-4deg)}.brand-compact{font-size:21px}.brand-compact .brand-mark{width:29px;height:29px}.landing{position:relative;min-height:100svh;overflow:hidden;background:radial-gradient(circle at 84% 14%,rgba(247,205,212,.84),transparent 31%),linear-gradient(108deg,#fff9f3 0 56%,#f8e6df 56% 100%)}.landing:after,.centered-page:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.26;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E")}.landing-nav{position:relative;z-index:3;height:82px;display:flex;align-items:center;justify-content:flex-start;padding:0 clamp(24px,5vw,76px)}.hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);min-height:calc(100svh - 82px);padding:3vh clamp(24px,5vw,76px) 40px}.hero-copy{align-self:center;max-width:650px;padding-bottom:3vh}.eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 18px;color:var(--red);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero h1,.centered-page h1,.stage-heading h1,.review-heading h1,.final-copy h1{margin:0;font-size:clamp(52px,6.1vw,92px);line-height:.96;letter-spacing:-.065em;font-weight:600}.hero-intro{max-width:520px;margin:26px 0 30px;color:#73565b;font-size:clamp(17px,1.4vw,20px);line-height:1.55}.start-form{max-width:600px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.start-form.mode-create>label{grid-column:1 / -1}.start-form label,.tool-panel>label{display:grid;gap:8px;flex:1;min-width:156px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.start-form input,.tool-panel input:not([type=range]){width:100%;height:52px;padding:0 16px;border:1px solid rgba(103,45,54,.18);border-radius:12px;color:var(--ink);background:#ffffffa8;font-size:16px;font-weight:500;letter-spacing:normal;text-transform:none;transition:border-color .2s,background .2s}.start-form input:focus,.tool-panel input:focus{border-color:var(--red);background:#fff;outline:none}.start-form .code-input{width:100%;font-weight:700;letter-spacing:.12em}.primary-button,.secondary-button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 22px;border-radius:13px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s}.primary-button{border:1px solid var(--red);color:#fffaf4;background:var(--red);box-shadow:0 10px 26px #b7324338}.primary-button:hover:not(:disabled){transform:translateY(-2px);background:var(--red-dark);box-shadow:0 14px 32px #b7324347}.secondary-button{border:1px solid var(--line);color:var(--ink);background:transparent}.secondary-button:hover:not(:disabled){border-color:var(--red);transform:translateY(-1px)}.primary-button.small{min-height:40px;padding:0 16px;border-radius:10px;font-size:13px}.primary-button.wide,.secondary-button.wide{width:100%}.hero-button{height:52px;white-space:nowrap}.hero-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.entry-switch-button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 18px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#ffffff47;font-size:13px;font-weight:700;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s}.entry-switch-button.join-entry{border-color:#b73243ad;color:var(--red-dark);background:#ffffffa3;box-shadow:0 8px 20px #6f2d3a1a}.entry-switch-button:hover{border-color:var(--red);background:#fffaf5;transform:translateY(-1px)}.form-error{grid-column:1 / -1;margin:2px 0 0;color:var(--red);font-size:14px}.hero-visual{position:relative;min-height:570px;display:grid;place-items:center}.orbit{position:absolute;border:1px solid rgba(161,60,77,.16);border-radius:50%}.orbit-one{width:min(38vw,570px);aspect-ratio:1}.orbit-two{width:min(48vw,710px);aspect-ratio:1}.sample-strip{position:relative;z-index:2;width:clamp(250px,22vw,340px);padding:18px 18px 24px;background:#fff9f0;border:1px solid rgba(101,45,53,.12);box-shadow:0 34px 80px #5927323d}.sample-photo{position:relative;height:clamp(112px,11.8vw,165px);display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:8px;overflow:hidden;background:#f3c9ca}.sample-person{position:relative;overflow:hidden;background:linear-gradient(160deg,#f5b5aa,#d36d6e)}.sample-person.plum{background:linear-gradient(160deg,#9f718b,#56334c)}.sample-person:before{content:"";position:absolute;width:52%;aspect-ratio:1;left:24%;top:18%;border-radius:50%;background:#ffe0c9;box-shadow:0 35px 0 18px #c93f50}.sample-person.plum:before{background:#bd8066;box-shadow:0 35px 0 18px #472638}.sample-person:after{content:"";position:absolute;width:30%;height:18%;left:36%;top:46%;border-bottom:3px solid rgba(82,33,42,.65);border-radius:50%}.sample-person.pose-1:before{transform:translate(-5px) rotate(-7deg)}.sample-person.pose-2:before{transform:translate(7px) rotate(8deg)}.sample-person.pose-3:after{content:"♡";top:52%;border:0;color:#fff;font-size:24px}.sample-heart{position:absolute;z-index:2;left:50%;top:12px;transform:translate(-50%) rotate(5deg);color:#fff9f1;filter:drop-shadow(0 2px 4px rgba(110,33,44,.25))}.sample-note{padding-top:7px;color:#7e3040;font-family:Caveat,cursive;font-size:clamp(18px,1.8vw,24px);text-align:center}.doodle{position:absolute;z-index:3;color:#9d4451;font-family:Caveat,cursive}.doodle-arrow{top:23%;left:7%;font-size:65px;transform:rotate(18deg)}.doodle-copy{top:12%;left:0;font-size:20px;line-height:1.05;transform:rotate(-8deg)}.hero-heart{position:absolute;right:5%;bottom:16%;color:#b14a59;font-family:Caveat,cursive;font-size:43px;animation:heartFloat 2.8s ease-in-out infinite}.centered-page{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;overflow:hidden;text-align:center;background:radial-gradient(circle at 50% 35%,#f9d8da 0,#fff8f1 38%,#f7eee6)}.centered-page>*{position:relative;z-index:1}.centered-page .brand{position:absolute;top:28px;left:clamp(24px,5vw,72px)}.permission-illustration{position:relative;margin-bottom:26px}.camera-body{position:relative;width:116px;height:78px;display:grid;place-items:center;border-radius:23px;background:var(--red);color:#fff6ef;box-shadow:0 18px 34px #b332433d;transform:rotate(-3deg)}.camera-body:before{content:"";position:absolute;width:42px;height:17px;left:14px;top:-11px;border-radius:8px 8px 0 0;background:#96303f}.camera-lens{position:absolute;width:45px;height:45px;left:35px;border:8px solid #fff1e8;border-radius:50%;background:#543244}.camera-body svg{position:absolute;right:12px;top:10px}.permission-heart{position:absolute;color:var(--red);font-family:Caveat,cursive;font-size:27px}.permission-heart.one{top:-12px;right:-30px;transform:rotate(9deg)}.permission-heart.two{bottom:-5px;left:-35px;font-size:18px;transform:rotate(-12deg)}.centered-page h1{max-width:700px;font-size:clamp(42px,5vw,67px)}.page-lede{max-width:580px;margin:20px auto 28px;color:var(--muted);font-size:17px;line-height:1.6}.friendly-error{max-width:560px;display:flex;align-items:flex-start;gap:11px;margin-top:18px;padding:13px 17px;border:1px solid rgba(183,50,67,.2);border-radius:12px;color:var(--red);background:#ffffff80;text-align:left;font-size:14px}.friendly-error svg{flex:0 0 auto}.privacy-note{max-width:590px;display:flex;align-items:flex-start;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(103,45,54,.14);color:#8b7377;text-align:left;font-size:12px;line-height:1.55}.privacy-note svg{flex:0 0 auto}.privacy-note p{margin:0}.app-header{height:68px;display:flex;align-items:center;gap:16px;padding:0 clamp(18px,3vw,44px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-header .brand{margin-right:auto}.icon-button{width:39px;height:39px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;transition:border-color .2s,background .2s}.icon-button:hover{border-color:var(--red);background:#b732430f}.room-code{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.connection-banner{min-height:38px;display:flex;justify-content:center;align-items:center;gap:9px;padding:7px 20px;color:#fff;background:#9e3948;font-size:13px}.booth-page{min-height:100svh;background:var(--paper)}.booth-stage{max-width:1380px;margin:0 auto;padding:clamp(24px,4vh,48px) clamp(18px,4vw,56px) 32px}.stage-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:24px}.stage-heading .eyebrow{margin-bottom:8px}.stage-heading h1{font-size:clamp(34px,4vw,58px)}.stage-heading>p{max-width:340px;margin:0 0 7px;color:var(--muted);text-align:right;font-size:14px}.video-pair{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px;border-radius:28px;background:#2a2026;box-shadow:var(--shadow);transition:filter .16s}.video-pair.is-flashing{animation:cameraFlash .28s ease-out}.video-pane{position:relative;aspect-ratio:4 / 3;overflow:hidden;border-radius:19px;background:#3b2f35}.video-pane video{width:100%;height:100%;display:block;object-fit:cover}.video-pane video.mirrored{transform:scaleX(-1)}.video-placeholder{width:100%;height:100%;display:grid;place-content:center;justify-items:center;gap:13px;color:#dccbd0;background:radial-gradient(circle at center,#4c3a43,#30262b)}.video-placeholder p{margin:0;font-size:13px}.waiting-avatar{width:66px;height:66px;display:grid;place-items:center;border:1px dashed #826571;border-radius:50%;color:#c68691;animation:breathe 2.6s ease-in-out infinite}.copy-invite-camera{position:absolute;z-index:2;left:50%;top:calc(50% + 62px);min-width:176px;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:1px solid rgba(255,255,255,.32);border-radius:999px;color:#492730;background:#fff7ef;box-shadow:0 10px 30px #140a0e40;font-size:13px;font-weight:800;transform:translate(-50%)}.copy-invite-camera:hover{background:#fff;transform:translate(-50%) translateY(-1px)}.copy-invite-camera svg{width:17px;height:17px}.video-stalled-action{position:absolute;z-index:4;left:50%;top:50%;display:flex;align-items:center;gap:8px;padding:11px 16px;border:1px solid rgba(255,255,255,.35);border-radius:999px;color:#fff;background:#371c22d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px;font-weight:800;transform:translate(-50%,-50%)}.video-stalled-action svg{width:16px;height:16px}.video-label{position:absolute;left:14px;bottom:14px;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:9px;color:#fff;background:#1e161b80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:12px;font-weight:600}.status-dot{width:7px;height:7px;border-radius:50%;background:#a48e96;box-shadow:0 0 0 3px #a48e9626}.status-dot.online{background:#7fd49b;box-shadow:0 0 0 3px #7fd49b2e}.together-mark{position:absolute;z-index:3;left:50%;top:50%;width:44px;height:44px;display:grid;place-items:center;color:#fff7ef;background:var(--red);border:5px solid #2a2026;border-radius:50%;transform:translate(-50%,-50%)}.countdown-overlay{position:absolute;z-index:6;inset:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:20px;color:#fff;background:#2e181f85;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.countdown-overlay span{width:130px;height:130px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.68);border-radius:50%;color:#fff;font-family:Caveat,cursive;font-size:96px;font-weight:600;line-height:1;text-shadow:0 6px 24px rgba(47,18,25,.3)}.countdown-overlay span svg{width:62px;height:62px}.countdown-overlay p{margin:14px 0 0;font-family:Caveat,cursive;font-size:27px}.peer-status{display:flex;align-items:center;justify-content:center;gap:9px;margin:12px auto -8px;color:var(--muted);font-size:12px}.peer-status.failed{color:#9e3948}.peer-status button{padding:5px 0;border:0;border-bottom:1px solid currentColor;color:var(--red);background:transparent;font-size:12px;font-weight:700}.booth-controls{min-height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-top:20px}.media-controls{display:flex;gap:9px}.round-control{width:47px;height:47px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent}.round-control.off{color:#fff;border-color:var(--red);background:var(--red)}.round-control.mirror-on{color:var(--red);border-color:#b732436b;background:#b7324312}.session-start{display:grid;justify-items:center;gap:7px}.photo-count-setting{display:flex;align-items:center;gap:8px}.photo-count-setting>span{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.photo-count-picker{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:14px;background:#ffffff47}.photo-count-picker button{min-width:61px;height:27px;padding:0 8px;border:0;border-radius:10px;color:var(--muted);background:transparent;font-size:10px;font-weight:700;white-space:nowrap}.photo-count-picker button.selected{color:#fff;background:var(--red)}.shutter-button{display:flex;align-items:center;gap:12px;padding:6px 20px 6px 7px;border:0;border-radius:28px;color:#fff;background:var(--red);font-weight:700;box-shadow:0 10px 26px #b7324336}.shutter-button>span{width:42px;height:42px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.8);border-radius:50%}.shutter-button:hover:not(:disabled){background:var(--red-dark);transform:translateY(-1px)}.capture-progress{display:flex;gap:8px;justify-self:end}.capture-progress span{width:23px;height:5px;border-radius:5px;background:var(--line)}.capture-progress span.done{background:var(--red)}.capture-progress span.active{background:#d6939d;animation:pulseBar 1s infinite}.invite-nudge{display:flex;align-items:center;gap:8px;margin:2px auto 0;padding:9px 14px;border:0;border-bottom:1px solid currentColor;color:var(--red);background:none;font-size:13px;font-weight:700}.app-shell{min-height:100svh;background:var(--paper)}.step-label{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.review-heading{max-width:720px;margin:46px auto 34px;padding:0 24px;text-align:center}.review-heading .eyebrow{justify-content:center}.review-heading h1{font-size:clamp(38px,4vw,58px)}.review-heading>p:not(.eyebrow):not(.media-rest-note){margin:16px 0 0;color:var(--muted)}.review-heading .media-rest-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:13px 0 0;color:#617766;font-size:12px;font-weight:600}.contact-sheet{max-width:1060px;display:grid;gap:14px;margin:0 auto;padding:0 24px 130px}.contact-row{position:relative;display:grid;grid-template-columns:34px 1fr 1fr;gap:8px;align-items:stretch}.shot-number{align-self:start;padding-top:9px;color:#c4949a;font-family:Caveat,cursive;font-size:20px}.review-photo{position:relative;aspect-ratio:4 / 3;overflow:hidden;border-radius:14px;background:var(--paper-deep)}.review-photo img{width:100%;height:100%;display:block;object-fit:cover}.review-photo>span{position:absolute;left:10px;bottom:10px;padding:5px 8px;border-radius:6px;color:#fff;background:#2c1a1f8c;font-size:11px}.review-photo>button{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:6px;padding:7px 10px;border:0;border-radius:8px;color:#5d2b34;background:#fff8f1e6;font-size:11px;font-weight:700}.retake-count{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:#371c228c;font-family:Caveat,cursive;font-size:80px}.retake-camera-layer{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:24px;background:#26161cb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.retake-camera-card{position:relative;width:min(620px,100%);overflow:hidden;border:8px solid #fff7ef;border-radius:24px;box-shadow:0 24px 80px #140a0e66}.retake-camera-card .video-pane{border-radius:15px}.retake-camera-count{position:absolute;z-index:5;inset:0;display:grid;place-items:center;color:#fff;background:#371c2233;font-family:Caveat,cursive;font-size:clamp(86px,18vw,150px);font-weight:700;text-shadow:0 8px 30px rgba(32,14,20,.4);pointer-events:none}.sticky-actions{position:fixed;z-index:9;left:0;right:0;bottom:0;min-height:90px;display:flex;align-items:center;justify-content:flex-end;gap:24px;padding:15px max(24px,calc((100vw - 1012px)/2));border-top:1px solid var(--line);background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sticky-actions p{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:13px}.editor-page{height:100svh;display:flex;flex-direction:column;overflow:hidden;background:var(--paper)}.editor-header{flex:0 0 68px}.editor-presence{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.live-pulse{width:7px;height:7px;display:inline-block;border-radius:50%;background:#62bc7d;box-shadow:0 0 0 4px #62bc7d24}.editor-workspace{flex:1;min-height:0;display:grid;grid-template-columns:390px 1fr}.editor-tools{position:relative;display:grid;grid-template-columns:74px 1fr;min-height:0;border-right:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,#fff)}.tool-tabs{display:flex;flex-direction:column;gap:6px;padding:14px 9px;border-right:1px solid var(--line)}.tool-tabs button{min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 2px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:10px;font-weight:700}.tool-tabs button svg{width:18px}.tool-tabs button.active{color:var(--red);background:#b7324314}.text-icon{font-family:Caveat,cursive;font-size:21px;line-height:18px}.tool-panel{overflow-y:auto;padding:21px 20px 40px}.tool-panel fieldset{margin:0 0 24px;padding:0;border:0}.tool-panel legend,.tool-panel>label{width:100%;margin-bottom:10px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.tool-panel>label{margin-bottom:18px}.tool-panel input:not([type=range]){height:45px;background:var(--paper-deep)}.template-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.template-list button{min-height:58px;padding:8px;border:1px solid var(--line);border-radius:10px;background:transparent;font-family:Caveat,cursive;font-size:18px;text-transform:capitalize}.template-list button.selected{color:var(--red);border-color:var(--red);background:#b732430f}.segmented{display:flex;padding:3px;border:1px solid var(--line);border-radius:10px}.segmented.wrap{flex-wrap:wrap}.segmented button{flex:1;min-height:34px;padding:5px 8px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-size:11px;font-weight:700;text-transform:capitalize}.segmented button.selected{color:var(--ink);background:var(--paper-deep);box-shadow:0 2px 7px #47202917}.segmented button.handwritten{font-family:Caveat,cursive;font-size:16px}.swatches{display:flex;flex-wrap:wrap;gap:9px}.swatches button{width:34px;height:34px;border:2px solid var(--paper);border-radius:50%;box-shadow:0 0 0 1px var(--line)}.swatches button.selected{box-shadow:0 0 0 2px var(--red)}.theme-toggle{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;min-height:42px;border:1px solid var(--line);border-radius:10px;background:transparent;font-size:12px;font-weight:700}.theme-toggle svg{width:17px}.tool-hint{margin:0 0 15px;color:var(--muted);font-size:12px;line-height:1.5}.sticker-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.sticker-palette button{aspect-ratio:1;border:1px solid var(--line);border-radius:12px;background:var(--paper-deep);color:var(--red);font-size:25px;transition:transform .15s}.sticker-palette button:hover{transform:rotate(-6deg) scale(1.07)}.sticker-swatches{margin-bottom:4px}.danger-text{color:var(--red)!important}.photo-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:20px}.photo-picker button{position:relative;aspect-ratio:1;overflow:hidden;padding:0;border:2px solid transparent;border-radius:8px;background:var(--paper-deep)}.photo-picker button.selected{border-color:var(--red)}.photo-picker img{width:100%;height:100%;object-fit:cover}.photo-picker span{position:absolute;right:3px;bottom:3px;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#2d171eb3;font-size:9px}.range-label{display:grid!important;gap:8px!important;margin-bottom:16px!important}.range-label span{display:flex;justify-content:space-between}.range-label input{accent-color:var(--red)}.preview-stage{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto;padding:30px;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--blush) 28%,var(--paper)),var(--paper-deep))}.preview-label{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.drag-note{margin:13px 0 0;color:var(--muted);font-family:Caveat,cursive;font-size:17px}.preview-stage .strip-preview:not(.layout-postcard){width:auto;height:min(720px,calc(100svh - 190px))}.preview-stage .layout-postcard{width:min(600px,calc(100vw - 450px));height:auto}.collaborator-cursor{position:absolute;z-index:30;display:flex;align-items:flex-start;color:var(--red);pointer-events:none;translate:-7px -7px;will-change:left,top,opacity,transform}.collaborator-cursor-mark{position:relative;z-index:2;width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border:2px solid #fffaf5;border-radius:50% 50% 50% 8px;background:var(--red);color:#fffaf5;box-shadow:0 4px 13px #491d2633;transform:rotate(-12deg)}.collaborator-cursor-mark svg{transform:rotate(12deg)}.collaborator-cursor-label{min-width:max-content;display:flex;flex-direction:column;gap:1px;margin:17px 0 0 -2px;padding:5px 8px 6px;border-radius:4px 9px 9px;background:#6f2f3a;color:#fffaf5;box-shadow:0 5px 16px #491d2629;font-size:10px;line-height:1.15}.collaborator-cursor-label strong{font-size:10px;font-weight:700}.collaborator-cursor-label small{max-width:140px;overflow:hidden;opacity:.76;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.collaborator-cursor.is-right .collaborator-cursor-label{order:-1;margin:17px -2px 0 0;border-radius:9px 4px 9px 9px;text-align:right}.collaborator-touch-ring{position:absolute;z-index:1;top:-7px;left:-7px;width:38px;height:38px;border:2px solid rgba(183,50,67,.42);border-radius:50%;animation:collaboratorTouch 1s ease-out infinite}.strip-preview{position:relative;flex:0 0 auto;width:min(310px,72vw);aspect-ratio:2 / 5;padding:15px 15px 58px;color:#702f3a;box-shadow:0 25px 60px #441f2733;overflow:hidden;transform-origin:center}.strip-photos{width:100%;height:100%;display:grid;grid-template-rows:repeat(4,1fr);gap:6px}.strip-shot{display:grid;grid-template-columns:1fr 1fr;gap:2px;min-height:0;overflow:hidden;border:1px solid rgba(99,43,54,.14);background:#ffffff3d}.strip-person{position:relative;min-width:0;min-height:0;overflow:hidden;background:#ffffff47}.strip-person img{width:100%;height:100%;display:block;object-fit:cover;transform-origin:center}.strip-person>span{width:100%;height:100%;display:grid;place-items:center;color:#672d3666;font-family:Caveat,cursive}.strip-caption{position:absolute;left:12px;right:12px;bottom:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.strip-caption strong{max-width:90%;overflow:hidden;font-size:22px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.strip-caption span{margin-top:6px;font-family:DM Sans,sans-serif;font-size:8px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.strip-caption.font-handwritten strong{font-family:Caveat,cursive;font-size:28px;font-weight:600}.strip-preview.theme-dark{color:#fff7ee}.placed-sticker{position:absolute;z-index:4;width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;color:#b73345;background:transparent;font-size:28px;line-height:1;touch-action:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 1px rgba(255,255,255,.45))}.placed-sticker.selected{outline:2px dashed currentColor;outline-offset:2px;border-radius:50%}.placed-sticker:active{cursor:grabbing!important}.frame-dashed .strip-shot{border:2px dashed #b73345}.frame-stamp .strip-shot{border:3px double rgba(145,47,61,.55)}.frame-scallop .strip-shot{border-radius:12px}.layout-postcard{width:min(600px,70vw);aspect-ratio:4 / 3;padding:18px 18px 72px}.layout-postcard .strip-photos{grid-template:repeat(2,1fr) / repeat(2,1fr)}.layout-postcard.rounds-2 .strip-photos{grid-template:1fr / repeat(2,1fr)}.layout-postcard.rounds-3 .strip-shot:last-child{width:calc(50% - 3px);grid-column:1 / -1;justify-self:center}.layout-postcard .strip-caption{bottom:17px}.layout-film{aspect-ratio:3 / 8;padding:20px 27px 64px;background-color:#252027!important}.layout-film:before,.layout-film:after{content:"";position:absolute;z-index:3;top:0;bottom:0;width:12px;background:repeating-linear-gradient(to bottom,transparent 0 8px,#f5e8d9 8px 20px,transparent 20px 28px)}.layout-film:before{left:7px}.layout-film:after{right:7px}.layout-film .strip-caption{color:#fff7ef}.final-page{min-height:100svh;background:radial-gradient(circle at 30% 40%,#f6d4d8 0,var(--paper) 42%,var(--paper))}.final-layout{max-width:1120px;min-height:calc(100svh - 68px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(50px,8vw,110px);margin:0 auto;padding:50px 32px}.final-preview{display:grid;place-items:center}.final-preview .strip-preview{width:min(320px,38vw)}.final-preview .layout-postcard{width:min(510px,44vw)}.final-copy{max-width:470px}.final-copy h1{font-size:clamp(46px,5vw,68px)}.final-copy>p:not(.eyebrow){margin:18px 0 28px;color:var(--muted);font-size:16px;line-height:1.55}.format-choice{margin:0 0 16px}.format-choice>span{display:block;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.format-choice .segmented button{display:flex;align-items:center;justify-content:center;gap:6px}.format-choice small{color:var(--muted);font-size:9px;font-weight:500}.final-copy .secondary-button.wide{margin-top:10px}.session-actions{display:flex;justify-content:space-between;gap:16px;margin-top:24px;padding-top:17px;border-top:1px solid var(--line)}.session-actions button{display:flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px}.site-footer{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px clamp(24px,5vw,76px);border-top:1px solid rgba(103,45,54,.11);color:var(--muted);font-size:11px}.site-footer nav{display:flex;align-items:center;gap:clamp(16px,2.5vw,30px)}.site-footer a{color:inherit;text-decoration:none;transition:color .18s}.site-footer a:hover{color:var(--red)}.info-page{min-height:100svh;background:radial-gradient(circle at 88% 8%,rgba(245,203,209,.58),transparent 25%),var(--paper)}.info-header{height:82px;display:flex;align-items:center;padding:0 clamp(24px,5vw,76px)}.info-article{width:min(100% - 48px,980px);margin:0 auto;padding:clamp(58px,8vw,110px) 0 90px}.info-intro{max-width:820px;padding-bottom:clamp(58px,8vw,92px)}.info-intro h1{margin:0;font-size:clamp(50px,7vw,82px);font-weight:600;line-height:.98;letter-spacing:-.06em}.info-intro>p:not(.eyebrow){max-width:690px;margin:25px 0 0;color:var(--muted);font-size:clamp(17px,2vw,21px);line-height:1.55}.info-intro time{display:block;margin-top:22px;color:#aa858b;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.info-sections{border-bottom:1px solid var(--line)}.info-sections section{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);column-gap:clamp(38px,8vw,110px);padding:34px 0 38px;border-top:1px solid var(--line)}.info-sections h2{margin:0;font-size:16px;font-weight:700;letter-spacing:-.02em}.info-sections p,.info-sections ul{grid-column:2;margin:0;color:var(--muted);font-size:15px;line-height:1.72}.info-sections p+p{margin-top:14px}.info-sections ul{display:grid;gap:11px;padding-left:18px}.info-sections a{color:var(--red);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.back-home{display:inline-flex;align-items:center;gap:5px;margin-top:40px;color:var(--red);font-size:13px;font-weight:700;text-decoration:none}.back-home:hover svg{transform:translate(-3px)}.back-home svg{transition:transform .18s}.not-found-page .primary-button{text-decoration:none}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes heartFloat{0%,to{transform:translateY(0) rotate(5deg);opacity:.62}50%{transform:translateY(-8px) rotate(-4deg);opacity:1}}@keyframes breathe{0%,to{transform:scale(.96);opacity:.75}50%{transform:scale(1.03);opacity:1}}@keyframes cameraFlash{0%{filter:brightness(1)}35%{filter:brightness(3.5)}to{filter:brightness(1)}}@keyframes pulseBar{50%{opacity:.45}}@keyframes collaboratorTouch{0%{opacity:.7;transform:scale(.55)}to{opacity:0;transform:scale(1.35)}}@media(max-width:900px){.landing{background:radial-gradient(circle at 75% 20%,rgba(247,205,212,.78),transparent 35%),#fff8f1}.hero{grid-template-columns:1fr .8fr;min-height:calc(100svh - 82px);padding-bottom:40px}.hero h1{font-size:clamp(49px,8vw,72px)}.hero-visual{min-height:480px}.doodle-copy,.doodle-arrow{display:none}.editor-workspace{grid-template-columns:340px 1fr}.editor-tools{grid-template-columns:66px 1fr}.final-layout{gap:45px}}@media(max-width:720px){.landing{overflow-y:auto}.landing-nav{height:68px;padding:0 20px}.peer-status{flex-wrap:wrap;text-align:center}.hero{display:flex;flex-direction:column;min-height:auto;padding:42px 20px 82px}.hero-copy{order:1;padding:0}.hero h1{font-size:clamp(47px,14vw,67px)}.hero-intro{margin:20px 0 24px;font-size:16px}.start-form{grid-template-columns:1fr}.start-form label,.start-form .code-input{width:100%}.start-form>label,.hero-actions{grid-column:1}.hero-actions{grid-template-columns:1fr}.hero-button,.entry-switch-button{width:100%}.hero-visual{order:0;min-height:365px;margin-top:-25px}.sample-strip{width:210px}.sample-photo{height:100px}.orbit-one{width:330px}.orbit-two{width:430px}.centered-page .brand{top:20px;left:20px}.permission-page{justify-content:flex-start;padding-top:128px}.permission-illustration{transform:scale(.85);margin-bottom:12px}.centered-page h1{font-size:42px}.page-lede{font-size:15px}.app-header{height:60px;padding:0 14px}.app-header .brand>span:last-child,.editor-presence{display:none}.app-header .brand{margin-right:auto}.room-code{max-width:165px;overflow:hidden;white-space:nowrap}.booth-stage{padding:24px 12px}.stage-heading{display:block;padding:0 6px}.stage-heading h1{font-size:37px}.stage-heading>p{margin-top:10px;text-align:left}.video-pair{grid-template-columns:1fr;gap:7px;padding:7px;border-radius:20px}.video-pane{aspect-ratio:16 / 10;border-radius:14px}.together-mark{top:50%;width:38px;height:38px;border-width:4px}.countdown-overlay{inset:7px}.countdown-overlay span{width:105px;height:105px;font-size:75px}.booth-controls{grid-template-columns:1fr auto;gap:14px;padding:16px 4px 0}.session-start{grid-row:1;grid-column:1 / -1;justify-self:center}.media-controls,.capture-progress{grid-row:2}.review-heading{margin:30px auto 24px}.review-heading h1{font-size:38px}.contact-sheet{padding:0 12px 118px}.contact-row{grid-template-columns:26px 1fr 1fr;gap:5px}.review-photo{border-radius:9px}.review-photo>span{display:none}.review-photo>button{right:6px;bottom:6px;padding:6px}.review-photo>button svg{width:13px}.sticky-actions{min-height:82px;padding:10px 14px}.sticky-actions p{display:none}.sticky-actions .primary-button{width:100%}.editor-page{height:auto;min-height:100svh;overflow:visible}.editor-header{position:sticky;z-index:10;top:0;flex:0 0 60px}.editor-workspace{display:flex;flex-direction:column-reverse}.preview-stage{min-height:530px;padding:25px 12px;overflow:hidden}.preview-stage .strip-preview{max-height:450px;width:auto}.preview-stage .layout-postcard{width:min(92vw,520px);height:auto}.editor-tools{min-height:500px;display:block;border-top:1px solid var(--line);border-right:0}.tool-tabs{position:sticky;z-index:8;top:60px;flex-direction:row;justify-content:space-around;padding:7px 8px;border-right:0;border-bottom:1px solid var(--line);background:var(--paper)}.tool-tabs button{min-height:51px;flex:1}.tool-panel{overflow:visible;padding:22px 20px 50px}.template-list{grid-template-columns:repeat(2,1fr)}.final-page .app-header .step-label{display:block}.final-layout{display:flex;flex-direction:column;gap:40px;padding:38px 20px 50px}.final-preview .strip-preview{width:min(280px,75vw)}.final-preview .layout-postcard{width:min(88vw,510px)}.final-copy{width:100%}.final-copy h1{font-size:48px}.site-footer{flex-direction:column;align-items:flex-start;padding:23px 20px}.site-footer nav{width:100%;flex-wrap:wrap;gap:13px 22px}.info-header{height:68px;padding:0 20px}.info-article{width:min(100% - 40px,980px);padding:56px 0 64px}.info-intro{padding-bottom:52px}.info-intro h1{font-size:clamp(43px,13vw,58px)}.info-sections section{display:block;padding:28px 0 31px}.info-sections h2{margin-bottom:14px}.info-sections p,.info-sections ul{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
