:root{--paper:#fff;--panel:#F5F5F3;--line:#EBEBE9;--ink:#17181A;--muted:#6B6E70;--cherry:#E294A0;--ink2:#AE4453;--ok:#2f7d54;--okbg:#E9F5EE;--warn:#8a5a00;--warnbg:#FBF0DA;--sans:'Onest',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--ser:'Instrument Serif',Georgia,serif}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.4 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
.app{max-width:520px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 10px) 16px 10px;border-bottom:1px solid var(--line)}
.wm{display:inline-flex;align-items:baseline;gap:.3em;font-weight:800;font-size:17px}.wm .gy{font-size:.56em;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}.wm .lk{font:italic 400 1.3em var(--ser)}.wm svg{width:.45em;height:.45em;color:var(--ink2);margin-left:-.1em}.wm em{font-style:normal;font-size:12px;font-weight:600;color:var(--ink2);background:#F7E3E6;border-radius:99px;padding:3px 8px;margin-left:4px;align-self:center}
.who{border:1px solid var(--line);background:var(--panel);border-radius:99px;padding:8px 12px;font:600 13px var(--sans);color:var(--ink);max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
main{flex:1}
.pad{padding:16px 16px 24px;display:grid;gap:14px}
.center{text-align:center;justify-items:center;padding-top:48px}
h1{margin:0;font-size:32px;letter-spacing:-.03em;font-weight:800;line-height:1.1}
.mut{color:var(--muted);font-size:13px;margin:0}.sm{font-size:12.5px}
.cam{position:relative;height:320px;border-radius:22px;background:linear-gradient(135deg,#2b2a2c,#403c3e);overflow:hidden}
.cam video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}.cam.on video{opacity:1}.cam.on .start{display:none}
.cam span[class^=c]{position:absolute;width:44px;height:44px;border:4px solid #fff;z-index:1}.cam .c1{left:18%;top:15%;border-right:0;border-bottom:0;border-radius:10px 0 0 0}.cam .c2{right:18%;top:15%;border-left:0;border-bottom:0;border-radius:0 10px 0 0}.cam .c3{left:18%;bottom:15%;border-right:0;border-top:0;border-radius:0 0 0 10px}.cam .c4{right:18%;bottom:15%;border-left:0;border-top:0;border-radius:0 0 10px 0}
.cam .ln{position:absolute;left:20%;right:20%;top:50%;height:2px;background:var(--cherry);box-shadow:0 0 12px var(--cherry);z-index:1;animation:sc 2.2s ease-in-out infinite alternate}
@keyframes sc{from{top:22%}to{top:78%}}
@media (prefers-reduced-motion:reduce){.cam .ln{animation:none}}
.start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;border:0;background:#fff;color:var(--ink);border-radius:99px;padding:14px 22px;font:700 16px var(--sans)}
.hint{margin:0;text-align:center;color:var(--muted);font-size:15px}
.or{display:flex;align-items:center;gap:10px;color:#8f9294;font-size:13px}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}
.cf{display:grid;gap:10px}.cf input{border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;font:600 18px ui-monospace,Menlo,monospace;letter-spacing:.04em;width:100%;text-transform:uppercase}
.err{color:var(--ink2);font-size:14px;margin:0;min-height:1em}
.btn{border:0;border-radius:999px;padding:16px;text-align:center;font:700 17px var(--sans);background:var(--cherry);color:var(--ink);width:100%;cursor:pointer}.btn.dark{background:var(--ink);color:#fff}.btn.ghost{background:none;border:1px solid var(--line);color:var(--ink)}
.st{display:flex;gap:14px;align-items:center;border-radius:18px;padding:16px}.st.ok{background:var(--okbg)}.st.warn{background:var(--warnbg);display:grid;gap:2px}.st b{display:block;font-size:18px}.st small{color:var(--muted);font-size:14px}
.tick{width:44px;height:44px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-size:22px;flex:none}
.big{width:84px;height:84px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-size:40px}
.rows{display:grid}.rows div{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #F0F0EE;font-size:16px}.rows span{color:var(--muted)}.rows b{text-align:right}
.amt{display:grid;gap:6px;font-size:14px;color:var(--muted)}.amt input{border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;font:600 20px var(--sans)}
.note{margin:0;font-size:14px;color:var(--muted);background:var(--panel);border-radius:12px;padding:12px}
.kg{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kg div{background:var(--panel);border-radius:16px;padding:14px}.kg b{display:block;font-size:26px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.kg small{color:var(--muted);font-size:13px}.kg .hl{background:#F7E3E6}.kg .hl b{color:var(--ink2)}
.lab{margin:4px 0 0;font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8f9294}
.cl{display:grid}.cl div{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #F0F0EE}.cl i{width:40px;height:40px;border-radius:50%;background:#F7E3E6;color:var(--ink2);display:grid;place-items:center;font-style:normal;font-weight:700}.cl b{display:block;font-size:16px}.cl small{color:var(--muted);font-size:13px}.cl em{font-style:normal;font-weight:700}
.bars{display:grid;gap:10px}.bars div{display:grid;grid-template-columns:80px 1fr 24px;gap:10px;align-items:center;font-size:15px}.bars i{height:10px;border-radius:99px;background:var(--cherry)}.bars b{text-align:right}
.empty,.soon{border:1px dashed var(--line);border-radius:16px;padding:16px;display:grid;gap:4px}.empty small,.soon small{color:var(--muted);font-size:14px}
.sw{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.sw input{accent-color:var(--ink2);width:18px;height:18px}
.mlist{display:grid;gap:10px}.mlist button{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:10px;font:inherit;color:inherit;cursor:pointer}
.mlist .av{width:56px;height:56px;border-radius:12px;background:#eee center/cover}.mlist b{display:block;font-size:16px}.mlist small{color:var(--muted);font-size:13px}
.tb{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);background:rgba(255,255,255,.97);backdrop-filter:blur(8px);padding:8px 6px calc(env(safe-area-inset-bottom,0px) + 8px)}
.tb a{display:grid;justify-items:center;gap:3px;font-size:11px;font-weight:500;color:#8f9294;text-decoration:none}.tb svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tb a.on{color:var(--ink2)}
body.pick .tb{display:none}

/* Gifts tab: details + photos per gift (Anya 25 Sep) */
.gl{display:grid;gap:10px}.gl a{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:8px 12px 8px 8px;text-decoration:none;color:var(--ink)}
.gl .ph{width:56px;height:56px;border-radius:10px;background:#eee center/cover}.gl b{display:block;font-size:15px}.gl small{color:#8f9294;font-size:12.5px}.gl em{font-style:normal;color:#8f9294}
.ge{display:grid;gap:16px}.ge h1{margin:0}
.pg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pg .p{position:relative;aspect-ratio:1;border-radius:12px;background:#eee center/cover}
.pg .p i{position:absolute;left:6px;top:6px;background:var(--ink);color:#fff;font:600 10px/1 var(--sans);padding:4px 6px;border-radius:99px;font-style:normal}
.pg .p button{position:absolute;bottom:6px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(255,255,255,.95);font:600 14px/1 var(--sans);cursor:pointer}
.pg .p .rm{right:6px}.pg .p .up{left:6px}
.pg label.add{aspect-ratio:1;border:1.5px dashed var(--line);border-radius:12px;display:grid;place-items:center;text-align:center;font-size:13px;color:#8f9294;cursor:pointer}
.pg label.add input{display:none}
.fl{display:grid;gap:6px}.fl>span{font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8f9294}
.fl input,.fl textarea{border:1px solid var(--line);border-radius:12px;padding:12px;font:16px var(--sans);width:100%;box-sizing:border-box;background:#fff}
.fl textarea{min-height:70px;resize:vertical}
.chx{display:flex;flex-wrap:wrap;gap:6px}.chx button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 12px;font:500 14px var(--sans);cursor:pointer;color:var(--ink)}
.chx button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.gsv{display:grid;gap:8px}
.lf{display:grid;gap:12px}
/* tag choice + suggestions (25 Sep 2026) */
.tgc{border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:8px;margin:6px 0 14px;background:var(--panel)}
.tgc.slim{background:none;border:0;padding:0;margin:4px 0 10px}
.tgc .row{display:flex;gap:10px;flex-wrap:wrap}
.chx button.sg{position:relative}.chx button.sg::after{content:"";position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--cherry)}
/* Dates & bookings (booking v1) */
.dv .dh{font-size:17px;margin:20px 0 8px}
.dinp{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:11px 12px;font:15px var(--sans);background:#fff;color:var(--ink)}
.dv .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dl{display:grid;gap:0;border-top:1px solid var(--line)}
.dli{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.dli>div:first-child{display:grid;gap:3px;min-width:0}.dli b{font-size:15px}.dli small{color:var(--muted);font-size:13px}
.dli.off{opacity:.5}.dli .sk{border:1px solid var(--line);border-radius:99px;background:#fff;padding:6px 12px;font:600 13px var(--sans);cursor:pointer;flex:none}
.oth{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.oth button{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:#fff;font:600 15px var(--sans);cursor:pointer}
.dli.bk{align-items:flex-start}.ba{display:grid;gap:6px;flex:none;justify-items:end}.ba .ok{font-size:12.5px;font-weight:700;color:var(--ok);background:var(--okbg);border-radius:99px;padding:4px 10px}
.btn.sm{padding:8px 12px;font-size:13px;min-height:0}
.dadd{margin-top:18px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;gap:10px}.dadd summary{font-weight:700;cursor:pointer}
.dadd[open]{display:grid;gap:10px}.dadd .or{text-align:center;color:var(--muted);font-size:13px;margin:4px 0}

/* Money, design C */
.mchips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.mchips button{flex:none;border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:8px 14px;font:600 14px var(--sans);color:var(--ink);cursor:pointer}.mchips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.mlist2 em{display:grid;justify-items:end;gap:4px;font-variant-numeric:tabular-nums}
.pill{font:600 11.5px/1 var(--sans);border-radius:99px;padding:5px 8px;white-space:nowrap}.pill.ow{background:#F7E3E6;color:var(--ink2)}.pill.pd{background:var(--okbg);color:var(--ok)}.pill.rf{background:var(--warnbg);color:var(--warn)}.pill.nu{background:#E8EEF8;color:#3F5FA8}.pill.rd{background:var(--panel);color:var(--muted)}
.mbar{position:sticky;bottom:78px;display:flex;gap:18px;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:18px;padding:14px 18px;margin-top:6px}.mbar div{display:grid}.mbar small{font-size:12px;color:#c9c9c9}.mbar b{font-size:20px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}

.mbar{border:0;width:100%;text-align:left;font:inherit;cursor:pointer;align-items:center}.mbar .mgo{margin-left:auto;font-size:26px;color:#c9c9c9;line-height:1}
.msheet{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.35);display:flex;align-items:flex-end;opacity:0;transition:opacity .2s}.msheet.on{opacity:1}
.msheet .in{background:var(--paper);width:100%;max-height:92vh;overflow:auto;border-radius:22px 22px 0 0;padding:16px 16px calc(env(safe-area-inset-bottom,0px) + 24px);display:grid;gap:12px;transform:translateY(24px);transition:transform .2s}.msheet.on .in{transform:none}
.mback{justify-self:start;border:0;background:none;font:600 15px var(--sans);color:var(--ink2);padding:4px 0;cursor:pointer}
.mbig{background:#F7E3E6;border-radius:18px;padding:18px;display:grid;gap:4px}.mbig small{color:var(--ink2);font-weight:600;font-size:13px}.mbig b{font-size:44px;letter-spacing:-.04em;color:var(--ink2);font-variant-numeric:tabular-nums}.mbig span{font-size:14px;color:var(--muted)}
.mpath{display:grid}.mpath div{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #F0F0EE}.mpath i{width:14px;height:14px;border-radius:50%;border:2px solid #3F5FA8}.mpath i.b{background:var(--ink2);border-color:var(--ink2)}.mpath i.c{background:var(--ok);border-color:var(--ok)}.mpath b{display:block;font-size:15px}.mpath small{color:var(--muted);font-size:13px}.mpath em{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums}
