.ok-pb-bar{bottom:0;left:var(--ok-rail-w,0);z-index:900;background:var(--card);border-top:1px solid var(--line);-webkit-backdrop-filter:saturate(1.2)blur(8px);animation:okpb-slide-up .22s var(--ease-standard,cubic-bezier(.2, .8, .2, 1));position:fixed;right:0;box-shadow:0 -12px 32px #121c3414}@keyframes okpb-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}body.has-playback-bar{padding-bottom:80px}.ok-pb-prog{background:var(--line);height:2px;overflow:hidden}.ok-pb-prog-fill{background:var(--color-brand);height:100%;transition:width .25s var(--ease-standard)}.ok-pb-row{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:18px;min-height:60px;padding:10px 18px 10px 24px;display:grid}.ok-pb-meta{flex:none;align-items:center;gap:8px;display:flex}.ok-pb-count{background:var(--surface);border-radius:var(--r-full);color:var(--ink-soft);font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-semibold);letter-spacing:.04em;align-items:baseline;gap:2px;padding:3px 10px;display:inline-flex}.ok-pb-count-cur{color:var(--color-brand-deep)}.ok-pb-count-sep{opacity:.5;margin:0 2px}.ok-pb-tag{background:var(--surface);border-radius:var(--r-full);color:var(--ink-soft);font-size:11px;font-weight:var(--fw-semibold);letter-spacing:.04em;align-items:center;gap:6px;max-width:140px;padding:3px 10px;display:inline-flex}.ok-pb-tag-dot{background:var(--color-brand);border-radius:50%;flex:none;width:6px;height:6px}.ok-pb-tag-initial{font-family:var(--font-jp);font-weight:var(--fw-bold);color:var(--color-brand-deep)}.ok-pb-tag-name{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-family:var(--font-body);font-weight:var(--fw-semibold);overflow:hidden}.ok-pb-text{text-align:center;min-width:0;padding:0 8px}.ok-pb-jp{font-family:var(--font-jp);font-size:22px;font-weight:var(--fw-bold);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(90deg, var(--color-brand-deep) 0%, var(--color-brand-deep) calc(var(--p,0%) - 3%), var(--color-brand) var(--p,0%), var(--ink-mute) calc(var(--p,0%) + 3%), var(--ink-mute) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;line-height:1.3;transition:background 80ms linear;overflow:hidden}.ok-pb-cn{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin:1px 0 0;font-size:12.5px;line-height:1.4;overflow:hidden}.ok-pb-ctrl{flex:none;align-items:center;gap:6px;display:flex}.ok-pb-sep{background:var(--line);width:1px;height:18px;margin:0 2px}.ok-pb-vol{position:relative}.ok-pb-vol-pop{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);z-index:920;min-width:180px;animation:okpb-pop-in .14s var(--ease-standard);align-items:center;gap:10px;padding:10px 14px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 12px 28px #121c341f}.ok-pb-vol-pop svg{fill:none;width:14px;height:14px;stroke:var(--ink-mute);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.ok-pb-vol-slider{appearance:none;background:var(--line);border-radius:var(--r-full);cursor:pointer;outline:none;flex:1;height:3px}.ok-pb-vol-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-brand);cursor:pointer;border:0;border-radius:50%;width:12px;height:12px}.ok-pb-vol-slider::-moz-range-thumb{background:var(--color-brand);border:0;border-radius:50%;width:12px;height:12px}.ok-pb-vol-pct{font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-semibold);color:var(--ink-mute);text-align:right;min-width:28px}@keyframes okpb-pop-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ok-pb-close svg{stroke-width:2px;stroke-linecap:round;fill:none!important;stroke:currentColor!important}@media (max-width:880px){.ok-pb-row{gap:12px;padding:10px 14px}.ok-pb-tag-name{display:none}}@media (max-width:620px){.ok-pb-meta{display:none}.ok-pb-row{grid-template-columns:minmax(0,1fr) auto auto}}
.okv2 .ok-heatmap-section{background:var(--card);border-radius:var(--r-lg);padding:24px 28px;box-shadow:0 1px 2px #0f172a0a,0 8px 24px -8px #0f172a0f}.okv2 .ok-heatmap-head{justify-content:space-between;align-items:baseline;margin:0 0 14px;display:flex}.okv2 .ok-heatmap-title{font-size:13px;font-weight:var(--fw-bold);color:var(--ink-mute);letter-spacing:.08em;text-transform:uppercase;margin:0}.okv2 .ok-heatmap-count{color:var(--ink-soft);font-size:13px}.okv2 .ok-heatmap-count b{color:var(--ink);font-weight:var(--fw-bold)}.okv2 .ok-heatmap-grid{grid-template-columns:repeat(13,1fr);gap:4px;display:grid}.okv2 .ok-heatmap-grid.is-year{grid-template-rows:repeat(7,1fr);grid-template-columns:repeat(53,1fr);grid-auto-flow:column;gap:3px}.okv2 .ok-heatmap-grid.is-half-year{grid-template-rows:repeat(7,1fr);grid-template-columns:repeat(26,1fr);grid-auto-flow:column;gap:3px}.okv2 .ok-heatmap-cell{aspect-ratio:1;background:var(--sand-line);transition:transform .12s var(--ease-standard);border-radius:3px}.okv2 .ok-heatmap-cell.is-l1{background:var(--lilac-100)}.okv2 .ok-heatmap-cell.is-l2{background:var(--lilac-300)}.okv2 .ok-heatmap-cell.is-l3{background:var(--lilac-500)}.okv2 .ok-heatmap-cell.is-l4{background:var(--color-brand-deep)}.okv2 .ok-heatmap-cell:hover{transform:scale(1.15)}.okv2 .ok-heatmap-legend{color:var(--ink-mute);justify-content:flex-end;align-items:center;gap:6px;margin-top:12px;font-size:11px;display:flex}.okv2 .ok-heatmap-legend-cells{gap:3px;display:flex}.okv2 .ok-heatmap-legend-cells>div{border-radius:2px;width:12px;height:12px}.okv2 .ok-bar-chart{align-items:flex-end;gap:8px;height:180px;padding:8px 0;display:flex}.okv2 .ok-bar-col{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.okv2 .ok-bar-col-track{background:var(--sand-line);border-radius:var(--r-sm);flex:1;align-items:flex-end;width:100%;display:flex;overflow:hidden}.okv2 .ok-bar-col-fill{background:var(--color-brand);border-radius:var(--r-sm) var(--r-sm) 0 0;width:100%;transition:height .4s var(--ease-emphasized)}.okv2 .ok-bar-col-fill.is-warm{background:var(--color-warm)}.okv2 .ok-bar-col-fill.is-mint{background:var(--color-success)}.okv2 .ok-bar-col-fill.is-gold{background:var(--gold-300)}.okv2 .ok-bar-col-label{color:var(--ink-mute);white-space:nowrap;font-size:11px;font-family:var(--font-mono)}.okv2 .ok-bar-col-value{color:var(--ink);font-size:13px;font-weight:var(--fw-semibold);font-family:var(--font-display)}.okv2 .ok-line-chart{width:100%;height:200px;position:relative}.okv2 .ok-line-chart svg{width:100%;height:100%;overflow:visible}.okv2 .ok-line-chart-grid{stroke:var(--line);stroke-width:1px;stroke-dasharray:2 4;opacity:.6}.okv2 .ok-line-chart-fill{fill:var(--color-brand-soft);opacity:.4}.okv2 .ok-line-chart-stroke{fill:none;stroke:var(--color-brand);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.okv2 .ok-line-chart-dot{fill:var(--color-brand);stroke:var(--card);stroke-width:2px;transition:r .15s var(--ease-standard)}.okv2 .ok-line-chart-dot:hover{r:5}.okv2 .ok-line-chart-axis{font-family:var(--font-mono);fill:var(--ink-mute);font-size:10.5px}.okv2 .ok-progress-ring{display:inline-block;position:relative}.okv2 .ok-progress-ring svg{display:block;transform:rotate(-90deg)}.okv2 .ok-progress-ring-track{fill:none;stroke:var(--sand-line);stroke-width:8px}.okv2 .ok-progress-ring-fill{fill:none;stroke:var(--color-brand);stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset .6s var(--ease-emphasized)}.okv2 .ok-progress-ring-fill.is-warm{stroke:var(--color-warm)}.okv2 .ok-progress-ring-fill.is-mint{stroke:var(--color-success)}.okv2 .ok-progress-ring-fill.is-gold{stroke:var(--gold-300)}.okv2 .ok-progress-ring-label{font-family:var(--font-display);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.okv2 .ok-progress-ring-num{font-size:22px;font-weight:var(--fw-extrabold);color:var(--ink);letter-spacing:-.02em;line-height:1}.okv2 .ok-progress-ring-num small{font-size:13px;font-weight:var(--fw-semibold);color:var(--ink-mute);margin-left:1px}.okv2 .ok-progress-ring-tag{color:var(--ink-mute);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:var(--fw-bold);margin-top:4px}