:root{--navy:#173a5e;--ink:#162330;--muted:#647281;--line:#d8e0e7;--paper:#fff;--wash:#f3f6f8;--green:#147d64;--shadow:0 8px 24px rgba(19,43,65,.12)}
*{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;letter-spacing:0}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:10px max(16px,env(safe-area-inset-left));background:var(--navy);color:#fff;border-bottom:3px solid #e6b94d}.kicker{margin:0;font-size:10px;font-weight:700;letter-spacing:.08em;opacity:.75}.topbar h1{font-size:20px;line-height:1.2;margin:2px 0 0}.icon-button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:transparent;color:inherit}.icon-button svg{width:21px;height:21px}main{max-width:1120px;margin:auto;padding:12px 12px 48px}.filter-panel{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;align-items:end;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.filter-heading,.close-button{display:none}.filter-panel label,.filter-panel legend{font-size:12px;font-weight:700;color:var(--muted)}select,input{display:block;width:100%;height:40px;margin-top:5px;padding:0 10px;border:1px solid #bdc8d2;border-radius:5px;background:#fff;color:var(--ink);font-size:15px}fieldset{grid-column:span 3;margin:0;padding:0;border:0}.segments{display:flex;gap:4px;margin-top:5px}.segments button,.view-tabs button{min-height:40px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:700}.segments button{flex:1;border-radius:5px}.segments button.active{background:var(--navy);border-color:var(--navy);color:#fff}.text-button{display:flex;align-items:center;justify-content:center;gap:6px;height:40px;border:1px solid var(--line);border-radius:5px;background:#fff;font-weight:700}.text-button svg{width:16px}.status-row{display:flex;justify-content:space-between;gap:12px;padding:12px 3px 7px;color:var(--muted);font-size:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.metrics article{padding:12px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--green);border-radius:6px}.metrics span{display:block;font-size:12px;color:var(--muted)}.metrics strong{display:block;margin-top:3px;font-size:22px;font-variant-numeric:tabular-nums}.view-tabs{display:flex;margin-top:14px;border-bottom:1px solid #b9c4ce}.view-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted)}.view-tabs button.active{border-color:var(--navy);color:var(--navy)}.view-tabs svg{width:18px}.content{margin-top:10px}.empty{padding:50px 20px;text-align:center;color:var(--muted);background:#fff;border:1px solid var(--line)}.date-group{margin-bottom:12px;background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.date-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#e8eef3;border-bottom:1px solid var(--line)}.date-head h2{margin:0;font-size:16px}.date-head span{font-size:12px;color:var(--muted)}
.dataset-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:8px;padding:3px;background:#dfe6ec;border:1px solid var(--line);border-radius:7px}.dataset-switch button{height:36px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:13px;font-weight:800}.dataset-switch button.active{background:#fff;color:var(--navy);box-shadow:0 1px 4px rgba(19,43,65,.16)}
.record-grid{display:flex;flex-direction:column}.record{display:grid;grid-template-columns:minmax(105px,1.5fr) repeat(4,minmax(70px,1fr));align-items:center;min-height:66px;padding:8px 12px;border-bottom:1px solid var(--line);background:#fff;font-variant-numeric:tabular-nums}.record.good-red,.floor-tile.good-red{background:#ffe3e3}.record.good-pink,.floor-tile.good-pink{background:#ffe9f0}.record.good-yellow,.floor-tile.good-yellow{background:#fff5cd}.record.low-games,.floor-tile.low-games{background:#d8dde2}.record-id strong{display:block;font-size:19px}.record-id small{display:block;color:var(--muted);font-size:10px}.record-stat{padding-left:10px;border-left:1px solid rgba(66,83,99,.16)}.record-stat span{display:block;color:var(--muted);font-size:10px}.record-stat b{display:block;margin-top:2px;font-size:16px}.record-stat.primary b{font-size:22px}.setting-high{color:#b32727;font-weight:900}
.trend-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);font-variant-numeric:tabular-nums}.trend-table th,.trend-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:right}.trend-table th:first-child,.trend-table td:first-child{text-align:left}.trend-table thead{position:sticky;top:68px;background:#e8eef3;z-index:4}.rate-bar{display:inline-flex;align-items:center;gap:7px;min-width:100px}.rate-bar span{height:8px;min-width:3px;max-width:72px;background:var(--green);border-radius:2px}.event-card{margin-bottom:10px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:6px;padding:13px}.event-card h2{margin:0 0 8px;font-size:16px}.event-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.event-stats div{padding:8px;background:var(--wash);border-radius:4px}.event-stats span{display:block;color:var(--muted);font-size:11px}.event-stats strong{font-size:18px}
.floor-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:10px 12px;background:#e8eef3;border:1px solid var(--line);border-radius:6px}.floor-head h2{margin:0;font-size:16px}.floor-head span{font-size:12px;color:var(--muted)}.floor-wrap{display:flex;gap:18px;align-items:flex-start;overflow-x:auto;padding:12px;background:#dfe5e9;border:1px solid #c7d0d8;border-radius:7px}.island{flex:0 0 auto;padding:7px;background:#fff;border:2px solid #526575;border-radius:4px}.island-title{margin-bottom:6px;text-align:center;color:var(--muted);font-size:10px;font-weight:700}.island-sides{display:flex;gap:12px}.island-side{display:grid;grid-template-columns:58px;gap:3px}.floor-tile{display:flex;flex-direction:column;justify-content:center;min-height:52px;padding:4px;border:1px solid #aeb9c2;background:#f6f8f9;text-align:center;font-variant-numeric:tabular-nums}.floor-tile.empty{color:#9aa6b0;background:#f4f5f6}.floor-tile strong{font-size:14px}.floor-tile b{font-size:16px}.floor-tile small{font-size:9px;color:#596a78}
@media(max-width:720px){main{padding:10px 8px 42px}.filter-panel{position:fixed;inset:0 0 auto 0;z-index:50;display:none;grid-template-columns:1fr 1fr;max-height:92vh;overflow:auto;padding:14px 12px calc(16px + env(safe-area-inset-bottom));border:0;border-radius:0 0 8px 8px;box-shadow:var(--shadow)}.filter-panel.open{display:grid}.filter-heading{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;font-size:18px}.close-button{display:grid;color:var(--ink);border-color:var(--line)}fieldset{grid-column:1/-1}.text-button{grid-column:1/-1}.status-row{font-size:11px}.metrics{grid-template-columns:1fr 1fr}.metrics article{padding:10px}.metrics strong{font-size:20px}.view-tabs button{gap:3px;font-size:10px}.view-tabs svg{width:15px}.record{grid-template-columns:minmax(82px,1.35fr) repeat(3,minmax(58px,1fr));min-height:62px;padding:7px 8px}.record-stat{padding-left:6px}.record-stat.setting{display:none}.record-id strong{font-size:17px}.record-stat b{font-size:14px}.record-stat.primary b{font-size:20px}.date-head{align-items:flex-start;gap:8px}.date-head span{text-align:right}.trend-table th:nth-child(4),.trend-table td:nth-child(4){display:none}.event-stats{grid-template-columns:1fr 1fr 1fr}.floor-wrap{gap:14px;padding:10px}.island-side{grid-template-columns:54px}.floor-tile{min-height:50px}}
@media(min-width:721px){.topbar .icon-button{display:none}}
.setting-high{color:#b32727!important;font-weight:900!important}
.history-note{display:flex;align-items:center;justify-content:space-between;padding:8px 3px;color:var(--muted);font-size:12px}.history-note strong{color:var(--ink)}
.selection-heading{display:flex;align-items:baseline;gap:8px;padding:8px 3px 0}.selection-heading span{color:var(--muted);font-size:10px;font-weight:700}.selection-heading h2{margin:0;font-size:16px;line-height:1.2}
.history-wrap{max-height:calc(100vh - 250px);overflow:auto;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.history-table{min-width:max-content;width:100%;border-spacing:0;border-collapse:separate;font-variant-numeric:tabular-nums}.history-table th,.history-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.history-table thead th{position:sticky;top:0;z-index:5;height:54px;padding:7px 8px;background:var(--navy);color:#fff;text-align:center}
.machine-column{position:sticky;left:0;z-index:3;width:92px;min-width:92px;padding:7px 8px;background:#f4f7f9;text-align:left}.history-table thead .machine-column{z-index:7;background:#102d49;text-align:center}.machine-column strong,.machine-column small{display:block}.machine-column strong{font-size:17px}.machine-column small{max-width:76px;margin-top:2px;overflow:hidden;color:var(--muted);font-size:9px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.date-column{width:94px;min-width:94px}.date-column strong,.date-column small{display:block}.date-column small{margin-top:2px;color:#dce7ef;font-size:9px;font-weight:600}.date-column .event-note{max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.period-head{background:#0f6655!important}
.day-cell{height:79px;padding:6px;text-align:center;background:#fff}.day-cell strong,.day-cell span{display:block}.day-cell strong{font-size:20px;line-height:1.1}.day-cell span{margin-top:2px;color:#536576;font-size:10px;line-height:1.15}.day-cell.good-red{background:#ffe3e3}.day-cell.good-pink{background:#ffe9f0}.day-cell.good-yellow{background:#fff5cd}.day-cell.low-games{background:#d8dde2}.day-cell.missing{color:#a7b0b8;background:#f7f8f9}.day-cell.period-cell{border-left:2px solid #81a99f;background:#eef7f4}
@media(max-width:720px){.history-wrap{max-height:calc(100vh - 222px)}.machine-column{width:78px;min-width:78px;padding:6px}.machine-column strong{font-size:16px}.machine-column small{max-width:66px}.date-column{width:88px;min-width:88px}.day-cell{height:76px;padding:5px}.day-cell strong{font-size:19px}}
.topbar{min-height:56px;padding-top:7px;padding-bottom:7px}.topbar h1{font-size:17px}.kicker{font-size:8px}.icon-button{width:38px;height:38px}main{padding-top:8px}.status-row{padding-top:8px}.metrics article{padding:8px 10px}.metrics strong{font-size:18px}.view-tabs{margin-top:10px}.view-tabs button{min-height:35px;font-size:12px}
.history-note{padding:5px 2px;font-size:10px}.history-wrap{max-height:none;overflow-x:auto;overflow-y:visible;box-shadow:none}.history-table thead th{height:45px;padding:5px 6px}.machine-column{width:70px;min-width:70px;padding:5px 6px}.machine-column strong{font-size:15px}.machine-column small{max-width:58px;font-size:8px}.date-column{width:78px;min-width:78px}.date-column strong{font-size:13px}.date-column small{font-size:8px}.date-column .event-note{max-width:72px}.day-cell{height:62px;padding:4px}.day-cell strong{font-size:17px}.day-cell span{margin-top:1px;font-size:8px}
.floor-head{padding:7px 9px}.floor-head>div span{display:block;margin-top:1px}.floor-head label{color:var(--muted);font-size:9px;font-weight:700}.floor-head select{width:auto;min-width:120px;height:31px;margin-top:2px;padding:0 24px 0 8px;font-size:12px}.floor-legend{display:flex;gap:4px;margin:0 0 5px;overflow-x:auto}.floor-legend span{flex:0 0 auto;padding:3px 6px;border:1px solid var(--line);font-size:9px}.legend-red{background:#ffe3e3}.legend-pink{background:#ffe9f0}.legend-yellow{background:#fff5cd}.legend-gray{background:#d8dde2}.floor-wrap{gap:12px;padding:8px}.island{padding:5px}.island-sides{gap:8px}.island-side{grid-template-columns:50px}.floor-tile{min-height:44px;padding:3px}.floor-tile strong{font-size:12px}.floor-tile b{font-size:14px}.floor-tile small{font-size:8px}
@media(max-width:720px){main{padding-top:7px}.selection-heading{padding-top:6px}.selection-heading h2{font-size:14px}.status-row{padding-top:5px}.metrics{gap:5px}.metrics article{padding:7px 8px}.metrics strong{font-size:17px}.view-tabs button{min-height:33px;font-size:9px}.history-wrap{max-height:none}.history-table thead th{height:39px;padding:3px 2px}.machine-column{width:50px;min-width:50px;padding:2px}.machine-column strong{font-size:11px}.machine-column small{max-width:46px;font-size:6px}.date-column{width:46px;min-width:46px}.date-column strong{font-size:9px}.date-column small{font-size:6px}.date-column .event-note{display:none}.day-cell{height:51px;padding:2px 1px}.day-cell strong{font-size:13px}.day-cell span{font-size:6px;line-height:1.05}.floor-head h2{font-size:14px}.floor-head select{min-width:112px}.floor-wrap{gap:10px;padding:7px}.island-side{grid-template-columns:48px}.floor-tile{min-height:42px}}
@media(max-width:720px){.dataset-switch{margin-bottom:6px}.dataset-switch button{height:32px;font-size:12px}}
.island-sides{align-items:start}.island-side{grid-template-columns:58px}.floor-tile{width:58px;height:58px;min-height:0;justify-content:flex-start;overflow:hidden;padding:3px}.tile-top{display:flex;align-items:center;justify-content:space-between;width:100%;line-height:1}.tile-top strong{font-size:9px}.tile-top em{font-size:8px;font-style:normal;font-weight:800}.floor-tile>b{margin-top:1px;font-size:14px;line-height:1}.floor-tile small{line-height:1.05}.floor-tile .tile-machine{width:100%;margin-top:2px;overflow:hidden;font-size:6px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.floor-tile.empty{justify-content:center}.floor-tile.empty>strong{font-size:9px}.floor-tile.empty>small{font-size:7px}
@media(max-width:720px){.island-side{grid-template-columns:54px}.floor-tile{width:54px;height:54px}.floor-tile>b{font-size:13px}.floor-tile .tile-machine{font-size:6px}}
