.home-utilities { gap:8px; }
.home-utilities .icon-button { margin:0; }
.puzzle-context .context-progress { display:none; }
.play-timer { flex:none; min-width:54px; font-size:14px; line-height:22px; font-weight:650; font-variant-numeric:tabular-nums; color:var(--ink); text-align:right; }
.timer-paused { color:var(--muted); }
.puzzle-complete .play-timer { color:var(--game-color); }
#statistics-dialog { position:fixed; inset:0; width:min(520px,100%); max-width:100%; height:100dvh; max-height:100dvh; margin:auto; padding:calc(env(safe-area-inset-top) + 20px) 20px calc(env(safe-area-inset-bottom) + 24px); border:0; border-radius:0; overflow:auto; background:var(--page); color:var(--ink); }
.statistics-header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.statistics-header h2 { font-size:28px; line-height:36px; margin:3px 0 0; }
.statistics-header .icon-button { background:transparent; border:0; box-shadow:none; }
.statistics-filters { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:12px; margin:24px 0 20px; }
.statistics-filters label { display:flex; flex-direction:column; gap:6px; font-size:12px; color:var(--muted); }
.statistics-filters select { width:100%; min-width:0; min-height:44px; padding:8px; background:var(--surface); color:var(--ink); border:1px solid var(--line); border-radius:6px; font:inherit; font-size:14px; }
.stats-tabs { display:flex; border-bottom:1px solid var(--line); gap:24px; }
.stats-tabs button { min-height:44px; padding:8px 0; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); font-size:14px; font-weight:650; }
.stats-tabs [aria-selected=true] { color:var(--ink); border-bottom-color:var(--ink); }
.statistics-totals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; padding:24px 0; border-bottom:1px solid var(--line); }
.stat-metric { display:flex; flex-direction:column; gap:4px; min-width:0; }
.stat-metric strong { font-size:26px; line-height:32px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.stat-metric span { font-size:12px; line-height:18px; color:var(--muted); }
.statistics-times { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:24px 0; border-bottom:1px solid var(--line); }
.stats-list-head,.stats-game-list>button { display:grid; grid-template-columns:minmax(0,1fr) 52px 76px; gap:8px; text-align:left; width:100%; align-items:center; }
.stats-list-head { padding:18px 0 10px; font-size:11px; color:var(--muted); }
.stats-game-list>button { min-height:52px; padding:10px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; color:var(--ink); background:transparent; font-size:14px; }
.stats-game-list>button>span:last-child,.stats-list-head>span:last-child { text-align:right; font-variant-numeric:tabular-nums; }
.stats-game-list>button>strong,.stats-list-head>span:nth-child(2) { text-align:center; }
.stats-details { font-size:14px; margin:8px 0; }
.stats-details>div { display:flex; justify-content:space-between; padding:15px 0; border-bottom:1px solid var(--line); }
.stats-details dd { margin:0; font-weight:650; }
.stats-history { padding:0; margin:0; list-style:none; }
.stats-history li { display:flex; justify-content:space-between; gap:16px; padding:17px 0; border-bottom:1px solid var(--line); }
.stats-history li>div { min-width:0; display:flex; flex-direction:column; gap:4px; }
.stats-history li>div:last-child { text-align:right; flex:none; }
.stats-history strong { font-size:14px; }
.stats-history span { font-size:11px; line-height:16px; color:var(--muted); }
.stats-footnote,.usage-copy { color:var(--muted); font-size:12px; line-height:18px; margin:18px 0 8px; }
.stats-empty { text-align:center; padding:48px 0; color:var(--muted); }
.stats-empty svg { width:32px; height:32px; }
.stats-empty h3 { font-size:16px; }
.usage-delete { width:100%; min-height:44px; display:flex; align-items:center; justify-content:center; gap:8px; margin-top:12px; font-size:13px; }
.usage-delete svg { width:16px; height:16px; }
.stats-achievements { margin-top:24px; }
.stats-achievements h3 { font-size:16px; line-height:22px; }
.stats-achievements ol { margin:0; padding:0; list-style:none; }
.stats-achievements li { display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); font-size:12px; line-height:18px; }
.stats-achievements strong { text-align:right; }

