@charset "UTF-8";
.stats-page{--stats-muted:#677360;--stats-border:#dce2d5}
.stats-page [hidden]{display:none!important}
.stats-shell{max-width:1200px!important;padding:0 48px}
.stats-page .site-header{height:94px}
.stats-navigation{display:flex;align-items:center;gap:25px;font-size:12px}
.text-button{background:transparent;padding:9px 0;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:#536b4a;white-space:nowrap}
.text-button:hover{color:#254b37;text-decoration:underline;text-underline-offset:4px}
.stats-navigation .icon{width:15px;height:15px}
.return-link{display:flex;align-items:center;gap:7px;border:1px solid #dce3d5;padding:10px 14px;border-radius:7px}
.return-link:hover{background:#eaf0e3}
.stats-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:38px 0 33px}
.stats-intro h1{font-size:35px;margin-top:13px}
.stats-intro p{color:var(--stats-muted);font-size:13px;margin:12px 0 0;line-height:1.8}
.stats-intro .eyebrow{color:#617756;font-size:9px}
.scope-pill{border:1px solid #dbe4cf;background:#edf2e5;padding:7px 12px;border-radius:30px;font-size:11px;white-space:nowrap;color:#587147}
.stats-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 17px;border-bottom:1px solid var(--stats-border)}
.stats-difficulty{display:flex;gap:5px;background:#eceedf;border-radius:8px;padding:4px}
.stats-difficulty button{font-size:12px;color:#627155;padding:9px 17px;border-radius:5px;background:transparent;white-space:nowrap}
.stats-difficulty button:hover{background:#e0e8d5}
.stats-difficulty button.active{background:#fff;color:#315940;font-weight:600;box-shadow:0 2px 5px #2b44280b}
.refresh-group{display:flex;align-items:center;gap:13px;color:#64715d;font-size:11px}
.refresh-button{display:flex;align-items:center;gap:6px;background:transparent;font-size:12px;padding:10px 0 10px 8px}
.refresh-button .icon{width:15px;height:15px}
.refresh-button.loading .icon{animation:stats-spin 1s linear infinite}
.stats-message{display:flex;align-items:center;gap:9px;font-size:12px;color:#52684b;line-height:1.7;padding:14px 0;min-height:48px}
.stats-message .text-button{margin-left:auto;padding:3px 8px;border:1px solid currentColor;border-radius:5px}
.status-dot{width:6px;height:6px;background:#719250;border-radius:50%;flex-shrink:0}
.stats-message[data-kind="error"]{color:#a0453d}.stats-message[data-kind="error"] .status-dot{background:#b65449}
.stats-message[data-kind="loading"] .status-dot{animation:stats-pulse 1.3s ease-in-out infinite}
.sync-notice{margin:0 0 18px;padding:11px 14px;color:#77613c;background:#f0ebdb;border:1px solid #e4dbc3;font-size:12px;line-height:1.7;border-radius:7px}
.metric-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr 1.1fr;gap:14px}
.metric{min-width:0;padding:23px 20px 20px;background:#fff;border:1px solid var(--stats-border);border-radius:10px;min-height:191px}
.metric-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#56694d;gap:8px}
.metric-label>span{font-size:10px;color:#657a58;background:#e8eedf;padding:4px 6px;border-radius:4px;white-space:nowrap}
.metric-label>a{width:15px;height:15px;display:grid;place-items:center;font-size:10px;border:1px solid #9dab94;border-radius:50%;color:#617655}
.metric-value{font-family:"Avenir Next","Trebuchet MS",sans-serif;font-size:43px;font-weight:500;letter-spacing:-1.3px;line-height:1.2;margin:20px 0 14px;color:#31593f;font-variant-numeric:tabular-nums;white-space:nowrap}
.metric p{font-size:11px;color:#66735e;margin:0;line-height:1.7}
.metric p strong{font-weight:500;color:#3b5531}
.metric-footnote{font-size:10px;color:#69775f;display:block;margin-top:9px;line-height:1.5}
.metric-featured{background:#edf2e5;border-color:#dbe4ce;position:relative;overflow:hidden}
.metric-featured::after{content:"";position:absolute;right:17px;top:58px;width:58px;height:58px;opacity:.3;background:repeating-linear-gradient(0deg,transparent 0 18px,#9bb284 18px 19px),repeating-linear-gradient(90deg,transparent 0 18px,#9bb284 18px 19px);border:1px solid #9bb284;transform:rotate(8deg);pointer-events:none}
.game-outcomes{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:#526848}
.game-outcomes>span{display:flex;gap:4px;align-items:center;white-space:nowrap}
.game-outcomes i{width:5px;height:5px;display:inline-block;border-radius:50%}.outcome-completed{background:#587949}.outcome-active{background:#b29c60}.outcome-abandoned{background:#a7ad9f}
.game-outcomes strong{font-weight:600}
.average-track{height:4px;background:#e8edde;margin-top:16px;border-radius:10px;overflow:hidden}.average-track>span{display:block;background:#8faa70;height:100%;width:0;transition:width .35s ease}
.metric-value.time-value{font-size:32px;letter-spacing:-.8px;margin-top:25px;margin-bottom:19px}
.stats-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}
.stats-section-heading>div{display:flex;gap:11px;align-items:center}
.section-index{font-size:10px;letter-spacing:1px;color:#718165}
.stats-section-heading h2{font-family:"Songti SC","SimSun",serif;font-weight:500;font-size:22px;letter-spacing:.3px;margin:0}
.stats-section-heading>p{font-size:11px;color:#68765f;margin:0}
.difficulty-comparison{margin-top:36px}
.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.difficulty-card{background:#f1f3e9;border:1px solid #e1e6d6;border-radius:9px;padding:20px 20px 19px}
.difficulty-card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.difficulty-card h3{font-size:13px;font-weight:500;margin:0;display:flex;gap:8px;align-items:center}
.difficulty-pips{display:flex;gap:2px}.difficulty-pips i{width:3px;height:11px;background:#9aac84;border-radius:2px}.difficulty-pips i.off{background:#d8dfcf}
.difficulty-card-heading>span{font-size:10px;color:#64765a}
.difficulty-card dl{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin:0}
.difficulty-card dt{font-size:10px;color:#68765f;margin:0 0 7px;white-space:nowrap}
.difficulty-card dd{font-size:19px;font-variant-numeric:tabular-nums;margin:0;color:#3f6031;white-space:nowrap}
.difficulty-card dd.small-value{font-size:16px;line-height:23px}
.difficulty-card-foot{border-top:1px solid #dce3d2;padding-top:12px;margin:15px 0 0;display:flex;justify-content:space-between;gap:8px;color:#67765d;font-size:10px;line-height:1.6}
.difficulty-card.no-data{background:transparent;border-style:dashed}.difficulty-card.no-data dd{color:#76806e}
.secondary-metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:17px 0 0;margin-top:3px;gap:15px;color:#677360;font-size:11px}
.secondary-metrics>span{display:flex;justify-content:center;gap:8px;border-right:1px solid #dfe5d6}.secondary-metrics>span:last-child{border:0}.secondary-metrics strong{font-weight:500;color:#3c5633;font-variant-numeric:tabular-nums}
.game-history{margin-top:38px}
.status-filter-label{font-size:11px;color:#617156;display:flex;align-items:center;gap:9px}
.stats-page select{font:inherit;color:#405b37;background:#f9faf5;border:1px solid #d7dfcc;padding:8px 26px 8px 10px;border-radius:6px;max-width:100%;min-height:35px}
.stats-page input:focus-visible,.stats-page select:focus-visible,.table-scroll:focus-visible{outline:3px solid #8baf67;outline-offset:3px}
.history-caption{color:#65735b;font-size:11px;line-height:1.7;margin:-8px 0 14px}
.table-scroll{overflow:auto;border:1px solid var(--stats-border);border-radius:9px;background:#fff}
.history-table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:12px}
.history-table th{font-weight:500;font-size:10px;letter-spacing:.4px;color:#62735a;background:#edf1e6;padding:13px 15px;border-bottom:1px solid #dce3d2}
.history-table td{padding:15px;border-bottom:1px solid #edf0e6;color:#455a3e;font-variant-numeric:tabular-nums}
.history-table tbody tr:last-child td{border-bottom:0}.history-table tbody tr:hover{background:#fafbf6}
.history-table .game-id{display:block;font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:9px;color:#737f6b;margin-top:4px;max-width:110px;overflow:hidden;text-overflow:ellipsis}
.result-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;border-radius:4px;padding:4px 7px;background:#edf1e7;color:#526949}
.result-badge::before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.result-badge.completed{background:#e7efdc;color:#4d6c36}.result-badge.in_progress{background:#f3eddd;color:#806833}.result-badge.abandoned{background:#eeeee8;color:#6e7567}
.row-progress{display:flex;align-items:center;gap:8px}.row-progress-track{display:block;width:42px;height:4px;background:#e8eddf;border-radius:4px;overflow:hidden}.row-progress-track>i{display:block;height:100%;background:#91ac71}
.history-table time{font-size:10px;line-height:1.7}.time-label{display:block;font-size:9px;color:#78826e}
.history-empty{border:1px solid #dde4d3;border-top:0;border-radius:0 0 8px 8px;text-align:center;padding:35px 20px;font-size:12px;color:#68775d;background:#fafbf5}
.history-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:14px;gap:15px;font-size:11px;color:#68755e}.history-pagination>div{display:flex;gap:7px}
.pagination-button{background:transparent;border:1px solid #d4ddc9;border-radius:5px;padding:8px 12px;font-size:11px;color:#536d46}.pagination-button:hover:not(:disabled){background:#eaf0e0}
.empty-records{display:flex;align-items:center;gap:17px;padding:23px 24px;margin-top:23px;background:#f0f3e8;border:1px dashed #cbd8bd;border-radius:9px}
.empty-records>.icon{width:35px;height:35px;stroke-width:1.1;color:#708b5a}.empty-records>div{flex:1}.empty-records h2{font-family:"Songti SC","SimSun",serif;font-size:21px;font-weight:500;margin:0 0 7px}.empty-records p{font-size:12px;color:#65785a;line-height:1.7;margin:0}
.compact-button{width:auto;white-space:nowrap;padding:12px 17px;font-size:12px;min-height:40px}
.device-card{display:flex;gap:19px;padding:25px;margin-top:34px;background:#edf1e5;border:1px solid #dce4d1;border-radius:10px}
.device-icon{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;border:1px solid #d8e3ca;border-radius:9px;background:#e5ecd9;color:#6b8652}.device-icon .icon{width:22px;height:22px}
.device-content{flex:1;min-width:0}.device-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.device-heading h2{font-size:13px;font-weight:500;margin:2px 0 10px}.device-heading>span{font-size:10px;color:#64795a}
.device-id-line{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.device-id-line code{font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:12px;overflow-wrap:anywhere;line-height:1.7;color:#45613a;user-select:all}
.copy-button{display:inline-flex;align-items:center;gap:5px;font-size:10px;background:#fafcf6;color:#597549;border:1px solid #d5dfc8;border-radius:4px;padding:5px 8px;white-space:nowrap}.copy-button .icon{width:12px;height:12px}
.device-content>p{font-size:11px;color:#63755a;line-height:1.8;margin:10px 0 15px}
.device-details{display:flex;flex-wrap:wrap;gap:12px 27px;margin:0;padding-top:14px;border-top:1px solid #d8e2cd;font-size:10px}.device-details>div{display:flex;gap:7px;line-height:1.6}.device-details dt{color:#687b5d}.device-details dd{margin:0;color:#3f5e32}
.metric-definitions{padding:22px 0 4px;margin-top:6px;color:#65765b;font-size:12px}.metric-definitions summary{cursor:pointer;list-style-position:inside;font-size:11px;padding:5px 0;width:max-content;max-width:100%}.metric-definitions summary:hover{color:#33592c}.metric-definitions dl{display:grid;grid-template-columns:1fr 1fr;gap:19px 30px;padding:19px 20px;margin:12px 0 0;background:#f0f3e9;border-radius:8px}.metric-definitions dt{font-weight:500;color:#455e3d;margin-bottom:6px}.metric-definitions dd{margin:0;font-size:11px;line-height:1.9}
.admin-panel{border:1px solid #d5dfc9;background:#f0f3e9;padding:24px;border-radius:10px;margin-bottom:26px}.admin-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.admin-heading h2{font-family:"Songti SC","SimSun",serif;font-size:22px;font-weight:500;margin:0 0 8px}.admin-heading p{font-size:12px;color:#607257;line-height:1.7;margin:0}.privacy-mark{display:flex;align-items:center;gap:5px;font-size:10px;color:#637859;white-space:nowrap;margin-top:6px}.privacy-mark .icon{width:13px;height:13px}
.admin-form{margin-top:20px}.admin-form>label{font-size:11px;color:#526c45}.admin-input-row{display:flex;gap:10px;margin-top:8px}.admin-form input{min-width:0;flex:1;width:100%;font:inherit;font-size:13px;color:#36532e;background:#fff;border:1px solid #cbd9bf;border-radius:6px;padding:12px 14px;letter-spacing:1px}.admin-form input::placeholder{font-size:12px;color:#7e8c74;letter-spacing:0}.admin-form>p{font-size:10px;color:#627859;line-height:1.8;margin:9px 0 0}.admin-form .inline-error{font-size:12px;color:#a3443c}.admin-session{display:flex;align-items:center;gap:12px;margin-top:19px;font-size:11px;color:#5f7454}.admin-session select{flex:1;max-width:420px;min-width:0}.admin-session .text-button{margin-left:auto}.admin-session>label{white-space:nowrap}
.stats-page footer{margin-top:28px;color:#68765f;font-size:10px}.stats-page footer a{color:#526d45}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes stats-spin{to{transform:rotate(360deg)}}@keyframes stats-pulse{50%{opacity:.35}}
@media(max-width:1050px){.stats-shell{padding:0 30px}.metric-grid{gap:10px}.metric{padding:19px 15px}.metric-value{font-size:38px}.metric-value.time-value{font-size:28px}.metric-label{font-size:11px}.game-outcomes{gap:7px}.difficulty-card{padding:17px 16px}.difficulty-card dd{font-size:17px}.difficulty-card dd.small-value{font-size:14px}}
@media(max-width:850px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.metric{min-height:180px;padding:21px}.metric-value{font-size:40px}.metric-value.time-value{font-size:33px}.metric-featured::after{right:23px}.difficulty-card dl{grid-template-columns:1fr 1fr;gap:14px}.difficulty-card dl>div:last-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.difficulty-card dl>div:last-child dt{margin:0}.difficulty-card-foot{flex-direction:column;gap:2px}.privacy-mark{white-space:normal}.stats-section-heading h2{font-size:21px}.metric-label{font-size:12px}}
@media(max-width:600px){.stats-shell{padding:0 20px}.stats-page .site-header{height:79px}.stats-navigation{gap:14px}.stats-navigation .text-button{font-size:11px}.stats-navigation .text-button .icon{display:none}.return-link{padding:8px 0;border:0;font-size:11px;gap:4px}.return-link .icon{width:13px}.stats-page .brand{gap:10px}.stats-intro{padding:29px 0 26px;align-items:flex-start;gap:10px}.stats-intro h1{font-size:28px;margin-top:12px;letter-spacing:0}.stats-intro p{font-size:12px;margin-top:9px}.stats-intro .eyebrow{font-size:8px;letter-spacing:1.4px}.scope-pill{font-size:9px;padding:6px 9px;margin-top:1px}.stats-toolbar{align-items:flex-start;gap:13px;flex-direction:column;padding-bottom:12px}.stats-difficulty{width:100%;gap:4px}.stats-difficulty button{flex:1;padding:10px 8px;font-size:11px}.refresh-group{width:100%;justify-content:space-between;gap:12px}.refresh-button{padding:4px 0}.stats-message{font-size:11px;padding:12px 0}.metric-grid{gap:10px}.metric{padding:17px 14px;min-height:180px}.metric-label{font-size:11px;gap:4px}.metric-label>span{font-size:8px;padding:3px 4px}.metric-value{font-size:36px;margin-top:21px}.metric-value.time-value{font-size:27px;margin-top:25px}.metric p{font-size:10px}.metric-footnote{font-size:9px}.metric-featured::after{width:39px;height:39px;top:54px;right:13px;background-size:13px 13px;opacity:.23}.game-outcomes{font-size:9px;gap:5px 8px}.game-outcomes>span{gap:3px}.average-track{margin-top:13px}.difficulty-comparison{margin-top:30px}.stats-section-heading{gap:12px;margin-bottom:17px}.stats-section-heading>div{gap:8px}.stats-section-heading h2{font-size:19px}.stats-section-heading>p{font-size:10px;max-width:100px;text-align:right;line-height:1.5}.section-index{font-size:9px;white-space:nowrap}.comparison-grid{grid-template-columns:1fr;gap:10px}.difficulty-card{padding:16px 17px;display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:start}.difficulty-card-heading{display:block;margin:0}.difficulty-card h3{font-size:12px;gap:6px;margin-bottom:8px}.difficulty-card-heading>span{font-size:9px}.difficulty-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.difficulty-card dl>div:last-child{grid-column:auto;display:block}.difficulty-card dl>div:last-child dt{margin-bottom:7px}.difficulty-card dd{font-size:17px}.difficulty-card dd.small-value{font-size:14px;line-height:21px}.difficulty-card dt{font-size:9px}.difficulty-card-foot{grid-column:1/-1;flex-direction:row;padding-top:10px;margin:0;font-size:9px}.secondary-metrics{grid-template-columns:1fr 1fr;row-gap:14px;padding-top:18px;font-size:10px}.secondary-metrics>span:nth-child(2){border:0}.game-history{margin-top:32px}.status-filter-label{font-size:10px;gap:6px}.stats-page select{padding-left:8px;font-size:11px;min-height:33px}.history-caption{font-size:10px;margin-top:-5px}.history-table td{padding:13px 12px}.history-table th{padding:12px}.history-pagination{font-size:10px}.pagination-button{font-size:10px;padding:8px 10px}.empty-records{flex-wrap:wrap;padding:20px 17px;gap:13px}.empty-records>.icon{width:28px;height:28px}.empty-records h2{font-size:19px}.empty-records p{font-size:11px}.empty-records .compact-button{margin-left:41px;font-size:11px;padding:10px 15px}.device-card{padding:20px 16px;gap:12px;margin-top:28px}.device-icon{width:30px;height:30px}.device-icon .icon{width:18px;height:18px}.device-heading{align-items:flex-start;gap:7px}.device-heading h2{font-size:12px}.device-heading>span{font-size:9px;line-height:1.6;text-align:right}.device-id-line{gap:8px}.device-id-line code{font-size:10px;letter-spacing:-.2px}.device-content>p{font-size:10px}.device-details{gap:9px 15px;font-size:9px}.device-details>div{gap:6px}.metric-definitions dl{grid-template-columns:1fr;padding:17px;gap:17px}.metric-definitions summary{font-size:10px}.metric-definitions dd{font-size:10px}.admin-panel{padding:20px 16px;margin-bottom:22px}.admin-heading{flex-direction:column;gap:9px}.admin-heading h2{font-size:20px}.admin-heading p{font-size:11px}.privacy-mark{margin-top:0;font-size:9px}.admin-input-row{flex-direction:column}.admin-input-row .compact-button{font-size:11px;padding:11px 15px}.admin-session{flex-wrap:wrap;gap:10px}.admin-session select{max-width:calc(100% - 65px)}.admin-session .text-button{padding-top:0;padding-bottom:0}.stats-page footer{gap:14px;font-size:9px}.stats-page footer>span{max-width:200px}}
@media(max-width:370px){.stats-shell{padding:0 15px}.stats-navigation{gap:10px}.stats-intro h1{font-size:26px}.scope-pill{font-size:8px;padding:5px 7px}.metric{padding:16px 12px}.metric-value{font-size:32px}.metric-value.time-value{font-size:24px}.metric-label>span{display:none}.difficulty-card{grid-template-columns:50px 1fr;gap:7px}.difficulty-card dd{font-size:15px}.difficulty-card dd.small-value{font-size:12px}.stats-section-heading h2{font-size:18px}.status-filter-label{gap:4px}}
@media(prefers-reduced-motion:reduce){.stats-page *, .stats-page *::before,.stats-page *::after{animation:none!important;transition:none!important}}

/* Account history and browser provenance are separate, mutually exclusive scopes. */
.stats-intro>div{min-width:0}.stats-intro p{overflow-wrap:anywhere}.scope-pill{flex-shrink:0}
.admin-session{display:block}.admin-scope-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.admin-scope-filters>label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:11px}
.admin-scope-filters select{width:100%;max-width:100%;min-height:44px}
.admin-scope-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}
.admin-scope-footer .text-button{min-height:44px;margin-left:0}.admin-scope-help{font-size:11px;color:#627859;line-height:1.8;margin:4px 0 0}
.admin-account-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 24px;border-top:1px solid #d5dfc9;padding-top:17px;margin:17px 0 0}
.admin-account-details>div{min-width:0}.admin-account-details dt{font-size:10px;color:#65785a;margin-bottom:5px}.admin-account-details dd{margin:0;font-size:12px;color:#3f5e32;line-height:1.7;overflow-wrap:anywhere}
@media(max-width:600px){.admin-scope-filters{grid-template-columns:1fr;gap:14px}.admin-scope-filters select,.admin-form input{font-size:16px;min-height:44px}.admin-scope-help{font-size:10px}.admin-account-details{grid-template-columns:1fr}.admin-account-details>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px}.admin-account-details dt{margin-top:2px}.stats-page .status-filter-label select{font-size:16px;min-height:44px}}
