@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff) format("woff")}@font-face{font-family:Great Vibes;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/great-vibes-latin-400-normal-q5-78SH_.woff2) format("woff2"),url(/assets/great-vibes-latin-400-normal-BAZ173uY.woff) format("woff")}:root{--primary: #8b6f47;--bg: #faf6f0;--ink: #2e261d;--muted: #776a5b;--line: color-mix(in srgb, var(--primary) 28%, transparent);--card: #fffdf9;--danger: #a33b2b;--ok: #3f6b3a;--radius: 18px;--serif: "Cormorant Garamond", "Times New Roman", serif;--script: "Great Vibes", "Cormorant Garamond", cursive;--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color-scheme:light}@supports not (color: color-mix(in srgb,red 50%,blue)){:root{--line: rgba(139, 111, 71, .28)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--ink);font:16px/1.5 var(--sans);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}img{display:block;max-width:100%}.screen{position:relative;display:flex;flex-direction:column;gap:20px;width:100%;max-width:480px;min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.screen.center{justify-content:center;align-items:center;text-align:center}.eyebrow{margin:0;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--primary)}.title{margin:0;font-family:var(--serif);font-weight:600;font-size:clamp(28px,8vw,34px);line-height:1.12;letter-spacing:-.01em}.lead{margin:0;color:var(--muted);font-size:16px;max-width:34ch}.hint{margin:-4px 0 0;color:var(--muted);font-size:13.5px;text-align:center;line-height:1.45}.fineprint{margin:0;color:var(--muted);font-size:12.5px;text-align:center;max-width:30ch}.text-link{color:var(--primary);font-weight:600;text-underline-offset:3px}.names{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:.22em;font-family:var(--script);font-weight:400;line-height:1.05;color:var(--ink)}.heart{width:.34em;height:.32em;fill:var(--primary);flex:none;margin-top:.12em}.names-sm{font-size:40px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;padding:12px 22px;border:1.5px solid transparent;border-radius:999px;font-size:16px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform .12s ease,background-color .2s,opacity .2s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn-lg{min-height:58px;font-size:17px}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 8px 22px -12px var(--primary)}.btn-secondary{background:transparent;border-color:var(--primary);color:var(--primary)}.btn-ghost{background:transparent;color:var(--primary)}.btn-ghost.light{color:#fffc}.btn:focus-visible,.choice:focus-visible,.shutter:focus-visible,.back:focus-visible,.round-btn:focus-visible,.chip:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 55%,transparent);outline-offset:3px}.icon{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.stack{display:flex;flex-direction:column;gap:12px;width:100%}.row{display:flex;gap:12px;width:100%}.hidden{visibility:hidden;opacity:0}.fade-in{transition:opacity .4s ease}.topbar{display:flex;align-items:center;gap:8px;min-height:48px;margin:-4px -8px 0}.topbar-title{flex:1;text-align:center;font-weight:600;font-size:15px}.back,.back-spacer{width:48px;height:48px;flex:none}.back{display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.back svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.landing{justify-content:space-between;text-align:center;overflow:hidden}.landing:before{content:"";position:absolute;inset:max(18px,env(safe-area-inset-top)) 18px auto;height:74%;border:1.5px solid var(--line);border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none}.brand{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:28px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--primary)}.hero{display:flex;flex-direction:column;align-items:center;gap:14px;padding:0 12px}.hero h1{margin:6px 0 0;font-size:clamp(44px,13.5vw,72px);font-weight:400}.hero h1 .names{font-size:inherit}.date-line{display:flex;align-items:center;gap:14px;margin:0;font-family:var(--serif);font-weight:600;font-size:17px;letter-spacing:.24em;text-transform:uppercase;font-variant-numeric:lining-nums;color:var(--primary)}.date-line:before,.date-line:after{content:"";width:34px;height:1px;background:var(--primary);opacity:.55}.landing-actions{display:flex;flex-direction:column;align-items:center;gap:14px}.logo{flex:none}.follow-body{display:flex;flex:1;flex-direction:column;justify-content:center;gap:16px}.ig-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.ig-handle{font-weight:700;font-size:15.5px;overflow-wrap:anywhere}.ig-name{color:var(--muted);font-size:13.5px}.choose .title{margin-top:4px}.choices{display:flex;flex-direction:column;gap:14px}.choice{display:flex;align-items:center;gap:16px;width:100%;min-height:112px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);text-align:left;cursor:pointer;transition:transform .12s ease,border-color .2s}.choice:active{transform:scale(.985);border-color:var(--primary)}.choice-thumb{position:relative;flex:none;width:72px;overflow:hidden;border-radius:8px;background:var(--bg);box-shadow:0 6px 16px -10px #2e261d99}.choice-thumb.ratio-4x5{aspect-ratio:4 / 5}.choice-thumb.ratio-9x16{width:58px;aspect-ratio:9 / 16}.thumb-slot{position:absolute;display:grid;place-items:center;overflow:hidden;background:color-mix(in srgb,var(--primary) 10%,var(--bg));color:color-mix(in srgb,var(--primary) 55%,transparent)}.thumb-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}.thumb-slot .icon{width:40%;max-width:22px;height:auto;aspect-ratio:1}.thumb-frame{position:absolute;inset:0;width:100%;height:100%}.choice-text{display:flex;flex:1;flex-direction:column;gap:2px}.choice-title{font-family:var(--serif);font-weight:600;font-size:23px;line-height:1.15}.choice-sub{color:var(--muted);font-size:14px}.chev{width:22px;height:22px;flex:none;fill:none;stroke:var(--primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.screen.camera{display:block;max-width:none;height:100vh;height:100dvh;min-height:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#15120e;color:#fff;overflow:hidden}.stage{position:relative;width:100%;height:100%}.stage-box{position:absolute;left:50%;overflow:hidden;border-radius:4px;transform:translate(-50%);box-shadow:0 10px 40px -10px #000000b3}.slot{position:absolute;display:grid;place-items:center;overflow:hidden;background:#2a2520}.slot-num{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#fff6}.slot-shot{background:transparent}.slot-overlay{background:transparent;z-index:3}.live,.shot,.shot canvas{position:absolute;width:100%;height:100%;object-fit:cover}.live{background:#2a2520}.shot{inset:0}.mirror{transform:scaleX(-1)}.frame-overlay{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}.countdown{font-family:var(--serif);font-weight:600;font-size:clamp(72px,26vw,140px);line-height:1;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.55);animation:pop 1s ease-out both}@keyframes pop{0%{transform:scale(1.6);opacity:0}20%{transform:scale(1);opacity:1}80%{opacity:1}to{transform:scale(.9);opacity:0}}.flash{position:absolute;inset:0;z-index:4;background:#fff;pointer-events:none;animation:flash .45s ease-out both}@keyframes flash{0%{opacity:.95}to{opacity:0}}.cam-top{position:absolute;z-index:6;top:calc(env(safe-area-inset-top) + 8px);left:calc(env(safe-area-inset-left) + 8px);right:calc(env(safe-area-inset-right) + 8px);display:flex;align-items:center;gap:8px;pointer-events:none}.cam-top .back{width:44px;height:44px;background:#28221c99;pointer-events:auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cam-top .back-spacer{width:44px;height:44px}.cam-hint{flex:1;min-width:0;margin:0;font-size:13px;line-height:1.35;text-align:center}.cam-hint span{display:inline-block;padding:6px 12px;border-radius:999px;background:#28221c99;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cam-controls{position:absolute;z-index:4;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));pointer-events:none}.cam-controls button{pointer-events:auto}.cam-buttons{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:360px}.cam-side{display:grid;width:64px;place-items:center}.shutter{display:grid;width:80px;height:80px;padding:0;place-items:center;border:4px solid #fff;border-radius:50%;background:#28221c8c;box-shadow:0 4px 16px #0000004d;cursor:pointer}.shutter span{width:62px;height:62px;border-radius:50%;background:#fff;transition:transform .15s}.shutter:active span{transform:scale(.88)}.shutter:disabled{opacity:.4;cursor:default}.round-btn{display:grid;width:52px;height:52px;place-items:center;border:0;border-radius:50%;background:#28221c99;box-shadow:0 4px 16px #00000040;color:#fff;cursor:pointer}.round-btn:disabled{opacity:.4}.cam-error{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:24px;border-radius:10px;background:#15120ef5}.cam-error h2{margin:0;font-family:var(--serif);font-size:28px;font-weight:600}.cam-error-body{color:#ffffffd9}.cam-error .steps{color:#ffffffe6}.result{gap:16px}.photo-wrap{display:grid;place-items:center}.photo{width:auto;max-width:100%;max-height:58vh;max-height:58dvh;border-radius:6px;box-shadow:0 14px 36px -18px #2e261d8c;-webkit-touch-callout:default}.success,.warn{margin:0;padding:12px 14px;border-radius:12px;font-size:14.5px;text-align:center}.success{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}.warn{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.caption-card{padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.caption-card.attention{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.caption-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px;font-weight:600}.caption-text{margin:8px 0 0;font-size:14px;white-space:pre-wrap;word-break:break-word;user-select:text;-webkit-user-select:text}.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--primary);font-size:14px;font-weight:600;cursor:pointer}.chip .icon{width:18px;height:18px}.toast{position:fixed;left:20px;right:20px;bottom:max(24px,env(safe-area-inset-bottom));z-index:50;width:fit-content;max-width:440px;margin:0 auto;padding:12px 18px;border-radius:999px;background:var(--ink);color:#fff;font-size:14.5px;font-weight:500;text-align:center;box-shadow:0 10px 30px -10px #00000080;opacity:0;transform:translateY(16px);transition:opacity .25s,transform .25s;pointer-events:none}.toast.show{opacity:1;transform:none}.notice{gap:16px}.steps{margin:0;padding-left:1.4em;text-align:left;display:flex;flex-direction:column;gap:8px}.notice .steps{align-self:stretch;padding:16px 16px 16px 2.2em;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.url-box{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-size:14px}.spinner{width:34px;height:34px;border:3px solid color-mix(in srgb,var(--primary) 25%,transparent);border-top-color:var(--primary);border-radius:50%;animation:spin .9s linear infinite}.spinner.light{border-color:#ffffff40;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.countdown{animation-duration:.01s}.btn,.choice{transition:none}}
