*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#0f0f10;color:#fff;min-height:100vh;display:flex;flex-direction:column}
header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top))}
header img{height:38px}#steps{display:flex;gap:6px}#steps i{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#262626;color:#888;font-size:13px;font-weight:700}
#steps i.on{background:linear-gradient(#f4cb69,#bd902e);color:#111}
main{flex:1;padding:0 16px 90px;max-width:560px;width:100%;margin:0 auto}
h1{font-size:26px;margin:14px 0 6px}p{color:#bbb;margin:0 0 16px}
.step{display:none}.step.on{display:block}.hide{display:none}
.big{display:block;width:100%;padding:18px;border-radius:16px;font-size:18px;font-weight:700;border:0;margin:12px 0;text-align:center;text-decoration:none;cursor:pointer}
.gold{background:linear-gradient(#f4cb69,#d6a33f 60%,#bd902e);color:#111}
.ghost{background:#1e1e1f;color:#fff;border:1px solid #333}
.small{padding:12px 16px;border-radius:12px;font-size:15px}
input,textarea{width:100%;padding:16px;border-radius:14px;border:1px solid #333;background:#1b1b1c;color:#fff;font-size:18px;margin:6px 0}
#txt{font-size:24px;font-weight:700;text-align:center}
#stage{position:relative;border-radius:16px;overflow:hidden;background:#222;touch-action:none}
canvas{width:100%;display:block}.hint{font-size:13px;text-align:center;margin:6px 0}
#presets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pc{background:#1b1b1c;border:2px solid #2a2a2a;border-radius:14px;padding:10px 4px;text-align:center;font-size:12px;cursor:pointer}
.pc.on{border-color:#f4cb69}.pc b{display:block;font-size:24px;margin-bottom:4px;font-family:Montserrat,sans-serif}
.row{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}.row .big{flex:1;margin:0}
.dot{width:38px;height:38px;border-radius:50%;border:3px solid #333;cursor:pointer}.dot.on{border-color:#fff}
.fb{padding:8px 12px;border-radius:10px;background:#1b1b1c;border:1px solid #333;color:#fff;font-size:18px}.fb.on{border-color:#f4cb69}
#grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}#grid div{position:relative;border:3px solid transparent;border-radius:12px;overflow:hidden}
#grid div.fav{border-color:#f4cb69}#grid img{width:100%;display:block}#grid span{position:absolute;top:6px;right:8px;font-size:20px}
#qimg{width:100%;border-radius:12px;margin-bottom:8px}.demo{font-size:12px;color:#777}
nav{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;gap:10px;padding:10px 16px;padding-bottom:max(10px,env(safe-area-inset-bottom));background:#0f0f10ee;border-top:1px solid #222}
nav button{padding:10px 14px;border-radius:10px;font-size:15px}.tag{color:#d6a33f;font-size:12px;font-style:italic;margin-left:auto}
