*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:#f6f5f2;color:#1a1a1a;line-height:1.6}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#fff;border-bottom:1px solid #ddd;position:sticky;top:0;z-index:10}
.topbar h1{margin:0;font-size:20px}
.layout{max-width:900px;margin:0 auto;padding:20px}
.card{background:#fff;border:1px solid #ddd;border-radius:12px;padding:20px;margin-bottom:16px}
h2{margin-top:0}
label{display:block;margin:12px 0;font-size:14px}
textarea,input,select{width:100%;padding:10px 12px;margin-top:4px;border:1px solid #ccc;border-radius:8px;font:inherit}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
button{padding:10px 18px;border:1px solid #ccc;border-radius:8px;background:#fff;cursor:pointer;font:inherit}
button:hover{border-color:#2563eb}
#genBtn{background:#111;color:#fff;border-color:#111}
.muted{color:#666}.small{font-size:13px}.error{color:#b91c1c}
.progress{height:10px;background:#eee;border-radius:999px;overflow:hidden;margin-top:16px}
.progress i{display:block;height:100%;background:#2563eb;width:0%}
#previewFrame{width:100%;height:560px;border:1px solid #ddd;border-radius:8px;background:#000}
.deck-item{border-top:1px solid #eee;padding:12px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.deck-item b{flex:1 1 200px}
.actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
@media(max-width:640px){.row{grid-template-columns:1fr}#previewFrame{height:380px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
