.stats-app{padding-bottom:16px}.stats-input,.stats-results{background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 22px 20px}.stats-input h2,.stats-panel h3,.stats-charts h3,.stats-corr h3,.stats-preview h3{margin:0 0 8px;font-size:1.05rem}.stats-input p{color:var(--color-muted);margin:0 0 16px}.sheet-wrap{border:1px solid var(--color-line);background:var(--color-white);border-radius:10px;max-height:min(52vh,460px);overflow:auto}.sheet-wrap:focus,.sheet-wrap:focus-within{outline:2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);outline-offset:1px}.sheet-wrap.is-selecting{user-select:none}.sheet-wrap.is-selecting input{caret-color:#0000}.sheet{border-collapse:collapse;table-layout:fixed;min-width:100%}.sheet th,.sheet td{border:1px solid #d5e0c8;height:30px;padding:0}.sheet thead th,.sheet .sheet-rowhead{color:var(--color-muted);text-align:center;z-index:1;background:#eef2e9;font-size:.75rem;font-weight:700;position:sticky}.sheet thead th{width:108px;top:0}.sheet thead th.is-active,.sheet .sheet-rowhead.is-active,.sheet tbody tr:focus-within .sheet-rowhead{color:var(--color-ink);background:#dce8b8}.sheet .sheet-corner{z-index:2;width:36px;min-width:36px;left:0}.sheet .sheet-rowhead{width:36px;min-width:36px;left:0}.sheet td.is-header-row{background:#f4fbe8}.sheet td.is-selected,.sheet td.is-selected input{background:color-mix(in srgb, var(--color-primary) 34%, #fff)}.sheet td.is-header-row.is-selected,.sheet td.is-header-row.is-selected input{background:color-mix(in srgb, var(--color-primary) 38%, #f4fbe8)}.sheet td.is-selected input:focus{background:color-mix(in srgb, var(--color-primary) 34%, #fff)}.sheet thead th,.sheet .sheet-rowhead,.sheet .sheet-corner{cursor:pointer}.sheet input{width:100%;height:30px;color:var(--color-ink);font:.85rem/1.3 var(--font-sans);background:0 0;border:0;margin:0;padding:0 8px;display:block}.sheet input:focus{outline:2px solid var(--color-primary);outline-offset:-2px;background:#fff}.sheet-edit{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.stats-toolbar{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:14px;display:flex}.stats-check{align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:inline-flex}.stats-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.stats-sheet-pick{color:var(--color-muted);align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:inline-flex}.stats-sheet-pick[hidden]{display:none}.stats-sheet-pick select{border:1px solid var(--color-line);background:var(--color-white);min-width:8em;color:var(--color-ink);border-radius:8px;padding:6px 8px}.stats-status{min-height:1.4em;color:var(--color-primary-dark);margin:14px 2px;font-size:.9rem;font-weight:700}.stats-status.is-error{color:#b42318}.stats-results{margin-top:8px}.stats-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.stats-card{border:1px solid var(--color-line);background:var(--color-surface);border-radius:10px;padding:12px 14px}.stats-card b{font-size:1.45rem;line-height:1.2;display:block}.stats-card span{color:var(--color-muted);font-size:.82rem}.stats-columns{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.stats-columns button{border:1px solid var(--color-line);background:var(--color-white);color:var(--color-ink);cursor:pointer;border-radius:999px;padding:8px 14px;font-weight:600}.stats-columns button.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.stats-panel{display:block}.stats-grid{grid-template-columns:repeat(2,minmax(10rem,1.3fr) minmax(6rem,1fr));gap:0;margin:0 0 16px;display:grid}.stats-grid dt,.stats-grid dd{border-top:1px solid var(--color-line);margin:0;padding:8px 10px;font-size:.9rem}.stats-grid dt{color:var(--color-muted);font-weight:600}.stats-grid dd{text-align:right;font-variant-numeric:tabular-nums}.stats-export{flex-wrap:wrap;gap:8px;display:flex}.stats-charts{margin-top:28px}.stats-charts-head{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:12px;display:flex}.stats-charts-head h3{margin:0}.stats-chart-hint{color:var(--color-muted);margin:0;font-size:.82rem;font-weight:400}.stats-chart-types{flex-wrap:wrap;gap:8px;width:100%;display:flex}.stats-chart-types button{border:1px solid var(--color-line);background:var(--color-white);color:var(--color-ink);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:.88rem;font-weight:600}.stats-chart-types button.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.stats-chart-options{flex-wrap:wrap;gap:10px 16px;margin-bottom:12px;display:flex}.stats-chart-options:empty{display:none}.stats-chart-options label{align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:inline-flex}.stats-chart-options select{border:1px solid var(--color-line);height:36px;font:inherit;background:var(--color-white);border-radius:8px;padding:0 10px}.stats-chart-list{grid-template-columns:1fr;gap:16px;display:grid}.stats-chart-list.has-many{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-chart-card{min-width:0}.stats-chart-axes{flex-wrap:wrap;gap:8px 14px;margin:0 0 10px;display:flex}.stats-chart-axes label{align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:inline-flex}.stats-chart-axes select{border:1px solid var(--color-line);height:34px;font:inherit;background:var(--color-white);border-radius:8px;padding:0 8px}.stats-chart-card h4{margin:0 0 8px;font-size:.95rem}.stats-charts canvas{background:var(--color-surface);border:1px solid var(--color-line);border-radius:10px;width:100%;height:300px;display:block}.stats-chart-card.is-tall canvas{height:440px}.stats-chart-list.has-many .stats-chart-card.is-tall{grid-column:1/-1}.stats-chart-note,.stats-empty{color:var(--color-muted);margin:8px 0 0;font-size:.82rem}.stats-corr,.stats-preview{margin-top:28px}.stats-corr-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:8px;display:flex}.stats-corr-head h3{margin:0}.stats-corr-legend{min-width:220px;color:var(--color-muted);font-variant-numeric:tabular-nums;justify-items:stretch;gap:4px;margin:0;font-size:.72rem;display:grid}.stats-corr-scale{background:linear-gradient(90deg,#eea85c 0% 10%,#f3c086 10% 20%,#f8d7b0 20% 30%,#fdecd8 30% 40%,#fff 40% 60%,#eaf3dc 60% 70%,#d5e8b8 70% 80%,#bdd98f 80% 90%,#a8cc6c 90% 100%);border:1px solid #c5cdd4;border-radius:999px;height:12px;display:block}.stats-corr-ticks{justify-content:space-between;display:flex}.stats-corr-key{justify-self:end}.stats-table-wrap{overflow-x:auto}.stats-table-wrap table{border-collapse:collapse;min-width:100%;font-size:.88rem}.stats-table-wrap th,.stats-table-wrap td{border:1px solid var(--color-line);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding:8px 10px}.stats-table-wrap th:first-child,.stats-table-wrap td:first-child{text-align:left}.stats-table-wrap thead th,.stats-table-wrap tbody th{background:var(--color-surface);font-weight:700}.stats-corr-table td.is-heat,.stats-corr-table td.is-plain{text-align:center}.stats-corr-table td.is-heat{background:var(--heat);color:var(--heat-ink);border-color:#c5cdd4}.stats-corr-table td.is-strong{font-weight:700}.stats-corr-table td.is-empty{color:var(--color-muted)}@media (width<=860px){.stats-overview,.stats-grid,.stats-chart-list.has-many{grid-template-columns:1fr}.stats-grid dt,.stats-grid dd{text-align:left}.stats-actions{width:100%;margin-left:0}.stats-actions .btn{flex:1}}.report-overlay{z-index:80;background:#f6f8f4;flex-direction:column;display:flex;position:fixed;inset:0;overflow:auto}.report-overlay[hidden]{display:none}.report-chrome{z-index:1;background:var(--color-white);border-bottom:1px solid var(--color-line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px;display:flex;position:sticky;top:0}.report-chrome p{color:var(--color-muted);margin:0;font-size:.85rem}.report-page{max-width:920px;margin:0 auto;padding:28px 20px 48px}.report-page .kicker{color:var(--color-muted);letter-spacing:.04em;margin:0 0 6px;font-size:.75rem;font-weight:700}.report-page h1{margin:0 0 8px;font-size:1.6rem}.report-page .meta,.report-page .lead{color:var(--color-muted);margin:0 0 12px}.report-page .cards{flex-wrap:wrap;gap:10px;margin:0 0 20px;display:flex}.report-page .card{background:var(--color-white);border:1px solid var(--color-line);border-radius:12px;min-width:7.5em;padding:12px 16px}.report-page .card b{font-size:1.4rem;display:block}.report-page .card span{color:var(--color-muted);font-size:.75rem}.report-page h2{border-bottom:2px solid var(--color-primary);margin:28px 0 10px;padding-bottom:4px;font-size:1.1rem}.report-page .table-wrap{background:var(--color-white);border:1px solid var(--color-line);border-radius:10px;overflow:auto}.report-page table{border-collapse:collapse;width:100%;font-size:.78rem}.report-page th,.report-page td{border:1px solid var(--color-line);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding:7px 8px}.report-page th.label,.report-page tbody th,.report-page thead th{text-align:left;background:#eef2e9}.report-page .charts{gap:16px;display:grid}.report-page figure{background:var(--color-white);border:1px solid var(--color-line);break-inside:avoid;border-radius:12px;margin:0;padding:12px}.report-page figcaption{margin-bottom:8px;font-weight:700}.report-page figure img{background:#f6f8f4;width:100%;height:auto;display:block}.report-page figure p{color:var(--color-muted);margin:8px 0 0;font-size:.78rem}.report-page footer{color:var(--color-muted);margin-top:32px;font-size:.78rem}.report-page footer a{color:inherit}@media print{@page{size:A4;margin:14mm}.site-header,.tool-header,.stats-app,.tool-notes,.tool-legal,astro-dev-toolbar,.report-chrome{display:none!important}.report-overlay{background:#fff;display:block;position:static;overflow:visible}.report-page{max-width:none;padding:0}}
