:root{--color-bg:#fff;--color-ink:#1f2430;--color-ink-soft:#5b6472;--color-ink-faint:#9aa3af;--color-border:#e4e7ec;--color-accent:#d65c7a;--color-panel-bg:#fafbfc;--font-ui:"Hiragino Sans", "Yu Gothic", "Noto Sans JP", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display:"Hiragino Sans", "Yu Gothic", "Noto Sans JP", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--color-bg);min-height:100%;color:var(--color-ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;padding:0}#app{flex-direction:column;height:100dvh;display:flex}.page-header,.filter-panel,.stats-summary{flex-shrink:0}.page-header{border-bottom:1px solid var(--color-border);padding:28px 32px 16px}.page-header__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.site-brand{font-family:var(--font-display);letter-spacing:.12em;color:var(--color-accent);text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:800;text-decoration:none;display:inline-block}.site-brand:hover{text-underline-offset:3px;text-decoration:underline}.dataset-select{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.page-header__controls{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.dataset-select__label{color:var(--color-ink-faint);font-size:11.5px;font-weight:700}.dataset-select select{color:var(--color-ink);border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:6px;padding:5px 10px;font-family:inherit;font-size:13px}.dataset-select select:disabled{cursor:default;opacity:.6}.page-title{font-family:var(--font-display);letter-spacing:.01em;margin:0 0 6px;font-size:22px;font-weight:800;line-height:1.3}.page-nav{margin:0 0 6px}.page-nav a{color:var(--color-accent);font-size:12.5px;font-weight:600;text-decoration:none}.page-nav a:hover{text-decoration:underline}.page-meta{color:var(--color-ink-faint);margin:0;font-size:12.5px}.filter-panel{border-bottom:1px solid var(--color-border);background:var(--color-panel-bg);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 32px;display:flex}.filter-panel__actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.filter-panel__group-toggle{font-weight:600}.filter-panel__divider{background:var(--color-border);width:1px;height:16px;margin:0 4px}.filter-panel__label{color:var(--color-ink-soft);margin-right:4px;font-size:12.5px;font-weight:700}.filter-btn{color:var(--color-ink-soft);border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:12px;transition:border-color .15s,color .15s}.filter-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.filter-btn:focus-visible,.filter-checkbox input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.filter-checkboxes{flex-wrap:wrap;align-items:flex-start;gap:6px 14px;display:flex}.filter-group{flex-direction:column;align-items:flex-start;gap:4px;display:inline-flex}.filter-checkbox{color:var(--color-ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:13px;display:inline-flex}.filter-checkbox--big,.filter-checkbox--standalone{font-weight:700}.filter-checkbox--leaf{color:var(--color-ink-soft);margin-left:18px;font-weight:400}.filter-checkbox input{accent-color:var(--color-accent);cursor:pointer;width:14px;height:14px}.stats-summary{z-index:20;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff5;align-items:center;gap:16px;min-height:48px;padding:8px 32px;display:flex;position:sticky;top:0;box-shadow:0 4px 12px #1f24300a}.stats-summary[hidden]{display:none}.stats-summary__live,.stats-summary__values{align-items:center;display:flex}.stats-summary__live{gap:18px;min-width:0}.stats-summary__label{flex-shrink:0;margin:0;font-size:13px;font-weight:800}.stats-summary__values{gap:18px;margin:0}.stats-summary__item{white-space:nowrap;align-items:baseline;gap:5px;display:flex}.stats-summary__item dt{color:var(--color-ink-faint);font-size:11.5px;font-weight:700}.stats-summary__item dd{color:var(--color-ink);margin:0;font-size:13px;font-weight:700}.stats-summary__toggle{color:var(--color-accent);cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;gap:4px;padding:3px 7px;font-family:inherit;font-size:12px;font-weight:700;display:inline-flex}.stats-summary__toggle-icon{transition:transform .15s;display:inline-block}.stats-summary__toggle[aria-expanded=true] .stats-summary__toggle-icon{transform:rotate(180deg)}.stats-summary__toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.stats-summary__details{border-left:1px solid var(--color-border);align-items:center;gap:14px;padding-left:16px;display:flex}.stats-summary__details[hidden]{display:none}.stats-summary__warning{color:#8a3a3a;white-space:nowrap;margin:0;font-size:12px;font-weight:600}.chart-scroll{overscroll-behavior-x:contain;overscroll-behavior-y:auto;flex:auto;min-height:280px;padding:24px 32px 48px;overflow:auto}.chart-root{display:inline-block}#surface-chart{transition:opacity .16s ease-out}#surface-chart[data-updating]{opacity:.55;transition-duration:60ms;transition-timing-function:ease-in}.chart-root:focus-visible{outline-offset:-3px;outline:3px solid #1d65c1}:is(.chart-root:has(.timeline-vertical),.chart-root:has(.stats-vertical)){width:100%;display:block}:is(.chart-scroll:has(.timeline-vertical),.chart-scroll:has(.stats-vertical)){overflow:visible}.page-main,.chart-region,#surface-chart{width:100%;min-width:0}.page-main{padding-bottom:env(safe-area-inset-bottom,0px)}.chart-region{max-width:var(--chart-max-width,1180px);margin-inline:auto}.page-surface{border:1px solid var(--color-border);background:#fff;border-radius:10px;margin:24px 32px 48px;padding:24px}.page-surface--status{color:var(--color-ink-soft)}.page-surface--error h2,.page-surface--error p{margin:0}.page-surface--error h2{margin-bottom:8px;font-size:16px}.detail-guidance{color:var(--color-ink-soft);margin:10px 32px 0;font-size:12px}.detail-panel{z-index:60;border:1px solid var(--color-border);background:#fff;border-radius:14px;flex-direction:column;width:min(420px,100vw - 48px);max-height:min(70vh,520px);display:flex;position:fixed;inset-block-end:24px;inset-inline-end:24px;overflow:hidden;box-shadow:0 18px 48px #14161c3d}.detail-panel[hidden]{display:none}.detail-panel__header{z-index:1;border-bottom:1px solid var(--color-border);background:#fff;grid-template-columns:minmax(0,1fr) 40px;align-items:start;gap:10px;padding:14px 14px 12px;display:grid;position:sticky;top:0}.detail-panel__identity{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.detail-panel__avatar{background:var(--member-color,#667085);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:700;display:grid;overflow:hidden}.detail-panel__avatar img{object-fit:cover;object-position:center;width:100%;height:100%}.detail-panel__identity-text{gap:3px;min-width:0;display:grid}.detail-panel__member-name,.detail-panel__groups{overflow-wrap:anywhere}.detail-panel__groups{color:var(--color-ink-soft);font-size:12px}.detail-panel__close{background:var(--color-panel-bg);width:44px;height:44px;color:var(--color-ink);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;font-size:24px;display:grid}.detail-panel__close:focus-visible{outline-offset:2px;outline:3px solid #1d65c1}.detail-panel__body{overscroll-behavior:contain;min-height:0;padding:16px;overflow:hidden auto}.detail-panel__presence{border-bottom:1px solid var(--color-border);color:#7a3e00;background:#fff4e6;margin:0;padding:10px 16px;font-size:12px;font-weight:700}.detail-panel__presence[hidden]{display:none}.detail-panel__fields{gap:12px;margin:0;display:grid}.detail-panel__field{grid-template-columns:minmax(90px,.45fr) minmax(0,1fr);gap:12px;display:grid}.detail-panel__field dt{color:var(--color-ink-soft);font-size:12px;font-weight:700}.detail-panel__field dd{overflow-wrap:anywhere;margin:0;font-weight:650}.detail-panel__field--primary dd{font-size:20px;font-weight:800;line-height:1.25}.detail-panel__stats-heading{border-top:1px solid var(--color-border);margin:18px 0 10px;padding-top:14px;font-size:13px}.detail-panel__field--secondary dd{font-weight:400}.detail-panel__event-count{margin:0 0 16px;font-size:16px}.detail-panel__event-group+.detail-panel__event-group{margin-top:18px}.detail-panel__event-date{border-bottom:1px solid var(--color-border);margin:0 0 8px;padding-bottom:6px;font-size:14px}.detail-panel__event-list{gap:8px;margin:0;padding-inline-start:20px;display:grid}.chart-tooltip{z-index:80;width:max-content;max-width:min(360px,100vw - 16px);max-height:calc(100vh - 16px);color:var(--color-ink);overflow-wrap:anywhere;pointer-events:none;white-space:normal;background:#fff;border:1px solid #495057;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.45;position:fixed;overflow:hidden;box-shadow:0 10px 28px #14161c3d}.chart-tooltip[hidden]{display:none}.chart-tooltip__identity{gap:2px;margin-bottom:8px;display:grid}.chart-tooltip__member{font-size:14px}.chart-tooltip__groups{color:var(--color-ink-soft);font-size:12px}.chart-tooltip__heading{margin-bottom:6px;font-weight:700}.chart-tooltip__fields{gap:6px;margin:0;display:grid}.chart-tooltip__fields>div{grid-template-columns:minmax(82px,.45fr) minmax(0,1fr);gap:10px;display:grid}.chart-tooltip__fields dt{color:var(--color-ink-soft);font-size:12px;font-weight:700}.chart-tooltip__fields dd{margin:0;font-weight:650}.chart-tooltip__field--primary dd{font-size:15px;font-weight:800}.chart-tooltip__fields--has-secondary .chart-tooltip__field--primary{border-bottom:1px solid var(--color-border);margin-bottom:1px;padding-bottom:6px}.chart-tooltip__field--secondary dd{font-weight:400}.chart-tooltip__events{gap:5px;margin:0;padding-inline-start:18px;display:grid}.chart-tooltip__events li{padding-inline-start:2px}.chart-tooltip__event-date{color:var(--color-ink-soft);font-variant-numeric:tabular-nums;margin-inline-end:8px}.chart-tooltip__omitted{margin:7px 0 0;font-weight:700}.chart-tooltip__instruction{border-top:1px solid var(--color-border);color:var(--color-ink-soft);margin:8px 0 0;padding-top:8px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.vertical-chart-frame,.vertical-chart-axis,.vertical-chart-row{grid-template-columns:var(--chart-aux-width,168px) minmax(0, 1fr);width:100%;min-width:0;display:grid}.vertical-chart-axis{z-index:20;background:var(--color-panel-bg);position:sticky;top:0}.stats-vertical{--stats-row-height:72px;display:block}.stats-axis{top:var(--stats-summary-sticky-height,0px);border-bottom:1px solid var(--color-border);min-height:52px}.stats-axis__chart,.stats-axis__scale{min-width:0;position:relative}.stats-axis__chart{min-height:52px}.stats-axis__scale{height:100%}.stats-axis__scale:after{background:var(--color-border);content:"";height:1px;position:absolute;inset:auto 0 8px}.stats-axis__tick{inset-inline-start:calc(var(--stats-ratio) * 100%);z-index:1;color:var(--color-ink-soft);white-space:nowrap;font-size:12px;position:absolute;bottom:10px;translate:-50%}.stats-axis__tick:first-child{translate:0}.stats-axis__tick:last-child{translate:-100%}.stats-axis__unit{max-width:100%;color:var(--color-ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:11px;position:absolute;inset-block-start:4px;inset-inline-end:0;overflow:hidden}.stats-member-row{min-height:var(--stats-row-height);border-bottom:1px solid var(--color-border)}.stats-member-target{grid-column:1/-1;grid-template-columns:var(--chart-aux-width,168px) minmax(0, 1fr);width:100%;min-height:var(--stats-row-height);color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0;display:grid}.stats-member-target:hover{background:color-mix(in srgb, var(--color-panel-bg) 70%, transparent)}.stats-member-target[data-selected=true]{box-shadow:inset 0 0 0 2px #a61e4d}.stats-member-target:focus-visible{outline-offset:-3px;outline:3px solid #1d65c1}.stats-member-target[data-preview=true] .stats-member-bar{outline-offset:2px;opacity:1;outline:3px solid #087f8c}.stats-member-target[data-preview=true] .stats-member-value{text-underline-offset:3px;-webkit-text-decoration:underline #087f8c;text-decoration:underline #087f8c;text-decoration-thickness:2px}.stats-member-identity{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:10px 10px 10px 0;display:grid}.stats-avatar{background:var(--member-color,#667085);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:700;display:grid;overflow:hidden}.stats-avatar img{object-fit:cover;object-position:center;width:100%;height:100%}.stats-member-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:650;overflow:hidden}.stats-member-chart{min-width:0;min-height:var(--stats-row-height);position:relative}.stats-member-bar{width:calc(var(--stats-ratio) * 100%);background:var(--member-color,#667085);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--member-color,#667085) 55%, #111);opacity:.82;border-radius:0 5px 5px 0;position:absolute;inset-block:19px;inset-inline-start:0}.stats-member-value{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;position:absolute;inset-block-start:50%;overflow:hidden;translate:0 -50%}.stats-member-value--bar-end{color:var(--member-text-color,#fff);inset-inline-start:calc(var(--stats-ratio) * 100%);translate:calc(-100% - 8px) -50%}.stats-member-value--chart-start{color:var(--color-ink);inset-inline-start:8px}.timeline-vertical{--timeline-row-height:88px;display:block}.timeline-axis{grid-template-columns:var(--chart-aux-width,168px) minmax(0, 1fr);border-bottom:1px solid var(--color-border);min-height:44px;display:grid}.timeline-axis__scale{min-width:0;position:relative}.timeline-axis__tick{inset-inline-start:calc(var(--timeline-ratio) * 100%);color:var(--color-ink-soft);white-space:nowrap;font-size:12px;position:absolute;bottom:8px;translate:-50%}.timeline-group-heading{min-height:36px;color:var(--color-ink-soft);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:24px 0 10px;padding-inline-start:var(--chart-aux-width,168px);font-size:13px;display:grid}.timeline-axis+.timeline-group-heading{margin-top:0}.timeline-group-heading__line{background:var(--color-border);pointer-events:none;height:1px}.timeline-group-heading__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(520px,70vw);overflow:hidden}.timeline-group-heading__trigger{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 4px}.timeline-group-heading__trigger:focus-visible{outline-offset:2px;outline:3px solid #1d65c1}.timeline-group-heading__separator{color:var(--color-ink-faint);padding-inline:.5em}.timeline-group-popover{z-index:45;border:1px solid var(--color-border);max-width:min(420px,100vw - 16px);color:var(--color-ink);overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;background:#fff;border-radius:8px;padding:10px 12px;line-height:1.5;position:fixed;box-shadow:0 8px 24px #14161c33}.timeline-member-row{min-height:var(--timeline-row-height);border-bottom:1px solid var(--color-border);position:relative}.timeline-member-target{grid-column:1/-1;grid-template-columns:var(--chart-aux-width,168px) minmax(0, 1fr);width:100%;min-height:var(--timeline-row-height);color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0;display:grid}.timeline-member-target:hover{background:color-mix(in srgb, var(--color-panel-bg) 70%, transparent)}.timeline-member-target[data-selected=true]{box-shadow:inset 0 0 0 2px #a61e4d}.timeline-member-target:focus-visible,.timeline-event-target:focus-visible{outline-offset:-3px;outline:3px solid #1d65c1}.timeline-member-target[data-preview=true] .timeline-period__bar{outline-offset:2px;outline:3px solid #087f8c}.timeline-event-target:hover .timeline-event-line,.timeline-event-target:focus-visible .timeline-event-line,.timeline-event-target[data-selected=true] .timeline-event-line{background:#a61e4d;border:0;width:3px;box-shadow:0 0 0 1px #fff}.timeline-event-target[data-preview=true] .timeline-event-line{background:#087f8c;border:0;width:4px;box-shadow:0 0 0 1px #fff}.timeline-event-target[data-selected=true][data-preview=true] .timeline-event-line{background:#a61e4d;box-shadow:0 0 0 1px #fff,0 0 0 3px #087f8c}.timeline-member-identity{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:12px 10px 12px 0;display:grid}.timeline-avatar{background:var(--member-color,#667085);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:700;display:grid;overflow:hidden}.timeline-avatar img{object-fit:cover;object-position:center;width:100%;height:100%}.timeline-member-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:650;overflow:hidden}.timeline-member-chart,.timeline-event-layer{min-width:0;min-height:var(--timeline-row-height);position:relative}.timeline-period{position:absolute;inset:0}.timeline-period__bar{width:calc((var(--timeline-end) - var(--timeline-start)) * 100%);background:var(--member-color);border-radius:3px;height:16px;position:absolute;inset-block-start:31px;inset-inline-start:calc(var(--timeline-start) * 100%)}.timeline-period__boundary{background:color-mix(in srgb, var(--member-color) 65%, #111);width:1px;position:absolute;inset-block:24px 34px}.timeline-period__boundary--start{inset-inline-start:calc(var(--timeline-start) * 100%)}.timeline-period__boundary--end{inset-inline-start:calc(var(--timeline-end) * 100%)}.timeline-period__duration{white-space:nowrap;font-size:12px;position:absolute;inset-block-start:52px}.timeline-period__duration--inside-end{inset-inline-start:calc(var(--timeline-end) * 100%);translate:-100%}.timeline-period__duration--outside-end{inset-inline-start:calc(var(--timeline-end) * 100% + 4px)}.timeline-period__duration--inside-start{inset-inline-end:calc((1 - var(--timeline-start)) * 100%)}.timeline-event-layer{inset-block:0;inset-inline:var(--chart-aux-width,168px) 0;pointer-events:none;position:absolute}.timeline-event-target{width:calc((var(--event-hit-end) - var(--event-hit-start)) * 100%);pointer-events:auto;cursor:pointer;background:0 0;border:0;min-width:1px;padding:0;position:absolute;inset-block:15px 22px;inset-inline-start:calc(var(--event-hit-start) * 100%)}.timeline-event-line{box-sizing:border-box;border-inline-start:1px dashed var(--color-ink-soft);pointer-events:none;background:0 0;width:1px;position:absolute;inset-block:0;inset-inline-start:calc((var(--timeline-ratio) - var(--event-hit-start)) / (var(--event-hit-end) - var(--event-hit-start)) * 100%);translate:-50%}@media (width<=700px){.chart-region{--chart-aux-width:112px}.page-surface,.detail-guidance{margin-inline:16px}.detail-panel{width:100%;max-height:min(62vh,520px);padding-bottom:env(safe-area-inset-bottom,0px);border-radius:16px 16px 0 0;inset:auto 0 0}.detail-panel-open .chart-scroll{padding-bottom:calc(62vh + 48px + env(safe-area-inset-bottom,0px))}.timeline-vertical{--timeline-row-height:82px}.timeline-axis,.timeline-member-target{grid-template-columns:var(--chart-aux-width,112px) minmax(0, 1fr)}.timeline-group-heading{padding-inline-start:var(--chart-aux-width,112px)}.timeline-event-layer{inset-inline-start:var(--chart-aux-width,112px)}.timeline-member-identity{grid-template-columns:32px minmax(0,1fr);gap:6px}.timeline-avatar{width:32px;height:32px}.stats-vertical{--stats-row-height:66px}.stats-axis,.stats-member-target{grid-template-columns:var(--chart-aux-width,112px) minmax(0, 1fr)}.stats-member-identity{grid-template-columns:32px minmax(0,1fr);gap:6px}.stats-avatar{width:32px;height:32px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (forced-colors:active){.vertical-chart-axis{background:canvas;border-color:canvastext}.stats-member-bar,.timeline-period__bar{forced-color-adjust:none;opacity:1;background:highlight;border:1px solid canvastext}.stats-member-value--bar-end{color:highlighttext;forced-color-adjust:none}.timeline-period__boundary{background:canvastext}.timeline-event-line{forced-color-adjust:none;border-color:canvastext}.stats-member-target:hover,.timeline-member-target:hover{outline-offset:-3px;outline:2px dashed highlight}.chart-root:focus-visible,.detail-panel__close:focus-visible,.stats-member-target:focus-visible,.timeline-member-target:focus-visible,.timeline-event-target:focus-visible{outline-color:highlight}.stats-member-target[data-selected=true],.timeline-member-target[data-selected=true]{box-shadow:inset 0 0 0 2px highlight}.stats-member-target[data-preview=true] .stats-member-bar,.timeline-member-target[data-preview=true] .timeline-period__bar{outline-color:highlight}.stats-member-target[data-preview=true] .stats-member-value{text-decoration-color:highlight}.timeline-event-target:hover .timeline-event-line,.timeline-event-target:focus-visible .timeline-event-line,.timeline-event-target[data-selected=true] .timeline-event-line,.timeline-event-target[data-preview=true] .timeline-event-line{background:highlight;box-shadow:0 0 0 1px canvas}.timeline-event-target[data-selected=true][data-preview=true] .timeline-event-line{box-shadow:0 0 0 1px canvas,0 0 0 3px highlight}}@media (width<=700px){.page-header,.filter-panel,.stats-summary{padding-left:16px;padding-right:16px}.page-header__controls,.dataset-select{min-width:0;max-width:100%}.dataset-select{flex-wrap:wrap}.dataset-select select{max-width:100%}.stats-summary{flex-wrap:wrap;align-items:flex-start;gap:6px 12px}.stats-summary__live{flex-wrap:wrap;flex-basis:calc(100% - 64px);align-items:flex-start;gap:5px 12px}.stats-summary__values{flex-wrap:wrap;gap:4px 14px}.stats-summary__details{border-top:1px solid var(--color-border);border-left:0;flex-basis:100%;padding:6px 0 0}.chart-scroll{padding-left:16px;padding-right:16px}}
