:root{
  --blue:#1d4ed8; --purple:#7c3aed; --ink:#1e293b; --muted:#64748b;
  --bg:#f8fafc; --card:#fff; --green:#16a34a; --red:#dc2626; --amber:#b45309;
  --line:#e2e8f0;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
.wrap{max-width:980px;margin:0 auto;padding:0 20px}
#siteHeader{background:linear-gradient(135deg,var(--amber),var(--purple));color:#fff;padding:18px 0}
.header-inner{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.back{color:#fff;text-decoration:none;opacity:.9;font-size:.9rem;white-space:nowrap}
.back:hover{opacity:1;text-decoration:underline}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{font-size:1.7rem}
.brand-name{font-size:1.35rem;margin:0;line-height:1.2}
.brand-tag{font-size:.85rem;opacity:.85;margin:2px 0 0}
main .wrap{padding-bottom:40px}
.card{background:var(--card);border-radius:16px;box-shadow:0 4px 24px rgba(15,23,42,.07);padding:28px;margin:24px 0}
.dropzone{border:2px dashed #fcd34d;background:#fffbeb;border-radius:14px;padding:40px 20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}
.dropzone:hover,.dropzone.dragover{border-color:var(--amber);background:#fef3c7}
.dz-icon{font-size:2.4rem;margin-bottom:8px}
.muted{color:var(--muted)}
.small{font-size:.85rem}
.msg{min-height:1.6em;margin-top:12px;font-size:.92rem;color:var(--ink)}
.meta-box{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:16px 0;font-size:.92rem}
.preview-row{display:flex;justify-content:center;margin:16px 0}
.preview-row img{max-width:220px;max-height:220px;border:1px solid var(--line);border-radius:10px}
.options{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.radio-chip{border:1px solid var(--line);border-radius:999px;padding:8px 16px;cursor:pointer;font-size:.9rem;font-weight:600;background:#fff}
.radio-chip input{margin-right:6px;accent-color:var(--amber)}
.css-row{display:flex;gap:10px;align-items:center;margin:0 0 12px;flex-wrap:wrap}
.css-row input[type=text]{padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-size:.95rem;width:220px}
textarea#output{width:100%;min-height:150px;border:1px solid var(--line);border-radius:10px;padding:14px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.5;background:#0f172a;color:#e2e8f0;resize:vertical}
.char-row{display:flex;justify-content:space-between;align-items:center;margin:8px 0 0;font-size:.85rem}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 8px}
.btn{border:none;border-radius:10px;padding:12px 22px;font-size:.95rem;font-weight:600;cursor:pointer}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-primary{background:var(--amber);color:#fff}
.btn-primary:hover:not(:disabled){background:#92400e}
.btn-ghost{background:#fef3c7;color:#92400e}
.btn-ghost:hover:not(:disabled){background:#fde68a}
.related-tools{max-width:980px;margin:0 auto 40px;padding:0 20px}
.related-tools h2{font-size:1.25rem;margin-bottom:14px;color:#312e81}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.related-card{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;color:inherit}
.related-card:hover{border-color:var(--amber);box-shadow:0 4px 18px rgba(180,83,9,.12)}
.related-card strong{display:block;color:var(--amber);margin-bottom:4px}
.related-card span{font-size:.88rem;color:var(--muted)}
@media(max-width:600px){.card{padding:20px 16px}}
