:root{--paper:#f6f0e7;--ink:#25221e;--orange:#ff6847;--yellow:#f5d56c;--blue:#9bc7ce;--muted:#70695f;--line:rgba(37,34,30,.16)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,sans-serif}.grain{position:fixed;inset:0;pointer-events:none;opacity:.04;z-index:9}.topbar{height:66px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,72px)}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-weight:800}.brand-mark{display:grid;place-items:center;width:25px;height:25px;border:2px solid var(--ink);border-radius:50%;font-size:10px}.brand em,.status,.eyebrow,.count,footer{font:500 10px 'DM Mono';letter-spacing:.08em}.brand em{font-style:normal;opacity:.5;margin-left:8px}.status i{display:inline-block;width:7px;height:7px;background:#62b681;border-radius:50%;margin-right:6px}.intro{max-width:1050px;margin:auto;padding:42px clamp(22px,5vw,72px) 28px}.eyebrow{opacity:.56;margin:0 0 13px}.intro h1{font:900 clamp(31px,4.2vw,58px) 'Noto Serif SC';letter-spacing:-.09em;line-height:1.14;margin:0}.intro h1:after{content:'';display:block;width:98px;height:5px;margin:13px 0;background:var(--yellow);transform:rotate(-2deg)}.intro p:not(.eyebrow){color:var(--muted);font-size:13px;margin:0}.workspace{max-width:1050px;margin:0 auto 70px;padding:0 clamp(22px,5vw,72px);display:grid;grid-template-columns:335px 1fr}.upload-card{min-height:330px;border:1px solid var(--ink);background:var(--blue);display:grid;place-items:center;text-align:center;cursor:pointer;position:relative;overflow:hidden}.upload-card input{display:none}.upload-icon{font-size:38px}.upload-card b{display:block;font:800 18px 'Noto Serif SC';margin-top:7px}.upload-card span{display:block;font:10px 'DM Mono';opacity:.65;margin-top:8px}.upload-card img{width:100%;height:100%;object-fit:contain;padding:14px}.replace{display:none!important;position:absolute;right:12px;bottom:12px;padding:7px 9px;background:var(--paper);border:1px solid var(--ink);opacity:1!important;margin:0!important}.upload-card.has-image .replace{display:block!important}.controls{min-height:330px;border:1px solid var(--ink);border-left:0;background:#fffdf8;padding:27px 30px}.control-heading{display:flex;gap:14px}.control-heading>span{display:grid;place-items:center;width:25px;height:25px;color:var(--paper);background:var(--ink);border-radius:50%;font:10px 'DM Mono'}.control-heading b{font:800 20px 'Noto Serif SC'}.control-heading small{display:block;color:var(--muted);font-size:11px}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0 12px}.mode{height:67px;border:1px solid var(--line);background:transparent;cursor:pointer;text-align:left;padding:10px;color:var(--ink)}.mode.active,.mode:hover{background:var(--yellow);border-color:var(--ink)}.mode span{display:block;font-size:18px}.mode b{display:block;font-size:11px;margin-top:7px}#theme-input{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:8px 0;font:12px Manrope;outline:none}.generate{margin-top:17px;width:100%;min-height:51px;border:1px solid var(--ink);background:var(--orange);box-shadow:4px 4px 0 var(--ink);font-weight:800;cursor:pointer}.generate:disabled{opacity:.7;cursor:wait}.spin{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.message{min-height:30px;margin-top:12px;padding:5px 8px;color:var(--muted);border-left:2px solid var(--line);font-size:11px}.message.ok{color:#216f4a;border-color:#4fa674}.message.error{color:#a72d1c;border-color:var(--orange);background:#fff1eb}.gallery-section{background:var(--ink);color:var(--paper);padding:60px clamp(22px,5vw,72px) 80px}.section-head,.gallery{max-width:1050px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end}.section-head h2{font:900 clamp(28px,3.7vw,50px) 'Noto Serif SC';letter-spacing:-.1em;line-height:1.14;margin:0}.section-head i{font-style:normal;color:var(--yellow)}.gallery{margin-top:34px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-placeholder{grid-column:1/-1;min-height:160px;border:1px dashed #766e64;display:grid;place-items:center;color:#bbb;text-align:center}.gallery-placeholder span{font-size:30px;color:var(--yellow)}.sticker{margin:0;background:#fff;color:var(--ink);padding:9px}.sticker img{width:100%;aspect-ratio:1;object-fit:contain}.sticker figcaption{font:9px 'DM Mono';opacity:.55}.reveal{animation:reveal .4s both}@keyframes reveal{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}footer{padding:20px clamp(22px,5vw,72px);display:flex;justify-content:space-between;color:var(--muted)}@media(max-width:700px){.brand em,.status{display:none}.intro{padding:32px 20px 25px}.intro h1{font-size:34px}.workspace{display:block;padding:0 20px}.upload-card{min-height:220px}.controls{min-height:0;border-left:1px solid var(--ink);border-top:0;padding:22px}.gallery-section{padding:50px 20px}.gallery{grid-template-columns:repeat(2,1fr);gap:10px}.section-head{display:block}.count{display:block;margin-top:12px}footer{display:block;padding:20px}footer span{display:block;margin:5px 0}}@media(min-width:701px) and (max-width:1100px){.workspace{max-width:900px;grid-template-columns:290px 1fr}.upload-card,.controls{min-height:300px}}
