:root{--bg: #faf8f3;--panel: #ffffff;--ink: #2b2b2b;--muted: #8a8275;--line: #e6e0d4;--accent: #c0532b;--accent-2: #2f6f6a;--ok: #2f8f4e;--err: #c0392b;--radius: 12px;--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 6px 18px rgba(0, 0, 0, .05)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}.app{max-width:960px;margin:0 auto;padding:24px 18px 80px}.topbar{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px}.topbar h1{font-size:22px;margin:0;letter-spacing:.5px}.topbar .sub{color:var(--muted);font-size:13px}.btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:8px 14px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .15s}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.05)}.btn.ghost{background:transparent}.btn.sm{padding:5px 10px;font-size:12px}.steps{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.step-chip{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);font-size:13px;cursor:pointer}.step-chip.active{border-color:var(--accent);color:var(--accent);font-weight:600}.step-chip.done{border-color:var(--ok);color:var(--ok)}.step-chip .num{width:20px;height:20px;border-radius:50%;background:var(--line);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.step-chip.active .num{background:var(--accent)}.step-chip.done .num{background:var(--ok)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-bottom:16px}.card h2{font-size:16px;margin:0 0 4px}.card .hint{color:var(--muted);font-size:13px;margin:0 0 12px}textarea,input[type=text],input[type=password],input[type=number],select{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:14px;font-family:inherit;background:#fff;color:var(--ink)}textarea{resize:vertical;min-height:120px;line-height:1.5}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row>*{flex:1;min-width:160px}.banner{padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:12px}.banner.err{background:#fdecea;color:var(--err);border:1px solid #f5c6c0}.banner.ok{background:#eaf7ee;color:var(--ok);border:1px solid #bfe6cb}.banner.info{background:#eef4f8;color:#2f6f6a;border:1px solid #cfe3ea}.quote-item{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px;background:#fdfcf9}.quote-item .qhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.quote-item .qtext{font-weight:600;font-size:15px;margin-bottom:8px}.tag{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--line);color:var(--muted)}.tag.pending{background:#fdf0e3;color:var(--accent)}.tag.done{background:#eaf7ee;color:var(--ok)}.tag.error{background:#fdecea;color:var(--err)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.comic-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.comic-card img{width:100%;display:block}.comic-card .cap{padding:14px 16px;font-size:16px;font-weight:600;line-height:1.5}.comic-card .meta{padding:0 16px 14px;font-size:12px;color:var(--muted)}.spinner{width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;width:100%;max-width:620px;max-height:86vh;overflow:auto}.modal h2{margin:0 0 14px;font-size:18px}.close-x{float:right;cursor:pointer;color:var(--muted);border:none;background:none;font-size:20px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 640px){.grid2,.gallery{grid-template-columns:1fr}}