/* A self-contained score sheet; higher specificity keeps shared comic rules out. */
#statistics-dialog{--ink:#242320;--muted:#625f58;--line:#d8d2c3;--stats-paper:#fff9e9;background:var(--stats-paper);color:var(--ink);padding:0;overscroll-behavior:contain;scrollbar-gutter:stable;box-shadow:0 12px 60px #0004}
#statistics-dialog .statistics-header{position:sticky;top:0;z-index:3;padding:calc(16px + env(safe-area-inset-top)) 20px 14px;background:var(--stats-paper);border-bottom:2px solid var(--ink)}
#statistics-dialog .statistics-header .eyebrow{font-size:10px;line-height:16px;letter-spacing:0;color:var(--muted)}
#statistics-dialog .statistics-header h2{font:400 30px/1.1 var(--hand);margin:2px 0 0}
#statistics-dialog .statistics-header .icon-button{flex:0 0 44px;width:44px;height:44px;padding:10px;color:var(--ink);background:#eee8d8;border:1px solid #242320;border-radius:4px}
#statistics-dialog .statistics-content{padding:18px 20px calc(24px + env(safe-area-inset-bottom))}
#statistics-dialog .stats-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1.5px solid var(--ink);border-radius:4px;overflow:hidden;background:#eee8d8}
#statistics-dialog .stats-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:0;padding:10px 8px;min-height:44px;color:var(--muted);font-size:13px;font-weight:800;box-shadow:none}
#statistics-dialog .stats-tabs button+button{border-left:1px solid var(--ink)}
#statistics-dialog .stats-tabs button[aria-selected=true]{background:#edc348;color:#242320;box-shadow:inset 0 -3px 0 #242320}
#statistics-dialog svg{width:18px;height:18px;flex-shrink:0}
#statistics-dialog .statistics-filters{gap:10px;margin:18px 0;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
#statistics-dialog .statistics-filters label{font-size:11px;font-weight:800;gap:5px}
#statistics-dialog .statistics-filters select{background:var(--stats-paper);color:var(--ink);border:1px solid #aca797;border-radius:4px;min-height:44px;padding:8px 5px;font-size:12px;font-weight:650}
#statistics-dialog .statistics-totals{gap:10px;padding:0 0 22px;border:0}
#statistics-dialog .stat-metric{position:relative;padding:13px 12px 12px;min-height:112px;gap:7px;border:1.5px solid var(--ink);border-radius:4px;box-shadow:2px 2px 0 var(--ink);background:#dce8ce}
#statistics-dialog .metric-yellow{background:#f5e5a8}#statistics-dialog .metric-pink{background:#f0d6ce}#statistics-dialog .metric-blue{background:#d1e5e7}
#statistics-dialog .metric-icon{color:#494941;height:18px}
#statistics-dialog .stat-metric strong{font-family:inherit;font-size:28px;line-height:32px;font-weight:900;letter-spacing:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#statistics-dialog .stat-metric strong small{font-size:12px;font-weight:700}
#statistics-dialog .stat-metric>span:last-child{font-size:11px;line-height:15px;font-weight:750;color:#47473f}
#statistics-dialog .stats-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 12px}
#statistics-dialog .stats-section-heading h3,#statistics-dialog .stats-section-title{font:400 23px/1.2 var(--hand);margin:0}
#statistics-dialog .stats-section-heading>span{font-size:11px;color:var(--muted);white-space:nowrap}
#statistics-dialog .stats-list-head,#statistics-dialog .stats-game-list>button{grid-template-columns:minmax(0,1fr) 40px 62px 14px;gap:6px}
#statistics-dialog .stats-list-head{padding:0 0 8px;font-size:10px;border-bottom:1px solid var(--ink)}
#statistics-dialog .stats-list-head>span:nth-child(3){text-align:right}
#statistics-dialog .stats-game-list>button{padding:10px 0;min-height:64px;border-bottom:1px solid var(--line);font-size:12px;box-shadow:none}
#statistics-dialog .stats-game-list>button>span:nth-child(3){text-align:right;font-variant-numeric:tabular-nums;font-weight:650}
#statistics-dialog .stats-game-list>button>svg{width:14px;color:var(--muted)}
#statistics-dialog .stats-game-name{display:flex;align-items:center;gap:9px;min-width:0;font-weight:800;line-height:17px}
#statistics-dialog img{object-fit:cover;width:40px;height:40px;flex:0 0 40px;border:1px solid var(--ink);border-radius:4px}
#statistics-dialog .stats-game-name>span{overflow-wrap:anywhere}
#statistics-dialog .stats-more,#statistics-dialog .stats-back{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;font-size:12px;font-weight:800;color:var(--ink);background:transparent;box-shadow:none;border:1px solid var(--line);border-radius:4px;padding:8px 12px;width:100%;margin:12px 0}
#statistics-dialog .stats-back{justify-content:flex-start;border:0;width:auto;padding:0;margin:0 0 8px;min-height:32px}
#statistics-dialog .stats-selected-game{display:flex;align-items:center;gap:10px;font-size:18px;line-height:24px;margin:0 0 18px}
#statistics-dialog .statistics-times{padding:14px 0 18px;gap:14px;background:transparent;box-shadow:none;border:0;border-bottom:1px solid var(--line);border-radius:0}
#statistics-dialog .statistics-times>div{display:flex;flex-direction:column;gap:8px}
#statistics-dialog .statistics-times span{font-size:11px;color:var(--muted)}
#statistics-dialog .statistics-times strong{font-size:26px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#statistics-dialog .stats-details{background:transparent;border:0;box-shadow:none;border-radius:0;margin:0 0 20px;font-size:13px}
#statistics-dialog .stats-details>div{padding:13px 0}
#statistics-dialog .stats-history li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 0}
#statistics-dialog .stats-history strong{font-size:13px;line-height:18px}
#statistics-dialog .stats-history-copy>strong{overflow-wrap:anywhere}
#statistics-dialog .stats-history-result strong{font-size:17px;font-variant-numeric:tabular-nums}
#statistics-dialog .stats-history .stats-level{display:inline-block;align-self:flex-start;padding:2px 6px;border-radius:3px;background:#dce8ce;color:#304528;font-size:10px;font-weight:800;margin-top:2px}
#statistics-dialog .stats-history .level-medium{background:#f5e5a8;color:#665011}
#statistics-dialog .stats-history .level-challenge{background:#f0d6ce;color:#822a22}
#statistics-dialog .stats-empty{padding:22px 10px;text-align:center;color:var(--muted)}
#statistics-dialog .stats-empty>svg{width:30px;height:30px;color:#39777a}
#statistics-dialog .stats-empty h3{font-size:16px;color:var(--ink);margin:12px 0 6px}
#statistics-dialog .stats-empty p{font-size:12px;line-height:18px;margin:0 auto;max-width:260px}
#statistics-dialog .stats-achievements,#statistics-dialog .stats-notes{border-top:1px solid var(--line);margin:18px 0 0;padding-top:6px}
#statistics-dialog summary{min-height:44px;padding:12px 0;font-size:12px;font-weight:750;cursor:pointer;color:var(--muted)}
#statistics-dialog summary>svg{vertical-align:middle;margin-right:6px}
#statistics-dialog summary>span{float:right;font-variant-numeric:tabular-nums}
#statistics-dialog .stats-notes p{font-size:12px;line-height:19px;color:var(--muted);margin:0 0 12px}
#statistics-dialog :is(button,select,summary):focus-visible{outline:3px solid #287c88;outline-offset:2px}
#statistics-dialog #stats-panel:focus{outline:none}
#statistics-dialog button:active{transform:translateY(1px)}
@media(min-width:700px){#statistics-dialog{height:min(850px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);border:2px solid #242320;border-radius:6px}}
@media(max-width:350px){#statistics-dialog .statistics-content{padding-inline:14px}#statistics-dialog .statistics-header{padding-inline:14px}#statistics-dialog .statistics-header h2{font-size:27px}#statistics-dialog .stats-game-name{gap:6px}#statistics-dialog .stats-game-name img{width:32px;height:32px;flex-basis:32px}#statistics-dialog .stat-metric{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){#statistics-dialog,#statistics-dialog *{animation:none!important;transition:none!important}}
