:root{--paper:#f6f2e9;--surface:#fffcf6;--ink:#23312f;--muted:#5e6962;--rule:#d9d4c8;--accent:#a84130;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,'Segoe UI',sans-serif;--shadow:0 2px 3px #23312f0d,0 15px 35px #23312f14;color:var(--ink);font:16px/1.6 var(--sans);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,.button{min-height:46px;border:1px solid #758078;border-radius:5px;padding:10px 18px;background:var(--surface);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;line-height:1.4}button:hover,.button:hover{background:#e9e6dc}button:disabled{cursor:wait;opacity:.65}.primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.primary:hover{background:#354b45}.danger{color:#962e22}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #285eb8;outline-offset:4px}h1,h2,h3,p{margin:0 0 18px}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(38px,4.6vw,68px)}h2{font-size:clamp(28px,3vw,42px)}h3{font-size:18px;font-weight:500}em{font-weight:400;color:var(--accent)}input,textarea,select{width:100%;border:1px solid #758078;border-radius:4px;background:#fffcf6;color:var(--ink);padding:11px 12px;min-height:46px}textarea{resize:vertical;line-height:1.6}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--ink)}.skip{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}#header{max-width:1440px;margin:auto;padding:24px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:21px;line-height:1.05}.brand svg{width:35px;fill:none;stroke:var(--ink);stroke-width:1.2}.brand-serif{font-family:var(--serif);display:block;font-style:italic;font-size:23px}.brand span span{margin-top:3px}nav{display:flex;gap:32px;align-items:center}nav a{font-size:14px;text-decoration:none}.nav-create{border-bottom:1px solid var(--ink);padding-bottom:4px}#main{min-height:70vh}#footer{margin:50px auto 0;padding:32px 6%;max-width:1440px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--rule);font-size:14px;color:var(--muted)}#footer div{display:flex;gap:22px}.dev-notice{padding:9px 6%;background:#eae6dc;font:11px/1.6 var(--sans);letter-spacing:.12em}.dev-notice span{letter-spacing:0;margin-left:20px;font-size:12px;color:#53605a}.eyebrow{font:11px/1.5 var(--sans);font-weight:600;letter-spacing:.15em;text-transform:uppercase}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;padding:66px 8% 70px}.hero-copy .eyebrow{color:var(--accent);margin-bottom:25px}.hero-copy h1{margin-bottom:26px}.hero-copy h1 em{font-style:italic}.hero-copy p{color:var(--muted)}.hero-copy .lede{color:var(--ink);font-size:20px;margin-bottom:10px}.hero-actions{display:flex;align-items:center;gap:24px;margin:30px 0 18px}.hero-actions a:not(.button){font-size:14px}.small{font-size:14px;color:var(--muted);line-height:1.6}.hero-copy .small{font-size:13px}.hero-example{position:relative;max-width:530px}.hero-example .reveal-card{transform:rotate(-3deg);min-height:345px}.hero-example .experience-actions{margin-top:27px}.sample-label{text-align:center;color:var(--muted);font-size:12px;margin:16px 0}.collection{max-width:1440px;margin:auto;padding:35px 6% 55px;border-top:1px solid var(--rule)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px}.section-heading h1,.section-heading h2{font-size:38px;margin-bottom:4px}.section-heading>p{font-size:13px;line-height:1.7;color:var(--muted)}.filter-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:28px 0 35px}.filters{display:flex;flex-wrap:wrap;gap:7px}.filters button{border-color:transparent;background:transparent;border-radius:30px;font-size:13px;padding:8px 16px;min-height:40px}.filters button[aria-pressed=true]{background:var(--ink);color:white}.search{font-size:12px;color:var(--muted);width:210px;flex-shrink:0}.search input{min-height:40px;padding:7px 10px;font-size:13px}.shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}.template-tile{display:block;text-decoration:none}.tile-art{background:#e9e5d9;padding:28px 26px;min-height:270px;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:background .2s}.art-1{background:#ede8dc}.art-2{background:#e4e8e0}.template-tile:hover .tile-art{background:#ddd8ca}.tile-caption{display:flex;justify-content:space-between;align-items:center;padding-top:15px;gap:10px}.tile-caption h3{margin:0 0 4px}.tile-caption p{font-size:12px;color:var(--muted);margin:0}.tier{font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:4px 8px;border:1px solid #9a9e91;border-radius:3px;white-space:nowrap}.tier.free{background:#e3e9dc;border-color:#98a28b}.offer{background:#e8e6dc;text-align:center;padding:65px 20px}.offer h2{font-size:40px}.offer .button{margin:8px 0 20px}.offer p:not(.eyebrow){color:var(--muted)}
/* Authored stationery compositions. Text remains in normal document flow. */
.reveal-card{--card-paper:#fffcf6;--card-ink:#23312f;--card-accent:#b84c3a;position:relative;width:100%;min-height:360px;color:var(--card-ink);background:var(--card-paper);border-radius:2px;padding:48px 45px;box-shadow:var(--shadow);isolation:isolate;overflow-wrap:anywhere}.card-content{position:relative;z-index:2}.reveal-card .eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:25px;color:inherit;opacity:.85}.reveal-card h2{font-size:clamp(30px,3.7vw,48px);line-height:1.15;white-space:pre-line;color:inherit;margin-bottom:24px}.reveal-card .message{font-size:17px;line-height:1.8;white-space:pre-wrap;max-width:58ch}.reveal-card .practical{font-size:14px;line-height:1.7;white-space:pre-wrap;margin:25px 0 0;padding-top:18px;border-top:1px solid currentColor}.signature{font:14px/1.8 var(--sans);margin-top:32px;margin-bottom:0}.signature strong{font-weight:500}.reveal-card.is-final{min-height:360px}.fold{position:absolute;top:0;right:0;width:48px;height:48px;background:linear-gradient(45deg,#e3ddcd 50%,var(--paper) 50%);box-shadow:-2px 2px 2px #23312f08}.seal{font:italic 27px var(--serif);position:absolute;right:36px;bottom:30px;background:#a84e38;color:#fff6dd;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:4px double #ffffff50;transform:rotate(-12deg);z-index:3}.seal span{font-size:18px;margin-top:10px}.little-something{padding:48px 62px 80px 40px;border-left:10px solid #e7e1d2}.little-something h2{max-width:12ch;font-style:italic}.little-something.is-final h2{max-width:100%;font-style:normal}.envelope-line{position:absolute;bottom:0;left:0;right:0;height:60px;border-top:1px solid #23312f1a;clip-path:polygon(0 0,50% 85%,100% 0,100% 100%,0 100%);background:#23312f03;pointer-events:none}.birthday-confetti{--card-paper:#f5d96d;--card-ink:#7f291f;padding:50px 44px 35px}.birthday-confetti .eyebrow{color:#23312f}.birthday-confetti h2{font-family:var(--sans);font-weight:800;letter-spacing:-.055em;font-size:43px;max-width:15ch}.birthday-confetti.is-final h2{font-size:38px}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti i{position:absolute;width:28px;height:11px;background:#315bae;transform:rotate(25deg);top:15px;left:15px}.confetti i:nth-child(2){background:#b84632;top:40px;left:auto;right:-5px;width:50px;transform:rotate(-30deg)}.confetti i:nth-child(3){top:auto;bottom:15px;left:16px;height:23px;width:23px;border-radius:50%;background:#c64d34}.confetti i:nth-child(4){left:65%;top:10px;width:14px;height:20px;background:#f9f3dc;transform:rotate(-25deg)}.confetti i:nth-child(5){left:auto;right:12px;top:60%;width:10px;height:32px}.confetti i:nth-child(6){left:38%;top:auto;bottom:-3px;background:#f9f3dc;width:30px;height:20px}.scratch-placeholder{position:relative;height:100px;margin:20px 0 0;border-radius:50% 48% 45% 42%;background:#fff4c4;border:1px dashed currentColor;overflow:hidden;display:flex;justify-content:center;align-items:center;font:italic 19px var(--serif)}.scratch-placeholder canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.scratch-placeholder span{position:relative;pointer-events:none;color:#fffdf2;z-index:2;text-shadow:0 1px #5c2219}.big-number{--card-paper:#f1eee4;--card-ink:#272923;padding-top:36px;border-top:12px solid #ce622f}.big-mark{font:italic 54px/1 var(--serif);letter-spacing:-.06em;color:#bb5022;margin-bottom:30px}.big-number h2{font-size:34px;max-width:15ch}.big-number.is-final .big-mark{display:none}.milestone{font:90px/.95 var(--serif);color:#ba5022;margin-bottom:24px}.hidden-present{--card-paper:#e3e7d9;padding:42px 34px 38px;border:1px solid #a5afa0}.stack-mark{display:flex;justify-content:flex-end;gap:10px;margin-bottom:26px}.stack-mark span{font:italic 26px var(--serif);display:block;padding:5px 15px;border:1px solid #829081;background:#fcf9ed;transform:rotate(-5deg)}.stack-mark span:nth-child(2){transform:rotate(5deg)}.hidden-present h2{font-size:38px}.hidden-present.is-final .stack-mark{display:none}.clue-card{background:#fffbed;position:relative;margin:20px 25px 0;padding:20px 28px;box-shadow:2px 5px #cccfbd;border:1px solid #a5afa0;transform:rotate(-1deg)}.clue-card span{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.clue-card p{font:24px/1.5 var(--serif);margin:10px 0}.ticket-night{--card-paper:#1d3039;--card-ink:#fff9e5;padding:0 0 30px;min-height:330px}.ticket-strip{display:flex;justify-content:space-between;gap:12px;background:#b34832;color:#fff9e5;padding:15px 25px;font:9px/1.5 monospace;letter-spacing:.08em}.ticket-strip span{font-size:8px}.ticket-night .card-content{padding:35px 38px 0;border-right:2px dashed #e6dfc36b;margin-right:30px}.ticket-night h2{font-size:40px}.ticket-note{font:10px/1.7 monospace;letter-spacing:.02em;margin-top:25px;margin-bottom:0;color:inherit}.weekend-away{--card-paper:#dfeaf0;--card-ink:#243c42;padding-top:170px}.landscape{position:absolute;width:100%;top:0;left:0;height:140px}.weekend-away .eyebrow{font:11px monospace}.weekend-away h2{font-size:36px}.dinner-on-me{--card-paper:#f5efde;--card-ink:#6a2833;padding:36px 40px 50px;border:10px double #6a2833;text-align:center}.plate{width:140px;height:75px;margin:0 auto 22px;display:block}.dinner-on-me h2{font-style:italic;font-size:43px}.dinner-on-me .eyebrow{letter-spacing:.25em}.dinner-on-me .message{text-align:left;color:#35322d}.good-news{--card-paper:#cbd8f1;--card-ink:#233d63;text-align:center;padding:32px 38px}.poster-mark{font:900 53px/.9 var(--sans);letter-spacing:-.07em;color:#28486f;margin:5px 0 30px}.good-news h2{font:400 28px/1.3 var(--serif);letter-spacing:-.02em}.good-news.is-final .poster-mark{display:none}.good-news.is-final h2{font:750 40px/1.12 var(--sans);letter-spacing:-.05em}.good-news .message{text-align:left}.a-proper-thank-you{--card-paper:#294437;--card-ink:#faf2dc;padding:38px 42px 50px}.thanks-mark{font:58px/.95 var(--serif);margin-bottom:34px}.thanks-mark em{color:#e2b893}.a-proper-thank-you h2{font-size:29px;line-height:1.3}.a-proper-thank-you.is-final .thanks-mark{font-size:36px;line-height:1;display:flex;gap:10px;margin-bottom:28px}.team-thank-you{--card-paper:#faf7ee;--card-ink:#263a4d;padding:50px 44px;border-top:10px solid #263a4d}.team-thank-you h2{font:500 36px/1.2 var(--sans);letter-spacing:-.04em}.team-rule{width:46px;height:3px;background:#99835d;margin-bottom:25px}.card-kicker{font:9px/1.5 var(--sans);letter-spacing:.15em;margin-bottom:30px}.team-thank-you .eyebrow,.client-appreciation .eyebrow{margin-bottom:15px}.client-appreciation{--card-paper:#f0f0e7;--card-ink:#283b35;padding:50px 40px 50px 60px;border-left:14px solid #9bab90}.client-rule{width:25px;height:35px;border:1px solid #72846c;margin-bottom:28px}.client-appreciation h2{font-size:39px;max-width:14ch}.client-appreciation.is-final h2{max-width:100%}.winter-surprise{--card-paper:#e8ecdf;--card-ink:#294236;padding:35px 42px;border:12px double #71836a;text-align:center}.winter-mark{width:180px;height:64px;display:block;margin:auto auto 20px}.winter-surprise h2{font-size:36px}.winter-surprise .message{text-align:left}.winter-surprise .scratch-placeholder{border-radius:3px;background:#d4dccb}.winter-surprise .scratch-placeholder span{color:#294236;text-shadow:none}.photo{display:block;width:100%;height:auto;max-height:450px;object-fit:contain;margin-top:25px;border-radius:2px}.logo{max-width:105px;max-height:55px;object-fit:contain;display:block;margin:0 0 22px}.alternate{--card-paper:#eeece3;--card-ink:#323950;--card-accent:#93593e}.birthday-confetti.alternate{--card-paper:#dfe5f4;--card-ink:#304870}.a-proper-thank-you.alternate{--card-paper:#423337;--card-ink:#fff2df}.ticket-night.alternate{--card-paper:#eee5d5;--card-ink:#493426}.compact{min-height:225px!important;padding:28px 25px 38px;box-shadow:0 2px 3px #23312f14;pointer-events:none}.compact h2{font-size:26px!important;margin:0;line-height:1.17}.compact .eyebrow{font-size:8px!important;margin-bottom:16px}.compact .fold{width:32px;height:32px}.compact .seal{width:32px;height:32px;right:15px;bottom:15px;font-size:16px;border-width:2px}.compact .seal span{font-size:12px}.compact .scratch-placeholder{height:47px;margin-top:18px;font-size:14px}.compact .scratch-placeholder span{color:var(--card-ink);text-shadow:none}.compact .big-mark{font-size:38px;margin-bottom:18px}.compact .stack-mark{margin-bottom:15px}.compact .stack-mark span{font-size:17px;padding:3px 9px}.compact.ticket-night{padding:0 0 20px}.compact .ticket-strip{font-size:7px;padding:10px 12px}.compact .ticket-strip span{display:none}.compact.ticket-night .card-content{padding:22px 20px 0;margin-right:18px}.compact .ticket-note{font-size:8px;margin-top:18px}.compact.weekend-away{padding-top:108px}.compact .landscape{height:88px}.compact .plate{width:100px;height:48px;margin-bottom:12px}.compact .poster-mark{font-size:35px;margin-bottom:20px}.compact.good-news h2{font-size:22px!important}.compact .thanks-mark{font-size:45px;margin-bottom:22px}.compact.a-proper-thank-you h2{font-size:24px!important}.compact .card-kicker{font-size:8px;margin-bottom:20px}.compact .team-rule{margin-bottom:15px}.compact .client-rule{height:25px;margin-bottom:18px}.compact.client-appreciation{padding-left:26px}.compact .winter-mark{width:130px;height:43px;margin-bottom:15px}.compact.winter-surprise{border-width:8px}.experience{position:relative}.experience-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:24px}.experience-error:empty{display:none}.experience-error{font-size:14px;color:#9e3025;margin-top:15px}.credit{text-align:center;font-size:12px;margin-top:25px;color:var(--muted)}.curtain{position:absolute;top:0;width:12%;height:100%;max-height:360px;z-index:1;pointer-events:none;background:#b34b39;opacity:.4;transition:transform .65s ease,opacity .65s}.curtain.left{left:-12px}.curtain.right{right:-12px}.opening .curtain.left{transform:translateX(-80%);opacity:0}.opening .curtain.right{transform:translateX(80%);opacity:0}.opening .envelope-line{animation:flap .65s ease forwards}.opening .seal{animation:seal .65s ease forwards}@keyframes flap{to{transform:rotateX(100deg);opacity:0}}@keyframes seal{to{transform:translateY(-20px) rotate(-12deg);opacity:0}}.reduce-motion *{animation:none!important;transition:none!important}.motion-control{font-size:13px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:10px;margin-top:28px}
/* Working studio */
.editor-heading{padding:30px 6% 25px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.editor-heading a{font-size:13px}.editor-heading h1{font-size:34px;margin:0}.editor-heading p{font-size:12px;color:var(--muted);margin:0}.editor{display:grid;grid-template-columns:350px minmax(0,1fr);gap:55px;max-width:1260px;margin:auto;padding:0 5% 120px}.form-section{border-top:1px solid var(--rule);padding:24px 0 15px}.field{display:block;font-size:14px;margin-bottom:17px;font-weight:500}.field input,.field select,.field textarea{display:block;margin-top:6px;font-weight:400;font-size:15px}.field-count{display:block;text-align:right;font-size:11px;color:var(--muted);font-weight:400;margin-top:3px}.optional{float:right;color:var(--muted);font-size:12px;font-weight:400}.preview-column{padding-top:18px;align-self:start;position:sticky;top:20px;min-width:0}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.1em;margin-bottom:16px}.preview-toolbar div{display:flex;gap:5px}.preview-toolbar button{font-size:12px;min-height:36px;padding:6px 12px;border-color:transparent;background:transparent}.preview-toolbar button[aria-pressed=true]{border-color:#758078;background:var(--surface)}.preview-surface{background:#e7e4d9;padding:40px 35px;min-height:450px;border-radius:3px}.preview-surface .reveal-card{max-width:570px;margin:auto}.editor-bottom{position:fixed;bottom:0;left:0;right:0;background:#fffcf6f5;border-top:1px solid var(--rule);padding:15px 6%;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:10;backdrop-filter:blur(8px)}.editor-bottom span{font-size:12px;color:var(--muted)}.editor-bottom div{display:flex;gap:10px}.recipient{max-width:660px;margin:40px auto;padding:0 30px 50px}.recipient-intro{text-align:center;font:italic 21px var(--serif);margin-bottom:30px}.recipient-note{text-align:center;color:var(--muted);font-size:13px;margin:20px 0}.recipient>a{display:block;text-align:center}.recipient .reveal-card{min-height:420px}.recipient .reveal-card h2{font-size:42px}.recipient .good-news h2{font-size:32px}.recipient .ticket-night h2{font-size:43px}.empty{text-align:center;padding:70px 25px;max-width:850px;margin:auto}.empty h1{font-size:40px}.owner-section{max-width:1200px;margin:40px auto;padding:0 6%}.owner-list{margin:35px 0}.owner-item{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:25px;padding:28px 0;border-top:1px solid var(--rule)}.owner-item h2{font-size:28px;margin:14px 0}.owner-item p{font-size:14px}.owner-item input{font-size:12px}.owner-actions{display:flex;flex-wrap:wrap;gap:8px;align-content:start}.owner-actions button,.owner-actions a{font-size:12px;flex:1}.unlock{text-align:center;max-width:750px;margin:auto;padding:60px 25px}.unlock .price{font:40px var(--serif);margin:30px 0}.price span{font:13px var(--sans);display:block;color:var(--muted);margin-top:12px}.unlock>button,.unlock>a{margin:12px 6px}.unlock>a{display:block}.prose{max-width:770px;padding:60px 25px;margin:auto}.prose>p{font-size:18px;line-height:1.9}.prose h1{margin-bottom:30px}.lab{max-width:1400px;margin:auto;padding:40px 5%}.lab>h1{font-size:42px}.lab-controls{display:flex;gap:20px;flex-wrap:wrap;margin:25px 0 35px}.lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 28px}.lab-grid.single{display:block;max-width:600px;margin:auto}.lab-entry>h2{font:18px var(--sans);margin-bottom:5px}.lab-entry>p{margin-bottom:18px}.lab-grid:not(.single) .reveal-card{padding-left:28px;padding-right:28px}.lab-grid:not(.single) .reveal-card h2{font-size:32px}.lab-grid:not(.single) .reveal-card .message{font-size:16px}.lab-grid:not(.single) .ticket-night{padding-left:0;padding-right:0}.lab-grid:not(.single) .ticket-night .card-content{padding-left:25px;padding-right:20px}.lab-grid:not(.single) .big-mark{font-size:42px}.lab-grid:not(.single) .poster-mark{font-size:40px}dialog{border:1px solid var(--rule);border-radius:5px;padding:45px;max-width:570px;width:calc(100% - 32px);max-height:90vh;color:var(--ink);background:var(--surface);box-shadow:0 20px 80px #0002}dialog::backdrop{background:#23312f70;backdrop-filter:blur(2px)}dialog h2{font-size:34px}.dialog-close{position:absolute;top:10px;right:10px;border:0;background:transparent;font-size:26px;width:44px;padding:0}.identity-options{display:grid;gap:12px}.share-actions{display:flex;flex-wrap:wrap;gap:10px}.qr{display:block;width:150px;height:150px;margin:22px auto;background:white}dialog>a{display:block;margin-top:18px}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);max-width:min(600px,90vw);background:var(--ink);color:var(--surface);padding:14px 22px;box-shadow:var(--shadow);border-radius:5px;font-size:14px;z-index:100;opacity:0;pointer-events:none;transition:opacity .15s}#toast.visible{opacity:1}#print-sheet{display:none}.loading{text-align:center;margin:100px 0}
@media(min-width:1500px){.shelf{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.hero{padding:50px 6%;gap:5%}.hero h1{font-size:49px}.hero-example .reveal-card{padding-left:30px;padding-right:40px}.hero-actions{flex-wrap:wrap;gap:15px}.shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{align-items:start;flex-direction:column}.search{width:100%;max-width:300px}.editor{grid-template-columns:310px minmax(0,1fr);gap:25px;padding-left:3%;padding-right:3%}.preview-surface{padding:25px 20px}.preview-surface .reveal-card{padding-left:28px;padding-right:28px}.preview-surface .ticket-night{padding-left:0;padding-right:0}.preview-surface .reveal-card h2{font-size:34px}.preview-toolbar{flex-direction:column;align-items:start}.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-example .reveal-card h2{font-size:38px}.section-heading h2{font-size:32px}}
@media(max-width:650px){#header{padding:18px 5%;gap:15px}.brand{font-size:17px;gap:8px}.brand-serif{font-size:20px}.brand svg{width:28px}nav{gap:15px}nav a{font-size:12px}nav a:first-child{display:none}.nav-create span{display:none}.dev-notice{font-size:9px;padding:8px 5%;line-height:1.5}.dev-notice span{font-size:10px;margin-left:10px}.hero{display:block;padding:35px 6% 35px}.hero h1{font-size:45px}.hero-copy .eyebrow{font-size:9px;margin-bottom:18px}.hero-copy .lede{font-size:18px}.hero-copy>p{font-size:14px}.hero-actions{gap:16px;margin:22px 0 14px}.hero-actions .button{font-size:14px}.hero-example{margin:40px 12px 0}.hero-example .reveal-card{min-height:280px;padding:35px 45px 70px 28px}.hero-example .reveal-card h2{font-size:35px}.hero-example .experience-actions{margin-top:22px}.collection{padding:30px 5% 35px}.section-heading{display:block}.section-heading h1,.section-heading h2{font-size:30px;margin-bottom:15px}.section-heading>p{font-size:12px}.filter-bar{margin:20px 0 25px;gap:15px}.filters{gap:4px}.filters button{font-size:12px;padding:7px 12px;min-height:38px}.search{max-width:100%}.shelf{gap:25px 14px}.tile-art{padding:15px 12px;min-height:190px}.compact{min-height:160px!important;padding:18px 15px 32px}.compact h2{font-size:18px!important}.compact .eyebrow{font-size:6px!important;letter-spacing:.08em;margin-bottom:13px}.compact .seal{width:25px;height:25px;right:10px;bottom:8px;font-size:13px}.compact .seal span{font-size:9px}.compact .fold{width:22px;height:22px}.compact .scratch-placeholder{height:34px;font-size:10px;margin-top:12px}.compact .big-mark{font-size:26px;margin-bottom:15px}.compact .stack-mark{gap:4px;margin-bottom:15px}.compact .stack-mark span{font-size:12px;padding:3px 5px}.compact.ticket-night .card-content{padding:15px 13px 0;margin-right:12px}.compact .ticket-strip{font-size:5px;padding:8px 10px}.compact .ticket-note{font-size:6px;line-height:1.5;margin-top:10px}.compact .landscape{height:62px}.compact.weekend-away{padding-top:80px}.compact .plate{height:37px;width:76px;margin-bottom:12px}.compact.dinner-on-me{border-width:5px;padding-left:13px;padding-right:13px}.compact .poster-mark{font-size:27px;margin-bottom:16px}.compact.good-news h2{font-size:16px!important}.compact .thanks-mark{font-size:32px;margin-bottom:20px}.compact.a-proper-thank-you h2{font-size:17px!important}.compact .card-kicker{font-size:6px;letter-spacing:.07em;margin-bottom:15px}.compact .team-rule{width:30px;margin-bottom:15px}.compact.team-thank-you{border-top-width:6px}.compact.client-appreciation{border-left-width:6px;padding-left:15px}.compact .client-rule{width:16px;height:20px;margin-bottom:12px}.compact .winter-mark{width:90px;height:32px;margin-bottom:12px}.compact.winter-surprise{border-width:5px}.tile-caption{align-items:start;gap:6px;flex-direction:column;padding-top:10px}.tile-caption h3{font-size:14px;line-height:1.4}.tile-caption p{font-size:10px}.tier{font-size:8px;padding:2px 5px}.offer{padding:40px 20px}.offer h2{font-size:30px}.offer p{font-size:14px}#footer{display:block;padding:25px 6%;margin-top:25px;font-size:12px}#footer div{margin-top:16px;gap:15px;flex-wrap:wrap}.editor-heading{display:block;padding:25px 5%}.editor-heading h1{font-size:32px;margin:12px 0 8px}.editor{display:flex;flex-direction:column;padding:0 5% 130px;gap:15px}.editor .preview-column{position:static;order:-1}.preview-toolbar{flex-direction:row;align-items:center;font-size:8px}.preview-toolbar button{font-size:11px;padding:5px 8px}.preview-surface{padding:28px 18px;min-height:340px}.preview-surface .reveal-card{min-height:310px;padding-left:25px;padding-right:28px}.preview-surface .reveal-card h2{font-size:32px}.preview-surface .ticket-night{padding-left:0;padding-right:0}.preview-surface .ticket-strip{font-size:7px}.preview-surface .ticket-strip span{display:none}.editor-bottom{padding:12px 5% max(12px,env(safe-area-inset-bottom));display:block}.editor-bottom span{display:none}.editor-bottom div{justify-content:space-between}.editor-bottom button{font-size:13px}.recipient{margin:28px auto;padding:0 20px 35px}.recipient-intro{font-size:19px}.recipient .reveal-card{min-height:340px;padding-left:28px;padding-right:28px}.recipient .reveal-card h2{font-size:34px}.recipient .reveal-card .message{font-size:16px;line-height:1.85}.recipient .ticket-night{padding-left:0;padding-right:0}.recipient .ticket-night h2{font-size:33px}.recipient .ticket-strip{font-size:7px}.recipient .ticket-strip span{display:none}.recipient .good-news h2{font-size:28px}.recipient .poster-mark{font-size:49px}.recipient .is-final.good-news h2{font-size:35px}.recipient .thanks-mark{font-size:50px}.owner-section{margin:30px auto;padding:0 5%}.owner-item{grid-template-columns:1fr;gap:15px}.owner-actions{flex-direction:row}.owner-actions button,.owner-actions a{flex:0 1 auto}.owner-section .section-heading{display:flex}.owner-section h1{font-size:30px}.lab{padding:30px 5%}.lab>h1{font-size:32px}.lab-grid{display:block}.lab-entry{margin-bottom:40px}.lab-controls{gap:15px;font-size:13px}.lab-grid:not(.single) .reveal-card h2{font-size:32px}.lab-grid .reveal-card{min-height:340px}.unlock{padding:40px 22px}.unlock h1{font-size:43px}.unlock p{font-size:15px}.unlock .price{font-size:38px}.prose{padding:35px 6%}.prose h1{font-size:36px}.prose>p{font-size:16px}dialog{padding:45px 25px 30px}.share-actions button,.share-actions a{font-size:13px}dialog h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{@page{size:A4;margin:15mm}body>*{display:none!important}#print-sheet{display:block!important}.print-card{width:105mm;min-height:148mm;max-height:148mm;border:1px dashed #aab0a5;padding:15mm 12mm;text-align:center;background:#fffcf6;break-inside:avoid}.print-card h1{font-size:32pt}.print-card .qr{width:32mm;height:32mm;margin:8mm auto}.print-card .eyebrow{font-size:7pt}.print-card .small{font-size:7pt}.print-link{font-size:7pt;overflow-wrap:anywhere;color:#23312f}}
.reveal-card h2:focus{outline:none}.lab-focus #header,.lab-focus #footer,.lab-focus .dev-notice,.lab-focus .lab>h1,.lab-focus .lab>p,.lab-focus .lab-controls{display:none}.lab-focus .lab{padding:30px 5%}.lab-focus .lab-entry>h2{margin:0 0 8px}.lab-focus .lab-entry>p{margin:0 0 18px}.scratch-placeholder span{color:#23312f;text-shadow:none}@media(max-width:480px){.shelf{grid-template-columns:1fr}.tile-art{padding:28px 32px;min-height:285px}.compact{min-height:230px!important;padding:28px 28px 42px}.compact h2{font-size:27px!important}.compact .eyebrow{font-size:9px!important}.compact .seal{width:34px;height:34px;right:20px;bottom:18px;font-size:20px}.compact .seal span{font-size:13px}.compact .scratch-placeholder{height:55px;font-size:16px}.compact .big-mark{font-size:38px}.compact .poster-mark{font-size:38px}.compact.good-news h2{font-size:23px!important}.compact .thanks-mark{font-size:44px}.compact.a-proper-thank-you h2{font-size:25px!important}.compact .card-kicker{font-size:8px}.compact .ticket-strip{font-size:8px}.compact .ticket-note{font-size:9px}.compact.ticket-night .card-content{padding:26px 24px 0}.compact.weekend-away{padding-top:115px}.compact .landscape{height:90px}.compact .plate{height:55px;width:120px}.compact .winter-mark{height:44px;width:145px}.tile-caption{flex-direction:row;align-items:center}.tile-caption h3{font-size:17px}.tile-caption p{font-size:12px}.tier{font-size:10px}.lab-focus .reveal-card{padding-left:28px;padding-right:28px}.lab-focus .reveal-card h2{font-size:34px}.lab-focus .ticket-night{padding-left:0;padding-right:0}}
.opening .curtain{width:50%;height:calc(100% - 70px);max-height:none;opacity:1;z-index:4;background:#b34b39}.opening .curtain.left{left:0;animation:curtain-left .65s ease forwards}.opening .curtain.right{right:0;animation:curtain-right .65s ease forwards}@keyframes curtain-left{from{transform:translateX(0)}to{transform:translateX(-105%);opacity:0}}@keyframes curtain-right{from{transform:translateX(0)}to{transform:translateX(105%);opacity:0}}
.birthday-confetti .scratch-placeholder span{color:#fffdf2}
.review-pause .curtain,.review-pause .seal,.review-pause .envelope-line{animation-play-state:paused!important;animation-delay:-.325s!important}
.curtain-frame{position:absolute;inset:0 0 70px;overflow:hidden;pointer-events:none;z-index:4}.curtain-frame .curtain,.opening .curtain-frame .curtain{height:100%;max-height:none}@keyframes curtain-left{from{transform:translateX(0);opacity:1}to{transform:translateX(-105%);opacity:0}}@keyframes curtain-right{from{transform:translateX(0);opacity:1}to{transform:translateX(105%);opacity:0}}
.review-pause .curtain{animation-delay:-.22s!important}
.account-tools{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.account-tools button{font-size:13px}

.recipient-preview-dialog{max-width:720px}.recipient-preview-dialog>h2{font-size:28px}.recipient-preview-dialog .reveal-card{max-width:570px;margin:auto}
/* Personal cards: layered artwork, clear type and tactile reveal controls. */
.customization h2{font-size:28px;margin-bottom:12px}.customization{background:linear-gradient(145deg,#eee8fc70,#e5f1e970);padding:25px 18px;border-radius:16px}.customization .field{margin-bottom:20px}.customization select{border-color:#a19bad;background:#fffcf6e8}
.reveal-card{border-radius:14px;box-shadow:0 2px 4px #3028470d,0 20px 55px #30284724}.reveal-card:after{content:'';position:absolute;inset:0;border:1px solid #ffffff50;border-radius:inherit;pointer-events:none;z-index:3}.reveal-card .background-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:0}.reveal-card.has-background{padding:42px 32px!important;background:#e6dfed}.reveal-card.has-background .card-content,.reveal-card:not(.backdrop-design) .card-content{background:#fffdf8;color:#292b3b;border:1px solid #fff;border-radius:16px;padding:30px!important;margin:0;box-shadow:0 8px 24px #33305d14}.reveal-card.has-background .eyebrow,.reveal-card:not(.backdrop-design) .eyebrow{color:inherit}.reveal-card.has-background .message,.reveal-card:not(.backdrop-design) .message{color:inherit}.reveal-card.has-background> :is(.fold,.seal,.landscape,.plate,.big-mark,.stack-mark,.poster-mark,.thanks-mark,.winter-mark,.ticket-strip,.team-rule,.client-rule,.card-kicker),.reveal-card:not(.backdrop-design)> :is(.fold,.seal,.landscape,.plate,.big-mark,.stack-mark,.poster-mark,.thanks-mark,.winter-mark,.ticket-strip,.team-rule,.client-rule,.card-kicker){display:none}.reveal-card:not(.backdrop-design){padding:40px 30px!important;border:0;--card-ink:#292b3b}.reveal-card.backdrop-aurora{background:radial-gradient(ellipse at 10% 5%,#f4ccdd,transparent 55%),radial-gradient(ellipse at 90% 90%,#a4e6d1,transparent 60%),linear-gradient(135deg,#d2b6f7,#b9cbf6)}.reveal-card.backdrop-sunset{background:radial-gradient(circle at 95% 0%,#ffe69a,transparent 50%),radial-gradient(ellipse at 0% 90%,#ed8ea3,transparent 55%),linear-gradient(145deg,#ffbc9c,#ffddbd)}.reveal-card.backdrop-midnight{background:radial-gradient(circle at 15% 12%,#f8dda1 0 2px,transparent 3px),radial-gradient(circle at 90% 70%,#d6c8ff 0 2px,transparent 3px),radial-gradient(circle at 80% 8%,#ffffff 0 1px,transparent 2px),radial-gradient(ellipse at 0% 100%,#74568b,transparent 65%),linear-gradient(140deg,#192741,#4a417e)}
.reveal-card.font-editorial{--chosen-font:Georgia,'Times New Roman',serif}.reveal-card.font-modern{--chosen-font:'Trebuchet MS','Segoe UI',sans-serif}.reveal-card.font-playful{--chosen-font:'Segoe Print','Bradley Hand','Comic Sans MS',cursive}.reveal-card.font-typewriter{--chosen-font:'Courier New',monospace}.reveal-card:not(.font-design) :is(h2,.message,.signature){font-family:var(--chosen-font)}.reveal-card.font-modern h2{font-weight:750;letter-spacing:-.045em;font-style:normal}.reveal-card.font-playful h2{font-weight:600;letter-spacing:-.05em;font-style:normal}.reveal-card.font-typewriter h2{font-weight:600;letter-spacing:-.04em;font-style:normal}.reveal-card.font-editorial h2{font-weight:400;letter-spacing:-.04em;font-style:italic}.reveal-card.font-typewriter .message{font-size:16px}
.slide-control{position:relative;max-width:400px;margin:25px auto 0;padding:5px;border:1px solid #c9bfdc;background:linear-gradient(110deg,#ebe4f8,#e2eee8);border-radius:50px;box-shadow:inset 0 2px 5px #3c2f5810}.slide-control label{display:block;font-size:0}.slide-control span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin-left:35px;pointer-events:none;font:500 13px var(--sans);color:#514365;letter-spacing:.01em}.slide-control input[type=range]{position:relative;z-index:1;appearance:none;-webkit-appearance:none;height:52px;width:100%;padding:0;min-height:0;margin:0;display:block;border:0;border-radius:50px;background:linear-gradient(90deg,#c3b2e3 var(--progress,0%),transparent var(--progress,0%));cursor:grab;touch-action:pan-y}.slide-control input:active{cursor:grabbing}.slide-control input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:52px;height:52px;border:4px solid white;border-radius:50%;background:#675080 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M6 14h16m-6-6 6 6-6 6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat;box-shadow:0 3px 8px #46305c40}.slide-control input::-moz-range-thumb{width:44px;height:44px;border:4px solid white;border-radius:50%;background:#675080;box-shadow:0 3px 8px #46305c40}.slide-control input::-moz-range-track{background:transparent}.slide-control+.experience-error{margin:0}.experience:has(.slide-control) .experience-actions{margin-top:12px}.experience:has(.slide-control) .open-action{background:transparent;color:#514365;border:0;font-size:13px;min-height:40px;text-decoration:underline;text-underline-offset:4px}.experience-actions button{border-radius:30px}.experience .scratch-placeholder{height:160px;border:1px solid #b8a371;border-radius:18px;background:radial-gradient(ellipse at top,#fff5d2,#ece5fa);box-shadow:inset 0 2px 12px #826d3820,0 4px 12px #71613914;margin-top:24px}.scratch-placeholder .scratch-under{position:relative;color:#594773;font:600 16px var(--sans);pointer-events:none}.scratch-placeholder canvas{z-index:1;cursor:grab}.scratch-placeholder span{position:absolute;font:600 13px var(--sans);letter-spacing:.035em;color:#493c25!important;text-shadow:0 1px 1px #ffffff70!important;transition:opacity .2s}.scratch-placeholder.tool-coin canvas{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cellipse cx='21' cy='24' rx='15' ry='13' fill='%23000' opacity='.15'/%3E%3Ccircle cx='20' cy='19' r='16' fill='%23e3bd69' stroke='%23846a35' stroke-width='2'/%3E%3Ccircle cx='20' cy='19' r='12' fill='none' stroke='%23fff1bd' stroke-width='2'/%3E%3Cpath d='m20 10 2 6 6 2-6 2-2 6-2-6-6-2 6-2z' fill='%2395793e'/%3E%3C/svg%3E") 20 20,grab}.scratch-placeholder.tool-finger canvas{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M13 35 5 22q-1-4 3-3l5 5V7q0-7 6-4v16q5-3 6 1 5-2 5 3 5 0 4 5l-3 9z' fill='%23f2c4a4' stroke='%235d4037' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 16 6,pointer}.scratch-sound{font-size:12px;min-height:38px;background:transparent}.scratch-sound[aria-pressed=true]{background:#ebe4f8}.celebration{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5;border-radius:14px}.celebration i{position:absolute;left:var(--x);top:-30px;width:9px;height:17px;background:var(--color);opacity:0;animation:celebrate-fall 2.8s var(--delay) ease-in forwards}.celebration i:nth-child(3n){border-radius:50%;width:11px;height:11px}.celebration.effect-stars i,.celebration.effect-hearts i{background:none;width:auto;height:auto;font:26px Georgia;color:var(--color)}.celebration.effect-hearts i{top:auto;bottom:-30px;animation-name:celebrate-rise}.celebration.effect-stars i{font-size:30px;color:#dbab47;text-shadow:0 1px 6px #fff}
@keyframes celebrate-fall{0%{opacity:0;transform:translateY(0) rotate(0)}10%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translate(var(--drift),650px) rotate(var(--spin))}}@keyframes celebrate-rise{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:1}100%{opacity:0;transform:translate(var(--drift),-600px) rotate(25deg) scale(1.3)}}
@media(max-width:650px){.reveal-card.has-background,.reveal-card:not(.backdrop-design){padding:25px 16px!important}.reveal-card.has-background .card-content,.reveal-card:not(.backdrop-design) .card-content{padding:23px 20px!important}.slide-control span{font-size:11px}.recipient-preview-dialog{padding:45px 16px 25px}.experience .scratch-placeholder{height:145px}.scratch-placeholder .scratch-under{font-size:13px}.scratch-placeholder span{font-size:11px}.customization{padding:22px 16px}}
@media(prefers-reduced-motion:reduce){.celebration{display:none}.scratch-placeholder span{transition:none}}.reduce-motion .celebration{display:none}
.reveal-card.has-background,.reveal-card:not(.backdrop-design){min-height:0!important}.reveal-card.has-background .card-content,.reveal-card:not(.backdrop-design) .card-content{min-height:260px}@media(max-width:650px){.reveal-card.has-background .card-content,.reveal-card:not(.backdrop-design) .card-content{min-height:230px}}
