.cg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:14px 0;padding:0;list-style:none}
.cg{border:1px solid #e3e7ee;border-radius:14px;padding:14px;min-height:148px;display:flex;flex-direction:column;gap:6px;background:#fff}
.cg h3{margin:0;font-size:15px;line-height:1.25}
.cg .v{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.cg .v small{font-size:13px;font-weight:600;color:#4a5160}
.cg .m{height:8px;border-radius:99px;background:#eef1f6;overflow:hidden}.cg .m i{display:block;height:100%;background:#0a0a0a;border-radius:99px}
.cg .s{font-size:12.5px;color:#4a5160;margin:0}
.lv{display:inline-block;font-size:12.5px;font-weight:700;border-radius:999px;padding:3px 9px;width:max-content}
.lv.l1{background:#e3f6e8;color:#14532d}.lv.l2{background:#fff4c7;color:#5a4300}.lv.l3{background:#ffe4d1;color:#7a2e00}.lv.l4{background:#ffd9de;color:#7f1020}.lv.l0{background:#eef1f6;color:#3d4452}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:12px 0;padding:0;list-style:none}
.cal .dow{font-size:12px;font-weight:700;color:#4a5160;text-align:center}
.cal button{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid #e3e7ee;border-radius:10px;min-height:72px;padding:6px;display:flex;flex-direction:column;gap:3px;font-size:12px;width:100%}
.cal button:focus-visible{outline:3px solid #0040dd;outline-offset:2px}
.cal button[aria-pressed=true]{border-color:#0a0a0a;box-shadow:inset 0 0 0 1px #0a0a0a}
.cal .n{font-weight:800;font-size:15px}.cal .busy{background:#fff1ec}.cal .quiet{background:#f1faf3}
.cal .tag{font-size:11px;font-weight:700;color:#3d4452}
.cal-day{border:1px solid #e3e7ee;border-radius:14px;padding:14px;min-height:96px}
.cal-day h3{margin:0 0 6px;font-size:17px}.cal-day ul{margin:6px 0 0;padding-left:18px}
.best{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;padding:0;list-style:none;min-height:34px}
.best li{border:1px solid #e3e7ee;border-radius:999px;padding:5px 12px;font-size:13.5px;font-weight:600}
.cr-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.cr-tabs button{font:inherit;font-size:13.5px;font-weight:600;border:1px solid #cfd5df;background:#fff;color:#0a0a0a;border-radius:999px;padding:6px 12px;cursor:pointer;min-height:36px}
.cr-tabs button[aria-pressed=true]{background:#0a0a0a;color:#fff;border-color:#0a0a0a}
.estimate{border:1px solid #e3e7ee;border-left:4px solid #0a0a0a;border-radius:10px;padding:10px 14px;font-size:14px;margin:14px 0}
.hist{width:100%;border-collapse:collapse;font-size:13.5px}.hist th,.hist td{border-bottom:1px solid #eef1f6;padding:6px 8px;text-align:left}.hist td.num{font-variant-numeric:tabular-nums}
.hist-wrap{overflow-x:auto}
.rank{list-style:none;margin:10px 0;padding:0;display:grid;gap:6px;min-height:220px}
.rank li{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;font-size:14px;border-bottom:1px solid #eef1f6;padding:6px 0}
.rank .bar{height:6px;border-radius:99px;background:#0a0a0a;display:block;margin-top:4px}
@media (max-width:560px){.cal{gap:4px}.cal button{min-height:62px;padding:4px}.cal .tag{display:none}}
