:root{--ink:#271432;--purple:#4b2164;--deep:#2a113a;--gold:#d4a94f;--cream:#fff9ed;--paper:#f8f0df}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% 0,#6a3480 0,transparent 34%),linear-gradient(145deg,#2a113a,#3d1951 48%,#1e0b2b);color:var(--cream);font-family:"DM Sans",sans-serif;min-height:100vh}.shell{width:min(1180px,100%);margin:auto;padding:28px 18px 24px}.intro{text-align:center;max-width:780px;margin:0 auto 24px}.brand{display:inline-flex;align-items:center;gap:9px;color:#efd58c;text-align:left;font-family:"Cormorant Garamond",serif;font-weight:700;font-size:20px;line-height:.8}.brand svg{width:43px;fill:none;stroke:currentColor;stroke-width:2}.brand small{display:block;text-transform:uppercase;letter-spacing:.38em;font:600 9px "DM Sans",sans-serif;margin-top:8px}.eyebrow{margin:28px 0 5px;color:#e8ca76;text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:700}.intro h1{font:700 clamp(42px,9vw,78px)/.95 "Cormorant Garamond",serif;margin:0;color:#fff9eb;text-shadow:0 3px 22px #16081d}.lead{font-size:15px;line-height:1.6;color:#e9ddef;margin:15px auto 0;max-width:580px}.creator{display:grid;grid-template-columns:minmax(0,540px) minmax(280px,370px);gap:clamp(24px,6vw,64px);align-items:center;justify-content:center}.poster-wrap{position:relative;filter:drop-shadow(0 22px 42px #14071dbf)}canvas{display:block;width:100%;height:auto;border-radius:4px;background:#f7efde}.canvas-hint{position:absolute;left:50%;top:43.8%;transform:translate(-50%,-50%);width:38%;text-align:center;color:#fff8;font-size:12px;pointer-events:none}.controls{background:#fffaf0;color:var(--ink);border:1px solid #e4c776;border-radius:22px;padding:24px;box-shadow:0 16px 44px #17091c80}.upload,.download{display:flex;flex-wrap:wrap;align-items:center;gap:9px;border-radius:14px;padding:15px 16px;cursor:pointer}.upload{border:1.5px dashed #a77e3c;background:#fffdf7}.upload:hover{background:#fff7e5}.upload>span,.download>span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#281536;font-weight:800}.upload b{font-size:15px}.upload small{width:100%;padding-left:35px;color:#796e7e;font-size:11px}input[type=file]{position:absolute;opacity:0;pointer-events:none}.adjustments{margin:20px 2px}.adjustments label{display:flex;justify-content:space-between;font-size:13px;font-weight:700}.adjustments input{width:100%;accent-color:var(--purple);margin:12px 0 4px}.adjustments p{font-size:11px;line-height:1.5;color:#776d7a;margin:0}.download{width:100%;border:0;background:linear-gradient(135deg,#5b2976,#321344);color:#fff;margin-top:16px;font:700 14px "DM Sans",sans-serif;justify-content:center;box-shadow:0 9px 18px #4a1f6a3b}.download:disabled{opacity:.45;cursor:not-allowed}.download:not(:disabled):hover{transform:translateY(-1px)}.reset{display:block;margin:13px auto 0;border:0;background:transparent;color:#5b2976;text-decoration:underline;cursor:pointer}.privacy{display:flex;gap:10px;border-top:1px solid #eadfc8;margin:20px 0 0;padding-top:18px;font-size:11px;line-height:1.45;color:#766c78}.privacy svg{width:23px;flex:0 0 23px;fill:none;stroke:#8e6c2e;stroke-width:1.8}.privacy b{display:block;color:#433547}footer{text-align:center;color:#bba9c1;font-size:10px;letter-spacing:.08em;margin-top:28px}@media(max-width:760px){.shell{padding:20px 14px}.intro{margin-bottom:20px}.eyebrow{margin-top:20px}.lead{font-size:13px}.creator{grid-template-columns:1fr}.poster-wrap{max-width:520px;margin:auto}.controls{padding:18px;max-width:520px;margin:auto;width:100%}footer{line-height:1.6}}@media(prefers-reduced-motion:no-preference){.download,.upload{transition:.2s ease}}
