/* Park Street Watch: light-weight, framework-free read-only analytics UI. */
.analytics-main{padding-top:36px}
.analytics-hero{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:17px 0 34px}
.analytics-hero h1{font-size:clamp(65px,8vw,112px);line-height:.89;margin:13px 0 17px;letter-spacing:-2.8px}
.analytics-hero h1 em{color:var(--orange)}
.analytics-hero p{max-width:730px;font-size:17px;color:#647180;line-height:1.65;margin:0}
.analytics-seal{background:var(--lime);color:#193149;border:3px solid #172438;box-shadow:7px 7px 0 #23394d;min-width:168px;width:168px;height:168px;transform:rotate(7deg);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.analytics-seal strong{font:950 29px/.95 Impact,system-ui}.analytics-seal span{font-weight:950;font-size:10px;letter-spacing:1.3px;margin:8px 0}
.analysis-filters{display:grid;grid-template-columns:minmax(230px,1.5fr) 1fr 1fr minmax(165px,1fr);gap:14px;background:#213650;padding:19px;border-radius:16px;align-items:end}
.filter-field{min-width:0}.filter-field label,.filter-check label{display:block;font-size:10px;letter-spacing:1px;font-weight:900;color:#647a89;margin-bottom:8px}.analysis-filters .filter-field label,.analysis-filters .filter-check label{color:#e2eced}
.filter-field select{width:100%;background:white;border:1px solid #c8d2ce;border-radius:9px;padding:11px 28px 11px 11px;color:#193149;font:700 12px/1.4 system-ui;min-height:42px}
.filter-check{padding-bottom:3px}.filter-check label{display:flex;gap:9px;align-items:center;font-size:12px;letter-spacing:0;margin-bottom:4px}.filter-check input{width:17px;height:17px;accent-color:#74a779}.filter-check small{color:#aabfc1;display:block;font-size:10px;line-height:1.4}
.coverage-note{font-size:12px;color:#5f7179;background:#ecf1eb;border-radius:9px;padding:11px 16px;margin:15px 0 24px;line-height:1.55}
.analytics-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 26px}.analytics-kpi{min-height:131px;background:#fffefa;border:1px solid #dce2dd;border-radius:13px;padding:19px 20px;display:flex;flex-direction:column;gap:3px}.analytics-kpi small{font-size:10px;color:#627784;letter-spacing:.9px;font-weight:950}.analytics-kpi strong{font:950 38px/1.2 Impact,system-ui;color:#223a58;margin-top:3px}.analytics-kpi span{font-size:11px;color:#849091}
.analytics-panel{background:#fffefa;border:1px solid #dbe2de;border-radius:19px;padding:25px 27px 26px;margin-bottom:24px;box-shadow:0 4px 18px #203a5807}
.analytics-panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px}
.analytics-panel-head h2{font:950 clamp(27px,3.5vw,40px)/1.12 Impact,Arial,sans-serif;margin:7px 0;color:#1d3447;letter-spacing:-.5px}
.analytics-panel-head p{font-size:13px;max-width:790px;color:#6b7c84;margin:8px 0 0;line-height:1.6}.panel-chip{background:#e4f2e7;border-radius:9px;padding:10px 12px;font-size:11px;color:#2a574c;font-weight:900;white-space:nowrap}
.heatmap-legend{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;color:#61737c;margin-bottom:13px;flex-wrap:wrap}.legend-ramp{display:inline-block;width:160px;height:11px;border-radius:12px;background:linear-gradient(90deg,#dcefe0,#f2ecbd,#ffd79d,#f2a18f);margin:0 8px;vertical-align:middle}
.heatmap-scroll{overflow-x:auto;max-width:100%}.heatmap,.pair-matrix{border-spacing:4px;width:100%;min-width:850px;table-layout:fixed}.heatmap th,.pair-matrix th{font-size:11px;color:#536c78;font-weight:850;text-align:center;min-width:39px;padding:7px 2px}.heatmap th:first-child,.pair-matrix th:first-child{width:77px}.heatmap td,.pair-matrix td{position:relative;text-align:center;height:46px;border-radius:6px;font-weight:950;font-size:12px;background:#f2f3f0;white-space:nowrap}.heatmap td.low-n:after{content:'△';position:absolute;right:1px;top:0;font-size:8px;color:#36485a}.heatmap td.no-data,.pair-matrix td.no-data{color:#a7b0b1;font-weight:500}.heatmap .cell-count{display:block;font:550 9px/1.1 system-ui;color:#53626b}.heatmap td.clickable{cursor:pointer}.heatmap td.clickable:focus-visible{outline:2px solid #203e59}.heatmap td.selected{box-shadow:inset 0 0 0 3px #263d5c}
.analysis-footnote{font-size:11px;color:#8a9694;margin-top:15px}
.comparison-controls{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:12px;max-width:920px;margin-bottom:18px}.comparison-headline{font-size:14px;background:#e5f3ec;padding:15px 18px;color:#355a58;font-weight:750;border-radius:12px;line-height:1.55;min-height:55px}.comparison-chart{margin:15px 0 8px;border:1px solid #e5e9e6;border-radius:12px;background:#fbfcfa;min-height:270px;display:flex;align-items:center;justify-content:center}.comparison-chart svg{width:100%;height:auto;display:block}.chart-legend{display:flex;gap:22px;flex-wrap:wrap;font-size:11px;color:#6e7f83;align-items:center}.line-key{width:24px;height:4px;border-radius:3px;display:inline-block;vertical-align:middle;margin-right:7px}.day-a{background:#203954}.day-b{background:#e3734d}.analysis-subhead{margin-top:31px}.analysis-subhead h3{margin:0 0 4px;font-size:19px}.analysis-subhead p{font-size:12px;color:#657a80;line-height:1.5;margin:0 0 12px}.pair-matrix{min-width:620px;max-width:850px}.pair-matrix td{height:47px}.pair-matrix .diagonal{background:#e8efea;color:#6a7d80}
.period-table,.data-table{border-collapse:collapse;width:100%;text-align:left}.period-table{min-width:760px}.period-table th,.data-table th{background:#f0f3ee;font-size:10px;letter-spacing:.55px;color:#4c6270;text-transform:uppercase;padding:13px 11px;white-space:nowrap}.period-table th:first-child{min-width:90px}.period-table td,.data-table td{padding:12px 11px;border-top:1px solid #e9ede7;font-size:12px;white-space:nowrap}.period-table td:not(:first-child){text-align:center}.period-table td strong{font-size:13px}.period-table td small{display:block;color:#70858a;font-size:10px}.period-table td.low{color:#9a7250}.data-table tbody tr:nth-child(even),.period-table tbody tr:nth-child(even){background:#fcfcfa}.data-table td.num{text-align:right;font-variant-numeric:tabular-nums}.data-table th.num{text-align:right}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll.tall{max-height:565px;overflow:auto}.table-scroll.tall th{position:sticky;top:0;z-index:2}.data-table td.missing{color:#a6adaf}.data-table td.partial{color:#b06a36;font-weight:800}.data-table td.lowcount{color:#a26d45}.data-table td.delta-bad{color:#ba4f38}.data-table td.delta-good{color:#277a65}.export-btn{background:#223a58;color:white;border:0;border-radius:8px;font-size:11px;font-weight:900;letter-spacing:.6px;padding:12px 13px;white-space:nowrap}.export-btn:hover{background:#365777}.weekly-insight{background:#e6f5ee;padding:18px 21px;margin-top:20px;border-radius:11px;color:#456b63;font-size:13px;line-height:1.6}.analysis-method{background:#213650;color:#e0eae6;border-radius:20px;padding:32px 35px;margin-bottom:40px}.analysis-method h2{font:950 34px Impact,system-ui;margin:0 0 14px}.analysis-method p{font-size:12px;line-height:1.8;max-width:970px;color:#b9c8c9}.analysis-method a{display:inline-block;margin-top:13px;color:#d8ff5b;font-weight:850;font-size:12px;text-decoration:none}.analysis-method a:hover{text-decoration:underline}
@media(max-width:1050px){.analysis-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.analytics-main{padding-top:18px}.analytics-hero{padding:16px 0 24px}.analytics-hero h1{font-size:62px}.analytics-hero p{font-size:14px}.analytics-seal{display:none}.analysis-filters,.comparison-controls{grid-template-columns:1fr}.analytics-panel{padding:19px 14px}.analytics-panel-head{align-items:flex-start;flex-direction:column;gap:12px}.analytics-panel-head h2{font-size:29px}.analytics-kpi{padding:16px 13px}.analytics-kpi strong{font-size:31px}.heatmap{min-width:860px}.analytics-header-link{font-size:10px}.analysis-method{padding:26px 20px}}
