:root{--void:#050308;--deep:#0d0710;--wine:#190d1e;--time-red:#650b08;--time-dark:#170304;--place-paper:#f5ecde;--place-ink:#4e1415;--invite-orange:#ff901b;--invite-orange-shadow:#a7631a;--rose:#c03858;--rose-bright:#d85068;--amber:#c8904a;--gold:#c4a264;--cream:#f2ecd8;--cream-dim:#f2ecd8b8;--muted:#f2ecd87a;--glass:#ffffff0d;--glass-edge:#ffffff1a;--glass-hi:#ffffff2e;--shadow:0 48px 120px #050308c2;--shadow-sm:0 20px 56px #05030870}*,:before,:after{box-sizing:border-box}html{background:var(--void);min-height:100%}body{min-height:100vh;color:var(--cream);background:var(--void);margin:0;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;overflow-x:hidden}button{font:inherit;-webkit-tap-highlight-color:transparent}.grain{z-index:9998;pointer-events:none;opacity:.044;mix-blend-mode:screen;will-change:transform;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.80' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23g)'/%3E%3C/svg%3E");background-size:260px 260px;width:120%;height:120%;animation:.44s steps(2,end) infinite grain-jitter;position:fixed;inset:-10%}@keyframes grain-jitter{0%{transform:translate(0%)}50%{transform:translate(-4%,3%)}to{transform:translate(3%,-4%)}}.cursor-glow{pointer-events:none;z-index:1;mix-blend-mode:screen;background:radial-gradient(circle,#c8505811 0%,#c4a2640a 36%,#0000 65%);border-radius:50%;width:800px;height:800px;position:fixed;top:0;left:0}@media (pointer:coarse){.cursor-glow{display:none}}.shell{isolation:isolate;background:radial-gradient(70% 50% at 0 0,#c838582e,#0000),radial-gradient(55% 40% at 100% 100%,#c4a2641a,#0000),linear-gradient(150deg,#0d0710 0%,#190d1e 46%,#060310 100%);width:100vw;min-height:100svh;position:relative;overflow:hidden}.ambient-layer{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-orb{filter:blur(56px);border-radius:50%;position:absolute}.orb-one{opacity:.44;background:radial-gradient(#c8385870,#dc505029,#0000 68%);width:54vw;height:40vh;top:4vh;left:-18vw}.orb-two{opacity:.3;background:radial-gradient(#c8904a3d,#c8904a14,#0000 66%);width:42vw;height:34vh;bottom:6vh;right:-16vw}.orb-three{opacity:.22;background:radial-gradient(#c4a2642e,#0000 68%);width:36vw;height:28vh;top:8vh;right:10vw}.bg-layer{z-index:0;width:106%;height:106%;position:absolute;inset:-3%}.scene-img{object-fit:cover;object-position:center;opacity:0;filter:saturate(.88)contrast(1.1)brightness(.66);width:100%;height:100%;transition:opacity .5s;position:absolute;inset:0}.scene-img.loaded{opacity:1}.screen-invite .shell:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(105deg,#050308e6 0%,#0503089e 42%,#0503083d 100%),linear-gradient(#0503083d 0%,#050308cc 100%);position:absolute;inset:0}.shell.screen-done{color:#fff8e8;background:radial-gradient(38% 72%,#7dab91e6 0%,#508469d6 48%,#0000 76%),linear-gradient(90deg,#6f9e88 0%,#79a98f 26%,#6f9f84 50%,#34745a 74%,#1e5a45 100%)}.shell.screen-done:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#6f9e8861 0%,#6f9e8814 24%,#6f9e8857 47%,#2d6c5224 66%,#1137296b 100%),linear-gradient(#081c161a 0%,#081c1657 100%);position:absolute;inset:0}.screen-done .nav-pips{background:#d5e5cb2e;border-color:#f5f8e238;box-shadow:inset 0 1px #ffffff38,0 18px 48px #092a1f2e}.screen-done .nav-pip{background:#eef6de5c}.screen-done .nav-pip.active{background:#eef6de9e}.screen-done .nav-pip.current{background:#d7e6bf;box-shadow:0 0 13px #d7e6bf73}.screen-done .nav-label{color:#e6f0d3ad}.screen-place .shell:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(105deg,#050308db 0%,#0503088c 44%,#05030833 100%),linear-gradient(#05030852 0%,#050308d9 100%);position:absolute;inset:0}.shell.screen-place{color:var(--place-ink);background:radial-gradient(ellipse 76% 70% at 20% 56%, #fffaf3c7, #f5ecdeb8 58%, transparent 82%), radial-gradient(ellipse 70% 76% at 92% 80%, #650b0814, transparent 72%), var(--place-paper)}.shell.screen-place:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#f5ecde00 0%,#f5ecde14 36%,#f5ecde6b 52%,#f5ecdedb 70%,#f5ecdefa 100%),radial-gradient(96% 82% at 68% 44%,#ffffff29,#0000 68%);position:absolute;inset:0}.screen-place .nav-pips{background:#fffaf394;border-color:#4e141524;box-shadow:inset 0 1px #ffffffbd,0 18px 48px #4e14151a}.screen-place .nav-pip{background:#4e141538}.screen-place .nav-pip.active{background:#4e141561}.screen-place .nav-pip.current{background:var(--place-ink);box-shadow:0 0 12px #4e141533}.screen-place .nav-label{color:#4e14158a}.screen-place .ai-btn{color:#4e1415b3;background:#fffaf3b8;border-color:#4e141524;box-shadow:inset 0 1px #ffffffb3,0 18px 48px #4e14151f}.screen-place .ai-btn:hover{color:var(--place-ink);background:#fffaf3db;border-color:#4e14153d}.shell.screen-time{background:linear-gradient(90deg, #07010585 0%, #2a030633 7%, #69020600 15%, #69020600 43%, #2804063d 56%, #0a0206d1 76%, #070105fa 100%), radial-gradient(ellipse 56% 98% at 28% 52%, #690206 0%, #690206 52%, #4e0507b8 70%, #180306e6 88%, var(--time-dark) 100%), linear-gradient(90deg, #690206 0%, #690206 46%, #3e0507 64%, #170306 82%, #090207 100%)}.shell.screen-time:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#0701053d 0%,#0701050f 10%,#0000 18% 50%,#0701051f 64%,#070105a8 78%,#070105eb 100%),radial-gradient(70% 116% at 28% 52%,#650b0800 0% 48%,#2604062e 72%,#080207b3 100%);position:absolute;inset:0}.screen-time .orb-one{opacity:.28;background:radial-gradient(#6e10103d,#8212120f,#0000 68%)}.screen-time .orb-two{opacity:.2;background:radial-gradient(#500a0a29,#640c0c0a,#0000 66%)}.screen-time .orb-three{opacity:.14;background:radial-gradient(#7810101a,#0000 68%)}.screen-time .cal-image-panel{box-shadow:none;background:radial-gradient(82% 84% at 44% 48%,#690206 0% 68%,#690206c2 100%);border:none;border-radius:0;overflow:visible}.screen-time .cal-image-panel:before{content:"";z-index:0;pointer-events:none;filter:blur(48px)saturate(1.04)contrast(1.02);opacity:.95;-webkit-mask-composite:source-in;background-image:url(/assets/calendar%20background-DkP6E0Sm.png);background-position:50%;background-size:cover;position:absolute;inset:-128px -180px -116px -128px;transform:scale(1.08);-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 22% 74%,#0000 100%),linear-gradient(#0000 0%,#000 20% 80%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 22% 74%,#0000 100%),linear-gradient(#0000 0%,#000 20% 80%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.screen-time .cal-image-panel>img{z-index:1;filter:saturate(.98)contrast(1.04)brightness(.98);-webkit-mask-composite:source-in;width:calc(100% + 220px);max-width:none;height:calc(100% + 144px);top:-72px;left:-88px;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 18% 72%,#0000 100%),linear-gradient(#0000 0%,#000 16% 84%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 18% 72%,#0000 100%),linear-gradient(#0000 0%,#000 16% 84%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.screen-time .cal-image-panel.loaded>img{opacity:1}.screen-time .cal-image-panel:after{display:none}.screen-time .cal-surface{isolation:isolate}.screen-time .cal-surface:before{display:none}.screen-time .res-panel{color:var(--place-paper);background:linear-gradient(148deg,#ffffff17,#ffffff05),#37060680;border-color:#ffffff1c;box-shadow:0 24px 64px #1903035c,inset 0 1px #ffffff24}.screen-time .date-preview{background:#26040466;border-color:#ffffff1a}.screen-time .time-panel,.screen-time .time-h2,.screen-time .dp-value{color:var(--place-paper)}.screen-time .eyebrow,.screen-time .dp-label,.screen-time .dp-hint{color:#f5ecdead}.screen-time .time-chip{color:#f5ecdec2;background:#26040457;border-color:#ffffff17}.screen-time .time-chip:hover:not(:disabled){color:var(--place-paper);background:#26040494;border-color:#fff3}.screen-time .time-chip.selected{color:var(--place-paper);background:linear-gradient(140deg,#1c0303f2,#3c0707f2);border-color:#ffffff2e;box-shadow:0 12px 30px #1202027a,inset 0 1px #ffffff38}.screen-time .btn-primary{color:#4e1415;background:linear-gradient(140deg, #ffffff85, transparent 40%), linear-gradient(140deg, #fff9ef, var(--place-paper));box-shadow:0 22px 56px #f5ecde2e,inset 0 1px #ffffffb3}.screen-time .btn-primary:hover{box-shadow:0 28px 68px #f5ecde42,inset 0 1px #ffffffc7}.screen-time .btn-ghost{color:#f5ecded1;background:#f5ecde29;box-shadow:inset 0 0 0 1px #f5ecde2e,0 14px 36px #0000001f}.screen-time .btn-ghost:hover{color:var(--place-paper)}.screen-time .nav-pips{background:#2d050580;border-color:#ffffff1a}.screen-time .nav-pip.current{background:#ffffffbf;box-shadow:0 0 10px #ffffff47}.app-nav{z-index:20;pointer-events:none;justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;top:clamp(18px,3vw,36px);left:clamp(18px,4vw,60px);right:clamp(18px,4vw,60px)}.nav-pips{border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-hi), 0 18px 48px #0000003d;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffff0f;border-radius:999px;align-items:center;gap:6px;padding:8px 10px;display:flex}.nav-pip{background:#f2ecd838;border-radius:50%;width:6px;height:6px;transition:background .24s,width .24s}.nav-pip.active{background:#f2ecd885}.nav-pip.current{background:var(--rose-bright);border-radius:4px;width:22px;box-shadow:0 0 12px #d850687a}.nav-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:700}.ai-btn{z-index:20;border:1px solid var(--glass-edge);color:var(--cream-dim);box-shadow:inset 0 1px 0 var(--glass-hi), 0 18px 48px #0000005c;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);cursor:pointer;letter-spacing:.04em;background:#0d0710b8;border-radius:999px;align-items:center;gap:9px;padding:12px 18px;font-size:.8rem;font-weight:700;transition:color .2s,border-color .2s,background .2s;display:flex;position:fixed;bottom:clamp(22px,3vh,36px);right:clamp(20px,3vw,44px)}.ai-btn:hover{color:var(--cream);background:#190d1ecc;border-color:#c4a26447}.ai-btn svg{width:16px;height:16px}.stage{z-index:3;align-items:stretch;width:100vw;min-height:100svh;display:grid;position:relative}.scene{flex-direction:column;grid-area:1/1;min-height:100svh;display:flex}.eyebrow{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;font-size:.7rem;font-weight:800}.scene-invite{justify-content:flex-end;position:relative}.particles-layer{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.particle{background:#c8904ae0;border-radius:50%;position:absolute;box-shadow:0 0 8px 3px #c8904a5c,0 0 20px 6px #c8385824}.invite-content{z-index:3;width:min(860px,100vw - 40px);padding:clamp(120px,16vh,180px) clamp(22px,6vw,90px) clamp(64px,10vh,116px);position:relative}.invite-h1{letter-spacing:-.03em;color:var(--cream);margin:0 0 clamp(20px,3vh,32px);font-family:Instrument Serif,Georgia,serif;font-style:italic;font-weight:400;line-height:.84}.h1-a{font-size:clamp(4.8rem,12vw,13.4rem);display:block}.h1-b{color:var(--invite-orange);text-shadow:0 0 80px var(--invite-orange-shadow);font-size:clamp(4.8rem,12vw,13.4rem);display:block}.invite-from{color:var(--cream-dim);letter-spacing:.02em;margin:0 0 12px;font-size:clamp(.94rem,1.2vw,1.1rem);font-weight:600}.invite-sub{color:var(--muted);max-width:44ch;margin:0;font-size:clamp(.86rem,1vw,1rem);font-weight:500;line-height:1.74}.invite-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:clamp(28px,4vh,44px);display:flex}.screen-invite .invite-actions{z-index:22;justify-content:center;width:min(560px,100vw - 40px);margin-top:0;position:fixed;top:64vh;left:50%;transform:translate(-50%)}.screen-invite .btn-primary{color:#fffaf0;background:linear-gradient(140deg,#ffffff38,#0000 36%),linear-gradient(140deg,#ff901b,#d66c0f);justify-content:center;min-width:min(360px,100%);min-height:82px;padding:0 48px;font-size:clamp(1.08rem,1.4vw,1.32rem);box-shadow:0 30px 82px #ff901b57,inset 0 1px #ffffff57}.screen-invite .btn-primary:hover{box-shadow:0 36px 96px #ff901b75,inset 0 1px #ffffff61}.screen-invite .btn-primary svg{width:22px;height:22px}.screen-invite .btn-ghost{color:#fff6e6d1;background:#ff901b2e;min-height:58px;box-shadow:inset 0 0 0 1px #ffcf962e,0 14px 36px #0000001f}.screen-invite .nav-pip.current{background:var(--invite-orange);box-shadow:0 0 12px #ff901b85}.scene-discover{justify-content:flex-start;padding:clamp(96px,12vh,140px) clamp(22px,5vw,72px) clamp(32px,5vh,60px);overflow-y:auto}.discover-header{margin-bottom:clamp(24px,3.5vh,44px)}.discover-h2{letter-spacing:-.03em;color:var(--cream);margin:0;font-family:Instrument Serif,Georgia,serif;font-size:clamp(3.2rem,7vw,9rem);font-style:italic;font-weight:400;line-height:.86}.fragments{flex:1;grid-template-columns:1.15fr .9fr 1fr;align-content:start;gap:clamp(10px,1.2vw,16px);display:grid}.fragment{border:1px solid var(--glass-edge);box-shadow:var(--shadow-sm), inset 0 1px 0 var(--glass-hi);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#ffffff0f,#ffffff05);border-radius:10px;flex-direction:column;gap:12px;min-height:180px;padding:clamp(18px,2vw,28px);display:flex;position:relative;overflow:hidden}.fragment:before{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:radial-gradient(at 30% 30%,#ffffff1a,#0000 58%);transition:opacity .3s;position:absolute;inset:0}.fragment:hover:before{opacity:1}.frag-amber{border-color:#c8904a38}.frag-cool{border-color:#5094c82e}.frag-green{border-color:#50ac642e}.frag-warm{border-color:#d2785033}.frag-rose{border-color:#c8385838}.frag-gold{border-color:#c4a2643d}.frag-cat{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-size:.64rem;font-weight:800}.frag-amber .frag-cat{color:var(--amber)}.frag-cool .frag-cat{color:#7ab4d8}.frag-green .frag-cat{color:#7ac88a}.frag-warm .frag-cat{color:#d89060}.frag-rose .frag-cat{color:var(--rose-bright)}.frag-gold .frag-cat{color:var(--gold)}.frag-label{letter-spacing:-.02em;color:var(--cream);margin:0;font-family:Instrument Serif,Georgia,serif;font-size:clamp(1.5rem,2.4vw,3rem);font-weight:400;line-height:.92}.frag-text{color:var(--cream-dim);flex:1;margin:0;font-size:clamp(.8rem,.94vw,.96rem);font-weight:500;line-height:1.72}.frag-detail{color:var(--muted);border-top:1px solid var(--glass-edge);margin:0;padding-top:10px;font-size:.76rem;font-style:italic;font-weight:600;line-height:1.52}.discover-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:clamp(24px,3.5vh,40px);display:flex}.scene-time{padding:clamp(92px,11vh,128px) clamp(20px,5vw,72px) clamp(26px,4vh,56px);overflow-y:auto}.cal-layout{grid-template-columns:minmax(400px,.88fr) minmax(380px,1fr);align-items:center;gap:clamp(22px,3.6vw,70px);width:min(1540px,100%);height:calc(100vh - clamp(120px,16vh,190px));min-height:580px;margin:0 auto;display:grid}.cal-image-panel{height:100%;min-height:580px;box-shadow:var(--shadow), inset 0 1px 0 #ffffff3d;isolation:isolate;background:#6a0004;border:1px solid #ffffff38;border-radius:10px;position:relative;overflow:hidden}.cal-image-panel>img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .38s;position:absolute;inset:0}.cal-image-panel.loaded>img{opacity:1}.cal-image-panel:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#40000414,#40000447),radial-gradient(circle at 50% 10%,#ffffff1a,#0000 42%);position:absolute;inset:0}.cal-surface{z-index:3;color:#fff;width:min(500px,100% - 40px);position:absolute;top:clamp(58px,8vh,112px);left:50%;transform:translate(-50%)}.cal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.cal-month{letter-spacing:-.02em;font-family:Instrument Serif,Georgia,serif;font-size:clamp(2rem,3.6vw,3.4rem);font-style:italic;font-weight:400;line-height:.9}.icon-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #fff3;border-radius:999px;place-items:center;width:40px;height:40px;transition:background .16s,opacity .16s;display:grid;box-shadow:inset 0 1px #ffffff2e,0 12px 28px #0000002e}.icon-btn:disabled{cursor:not-allowed;opacity:.28}.icon-btn svg{width:16px;height:16px}.weekday-row,.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-row{gap:7px;margin-bottom:12px}.weekday-row span{color:#f2ecd89e;text-align:center;letter-spacing:.06em;text-transform:uppercase;font-size:.6rem;font-weight:800}.cal-grid{gap:7px}.cal-day{aspect-ratio:1;color:#f2ecd8e0;cursor:pointer;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff12;border:1px solid #0000;border-radius:999px;place-items:center;min-width:0;font-size:clamp(.74rem,1vw,.92rem);font-weight:800;transition:background .16s,border-color .16s;display:grid;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffff12}.cal-day span{z-index:2;position:relative}.cal-day:not(:disabled):not(.empty):hover{background:#ffffff24;border-color:#f2ecd82e}.cal-day.today{color:#fff;border-color:#c4a264cc}.cal-day.selected{color:#fff;box-shadow:none;background:0 0}.cal-day:disabled{cursor:not-allowed;color:#f2ecd82e;background:#ffffff05}.cal-day.empty{pointer-events:none;box-shadow:none;background:0 0}.heart-sel{object-fit:contain;object-position:center;opacity:.96;z-index:1;mix-blend-mode:screen;clip-path:inset(8%);filter:saturate(1.24)drop-shadow(0 12px 22px #ff324b57);pointer-events:none;width:166%;height:166%;position:absolute;inset:52% auto auto 50%;translate:-50% -50%}.time-panel{flex-direction:column;align-self:center;max-width:640px;display:flex}.time-h2{letter-spacing:-.025em;max-width:12ch;margin:0 0 clamp(20px,2.8vh,32px);font-family:Instrument Serif,Georgia,serif;font-size:clamp(2.4rem,5vw,6rem);font-weight:400;line-height:.88}.res-panel{border:1px solid var(--glass-edge);width:min(620px,100%);box-shadow:0 28px 80px #05030847, inset 0 1px 0 var(--glass-hi);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:linear-gradient(148deg,#ffffff1f,#ffffff0a),linear-gradient(90deg,#c8385814,#c4a2640a);border-radius:10px;grid-template-columns:minmax(160px,.78fr) minmax(230px,1.22fr);grid-template-areas:"preview chips""actions actions";gap:10px;padding:10px;display:grid}.date-preview{border:1px solid var(--glass-edge);background:#ffffff0f;border-radius:8px;grid-area:preview;align-content:center;gap:7px;padding:14px 16px;display:grid}.dp-label{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:.64rem;font-weight:800}.dp-value{font-size:.94rem;font-weight:700;line-height:1.38}.dp-hint{color:var(--muted);font-size:.78rem;font-weight:600}.time-chips{grid-area:chips;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.time-chip{border:1px solid var(--glass-edge);min-height:42px;color:var(--cream-dim);cursor:pointer;font-variant-numeric:tabular-nums;background:#ffffff0e;border-radius:7px;font-size:.78rem;font-weight:800;transition:border-color .16s,background .16s,color .16s}.time-chip:hover:not(:disabled){color:var(--cream);background:#ffffff1c;border-color:#c4a26447}.time-chip.selected{color:#fff;background:linear-gradient(140deg, var(--rose), var(--rose-bright));border-color:#0000;box-shadow:0 12px 30px #c8385842,inset 0 1px #ffffff52}.time-chip:disabled{cursor:not-allowed;opacity:.26}.time-actions{grid-area:actions;grid-template-columns:minmax(110px,.32fr) minmax(180px,.68fr);gap:10px;display:grid}.btn-sm,.btn-fill{width:100%;min-height:50px}.scene-place{padding:0;overflow:hidden}.place-layout{grid-template-columns:minmax(300px,.68fr) minmax(380px,1fr);width:100%;height:100svh;display:grid}.place-image-panel{z-index:1;background:var(--place-paper);isolation:isolate;position:relative;overflow:visible}.place-image-panel:before{content:"";z-index:0;pointer-events:none;filter:blur(44px)saturate(.92)contrast(1.02)brightness(1.03);opacity:.7;-webkit-mask-composite:source-in;background-image:url(/assets/_%20\(8\)-DYu7RrSB.webp);background-position:50%;background-size:cover;position:absolute;inset:-80px -220px -86px -72px;transform:scale(1.055);-webkit-mask-image:linear-gradient(90deg,#000 0% 60%,#0000 100%),linear-gradient(#0000 0%,#000 14% 86%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 60%,#0000 100%),linear-gradient(#0000 0%,#000 14% 86%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.place-image-panel>img{z-index:1;object-fit:cover;object-position:center;opacity:0;filter:saturate(.96)contrast(1.02)brightness(1.02);-webkit-mask-composite:source-in;width:calc(85% + 50px);height:100%;transition:opacity .42s;position:absolute;top:0;left:0;-webkit-mask-image:linear-gradient(90deg,#000 0% 74%,#0000 100%),linear-gradient(#000 0% 100%);mask-image:linear-gradient(90deg,#000 0% 74%,#0000 100%),linear-gradient(#000 0% 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.place-image-panel.loaded>img{opacity:1}.place-image-panel:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg, #f5ecde00 0%, #f5ecde00 44%, #f5ecde61 68%, #f5ecdedb 88%, var(--place-paper) 100%), linear-gradient(180deg, #ffffff0f 0%, #f5ecde29 100%);position:absolute;inset:-2px -170px -2px 0}.place-panel{z-index:3;color:var(--place-ink);flex-direction:column;padding:clamp(88px,11vh,124px) clamp(20px,3.6vw,56px) clamp(20px,3.5vh,40px);display:flex;position:relative;overflow:hidden}.place-header{flex-shrink:0;margin-bottom:clamp(12px,1.8vh,22px)}.place-h2{letter-spacing:-.025em;max-width:18ch;color:var(--place-ink);margin:0 0 12px;font-family:Instrument Serif,Georgia,serif;font-size:clamp(1.9rem,3.4vw,4.6rem);font-weight:400;line-height:.9}.place-preview{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffaf39e;border:1px solid #4e141524;border-radius:999px;align-items:baseline;gap:10px;margin-top:10px;padding:8px 16px;display:inline-flex;box-shadow:inset 0 1px #ffffffb3,0 12px 30px #4e141514}.place-preview>span{color:#650b08ad;letter-spacing:.12em;text-transform:uppercase;font-size:.6rem;font-weight:800}.place-preview>strong{letter-spacing:-.01em;color:var(--place-ink);font-family:Instrument Serif,Georgia,serif;font-size:clamp(.92rem,1.3vw,1.4rem);font-style:italic;font-weight:400}.place-grid{flex:1;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,.9vw,14px);min-height:0;display:grid}.place-card{--mx:0px;--my:0px;--gx:50%;--gy:50%;color:var(--place-ink);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);cursor:pointer;text-align:left;translate:var(--mx) var(--my);background:linear-gradient(148deg,#ffffffc2,#fffaf375),#f5ecde6b;border:1px solid #4e14151f;border-radius:10px;align-content:space-between;gap:10px;padding:clamp(12px,1.2vw,18px);transition:translate .18s,border-color .2s,box-shadow .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 52px #4e141514,inset 0 1px #ffffffd1}.place-card:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--gx) var(--gy), #ffffffbd, transparent 38%);opacity:0;transition:opacity .2s;position:absolute;inset:0}.place-card:hover:before,.place-card:focus-visible:before{opacity:1}.place-card.selected{border-color:#650b0870;box-shadow:0 22px 58px #4e141524,inset 0 1px #ffffffd6}.place-ring{z-index:0;border-radius:inherit;border:2px solid #650b088a;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff9e,0 28px 72px #4e14151a}.place-icon-wrap{color:#6c1b1d;z-index:1;background:#650b0812;border-radius:8px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid;position:relative;box-shadow:inset 0 1px #ffffffad}.place-icon-wrap svg{width:24px;height:24px}.place-copy{z-index:1;gap:5px;display:grid;position:relative}.place-tag{color:#650b089e;letter-spacing:.12em;text-transform:uppercase;font-size:.58rem;font-weight:800}.place-name{letter-spacing:-.02em;color:var(--place-ink);font-family:Instrument Serif,Georgia,serif;font-size:clamp(1.1rem,1.5vw,1.9rem);font-style:italic;font-weight:400;line-height:.94}.place-desc{color:#4e14158f;font-size:.7rem;font-weight:600;line-height:1.46}.place-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;margin-top:clamp(12px,1.8vh,22px);display:flex}.screen-place .eyebrow,.screen-place .error-text{color:#650b08a8}.screen-place .btn-primary{color:#fffaf3;background:linear-gradient(140deg,#ffffff29,#0000 36%),linear-gradient(140deg,#6f1719,#a53a44);box-shadow:0 22px 56px #650b0833,inset 0 1px #ffffff4d}.screen-place .btn-primary:hover{box-shadow:0 28px 68px #650b0847,inset 0 1px #ffffff57}.screen-place .btn-ghost{color:#4e1415b8;background:#fffaf39e;box-shadow:inset 0 0 0 1px #4e14151f,0 14px 36px #4e141514}.screen-place .btn-ghost:hover{color:var(--place-ink)}.scene-done{justify-content:center;position:relative;overflow:hidden}.done-visuals{z-index:2;pointer-events:none;position:absolute;inset:0}.done-art{object-fit:cover;filter:saturate(.96)contrast(1.02);max-width:none;height:100%;position:absolute}.done-art-sheep{object-position:center;width:42vw;top:0;left:0;-webkit-mask-image:linear-gradient(90deg,#000 0% 66%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 66%,#0000 100%)}.done-art-car{object-position:center;width:42vw;top:0;right:0;-webkit-mask-image:linear-gradient(270deg,#000 0% 66%,#0000 100%);mask-image:linear-gradient(270deg,#000 0% 66%,#0000 100%)}.done-content{z-index:4;text-align:center;width:min(640px,100vw - 40px);margin:0 auto;padding:clamp(120px,16vh,200px) clamp(22px,6vw,90px);position:relative}.done-h2{letter-spacing:0;margin:0 0 clamp(16px,2.5vh,26px);font-family:Instrument Serif,Georgia,serif;font-weight:400;line-height:.92}.done-line{color:#fff9ea;text-shadow:0 14px 50px #071c1457;font-size:clamp(3.4rem,7.4vw,8.4rem);display:block}.done-line.italic{color:#fff8e2d6;font-size:clamp(2.1rem,4.2vw,5rem);font-style:italic;line-height:.98}.done-sub{color:#fff8e2d1;letter-spacing:.02em;margin:0;font-size:clamp(.82rem,.88vw,.94rem);font-style:italic;font-weight:700}.done-actions{margin-top:clamp(24px,3.5vh,40px)}.screen-done .eyebrow{color:#fff8e2b8}.screen-done .btn-ghost{color:#fff8e2e0;background:#14483657;box-shadow:inset 0 0 0 1px #fff8e233,0 16px 44px #071c1438}.screen-done .btn-ghost:hover{color:#fff9ea}.btn{--mx:0px;--my:0px;--gx:50%;--gy:50%;cursor:pointer;letter-spacing:.01em;min-width:126px;min-height:54px;translate:var(--mx) var(--my);border:0;border-radius:999px;align-items:center;gap:9px;padding:0 28px;font-size:.92rem;font-weight:800;transition:translate .18s,box-shadow .2s;display:inline-flex;position:relative;overflow:hidden}.btn svg{flex-shrink:0;width:16px;height:16px}.btn:before{content:"";opacity:0;background:radial-gradient(circle at var(--gx) var(--gy), #ffffff75, transparent 44%);transition:opacity .2s;position:absolute;inset:0}.btn:after{content:"";background:linear-gradient(115deg,#0000 0%,#ffffff6b 44%,#0000 62%);transition:transform .46s;position:absolute;inset:0;transform:translate(-140%)}.btn:hover:before,.btn:focus-visible:before{opacity:1}.btn:hover:after,.btn:focus-visible:after{transform:translate(140%)}.btn:focus-visible,.place-card:focus-visible,.cal-day:focus-visible,.time-chip:focus-visible,.icon-btn:focus-visible{outline-offset:3px;outline:3px solid #f2ecd852}.btn-primary{color:#fff;background:linear-gradient(140deg, #ffffff2e, transparent 36%), linear-gradient(140deg, var(--rose), var(--rose-bright));animation:3.4s ease-in-out infinite btn-breathe;box-shadow:0 22px 56px #c8385857,inset 0 1px #ffffff4d}.btn-primary:hover{animation:none;box-shadow:0 28px 68px #c838587a,inset 0 1px #ffffff57}.btn-ghost{color:var(--cream-dim);box-shadow:inset 0 0 0 1px var(--glass-edge), 0 14px 36px #0000001f;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff14}.btn-ghost:hover{color:var(--cream)}.no-button-floating{pointer-events:none;touch-action:none}.no-button-placeholder{visibility:hidden;pointer-events:none}.is-escaping{will-change:transform}.media-skeleton{z-index:4;background:linear-gradient(100deg,#ffffff08,#ffffff2e,#ffffff08) 0 0/220% 100%,#ffffff0a;transition:opacity .26s;animation:1.4s ease-in-out infinite skeleton-sweep;position:absolute;inset:0}.loaded>.media-skeleton,.loaded .media-skeleton{opacity:0;pointer-events:none}.error-text{color:#ffc8d2e6;margin:12px 0 0;font-size:.84rem;font-weight:700}@keyframes btn-breathe{0%,to{box-shadow:0 22px 56px #c8385852,inset 0 1px #ffffff4d}50%{box-shadow:0 30px 76px #c8385880,inset 0 1px #ffffff4d}}@keyframes skeleton-sweep{0%{background-position:160% 0,0 0}to{background-position:-60% 0,0 0}}@media (width<=980px){.app-nav{top:16px;left:16px;right:16px}.ai-btn{bottom:18px;right:16px}.fragments{grid-template-columns:1fr 1fr}.invite-content,.done-content{width:100%}.invite-content{padding:108px 22px 48px}.done-content{padding:112px 22px 48px}.cal-layout{grid-template-columns:1fr;gap:18px;height:auto;min-height:0}.cal-image-panel{min-height:min(580px,66vh)}.cal-surface{width:min(500px,100% - 28px);top:clamp(40px,6vh,76px)}.time-panel{max-width:none}.time-chips{grid-template-columns:repeat(4,1fr)}.place-layout{grid-template-rows:44vh 1fr;grid-template-columns:1fr}.place-image-panel{min-height:0}.place-panel{padding:22px 22px 20px;overflow-y:auto}.done-art-sheep{opacity:.78;width:54vw}.done-art-car{opacity:.72;width:54vw}}@media (width<=640px){.nav-label{display:none}.h1-a,.h1-b{font-size:clamp(4rem,18vw,6.4rem)}.done-line{font-size:clamp(3.2rem,14vw,5.6rem)}.done-line.italic{font-size:clamp(2rem,8vw,3.5rem)}.invite-actions,.place-actions,.done-actions{flex-direction:column;align-items:stretch}.btn{justify-content:center;width:100%}.cal-image-panel{min-height:520px}.cal-month{font-size:clamp(1.8rem,9vw,2.8rem)}.weekday-row,.cal-grid{gap:3px}.weekday-row span{font-size:.54rem}.cal-day{font-size:.72rem}.heart-sel{width:156%;height:156%;top:52%}.time-chips{grid-template-columns:repeat(2,1fr)}.res-panel{grid-template-columns:1fr;grid-template-areas:"preview""chips""actions"}.time-actions{grid-template-columns:1fr}.place-grid{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(2,1fr)}.done-content{padding-top:112px;padding-bottom:48px}.done-art-sheep{opacity:.56;width:70vw;height:58vh;top:auto;bottom:0}.done-art-car{opacity:.46;width:76vw;height:48vh;top:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}
