/* SCRAPBOOK. Stage is 1080×1920 (scaled to the phone). Position things in px. */
body.theme-scrapbook{--sb-ink:#6b1423;--sb-ink2:#8a2a35;--sb-paper:#fbf6ec;--f-hand:"Caveat","Segoe Print",cursive}
body.theme-scrapbook .page{background:#efe4d2;box-shadow:0 0 80px rgba(40,20,10,.45)}
body.theme-scrapbook .gTitle{font:700 52px/1 var(--f-hand)}
.theme-scrapbook .cut{z-index:6}
.theme-scrapbook .flBL,.theme-scrapbook .flTR,.theme-scrapbook .flBR{z-index:3}
.theme-scrapbook .cam{position:absolute;inset:0;transform-origin:50% 45%}
.theme-scrapbook .page p,.theme-scrapbook .page h1,.theme-scrapbook .page h2,.theme-scrapbook .page h3,.theme-scrapbook .page h4{margin:0}

/* polaroid = a white border + shadow; the photo inside is generated */
.pol{position:absolute;background:#fdfbf6;padding:4.2% 4.2% 0;box-shadow:0 22px 46px rgba(60,30,15,.32),0 3px 6px rgba(0,0,0,.18);z-index:4}
.polPh{aspect-ratio:1/1;overflow:hidden;background:#d9cbb6}
.polPh img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.02) contrast(1.02)}
.polCap{display:flex;align-items:center;justify-content:center;font-family:var(--f-hand);font-weight:700;color:var(--sb-ink);white-space:nowrap;overflow:hidden}

/* type */
.sbCvTitle{position:absolute;left:0;right:0;top:170px;text-align:center;font:700 150px/1.1 var(--f-hand);color:var(--sb-ink);white-space:nowrap;transform:rotate(-3deg);z-index:5;margin:0 auto!important}
.sbCvDate{position:absolute;left:0;right:0;top:1350px;text-align:center;font:700 96px/1 var(--f-hand);color:var(--sb-ink);z-index:5}
.sbCvCity{position:absolute;left:0;right:0;top:1450px;text-align:center;font:700 104px/1 var(--f-hand);color:var(--sb-ink);z-index:5}
.sbSwipe{position:absolute;right:90px;bottom:90px;font:600 64px/1 var(--f-hand);color:var(--sb-ink);z-index:6}
.sbSwipe span{display:inline-block;margin-left:14px;font-size:80px;vertical-align:-6px}
.sbHead{position:absolute;left:0;right:0;text-align:center;font:700 128px/1 var(--f-hand);color:var(--sb-ink);z-index:5}
.sbHead.two{line-height:.95}

/* story */
.sbLine{position:absolute;left:538px;width:4px;background:repeating-linear-gradient(var(--sb-ink2) 0 14px,transparent 14px 24px);opacity:.75;z-index:2}
.sbDot{position:absolute;left:528px;width:24px;height:24px;border-radius:50%;background:var(--sb-ink);z-index:3;box-shadow:0 0 0 6px rgba(251,246,236,.9)}
.sbStTxt{position:absolute;width:450px;z-index:5;color:var(--sb-ink)}
.sbStTxt.r{left:580px}.sbStTxt.l{left:50px;text-align:right}
.sbStTxt h3{font:700 62px/.98 var(--f-hand)}
.sbYr{font:700 44px/1.1 var(--f-hand);color:var(--sb-ink2);margin-top:6px!important}
.sbBody{font:600 40px/1.1 var(--f-hand);color:#4a1d22;margin-top:10px!important}
.theme-scrapbook .sbSketch{z-index:1;mix-blend-mode:multiply}

/* letter */
.theme-scrapbook .sbSheet{z-index:2;filter:drop-shadow(0 18px 30px rgba(60,30,10,.3))}
.sbPost{position:absolute;left:210px;top:190px;width:250px;height:250px;z-index:6}
.sbPost img{opacity:.9}
.sbPost p{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font:700 46px/.95 var(--f-hand);color:var(--sb-ink);transform:rotate(-8deg)}
.sbLetter{position:absolute;left:150px;width:780px;top:600px;z-index:5;color:var(--sb-ink)}
.sbDear{font:700 96px/1.05 var(--f-hand);white-space:nowrap}
.sbPara{font:600 64px/1.15 var(--f-hand);margin-top:34px!important;color:#5a1620}
.sbPara.sm{font-size:56px}
.sbPara.xs{font-size:46px;margin-top:10px!important;color:var(--sb-ink2)}
.sbSign{font:700 80px/1 var(--f-hand);margin-top:44px!important;text-align:right;padding-right:40px}

/* sticky notes */
.sbNote{position:absolute;z-index:4;filter:drop-shadow(0 12px 16px rgba(70,40,20,.25))}
.sbNoteBg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.sbNoteIn{position:absolute;inset:7% 8% 9%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--sb-ink)}
.sbNoteIn h4{font:700 .145em/.95 var(--f-hand)}
.sbIc{height:.24em;width:auto;margin:.02em 0;flex:0 1 auto;min-height:0;object-fit:contain}
.sbWhen{font:700 .1em/1.05 var(--f-hand)}
.sbVen{font:600 .078em/1.05 var(--f-hand);color:#5a1620;margin-top:.02em!important}

/* photo pages */
.sbFade{position:absolute;left:0;right:0;bottom:0;height:900px;background:linear-gradient(rgba(30,12,10,0),rgba(30,12,10,.45));z-index:2}
.sbTorn{position:absolute;left:110px;top:1190px;width:860px;z-index:5;filter:drop-shadow(0 20px 30px rgba(0,0,0,.4))}
.sbTornBg{display:block;width:100%;height:600px;object-fit:fill}
.sbTornIn{position:absolute;inset:70px 70px 70px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--sb-ink)}
.sbTornIn h3{font:700 104px/1 var(--f-hand);white-space:nowrap}
.sbTSub{font:700 60px/1.05 var(--f-hand);margin-top:10px!important}
.sbTWhen{font:700 54px/1.1 var(--f-hand);margin-top:8px!important}
.sbTVen{font:600 48px/1.1 var(--f-hand);color:#5a1620}
.sbTDress{font:600 42px/1.1 var(--f-hand);color:var(--sb-ink2);margin-top:12px!important}
.sbTorn .cut{z-index:6}

/* families */
.sbFam{position:absolute;top:400px;width:490px;text-align:center;color:var(--sb-ink);z-index:5}
.sbFamSk{display:block;width:390px;height:auto;margin:0 auto 22px;mix-blend-mode:multiply}
.sbFamLab{font:700 50px/1.05 var(--f-hand);margin-top:22px!important}
.sbFamNm{font:600 44px/1.12 var(--f-hand);color:#4a1d22;margin-top:6px!important}
.sbFamNm.sm{font-size:40px}
.sbFamFoot{position:absolute;left:60px;right:60px;top:1350px;text-align:center;font:700 54px/1.1 var(--f-hand);color:var(--sb-ink);z-index:5}

/* rsvp */
.sbRsvp{position:absolute;left:110px;width:860px;top:250px;z-index:6;color:var(--sb-ink);text-align:center}
.sbRH{font:700 120px/1 var(--f-hand)}
.sbRBy{font:700 62px/1.1 var(--f-hand);margin-top:4px!important}
.sbRWho{font:600 44px/1.1 var(--f-hand);color:var(--sb-ink2)}
.sbRForm{margin-top:34px}
.sbRRow{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:2px dashed rgba(107,20,35,.25)}
.sbRRow b{font:700 46px/1 var(--f-hand);text-align:left;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbSeg{display:flex;background:#f1e2d2;border-radius:40px;padding:5px;flex:0 0 auto}
.sbSeg button,.sbChip,.sbSend{font-family:var(--f-hand);font-weight:700;color:var(--sb-ink);border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sbSeg button{font-size:46px;line-height:1;padding:10px 24px;border-radius:32px}
.sbSeg button.on{background:var(--sb-ink);color:#fbefe6}
.sbRLab{font:700 46px/1 var(--f-hand);margin-top:34px!important}
.sbChips{display:flex;justify-content:center;gap:18px;margin-top:16px}
.sbChip{font-size:42px;padding:10px 28px;border-radius:40px;background:#f6ece0;border:2px solid rgba(107,20,35,.18)!important;display:flex;align-items:center;gap:12px}
.sbChip i{width:24px;height:24px;border-radius:50%;display:inline-block}
.sbChip.c0 i{background:#8fbf8a}.sbChip.c1 i{background:#d98b8b}.sbChip.c2 i{background:#e8c48c}
.sbChip.on{background:var(--sb-ink);color:#fbefe6}
.sbRNote{display:block;width:100%;box-sizing:border-box;margin-top:30px;height:150px;resize:none;border:2px dashed rgba(107,20,35,.35);border-radius:18px;background:rgba(255,255,255,.45);font:600 40px/1.15 var(--f-hand);color:var(--sb-ink);padding:16px 22px;outline:none}
.sbRNote::placeholder{color:rgba(107,20,35,.5)}
.sbSend{margin-top:30px;font-size:60px;padding:14px 64px;border-radius:50px;background:var(--sb-ink);color:#fbefe6;box-shadow:0 8px 18px rgba(80,20,20,.3)}
.sbThanks{position:absolute;left:0;right:0;top:420px;text-align:center}
.sbThanks h3{font:700 96px/1.05 var(--f-hand);margin-top:200px!important}
.sbThanks p{font:600 54px/1.2 var(--f-hand);color:#5a1620;margin-top:24px!important;padding:0 30px}
.sbThanks .sbSign{text-align:center;padding:0}

/* ================= v2: full format (2026-10-08) =================
   Pages as tall as the phone (H.H); body text ≥ 36px. Caveat has no Devanagari:
   Indic pages write in Kalam instead. */
.lang-nonlatin body.theme-scrapbook{--f-hand:"Kalam",var(--fx-head),cursive}
.lang-nonlatin .sbCvTitle,.lang-nonlatin .sbHead,.lang-nonlatin .sbRH{line-height:1.25}
.sbInv{font:600 40px/1.2 Georgia,"Noto Serif Devanagari",serif;color:var(--sb-ink);text-align:center;margin-bottom:26px!important}
.sbYrBig{position:absolute;text-align:center;font:700 96px/1 var(--f-hand);color:var(--sb-ink);z-index:5}
.sbBody{font-size:40px}
.sbVen{font-size:.074em}
/* map + calendar on every function */
.scActs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.scCal{display:contents}
#stage .scActs .mzBtn,#stage .scActs .fx-lnk{min-height:58px;padding:0 20px;border:2px dashed rgba(107,20,35,.45);border-radius:30px;background:rgba(255,252,244,.85);color:var(--sb-ink);font:700 34px/1 var(--f-hand);letter-spacing:0;text-transform:none;margin:0;box-shadow:none}
#stage .sbNoteActs{margin-top:.025em;gap:.012em;flex-direction:column;align-items:center}
#stage .sbNoteActs .mzBtn,#stage .sbNoteActs .fx-lnk{min-height:.1em;padding:0 .045em;font-size:.074em;border-width:2px}
.sbNoteIn h4{font-size:.13em}
.sbIc{height:.19em}
.sbTornBg{height:720px}
.sbTornIn{inset:60px 70px 70px}
/* RSVP: the functions and one button to the real reply */
.sbRRow{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:16px 4px;border-bottom:2px dashed rgba(107,20,35,.25)}
.sbRWhen{font:600 38px/1.1 var(--f-hand);color:var(--sb-ink2);white-space:nowrap}
.mzBtn.sbSend{display:inline-flex;margin-top:46px;font:700 64px/1 var(--f-hand);padding:18px 72px;min-height:0;border:0;border-radius:50px;background:var(--sb-ink);color:#fbefe6;letter-spacing:0;text-transform:none;box-shadow:0 8px 18px rgba(80,20,20,.3)}
.sbThanks{top:120px}
.sbThanks h3{margin-top:190px!important}
/* the shared pages as loose journal sheets */
.scX .xKickOnly{position:absolute;left:60px;right:60px;top:270px;text-align:center;font:600 46px/1.2 var(--f-hand);letter-spacing:0;text-transform:none;color:var(--sb-ink2);z-index:16}
.scX .xCol{top:400px;left:100px;right:100px;z-index:16}
.scX .xNote{border-top:2px dashed rgba(107,20,35,.3);padding:26px 0}
.scX .xNote:first-child{border-top:0}
.scX .xNote b{font:700 64px/1.05 var(--f-hand);color:var(--sb-ink);font-style:normal}
.scX .xNote p{font:600 42px/1.3 var(--f-hand);color:#4a1d22}
.scX .xNote small{font:700 36px/1.1 var(--f-hand);letter-spacing:0;color:var(--sb-ink2);text-transform:none}
.scX .xNum em{font:700 100px/.9 var(--f-hand);color:var(--sb-ink);font-style:normal}
.scX .xSub{font:700 38px/1 var(--f-hand);letter-spacing:0;color:var(--sb-ink2);text-transform:none}
.scX .xWish{font:600 56px/1.25 var(--f-hand);color:#4a1d22;background:transparent}
.scX .xWish span{color:var(--sb-ink2)}
.scX .xWish cite{font:700 36px/1 var(--f-hand);color:var(--sb-ink);text-transform:none;letter-spacing:0}
.scX .xInv p{font:600 42px/1.3 var(--f-hand);color:#4a1d22}
.scX .mzBtn{border:2px dashed rgba(107,20,35,.45);border-radius:30px;background:rgba(255,252,244,.85);color:var(--sb-ink);font:700 36px/1 var(--f-hand);letter-spacing:0;text-transform:none}
.scX .syRow{z-index:16}
.scX .syN{font:700 84px/1 var(--f-hand);color:var(--sb-ink);font-style:normal}
.scX .syD{font:600 40px/1.25 var(--f-hand);color:#4a1d22}
.scX .syRow figure,.scX .xPrint{background:#fdfbf6;box-shadow:0 22px 46px rgba(60,30,15,.32),0 3px 6px rgba(0,0,0,.18);z-index:16}
.scX .xCap{font:700 72px/1.05 var(--f-hand);color:var(--sb-ink);z-index:16}
.scX .xFilm{top:400px;border:18px solid #fdfbf6;box-shadow:0 22px 46px rgba(60,30,15,.32);z-index:16;max-height:calc(var(--H,1920px) - 580px)}
.scX .xPlay span{border-color:transparent transparent transparent var(--sb-ink)}
/* reply / wishes sheet on cream journal paper */
.theme-scrapbook{--fx-ink:#4a1d22;--fx-muted:#8a2a35;--fx-accent:#6b1423;--fx-accent-2:#d9a94e;--fx-soft:#6b1423;--fx-card:#fbf6ec;--fx-card-solid:#fbf6ec;
  --fx-btn:#6b1423;--fx-btn-ink:#fbefe6;--fx-on:#6b1423;--fx-on-ink:#fbefe6;--fx-on-line:#6b1423;--fx-line:rgba(107,20,35,.35);--fx-field:#fffdf8;--cream:#fbf6ec;--maroon:#6b1423}
.theme-scrapbook #sheet{background:#fbf6ec url(art/bg-cream.jpg) center/cover}
.theme-scrapbook .shH{font:700 72px/1.05 var(--f-hand);font-style:normal;color:#6b1423}
.sbFamLab{font-size:54px}.sbFamNm{font-size:48px}.sbFamNm.sm{font-size:44px}.sbFamSk{width:440px}
#stage .sbTornIn .scActs .mzBtn,#stage .sbTornIn .scActs .fx-lnk{font-size:38px;min-height:64px}
.sbRRow{padding:22px 4px}.sbRRow b{font-size:56px}.sbRWhen{font-size:42px}
.sbSwipe{bottom:160px;right:80px}
