:root{--ink:#342a25;--muted:#796c64;--cream:#fff8ef;--paper:#fffdf9;--orange:#e97834;--dark:#c95721;--line:#eaded3;--green:#50745f}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 8% 12%,#efa46d29,transparent 23rem),radial-gradient(circle at 94% 35%,#e978341a,transparent 25rem),var(--cream);font:400 16px/1.5 "DM Sans",system-ui,sans-serif}button,input{font:inherit}.skip{position:fixed;top:.5rem;left:.5rem;z-index:9;transform:translateY(-150%);padding:.6rem 1rem;color:#fff;background:var(--ink);border-radius:.5rem}.skip:focus{transform:none}
header{max-width:1180px;min-height:80px;margin:auto;padding:1.2rem 1.5rem 0;display:flex;align-items:center}header img{max-width:180px;max-height:72px;object-fit:contain}header strong{font:700 2.2rem Caveat,cursive;color:var(--dark)}.site-header nav{margin-left:auto;display:flex;gap:.5rem}.site-header nav a,footer a{color:var(--dark);font-weight:700;text-decoration:none}.site-header nav a{padding:.55rem .8rem;border-radius:10px}.site-header nav a:hover{background:#fbe3d2}
.hero{max-width:800px;margin:2.2rem auto 3rem;padding:0 1rem;text-align:center}.eyebrow{margin:0 0 .7rem;color:var(--dark);font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.hero h1{margin:0;font:500 clamp(2.9rem,8vw,5.7rem)/.98 Georgia,serif;letter-spacing:-.055em}.hero h1 em{color:var(--orange)}.hero>p:last-child{color:var(--muted);font-size:1.1rem}.hero b{color:var(--orange)}
.creator{width:min(1160px,calc(100% - 2rem));margin:0 auto 5rem;display:grid;grid-template-columns:.9fr 1.1fr;gap:1.5rem;align-items:start}.panel{padding:clamp(1.4rem,3vw,2.25rem);background:#fffdf9e8;border:1px solid #eaded3d9;border-radius:24px;box-shadow:0 12px 40px #56362114}.heading{display:flex;gap:1rem;margin-bottom:1.7rem}.heading>span{display:grid;place-items:center;flex:0 0 38px;height:38px;color:var(--dark);background:#fbe3d2;border-radius:50%;font-size:.72rem;font-weight:700}.heading h2{margin:0 0 .2rem;font:500 1.55rem Georgia,serif}.heading p{margin:0;color:var(--muted);font-size:.88rem}
.label{display:block;margin-bottom:.5rem;font-size:.88rem;font-weight:700}.upload{min-height:94px;padding:1rem;display:flex;align-items:center;gap:.8rem;background:#fffaf4;border:1.5px dashed #d9b9a4;border-radius:15px;transition:.2s}.upload:hover,.upload.drag{border-color:var(--orange);background:#fff5ea}.upload input{position:absolute;width:1px;height:1px;opacity:0}.upload>span:first-of-type{display:grid;place-items:center;flex:0 0 48px;height:48px;background:#fff;border-radius:12px}.upload-copy{min-width:0;display:flex;flex:1;flex-direction:column}.upload-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.upload-copy small{color:var(--muted);font-size:.72rem}.upload i{color:var(--dark);font-size:.78rem;font-style:normal;font-weight:700}.tools{margin-top:.8rem;padding:.8rem 1rem;background:#fffaf4;border-radius:12px}.tools label{display:flex;justify-content:space-between;font-size:.78rem;font-weight:700}.tools input{width:100%;accent-color:var(--orange)}.tools small{color:var(--muted)}.name-label{margin-top:1.35rem}.name-input{position:relative}.name-input input{width:100%;height:52px;padding:0 4rem 0 1rem;border:1px solid var(--line);border-radius:12px;outline:0}.name-input input:focus{border-color:var(--orange);box-shadow:0 0 0 3px #e9783421}.name-input span{position:absolute;right:1rem;top:50%;translate:0 -50%;color:#a09188;font-size:.72rem}.message{min-height:1.4rem;margin:.35rem 0;color:#a43b2d;font-size:.8rem;font-weight:600}
.consent{margin-top:1rem;padding:.8rem;display:flex;align-items:flex-start;gap:.7rem;background:#fffaf4;border:1px solid var(--line);border-radius:12px;cursor:pointer}.consent input{margin-top:.2rem;accent-color:var(--orange)}.consent span{display:flex;flex-direction:column}.consent b{font-size:.82rem}.consent small{color:var(--muted);font-size:.7rem}
.button{width:100%;min-height:54px;padding:.8rem;display:flex;align-items:center;justify-content:center;gap:.6rem;border:0;border-radius:13px;color:#fff;font-weight:700;cursor:pointer;transition:.18s}.button:hover:not(:disabled){transform:translateY(-2px)}.button:focus-visible{outline:3px solid #e978344d;outline-offset:3px}.button:disabled{opacity:.7;cursor:wait}.primary{background:linear-gradient(135deg,#ee8647,var(--dark));box-shadow:0 10px 22px #c957213b}.download-button{background:var(--green);box-shadow:0 10px 22px #50745f33}.privacy{margin-top:1.2rem;padding-top:1.2rem;display:flex;gap:.6rem;border-top:1px solid var(--line)}.privacy p{margin:0;color:var(--muted);font-size:.73rem}.privacy b{color:var(--ink)}
.stage{min-height:620px;padding:2rem;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#eee2d6 0 1px,transparent 1px 9px),#f5e9dd;border-radius:18px;overflow:hidden}.polaroid{display:none;width:min(100%,350px);background:#fff;border-radius:3px;box-shadow:0 26px 55px #482b1940;overflow:hidden;touch-action:none;user-select:none}.polaroid.visible{display:block;animation:reveal .5s ease}.polaroid canvas{display:block;width:100%;height:auto}.empty{display:flex;align-items:center;flex-direction:column;color:var(--muted);text-align:center}.empty>b{font-size:2.2rem;color:var(--orange)}.empty strong{font:500 1.2rem Georgia,serif}.empty small{margin-top:.2rem}.download{margin-top:1rem}.download>p{margin:.5rem 0 0;color:var(--muted);font-size:.72rem;text-align:center}.print-format{margin-top:.8rem;padding:.75rem 1rem;display:flex;align-items:center;justify-content:center;gap:.65rem;color:var(--ink);background:#fff5ea;border:1px solid #efb48f;border-radius:12px;text-align:left}.print-format>span{font-size:1.25rem}.print-format p{margin:0;font-size:.82rem;line-height:1.4}.print-format strong{color:var(--dark)}
.after{width:min(920px,calc(100% - 2rem));margin:0 auto 5rem;text-align:center}.after h2{margin:0 0 2rem;font:500 clamp(1.8rem,4vw,2.7rem) Georgia,serif}.after ol{margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;list-style:none}.after li{padding:1.4rem 1rem;display:flex;align-items:center;flex-direction:column;background:#ffffff8c;border:1px solid var(--line);border-radius:18px}.after li span{width:36px;height:36px;margin-bottom:.6rem;display:grid;place-items:center;color:#fff;background:var(--orange);border-radius:50%;font-weight:700}.after li small{color:var(--muted)}.tip{max-width:720px;margin:1.3rem auto 0;padding:1rem 1.2rem;color:var(--muted);background:#fffaf4;border:1px solid var(--line);border-radius:14px;font-size:.85rem}.gallery-section{width:min(1100px,calc(100% - 2rem));margin:0 auto 5rem;text-align:center}.gallery-section h2{margin:0;font:500 clamp(1.8rem,4vw,2.7rem) Georgia,serif}.gallery-intro,.gallery-empty{color:var(--muted)}.gallery-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.25rem}.gallery-card{overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 30px #56362112;text-align:left}.gallery-card img{width:100%;aspect-ratio:1;display:block;object-fit:cover}.gallery-card div{padding:.9rem 1rem;display:flex;justify-content:space-between}.gallery-card span{color:var(--dark);font-weight:700}footer{padding:1.5rem;color:var(--muted);background:#f5e9dd;font-size:.8rem;text-align:center}
@keyframes reveal{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:820px){.creator{grid-template-columns:1fr;max-width:620px}}@media(max-width:540px){header{justify-content:center}.hero{margin:1.4rem auto 2rem}.creator{width:calc(100% - 1rem);gap:.75rem}.panel{border-radius:18px}.stage{min-height:480px;padding:1.2rem}.upload i{display:none}.after ol{grid-template-columns:1fr}}
