.wrap{max-width:900px;margin:0 auto;padding:28px 0}
h1{margin:20px 0 8px;font-size:30px}
    .sub{color:var(--muted);margin-bottom:20px;line-height:1.8}
    .card{background:var(--card);border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
    label{display:block;color:var(--muted);font-size:13px;margin:14px 0 6px}
    input,textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px;font-size:15px;background:#fff;color:inherit}
    textarea{min-height:140px;resize:vertical;line-height:1.6}
    .btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
    button,.linkbtn{border:0;border-radius:12px;padding:12px 14px;cursor:pointer;font-size:14px;text-decoration:none;display:inline-block}
    .primary{background:var(--primary);color:#fff}
    .ghost{background:#eef1ff;color:inherit}
    .danger{background:var(--danger);color:inherit}
    .preview{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
    @media(max-width:720px){.preview{grid-template-columns:1fr}}
    .box{border:1px solid var(--border);border-radius:16px;padding:12px;background:#fafafa;min-height:180px}
    .box h2{font-size:16px;margin:0 0 10px}
    img,canvas{max-width:100%;border-radius:12px;background:#fff}
    canvas{display:none}
    .status{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.8}
