:root{--ink:#17150f;--paper:#fffdf7;--card:#f3eee2;--accent:#ff6b35;--accent2:#ffd166;--muted:#6c675d;--line:#d9d0c0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.site-header{max-width:1180px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;color:var(--ink);text-decoration:none;letter-spacing:-.04em}.badge{font-size:11px;border:1px solid var(--line);padding:6px 9px;border-radius:99px}.shell{max-width:1180px;margin:auto;padding:28px 24px 80px}.hero{min-height:70vh;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}.kicker{font-size:12px;letter-spacing:.16em;font-weight:900;color:#9a3b1c}.hero h1,.form-head h1,.game-cover h1{font-size:clamp(48px,7vw,92px);line-height:.92;letter-spacing:-.065em;margin:12px 0 24px;max-width:930px}.lead{font-size:clamp(19px,2vw,26px);line-height:1.45;color:var(--muted);max-width:760px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{border:0;border-radius:14px;padding:15px 20px;font-weight:800;font-size:16px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.primary{background:var(--ink);color:white}.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.wide{width:100%;font-size:19px;padding:19px}.hero-card{background:var(--ink);color:white;padding:38px;border-radius:32px;transform:rotate(2deg);box-shadow:0 30px 70px #0002}.hero-card h2{font-size:36px;line-height:1;margin:15px 0}.mini{font-size:11px;letter-spacing:.15em;color:var(--accent2)}.fake-progress{height:9px;background:#ffffff22;border-radius:10px;margin:35px 0 14px;overflow:hidden}.fake-progress span{display:block;width:68%;height:100%;background:var(--accent2)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:80px 0}.steps article{background:var(--card);border-radius:24px;padding:28px}.steps b{font-size:12px}.steps h3{font-size:26px;margin:25px 0 6px}.steps p{color:var(--muted);line-height:1.5}.promise{border-top:1px solid var(--line);padding:70px 0}.promise p{font-size:12px;font-weight:900;letter-spacing:.12em}.promise h2{font-size:clamp(30px,5vw,56px);max-width:900px;letter-spacing:-.04em;line-height:1.05}.site-footer{text-align:center;color:var(--muted);font-size:13px;padding:30px}.form-head{max-width:880px;margin:40px 0 55px}.form-head h1{font-size:clamp(45px,7vw,78px)}.form-head p{color:var(--muted);font-size:18px;line-height:1.55}.creator-form{max-width:900px}.creator-form fieldset{border:0;margin:0 0 34px;padding:32px;background:var(--card);border-radius:24px}.creator-form legend{font-size:24px;font-weight:900;padding:0 0 10px}.creator-form label{display:block;font-size:13px;font-weight:800;margin:14px 0}.creator-form input,.creator-form textarea,.creator-form select{width:100%;margin-top:7px;border:1px solid #cfc5b4;background:white;border-radius:12px;padding:13px 14px;font:inherit;color:var(--ink)}.creator-form textarea{min-height:100px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.choice-row{display:flex;gap:12px;flex-wrap:wrap}.choice-row label{background:white;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.choice-row input{width:auto;margin:0 6px 0 0}.fineprint{font-size:13px;color:var(--muted);text-align:center}.error{background:#ffe3df;border:1px solid #ffaca1;color:#761d13;padding:16px 18px;border-radius:14px;margin:20px 0}.game-cover{padding:70px 0;transition:.3s}.game-cover.compact{padding:25px 0}.game-cover.compact .lead{display:none}.game-cover.compact h1{font-size:42px}.game{max-width:850px}.progress{height:8px;background:var(--card);border-radius:10px;overflow:hidden;margin:20px 0 45px}.progress span{display:block;height:100%;background:var(--accent);transition:.3s}.round h2{font-size:clamp(38px,5vw,60px);letter-spacing:-.05em;margin:8px 0 12px}.round>p{color:var(--muted);font-size:18px}.challenge{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:24px 0;border-top:1px solid var(--line)}.num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent2);font-weight:900}.challenge h3{margin:5px 0 14px;font-size:22px}.reveal{border:0;background:var(--card);font-weight:800;padding:10px 12px;border-radius:10px;cursor:pointer}.answer{font-size:20px;line-height:1.5;background:white;border-left:5px solid var(--accent);padding:15px 18px}.round-actions{display:flex;justify-content:space-between;gap:10px;margin-top:40px}.final-card{margin:35px 0;background:var(--ink);color:white;padding:34px;border-radius:24px}.final-card span{display:block;font-size:11px;letter-spacing:.14em;color:var(--accent2);margin-bottom:16px}.final-card strong{font-size:28px;line-height:1.35}.print-body{background:#ddd}.print-toolbar{position:sticky;top:0;background:#151515;color:white;padding:12px;display:flex;justify-content:center;gap:10px;z-index:2}.print-toolbar button,.print-toolbar a{border:0;border-radius:8px;background:white;color:#111;padding:10px 14px;text-decoration:none;font-weight:700}.booklet{width:210mm;margin:20px auto;background:white}.print-cover,.print-page{min-height:297mm;padding:28mm 24mm;page-break-after:always}.print-cover{display:flex;flex-direction:column;justify-content:center;background:#17150f;color:white}.print-cover h1{font-size:56px;line-height:.95;letter-spacing:-.05em}.print-cover h2{font-size:20px;font-weight:500}.rule{height:8px;width:80px;background:#ffd166;margin:30px 0}.print-page h2{font-size:40px;letter-spacing:-.04em}.print-item{border-top:1px solid #ccc;padding:18px 0}.print-item p{color:#555;line-height:1.5}.end{display:flex;align-items:center;justify-content:center;text-align:center}@media(max-width:760px){.hero{grid-template-columns:1fr;gap:30px}.hero-card{transform:none}.steps,.grid2{grid-template-columns:1fr}.shell{padding-top:10px}.creator-form fieldset{padding:22px}.choice-row{display:block}.hero h1,.form-head h1,.game-cover h1{font-size:48px}}@media print{.print-toolbar{display:none}.print-body{background:white}.booklet{margin:0;width:auto}.print-cover,.print-page{min-height:100vh;page-break-after:always}}
.gift-cover{min-height:70vh;display:flex;flex-direction:column;justify-content:center;max-width:920px}.gift-cover h1{font-size:clamp(58px,9vw,110px);line-height:.88;letter-spacing:-.07em;margin:12px 0 16px}.gift-subtitle{font-weight:800;font-size:16px;color:#9a3b1c}.gift-flow{max-width:920px}.gift-section,.gift-finale{padding:85px 0;border-top:1px solid var(--line)}.gift-section h2,.gift-finale h2{font-size:clamp(38px,6vw,68px);letter-spacing:-.055em;line-height:.98;margin:8px 0 18px}.section-lead{font-size:19px;color:var(--muted);max-width:720px;line-height:1.5}.story-copy{font-family:Georgia,"Times New Roman",serif;font-size:23px;line-height:1.65;max-width:780px}.memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px}.memory-card{background:var(--card);border-radius:22px;padding:26px}.memory-card span{font-size:11px;font-weight:900;letter-spacing:.13em;color:#9a3b1c}.memory-card p{font-size:20px;line-height:1.5;margin:12px 0 0}.quiz-grid{margin-top:28px}.gift-finale>p:not(.kicker):not(.gift-footer){font-family:Georgia,"Times New Roman",serif;font-size:25px;line-height:1.6;max-width:760px}.gift-footer{font-size:14px;color:var(--muted);margin-top:28px}.print-story{font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.65}.print-page.end>div{max-width:150mm}@media(max-width:760px){.gift-cover h1{font-size:58px}.gift-section,.gift-finale{padding:60px 0}.memory-grid{grid-template-columns:1fr}.story-copy{font-size:20px}}


/* V0.5 product core */
.form-progress{height:7px;background:#e5ddcf;border-radius:999px;overflow:hidden;margin:-12px 0 28px;position:sticky;top:8px;z-index:3;box-shadow:0 4px 18px #00000012}.form-progress span{display:block;height:100%;width:8%;background:var(--accent);transition:width .2s ease}.field-hint{color:var(--muted);font-size:13px;line-height:1.5;margin:4px 0 18px}.upload-box{border:1px dashed #bba992;background:#fff;padding:20px;border-radius:16px}.upload-box input{border:0;padding:8px 0}.upload-box span{display:block;color:var(--muted);font-weight:500;line-height:1.45}.info-note{background:#fff7df;border:1px solid #eed99d;border-radius:14px;padding:15px 17px;color:#5d4a12;line-height:1.5}.feature-band{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0 90px}.feature-band>div{border:1px solid var(--line);border-radius:22px;padding:26px}.feature-band span{font-size:10px;font-weight:900;letter-spacing:.13em;color:#9a3b1c}.feature-band strong{display:block;font-size:20px;margin:12px 0 8px}.feature-band p{color:var(--muted);line-height:1.5;margin:0}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}.photo-card{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:20px;background:var(--card);box-shadow:0 10px 28px #0001}.photo-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}.photo-card:hover img{transform:scale(1.02)}.photo-memory{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:28px}.memory-tile{border:0;padding:0;aspect-ratio:1/1;border-radius:16px;overflow:hidden;position:relative;background:var(--ink);cursor:pointer;box-shadow:0 7px 22px #0002}.memory-tile img,.memory-back{position:absolute;inset:0;width:100%;height:100%}.memory-tile img{object-fit:cover;opacity:0;transform:scale(.92);transition:.18s ease}.memory-back{display:grid;place-items:center;color:var(--accent2);font-size:28px;font-weight:900;transition:.18s ease}.memory-tile.flipped img,.memory-tile.matched img{opacity:1;transform:scale(1)}.memory-tile.flipped .memory-back,.memory-tile.matched .memory-back{opacity:0}.memory-tile.matched{outline:4px solid var(--accent2);cursor:default}.memory-status{color:var(--muted);font-weight:700}.print-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8mm;margin-top:10mm}.print-photo-grid img{width:100%;height:90mm;object-fit:cover;border-radius:4mm}@media(max-width:760px){.feature-band{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr 1fr}.photo-memory{grid-template-columns:repeat(3,minmax(0,1fr))}.form-progress{top:4px}}@media print{.print-photo-grid{display:grid}.print-photo-grid img{break-inside:avoid}}

/* V0.5 commerce */
.consent-row{display:flex!important;align-items:flex-start;gap:10px;background:#fff;border:1px solid var(--line);padding:14px 16px;border-radius:14px;line-height:1.45;font-weight:650!important}.consent-row input{width:auto!important;margin:3px 0 0!important;flex:0 0 auto}.checkout-summary{max-width:720px;background:var(--card);padding:30px;border-radius:24px;margin:20px 0}.checkout-summary h2{margin:0 0 8px;font-size:28px}.checkout-summary .price{font-size:48px;font-weight:950;letter-spacing:-.05em;margin:12px 0}.payment-actions{max-width:720px;display:grid;gap:12px}.payment-actions form{margin:0}.success-card{max-width:760px;background:#edf8ed;border:1px solid #b9d9b9;padding:28px;border-radius:22px}.success-card h2{margin-top:0}.success-card .btn{margin-top:10px}
.hero-price{margin-top:18px;color:var(--muted);font-size:14px}.hero-price strong{color:var(--ink);font-size:18px}
