:root{--bg:#f7f8fb;--card:#fff;--ink:#1c2330;--muted:#6b7587;--line:#e6e9f0;--accent:#3b6cff;--ok:#1aa564;}
*{box-sizing:border-box}
body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Meiryo",system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.7}
header,main,footer{max-width:840px;margin:0 auto;padding:0 18px}
header{padding-top:22px}
.crumb{font-size:12px;color:var(--muted)}
.crumb a{color:var(--muted)}
h1{font-size:24px;margin:10px 0 6px}
.lead{color:var(--muted);font-size:14px;margin:0 0 18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin:16px 0;box-shadow:0 1px 2px rgba(20,30,50,.03)}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
select,input[type=text],input[type=number],textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:14px;font-family:inherit}
textarea{resize:vertical;min-height:120px;line-height:1.7}
.controls{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px}
.ctl{flex:1;min-width:150px}
.bar{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn:disabled{opacity:.5;cursor:default}
.drop{border:2px dashed #c4ccdb;border-radius:12px;padding:30px 16px;text-align:center;cursor:pointer;transition:.15s;background:#fbfcfe}
.drop.drag{border-color:var(--accent);background:#eef3ff}
.drop b{color:var(--accent)}
.ad{margin:18px 0;min-height:90px;border:1px dashed #d7dce6;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#aab2c2;font-size:12px}
h2{font-size:18px;margin:26px 0 8px}
.faq dt{font-weight:700;margin-top:14px}
.faq dd{margin:4px 0 0;color:#39414f}
.note{font-size:12px;color:var(--muted);margin-top:8px}
footer{color:var(--muted);font-size:12px;padding:26px 18px 50px;border-top:1px solid var(--line);margin-top:30px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:6px}
.stat{background:#fbfcfe;border:1px solid var(--line);border-radius:11px;padding:12px 14px;text-align:center}
.stat .n{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}
.stat .l{font-size:12px;color:var(--muted);margin-top:2px}
