:root{--bg:#eef2f7;--card:#fff;--ink:#0f172a;--muted:#64748b;--brand:#2563eb;--brand-d:#1d4ed8;--ok:#16a34a;--ng:#dc2626;--warn:#d97706;--line:#e2e8f0;--radius:14px;--shadow:0 1px 3px #0f172a14, 0 8px 24px #0f172a0d}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;font-family:BIZ UDPGothic,Yu Gothic,Hiragino Kaku Gothic ProN,system-ui,sans-serif;line-height:1.6}.topbar{z-index:10;background:var(--brand);color:#fff;box-shadow:var(--shadow);justify-content:space-between;align-items:center;padding:12px 18px;display:flex;position:sticky;top:0}.topbar .brand{letter-spacing:.5px;font-size:18px;font-weight:800}.topbar .brand span{opacity:.85;margin-left:6px;font-size:12px;font-weight:500}.topbar .who{align-items:center;gap:8px;font-size:13px;display:flex}.badge{background:#ffffff38;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.wrap{max-width:860px;margin:0 auto;padding:18px 14px 60px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:18px}.card h2{margin:0 0 12px;font-size:16px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grow{flex:1}label.fld{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.tabs button{border:1px solid var(--line);min-width:96px;color:var(--muted);cursor:pointer;background:#fff;border-radius:10px;flex:1;padding:10px;font-size:14px;font-weight:700}.tabs button.on{background:var(--brand);border-color:var(--brand);color:#fff}button.btn{cursor:pointer;background:var(--brand);color:#fff;border:0;border-radius:10px;padding:11px 18px;font-size:15px;font-weight:800}button.btn:hover{background:var(--brand-d)}button.btn:disabled{opacity:.5;cursor:default}button.btn.ghost{color:var(--brand);border:1px solid var(--brand);background:#fff}button.btn.sm{padding:7px 12px;font-size:13px}a.btn{text-decoration:none;display:inline-block}select,input[type=number],input[type=text]{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:9px 11px}select{min-width:200px}.chip{border:1px solid var(--line);cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;background:#fff;border-radius:999px;align-items:center;gap:4px;padding:8px 14px;font-size:14px;font-weight:700;display:inline-flex}.chip.on{border-color:var(--brand);color:var(--brand-d);background:#dbeafe}.muted{color:var(--muted)}.small{font-size:12px}.hint{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:12px 14px;font-size:14px}.err{color:var(--ng);font-weight:700}.items{border:1px solid var(--line);border-radius:12px;overflow:hidden}.items .it{border-top:1px solid var(--line);align-items:center;gap:10px;padding:10px 12px;display:flex}.items .it:first-child{border-top:0}.items .it .k{text-align:center;width:34px;font-size:22px;font-weight:800}.items .it .p{flex:1;font-size:14px}.items .it .a{color:var(--muted);font-size:13px}.ox{gap:6px;display:flex}.ox button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;width:40px;height:40px;font-size:18px;font-weight:800}.ox button.o.on{border-color:var(--ok);color:var(--ok);background:#dcfce7}.ox button.x.on{border-color:var(--ng);color:var(--ng);background:#fee2e2}.stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat{border:1px solid var(--line);text-align:center;background:#f8fafc;border-radius:12px;padding:12px}.stat .n{font-size:26px;font-weight:800}.stat .l{color:var(--muted);font-size:12px}.bar{background:#e2e8f0;border-radius:999px;height:14px;margin-top:6px;overflow:hidden}.bar>i{background:linear-gradient(90deg,#22c55e,#16a34a);height:100%;display:block}
