.viz-root{--s1:#2a78d6;--s2:#eb6834;--grid:#e3e8e6;--axis:#8a9a9d}
@media (prefers-color-scheme:dark){.viz-root{--s1:#3987e5;--s2:#d95926;--grid:#24434a;--axis:#7f9699}}
.hhead{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:8px}
.tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tools label{display:flex;gap:6px;align-items:center;margin:0}.tools input{width:auto;padding:7px 9px}.tools .seg{margin:0}
.legend .sw{display:inline-block;width:18px;height:3px;border-radius:2px;vertical-align:middle;margin-right:5px}.sw.s1{background:var(--s1)}.sw.s2{background:var(--s2)}
.dia{display:inline-block;width:8px;height:8px;background:var(--ink);transform:rotate(45deg);margin-right:6px;vertical-align:middle}
.day{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px 10px 4px;margin:8px 0;position:relative}
.day h3{font-size:.85rem;margin:0 0 2px;display:flex;justify-content:space-between;color:var(--ink)}.day h3 span{font-weight:500;color:var(--muted)}
.day svg{width:100%;height:130px;display:block;overflow:visible}
.day .gl{stroke:var(--grid);stroke-width:1}.day .ax{fill:var(--muted);font-size:10px}.day .l1{stroke:var(--s1)}.day .l2{stroke:var(--s2)}
.day path.ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.day .ch{stroke:var(--axis);stroke-width:1}.day .nt{fill:var(--ink)}
.day .hit{fill:transparent;cursor:crosshair}
.tip{position:fixed;z-index:20;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;padding:8px 10px;font-size:.8rem;pointer-events:none;max-width:280px}
.tip b{font-variant-numeric:tabular-nums}.tip i{display:inline-block;width:10px;height:3px;border-radius:2px;margin-right:5px;vertical-align:middle}
@media print{.noprint,.tabs,.top{display:none!important}body{padding:0;background:#fff}.day{break-inside:avoid;border-color:#ccc}}
.tick{display:inline-block;width:3px;height:12px;background:var(--ink);margin-right:6px;vertical-align:middle;border-radius:1px}
.day .ld1{fill:var(--s1)}.day .ld2{fill:var(--s2)}
.gt{border-collapse:collapse;font-size:.8rem;font-variant-numeric:tabular-nums;min-width:640px}.gt th,.gt td{padding:4px 6px;text-align:center;border-top:1px solid var(--line)}.gt th:first-child,.gt td:first-child{text-align:left;white-space:nowrap}
#gapTable{overflow-x:auto}

.gapsec>div{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
