.calendar-page{--cal-ink:#0a2540;--cal-green:#2d5043;--cal-muted:#625c52;--cal-line:#d9d9d0;--cal-surface:#fafaf7;--cal-tint:#eef1eb;max-width:1200px;margin:0 auto;padding:0 24px 48px}.calendar-page h1,.calendar-page h2,.calendar-page h3{text-wrap:balance;letter-spacing:-.02em}.calendar-page p{text-wrap:pretty}.calendar-page a:focus-visible,.calendar-page button:focus-visible,.calendar-page input:focus-visible,.calendar-page select:focus-visible,.calendar-page summary:focus-visible{outline:3px solid #b23a2f;outline-offset:3px}.calendar-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;padding:24px 0 16px;font-size:.8125rem;color:var(--cal-muted)}.calendar-breadcrumb a:hover{text-decoration:underline}.calendar-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;padding:12px 0 32px}.calendar-hero h1{color:var(--cal-ink);font-size:2.75rem;line-height:1.12;max-width:19ch}.calendar-hero .hero-intro{max-width:53ch;margin:18px 0;font-size:1.0625rem;line-height:1.65}.calendar-hero .hero-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:.875rem;font-weight:700;color:var(--cal-green)}.calendar-hero .hero-links a{text-decoration:underline;text-underline-offset:4px}.calendar-hero figure{margin:0}.calendar-hero img{width:100%;height:250px;-o-object-fit:cover;object-fit:cover;border-radius:8px}.calendar-hero figcaption{margin-top:6px;font-size:.6875rem;color:var(--cal-muted);text-align:right}.fishing-tool{background:var(--cal-surface);border:1px solid var(--cal-line);border-radius:12px;padding:28px;color:var(--cal-ink);scroll-margin-top:20px;font-family:DM Sans,system-ui,sans-serif}.fishing-tool h2,.fishing-tool h3,.fishing-tool h4{font-family:inherit;letter-spacing:-.015em}.tool-heading{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap}.tool-heading h2{font-size:1.375rem}.tool-tag{font-size:.75rem;color:var(--cal-green);font-weight:700}.tool-button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 17px;border-radius:5px;background:var(--cal-ink);color:#fafaf7;border:1px solid var(--cal-ink);font-size:.875rem;font-weight:700;line-height:1.35;transition:background-color .15s ease-out,color .15s ease-out,border-color .15s ease-out;cursor:pointer}.tool-button:hover{background:#183e5c}.tool-button.secondary{background:transparent;color:var(--cal-ink);border-color:#adb7b3}.tool-button.secondary:hover{background:#eef1eb;border-color:var(--cal-ink)}.tool-button.quiet{color:var(--cal-ink);background:transparent;border-color:transparent}.tool-button.quiet:hover{background:#eef1eb}.tool-button:disabled{color:#767b7d;background:#ebedeb;border-color:#d2d7d4;cursor:wait}.tool-button[aria-label]:disabled{cursor:default}.tool-field{display:flex;flex-direction:column;gap:6px;font-size:.8125rem;font-weight:700;min-width:0}.tool-field input,.tool-field select{width:100%;min-height:44px;border:1px solid #adb7b3;border-radius:5px;padding:9px 12px;background:#fff;font:400 .9375rem DM Sans,system-ui,sans-serif;color:var(--cal-ink)}.tool-field input::-moz-placeholder{color:var(--cal-muted);opacity:1}.tool-field input::placeholder{color:var(--cal-muted);opacity:1}.tool-field input[aria-invalid=true]{border-color:#b23a2f}.tool-button-row{display:flex;gap:8px;flex-wrap:wrap}.location-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.location-search{display:flex;align-items:flex-end;gap:10px;flex:1;min-width:250px}.location-search .tool-field{flex:1}.tool-feedback{font-size:.8125rem;line-height:1.5;color:var(--cal-green)}.tool-feedback:not(:empty){margin-top:12px}.tool-error{background:#fff1eb;border:1px solid #c47866;color:#7f2720;padding:12px;border-radius:5px;font-size:.875rem;margin:12px 0}.place-matches{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;list-style:none}.location-alternatives{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:flex-start;margin-top:20px}.location-alternatives>.tool-field{width:260px}.coordinate-options{flex:1;min-width:230px;font-size:.8125rem;padding-top:29px}.coordinate-options summary,.reference-region summary{cursor:pointer;min-height:28px}.coordinate-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.coordinate-form .tool-small{grid-column:1/-1}.tool-small{font-size:.75rem;line-height:1.6;color:var(--cal-muted);font-weight:400}.tool-small a{text-decoration:underline;text-underline-offset:2px}.geocoder-credit{margin-top:16px;max-width:90ch}.selected-location{border-top:1px solid var(--cal-line);margin-top:24px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.selected-location h3{font-size:1.25rem;margin-top:3px;overflow-wrap:anywhere}.selected-location>.tool-small{text-align:right}.date-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px 24px;margin:22px 0}.solunar-results{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;border-top:1px solid var(--cal-line);margin-top:24px;padding-top:26px}.result-date{font-size:1.0625rem;line-height:1.5}.phase-summary{display:flex;align-items:center;gap:16px;margin:22px 0}.phase-summary strong{font-size:1.375rem}.phase-summary p{font-size:.8125rem;color:var(--cal-muted);margin-top:2px}.moon-disc{flex-shrink:0}.sun-moon-times{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin-bottom:25px}.sun-moon-times dt{font-size:.75rem;color:var(--cal-muted)}.sun-moon-times dd{font-size:.875rem;font-weight:700;margin-top:2px}.timeline-row{display:flex;gap:12px;align-items:center;margin:12px 0}.timeline-row>span{width:38px;font-size:.6875rem;font-weight:700}.timeline-track{height:16px;border-radius:3px;background:#e5e9e3;position:relative;flex:1}.timeline-window{position:absolute;top:0;height:100%;border-radius:2px}.timeline-window.major{background:var(--cal-ink)}.timeline-window.minor{background:var(--cal-green)}.sun-marker{position:absolute;height:24px;width:2px;background:#a97921;top:-4px}.timeline-axis{display:flex;justify-content:space-between;margin-left:50px;font-size:.625rem;color:var(--cal-muted)}.day-timeline>.tool-small{margin-top:9px}.periods-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:28px;padding-bottom:10px}.periods-heading h4{font-size:1rem;font-weight:700}.period-list{list-style:none;margin-bottom:12px}.period-list li{display:flex;align-items:flex-start;gap:14px;border-top:1px solid var(--cal-line);padding:15px 0}.period-kind{font-size:.6875rem;font-weight:700;border-radius:3px;padding:3px 7px;margin-top:1px}.period-kind.major{color:var(--cal-ink);background:#e4ebee}.period-kind.minor{color:var(--cal-green);background:#e5ede5}.period-list strong{display:block;font-size:.8125rem;line-height:1.5}.time-to{font-weight:400}.daylight-note{font-size:.6875rem;color:#725013;display:inline-block;margin-top:3px;margin-right:8px}.month-nav{display:flex;justify-content:space-between;align-items:center;gap:6px}.month-nav h3{font-size:1rem}.month-nav .tool-button{min-width:44px;padding:8px;font-size:1.25rem}.month-panel>.tool-small{text-align:center}.moon-calendar{margin-top:18px}.week-labels,.month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.week-labels span{text-align:center;color:var(--cal-muted);font-size:.625rem;padding-bottom:9px}.moon-day{border:1px solid transparent;border-radius:5px;min-height:67px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;padding:6px 2px 10px;color:var(--cal-ink);font-size:.75rem;cursor:pointer;transition:background-color .15s ease-out}.moon-day:hover{background:#eef1eb}.moon-day.selected{border-color:var(--cal-green);background:#e7ede5;font-weight:700}.moon-day.is-today>span:first-child{text-decoration:underline;text-underline-offset:3px}.phase-dot{width:4px;height:4px;background:#b23a2f;border-radius:50%;position:absolute;bottom:3px}.month-panel>.tool-small{margin-top:8px}.moon-milestones{margin-top:20px;list-style:none}.moon-milestones li{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--cal-line);font-size:.8125rem}.tool-note{padding:16px;background:var(--cal-tint);border-radius:5px;font-size:.8125rem;line-height:1.65;margin-top:20px}.calendar-actions{margin-top:26px;border-top:1px solid var(--cal-line);padding-top:22px}.calendar-actions+.tool-small{margin-top:10px}.tool-loading{padding:40px 0;color:var(--cal-muted)}.calendar-content{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:64px;margin-top:56px}.calendar-article{max-width:72ch}.calendar-article section+section{margin-top:38px}.calendar-article h2,.calendar-reference>h2{font-size:1.5rem;color:var(--cal-ink);margin-bottom:14px}.calendar-article h3{font-size:1.0625rem;color:var(--cal-ink);margin:22px 0 8px}.calendar-article p,.calendar-article li{font-size:.9375rem;line-height:1.8;color:#3d4644}.calendar-article p+p{margin-top:14px}.calendar-article a,.calendar-aside a,.calendar-reference a{color:var(--cal-green);text-decoration:underline;text-underline-offset:3px}.calendar-article ul,.calendar-article ol{padding-left:20px;margin-top:12px}.calendar-article ul{list-style:disc}.calendar-article ol{list-style:decimal}.calendar-article li+li{margin-top:8px}.calendar-aside{align-self:start}.calendar-aside h2{font-size:1.125rem;color:var(--cal-ink)}.calendar-aside p{font-size:.875rem;color:var(--cal-muted);line-height:1.7;margin-top:12px}.calendar-aside ul{list-style:none;margin-top:18px}.calendar-aside li{padding:13px 0;border-top:1px solid #d0cbbf;font-size:.875rem}.calendar-faq{margin-top:40px}.calendar-faq details{border-bottom:1px solid #d0cbbf;padding:16px 0}.calendar-faq summary{cursor:pointer;font-weight:700;line-height:1.6}.calendar-faq details p{margin-top:12px}.calendar-reference{margin-top:52px}.calendar-reference>p{font-size:.875rem;color:var(--cal-muted);max-width:75ch;margin-bottom:20px;line-height:1.7}.reference-region{padding:18px 0;border-top:1px solid #d0cbbf}.reference-region summary{color:var(--cal-ink);font-weight:700}.reference-region p{font-size:.8125rem;line-height:1.7;margin:12px 0}.reference-table-wrap{overflow-x:auto}.reference-table{width:100%;text-align:left;border-collapse:collapse;font-size:.8125rem}.reference-table th,.reference-table td{padding:10px 14px;border-bottom:1px solid #d0cbbf}.reference-table th{color:var(--cal-ink)}.reference-table thead{background:#eeeee7}.noscript-note{padding:16px;background:#fff1eb;color:#7f2720;margin-bottom:16px}.hatch-filters{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hatch-state-context{margin:8px 0 20px;padding-left:16px;border-left:3px solid var(--cal-green)}.hatch-state-context h3{font-size:1rem}.hatch-state-context p{max-width:90ch;margin:6px 0;font-size:.875rem;line-height:1.7}.hatch-state-context>a{font-size:.8125rem;text-decoration:underline;text-underline-offset:3px}.hatch-region-intro>.tool-tag{display:block;margin-bottom:6px}.state-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));-moz-column-gap:28px;column-gap:28px;align-items:start}.reference-state{border-top:1px solid var(--cal-line);padding:0 0 12px}.reference-state summary{min-height:48px;padding:14px 0 8px;cursor:pointer;color:var(--cal-ink);font-weight:700}.reference-state p,.reference-state>a{font-size:.8125rem;line-height:1.7}.reference-state p{margin:8px 0 12px}.reference-state .state-open-tool{display:inline-block;min-height:44px;padding:10px 0;font-weight:700}.reference-insect-note{display:block;font-weight:400;font-size:.75rem;line-height:1.6;max-width:65ch;margin-top:4px}@media(max-width:900px){.state-directory-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.state-directory-grid{grid-template-columns:1fr}}.hatch-months{display:flex;flex-wrap:wrap;gap:5px;margin-top:22px}.hatch-months button{min-height:44px;min-width:48px;padding:9px 11px;font-size:.8125rem;border-radius:5px;border:1px solid #b5beb8;color:var(--cal-ink);transition:background-color .15s ease-out}.hatch-months button:hover{background:#e7ede5}.hatch-months button[aria-pressed=true]{background:var(--cal-green);border-color:var(--cal-green);color:#fff;font-weight:700}.hatch-month-actions{display:flex;gap:12px;margin:4px 0 14px}.hatch-month-actions .tool-button{padding:6px 0;font-size:.75rem}.hatch-month-actions .tool-button:hover{background:transparent;text-decoration:underline}.hatch-region-intro{background:var(--cal-tint);border-radius:5px;padding:18px 20px}.hatch-region-intro h3{font-size:1.125rem}.hatch-region-intro>p{font-size:.875rem;line-height:1.7;margin-top:8px;max-width:85ch}.hatch-region-intro>p.tool-small{font-size:.75rem}.hatch-results-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:28px 0 8px}.hatch-results-heading h3{font-size:1.25rem}.hatch-legend{max-width:100ch;margin-bottom:20px}.hatch-list{list-style:none}.hatch-list>li{display:grid;grid-template-columns:1.05fr .75fr 1.2fr;-moz-column-gap:24px;column-gap:24px;row-gap:12px;border-top:1px solid var(--cal-line);padding:22px 0 18px}.hatch-identity h4{font-weight:700;font-size:1rem;margin:5px 0}.hatch-identity p{font-size:.75rem;color:var(--cal-muted)}.insect-group{color:var(--cal-green);font-size:.6875rem;font-weight:700}.insect-group.terrestrial{color:#76500c}.hatch-timing>strong{display:block;font-size:.875rem;margin:3px 0}.hatch-patterns p{font-size:.8125rem;line-height:1.6}.hatch-patterns p+p{margin-top:8px}.hatch-patterns span{display:block;font-size:.6875rem;color:var(--cal-muted)}.hatch-cue{grid-column:1/-1}.hatch-cue summary{font-size:.75rem;cursor:pointer;min-height:28px;color:var(--cal-green)}.hatch-cue p{font-size:.8125rem;color:#3d4644;line-height:1.7;margin:8px 0;max-width:90ch}.hatch-empty{padding:24px 0;border-top:1px solid var(--cal-line)}.hatch-empty h4{font-size:1rem;font-weight:700}.hatch-empty p{font-size:.875rem;margin:12px 0 18px;max-width:65ch;line-height:1.7}.annual-chart{margin-top:24px;border-top:1px solid var(--cal-line);padding-top:20px}.annual-chart>summary{font-weight:700;cursor:pointer;min-height:32px}.annual-chart>p{margin:5px 0 14px}.hatch-chart-scroll{overflow-x:auto}.hatch-chart-scroll table{width:100%;min-width:680px;border-collapse:collapse;text-align:center}.hatch-chart-scroll th{font-size:.6875rem;font-weight:700}.hatch-chart-scroll th:first-child{text-align:left;padding:10px 12px 10px 0;width:185px}.hatch-chart-scroll th button{min-height:44px;width:100%;color:var(--cal-ink)}.hatch-chart-scroll th button:hover{text-decoration:underline}.hatch-chart-scroll td{border-top:1px solid var(--cal-line);padding:7px 1px}.hatch-chart-scroll tbody th{border-top:1px solid var(--cal-line)}.hatch-chart-scroll .current-month{background:#e7ede5;border-right:1px solid #7a907e;border-left:1px solid #7a907e}.season-dot{color:#788078;font-size:1rem}.season-dot.active{color:var(--cal-green)}.hatch-bottom-note{margin-top:18px}@media(max-width:900px){.calendar-hero{gap:28px}.calendar-hero h1{font-size:2.25rem}.calendar-hero img{height:230px}.solunar-results{gap:24px}.calendar-content{gap:32px}}@media(max-width:740px){.hatch-filters{grid-template-columns:1fr 1fr}.hatch-filters>.tool-field:last-child{grid-column:auto}.hatch-list>li{grid-template-columns:1.2fr 1fr;gap:14px}.hatch-patterns{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 24px}.hatch-patterns p{flex:1;min-width:180px}.hatch-patterns p+p{margin:0}.hatch-months button{flex:1}.hatch-months button:first-child{flex:1.5}.hatch-region-intro{padding:16px}.calendar-page{padding:0 16px 32px}.calendar-hero{grid-template-columns:1fr;gap:22px}.calendar-hero h1{font-size:2rem}.calendar-hero img{height:180px}.calendar-hero .hero-intro{font-size:1rem}.fishing-tool{padding:20px 16px}.solunar-results{grid-template-columns:1fr;gap:30px}.month-panel{border-top:1px solid var(--cal-line);padding-top:20px}.moon-day{min-height:65px}.calendar-content{grid-template-columns:1fr;margin-top:36px;gap:36px}.selected-location{align-items:flex-start}.selected-location>.tool-small{max-width:42%;overflow-wrap:anywhere}.selected-location h3{font-size:1.0625rem}.coordinate-options{padding-top:0}.date-controls{gap:12px}.date-controls>.tool-field{width:100%}.date-controls .tool-button{padding:9px 11px;font-size:.8125rem}}@media(max-width:420px){.location-search{flex-wrap:wrap}.location-search>.tool-field{flex-basis:100%}.location-search>.tool-button{width:100%}.location-controls>.tool-button{width:100%}.location-alternatives>.tool-field{width:100%}.tool-heading h2{font-size:1.25rem}.phase-summary strong{font-size:1.125rem}.tool-button-row{gap:6px}.period-list li{gap:9px}.tool-field input,.tool-field select{font-size:1rem}.hatch-filters{grid-template-columns:1fr}.hatch-filters>.tool-field:last-child{grid-column:auto}.hatch-months{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.hatch-months button:first-child{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){.calendar-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{body{background:#fff!important;padding-bottom:0!important}body>header,body>footer,.no-print,[data-affiliate-bar]{display:none!important}.calendar-page{max-width:none;padding:0}.calendar-hero{display:block;padding:0 0 20px}.calendar-hero figure,.hero-links,.calendar-breadcrumb,.calendar-content,.calendar-reference{display:none}.fishing-tool{border:0;padding:0}.solunar-results{grid-template-columns:1fr}.month-panel{-moz-column-break-inside:avoid;break-inside:avoid;max-width:450px}.period-list li,.hatch-list>li{-moz-column-break-inside:avoid;break-inside:avoid}.annual-chart{display:none}}
