/* Navigation and motion only: the selected theme owns every color. */
.pro-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pro-category-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left;padding:20px 16px;min-height:176px;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--text);box-shadow:var(--shadow);cursor:pointer;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;animation:pro-tile-in .3s ease both}
.pro-category-card:nth-child(2){animation-delay:.04s}.pro-category-card:nth-child(3){animation-delay:.08s}.pro-category-card:nth-child(4){animation-delay:.12s}
.pro-category-card b{font-size:17px;line-height:1.25;font-weight:750;letter-spacing:-.3px}
.pro-category-card>span:not(.pro-category-icon){font-size:12px;line-height:1.5;color:var(--muted)}
.pro-category-card small{font-size:10px;color:var(--muted);line-height:1.6;margin-top:auto}
.pro-category-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--panel2);color:var(--accent)}
.pro-category-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="bold"] .pro-category-card:first-child .pro-category-icon{background:#fff1a2;color:var(--text)}
.pro-category-back{display:flex;align-items:center;min-height:44px;align-self:flex-start;background:transparent;color:var(--muted);border:0;font-size:13px;padding:0 4px;cursor:pointer}
.pro-tools-page .pro-page-intro h1{font-size:28px!important;line-height:1.16;letter-spacing:-.8px;margin:10px 0}
.pro-tools-page .pro-page-intro p{font-size:13px;line-height:1.6;color:var(--muted)}
.pro-tools-page .pro-search{margin:2px 0 4px;min-height:48px}
.pro-tools-page .pro-group-heading{display:none}
.pro-search-results .pro-tool-group+.pro-tool-group{margin-top:16px}
.pro-tools-page .pro-search-results .pro-group-heading{display:block}
.pro-tool-row{min-height:68px;transition:background-color .16s ease}
.pro-tool-row>span:nth-child(2){min-width:0}.pro-tool-row small{line-height:1.5}
.pro-route-context{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-bottom:3px;letter-spacing:.3px}
.page-title{align-items:center;min-height:52px}.page-title #toolBack{flex-shrink:0;min-width:44px;min-height:44px}
.pro-hourly-details{border-top:1px solid var(--line);margin-top:14px;padding-top:3px}
.pro-hourly-details summary{display:flex;align-items:center;justify-content:space-between;min-height:46px;cursor:pointer;font-size:13px;font-weight:650;color:var(--text)}
.pro-hourly-details summary::after{content:'＋';font-size:18px;color:var(--muted)}.pro-hourly-details[open] summary::after{content:'−'}
.pro-related-tools summary{list-style:none}.pro-related-tools summary::-webkit-details-marker,.pro-hourly-details summary::-webkit-details-marker{display:none}
.pro-hourly-details[open]>div,.pro-related-tools[open]>.pro-tool-row{animation:pro-tile-in .2s ease both}
.content :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.pro-category-card:active{transform:scale(.98)}
@media(hover:hover){.pro-category-card:hover{transform:translateY(-2px);border-color:var(--accent)}}
@keyframes pro-tile-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
/* Reading surfaces must never wait for a reveal or count from zero. */
.pro-ui .motion-await{opacity:1!important;transform:none!important}
.pro-ui .motion-page-enter{animation-duration:.22s!important}
.pro-ui .pro-category-card:disabled{opacity:.6;transform:none}
.pro-ui .content{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
.pro-ui .content :is(.field,input.field,select.field){min-height:46px;font-size:16px}
.pro-ui .content textarea.field{min-height:100px;font-size:16px;line-height:1.6}
.pro-ui .content :is(.primary-btn,.secondary-btn,.danger-btn){min-height:46px}
.pro-ui .content .stack{gap:18px}
.pro-ui .content :is(.card p,.tiny,.list-meta,.journal-meta){line-height:1.65}
.pro-ui .content .section-head{gap:12px}
.pro-ui .content .section-head h2{line-height:1.3}
.pro-ui .content :is(.pro-tool-row,.friend-card,.journal-item,.list-item){overflow-wrap:anywhere}
.pro-ui .content .empty{padding:28px 16px;line-height:1.6}
.pro-ui .content .pro-text-link{min-height:44px;display:inline-flex;align-items:center;gap:8px}
.pro-ui .content .pro-chevron{flex-shrink:0}
.account-section-title{font-size:13px!important;font-weight:650!important;color:var(--muted);margin:0 0 10px!important;letter-spacing:0!important}
.account-home .pro-tool-row+.pro-tool-row{border-top:1px solid var(--line)}
.account-home .feature-tool-benefit{display:none}
.home-species-score{display:flex;flex-direction:column;align-items:center;min-width:45px}.home-species-score b{font-size:24px;line-height:1.2}.home-species-score small{font-size:10px;color:var(--muted)}
.compact-home .home-main-cta{min-height:56px;font-size:17px;font-weight:750;border-radius:16px}
.compact-home .pro-home-intro{padding-top:8px}.compact-home .pro-home-intro h1{font-size:32px!important}
.compact-home .home-coast-summary h2{font-size:20px!important}.compact-home .fish-radar-card h2{font-size:18px!important}
.owner-links{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}
.owner-links button{flex-shrink:0;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);font-size:12px;font-weight:650}
.leaflet-popup-content .secondary-btn{margin:5px 5px 0 0;min-height:40px}
/* Explore actions use a stable 2×2 grid, not a shrinking single row. */
.pro-ui .pro-map-stack .pro-page-intro>.pro-inline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;align-items:stretch}
.pro-ui .pro-map-stack .pro-page-intro>.pro-inline>button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:48px;height:auto;margin:0;padding:12px 10px;font-size:13px;line-height:1.4;text-align:center;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal;word-break:normal;box-sizing:border-box}
.pro-ui .pro-map-stack .pro-page-intro>.pro-inline>.pro-text-link{background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--text)}
/* Reserve both action slots; an absolute right rail must not escape the header. */
html body.pro-ui .app-shell .topbar{display:grid!important;grid-template-columns:96px minmax(0,1fr) 96px!important;gap:6px!important;margin:0 14px!important;padding:14px 0 16px!important;min-width:0;width:auto!important;max-width:none!important;box-sizing:border-box}
html body.pro-ui .topbar .brand{display:contents!important}
html body.pro-ui .topbar .brand-copy{grid-column:2;grid-row:1;position:static!important;min-width:0;width:100%;text-align:center;transform:none!important;padding:0!important}
html body.pro-ui .topbar .brand-copy strong{display:block;font-size:clamp(10px,3.2vw,14px)!important;letter-spacing:1.2px!important;line-height:1.4;white-space:nowrap}
html body.pro-ui .topbar .brand-copy span{display:block;font-size:10px!important;line-height:1.4;white-space:normal;overflow-wrap:normal}
html body.pro-ui .topbar .brand-mark.header-menu-toggle{grid-column:1;grid-row:1;justify-self:start;width:44px!important;height:44px!important;min-width:44px;flex-basis:44px}
html body.pro-ui .topbar .pro-header-actions{position:static!important;inset:auto!important;transform:none!important;grid-column:3;grid-row:1;justify-self:end;display:flex!important;align-items:center;gap:6px!important;width:94px;min-width:0;margin:0!important}
html body.pro-ui .topbar .pro-header-actions .icon-btn{width:44px!important;height:44px!important;min-width:44px;flex:0 0 44px;margin:0!important;padding:0!important;display:grid;place-items:center}
@media(max-width:340px){.pro-category-grid{gap:8px}.pro-category-card{padding:16px 12px;min-height:166px}.pro-category-card b{font-size:15px}}
@media(prefers-reduced-motion:reduce){.pro-category-card,.pro-hourly-details[open]>div,.pro-related-tools[open]>.pro-tool-row{animation:none!important;transition:none!important}.pro-category-card:active,.pro-category-card:hover{transform:none}}
