:root{--ink:#1f2924;--text:#394841;--muted:#68766e;--line:#dce5dd;--page:#edf3ef;--focus:#1a6382;letter-spacing:0;color:var(--text);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #1a63824d}p{margin:0}strong{font-weight:760}#root{min-height:100vh}.app-shell{background:linear-gradient(#f7f9f6eb,#eff4f1f0),url(https://wildlife.utah.gov/images/deer/deer-in-field.jpg) top/cover fixed;min-height:100vh}.app-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;justify-content:space-between;align-items:center;gap:24px;padding:22px 28px;display:flex}.brand,.header-actions,.panel-heading,.detail-section h3{align-items:center;display:flex}.brand{gap:14px}.brand-mark{color:#f8faf6;background:#244735;border-radius:8px;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 12px 28px #2247352e}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.76rem;font-weight:700}.app-header h1{color:var(--ink);letter-spacing:0;margin:0;font-size:1.65rem;font-weight:760;line-height:1.1}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.state-switcher{border:1px solid var(--line);background:#f2f6f2;border-radius:8px;grid-template-columns:repeat(2,minmax(76px,1fr));min-height:38px;padding:3px;display:inline-grid}.state-switcher button{color:#395146;cursor:pointer;min-height:30px;font:inherit;letter-spacing:0;background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:.85rem;font-weight:800}.state-switcher button.active{color:#fff;background:#244735}.header-actions a,.source-section a{color:#163b55;background:#eef7fb;border:1px solid #cfe5ee;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.planner-grid{grid-template-columns:minmax(240px,300px) minmax(460px,1fr) minmax(300px,390px);gap:16px;padding:16px;display:grid}.panel,.results-panel{border:1px solid var(--line);background:#fffffff0;border-radius:8px;box-shadow:0 18px 40px #2a342e14}.panel{padding:16px}.filters-panel,.detail-panel{align-self:start;position:sticky;top:16px}.panel-heading,.detail-section h3{color:var(--ink);gap:8px}.panel-heading h2,.results-toolbar h2,.detail-title h2,.detail-section h3,.report-panel h2{color:var(--ink);letter-spacing:0;margin:0;font-size:1rem;line-height:1.2}.field{gap:8px;margin-top:16px;display:grid}.field span,.results-toolbar label span{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:760}.input-shell{min-height:42px;color:var(--muted);border:1px solid var(--line);background:#f7faf8;border-radius:6px;align-items:center;gap:8px;padding:0 12px;display:flex}input,select,textarea{width:100%;min-width:0;color:var(--ink);border:1px solid var(--line);font:inherit;letter-spacing:0;background:#f7faf8;border-radius:6px}.input-shell input{background:0 0;border:0;outline:0;min-height:38px;padding:0}select{min-height:42px;padding:0 12px}.field>input{box-sizing:border-box;min-height:42px;padding:0 12px}textarea{box-sizing:border-box;resize:vertical;min-height:150px;padding:12px;line-height:1.45}.segmented{flex-wrap:wrap;gap:6px;display:flex}.segmented.two{grid-template-columns:1fr 1fr;display:grid}.segmented.tall{max-height:190px;padding-right:2px;overflow:auto}.segmented button,.hunt-card{font:inherit;letter-spacing:0;cursor:pointer}.segmented button{color:#395146;background:#f6f8f5;border:1px solid #dce5dc;border-radius:6px;min-height:34px;padding:0 10px;font-size:.85rem;font-weight:700}.segmented button.active{color:#fff;background:#244735;border-color:#244735}.results-column{align-self:start;gap:12px;min-width:0;display:grid}.metric small,.report-row small{color:var(--muted);font-size:.77rem}.results-panel{min-width:0;overflow:hidden}.results-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.results-toolbar label{gap:6px;min-width:170px;display:grid}.hunt-list{gap:6px;max-height:calc(100vh - 160px);padding:8px;display:grid;overflow:auto}.hunt-card{box-sizing:border-box;text-align:left;width:100%;min-height:0;color:inherit;border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(150px,.34fr) minmax(0,1fr);align-items:start;gap:12px;padding:10px;display:grid}.hunt-card:hover,.hunt-card.selected{border-color:#8ea88f;box-shadow:inset 4px 0 #9b4f2e}.hunt-card h3{color:var(--ink);letter-spacing:0;margin:6px 0 2px;font-size:.96rem;line-height:1.25}.hunt-card p{margin:0}.hunt-card p,.detail-title p,.muted,.empty-state{color:var(--muted)}.hunt-card .hunt-card-season{margin-top:5px;font-size:.82rem;line-height:1.25}.hunt-map-link,.hunt-share-link,.detail-map-link,.detail-share-link{color:#163b55;background:#eef7fb;border:1px solid #cfe5ee;border-radius:6px;justify-content:center;align-items:center;gap:6px;font-weight:800;text-decoration:none;display:inline-flex}.hunt-card-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.detail-actions{flex-wrap:wrap;gap:8px;display:flex}.hunt-map-link,.hunt-share-link{width:fit-content;min-height:28px;padding:0 9px;font-size:.75rem}.detail-map-link,.detail-share-link{min-height:34px;padding:0 11px;font-size:.82rem}.hunt-share-link,.detail-share-link{cursor:pointer;font:inherit}.hunt-share-link.copied,.detail-share-link.copied{color:#f8faf6;background:#244735;border-color:#244735}.tag{color:#57341f;background:#fff0e7;border:1px solid #efd2bf;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:.72rem;font-weight:800;display:inline-flex}.hunt-card-side{grid-template-columns:minmax(0,1fr) minmax(190px,.8fr);align-items:start;gap:8px;min-width:0;display:grid}.hunt-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;display:grid}.hunt-metrics.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metric,.hunt-metrics span{background:#f7faf8;border:1px solid #edf1ee;border-radius:6px;align-content:center;min-width:0;min-height:54px;padding:8px;display:grid}.hunt-card .hunt-metrics span{min-height:42px;padding:6px 8px}.metric strong,.hunt-metrics strong{color:var(--ink);margin-top:2px;font-size:.9rem;line-height:1.2}.hunt-card .hunt-metrics strong{font-size:.82rem}.hunt-card .hunt-metrics small{font-size:.68rem;line-height:1.1}.odds-chart{background:#f7faf8;border:1px solid #edf1ee;border-radius:6px;gap:8px;min-width:0;padding:10px;display:grid;position:relative}.odds-chart.compact{gap:4px;min-height:0;padding:8px}.odds-chart-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.odds-chart-head small{color:var(--muted);letter-spacing:0;text-transform:uppercase;flex:none;font-size:.74rem;font-weight:800}.odds-chart.compact .odds-chart-head small{font-size:.68rem}.odds-chart-head strong{min-width:0;color:var(--ink);text-align:right;font-size:.84rem;line-height:1.25}.odds-chart.compact .odds-chart-head strong{font-size:.78rem}.chart-wrap{gap:6px;min-width:0;display:grid;position:relative}.odds-svg{width:100%;height:auto;display:block;overflow:hidden}.chart-grid-line{stroke:#dce5dc;stroke-width:1px}.chart-tick-line{stroke:#edf1ee;stroke-width:1px}.chart-axis{stroke:#789086;stroke-width:1.5px}.chart-tick-label,.chart-axis-label{color:var(--muted);fill:var(--muted);font-size:10px;font-weight:780}.chart-axis-label{fill:#395146;font-weight:820}.odds-chart.compact .chart-tick-label{font-size:8px}.chart-point-label{fill:#163b55;letter-spacing:0;paint-order:stroke;pointer-events:none;stroke:#f7faf8;stroke-linejoin:round;stroke-width:4px;font-size:9px;font-weight:860}.odds-chart.compact .chart-point-label{stroke-width:3px;font-size:8px}.chart-odds-line{fill:none;stroke:#27725a;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.chart-dot-group{cursor:crosshair;pointer-events:all}.chart-hit-area{fill:#ffffff03;pointer-events:all}.chart-dot{fill:#27725a;stroke:#fff;stroke-width:2px;transition:r .12s,stroke-width .12s}.chart-dot-group:hover .chart-dot{r:8;stroke-width:3px}.odds-tooltip{z-index:4;max-width:190px;color:var(--ink);pointer-events:none;background:#fff;border:1px solid #cfe5ee;border-radius:6px;padding:8px 9px;font-size:.76rem;line-height:1.25;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 12px 28px #1c2f262e}.odds-tooltip strong{color:#163b55;font-size:.85rem}.odds-tooltip span{font-weight:800}.odds-tooltip small{color:var(--muted);font-size:.7rem}.odds-empty{font-size:.86rem;line-height:1.35}.detail-panel{gap:16px;display:grid}.detail-title{border-bottom:1px solid var(--line);gap:8px;padding-bottom:12px;display:grid}.detail-title h2{font-size:1.25rem}.detail-section{gap:10px;display:grid}.detail-section h3{font-size:.95rem}.detail-list{gap:8px;margin:0;display:grid}.detail-list.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-list div,.draw-callout{background:#f7faf8;border:1px solid #edf1ee;border-radius:6px;padding:10px}.detail-list dt{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.74rem;font-weight:800}.detail-list dd{color:var(--ink);margin:4px 0 0;line-height:1.35}.draw-callout{background:#eef7fb;border-color:#cfe5ee;gap:4px;display:grid}.draw-callout.colorado{background:#f3f8ee;border-color:#d6e8c5}.draw-callout strong{color:#163b55;font-size:1.28rem}.draw-callout span{color:#315268}.drawout-card{background:#f7faf8;border:1px solid #edf1ee;border-radius:6px;gap:10px;min-width:0;padding:10px;display:grid}.drawout-card.compact{gap:6px;padding:8px}.drawout-card-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.drawout-card-head small,.drawout-grid span{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.7rem;font-weight:800}.drawout-card-head strong{color:var(--ink);text-align:right;font-size:.82rem;line-height:1.25}.drawout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.drawout-grid div{background:#fff;border:1px solid #edf1ee;border-radius:6px;gap:3px;min-width:0;padding:8px;display:grid}.drawout-grid strong{color:#244735;font-size:.94rem;line-height:1.2}.drawout-card.compact .drawout-grid strong{font-size:.82rem}.drawout-grid small{color:#315268;font-size:.72rem;line-height:1.25}.source-section a{box-sizing:border-box;justify-content:space-between;width:100%}.report-panel{margin:0}.report-search{margin-top:12px}.report-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;margin-top:12px;display:grid}.report-row{min-height:72px;color:inherit;border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;text-decoration:none;display:grid}.report-row strong{color:var(--ink);line-height:1.2;display:block}.report-row small{margin-top:3px;display:block}.report-year{color:#fff;background:#244735;border-radius:6px;place-items:center;width:48px;height:34px;font-size:.78rem;font-weight:800;display:grid}.empty-state{text-align:center;place-items:center;min-height:220px;display:grid}.contact-page{min-height:calc(100vh - 94px);padding:16px;display:grid}.contact-panel{align-self:start;gap:16px;width:min(780px,100%);margin:0 auto;display:grid}.contact-heading{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding-bottom:14px;display:flex}.contact-heading h2{color:var(--ink);letter-spacing:0;margin:0;font-size:1.35rem;line-height:1.2}.contact-context{color:#163b55;background:#eef7fb;border:1px solid #cfe5ee;border-radius:6px;align-items:center;gap:10px;padding:10px;display:flex}.contact-context div{gap:2px;min-width:0;display:grid}.contact-context strong,.contact-context span{overflow-wrap:anywhere}.contact-context span,.contact-note{color:var(--muted)}.contact-form{gap:2px;display:grid}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.contact-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.contact-actions a,.primary-action{color:#163b55;min-height:38px;font:inherit;background:#eef7fb;border:1px solid #cfe5ee;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:.9rem;font-weight:800;text-decoration:none;display:inline-flex}.primary-action{color:#fff;cursor:pointer;background:#244735;border-color:#244735}.contact-note{margin:12px 0 0;line-height:1.35}@media (width<=1180px){.planner-grid{grid-template-columns:280px minmax(0,1fr)}.detail-panel{grid-column:1/-1;position:static}.report-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=840px){.app-header,.planner-grid{padding:12px}.app-header{flex-direction:column;align-items:flex-start}.planner-grid{grid-template-columns:1fr}.filters-panel{position:static}.detail-list.two-col,.contact-grid,.report-list{grid-template-columns:1fr}.hunt-list{max-height:none}.results-toolbar{flex-direction:column;align-items:stretch}.report-panel{margin:0}}@media (width<=640px){.hunt-card,.hunt-card-side,.hunt-metrics,.drawout-grid{grid-template-columns:1fr}}
