/* 031: compact shared chrome; content remains readable at enlarged text sizes. */
.global-language{padding:4px 24px;min-height:44px;align-items:center}
.language-picker select{min-height:44px}
main{padding-top:12px}.heading{margin-bottom:16px;gap:12px;align-items:center}
.heading h1{margin:6px 0;font-size:clamp(26px,3.2vw,44px);line-height:1.12}
.heading p{margin:8px 0;line-height:1.5}.heading .eyebrow{letter-spacing:.14em}
.test-period-notice{margin:0 0 12px!important;padding:7px 12px!important}
.daylight-strip{gap:10px;flex-wrap:wrap;line-height:1.4}#solar-times{max-width:none}
.surface{padding:22px}.surface>h2:first-child{margin-top:0}
.about-hero{padding:24px}.about-hero h2{font-size:clamp(28px,4vw,44px);margin:12px 0 20px}
.leaflet-bottom.leaflet-left{bottom:18px;left:10px}.leaflet-control-zoom a{min-width:44px;min-height:44px;line-height:44px}
@media(max-width:700px){
 .global-language{padding:2px 12px;margin:0;min-height:46px}.language-picker{gap:8px;margin:0}
 .topbar{padding:6px 12px}.top-actions .button{min-height:44px}
 main{padding:10px 16px 18px}.heading{display:block;margin-bottom:12px}
 .heading h1{font-size:28px;line-height:1.12;margin:5px 0}
 .heading p{font-size:13px;margin:6px 0 10px}.heading .eyebrow{font-size:10px}
 .daylight-strip{display:flex;width:100%;justify-content:space-between;align-items:center;gap:6px 12px}
 .daylight-strip .date-stamp{white-space:normal;font-size:11px}#solar-times{font-size:11px;text-align:right}
 #solar-times small{display:none}.test-period-notice{margin:0 0 10px!important}
 .surface,.about-hero{padding:18px}.surface h2{font-size:27px;line-height:1.2}
 .surface p{margin:12px 0;line-height:1.6}.toolbar{gap:8px;margin-bottom:12px}
 .summary-grid{margin-bottom:12px}.summary-grid>div{padding:12px}.journal-filters{margin:12px 0;gap:8px}
 .sidebar{height:auto;min-height:64px;padding-bottom:env(safe-area-inset-bottom)}
 .sidebar nav{overflow-x:auto;align-items:stretch}.sidebar .nav{min-height:56px;min-width:44px;font-size:9px;line-height:1.25;white-space:normal}
 .workspace{margin-bottom:calc(72px + env(safe-area-inset-bottom))}
 .bottom-cards{margin-top:12px}.daylight-strip button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:600px){
 .top-actions{display:grid;grid-template-columns:minmax(74px,.95fr) minmax(0,1.3fr) minmax(78px,.9fr);gap:6px;width:100%}
 .top-actions .connection{display:none}.top-actions .button{padding:7px 5px;font-size:11px;min-width:0;line-height:1.25}
 .top-actions #nav-apk{display:flex;flex-direction:column;gap:2px;white-space:normal}.top-actions #nav-apk small{font-size:9px}
 #mobile-account{max-width:none;font-size:11px;line-height:1.25;overflow-wrap:anywhere}
}
@media(max-width:700px){
 .journal-tabs{flex-wrap:wrap}.journal-tabs>.button{flex:1 1 auto;min-width:0;white-space:normal}
}
.outdoor .button{max-width:100%;white-space:normal}
@media(max-width:700px){
 .outdoor .journal-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
 .outdoor .form-row{grid-template-columns:1fr}
}
.outdoor .surface{min-width:0;overflow-wrap:anywhere}.outdoor .about-layout>*{min-width:0}
@media(min-width:701px){.outdoor .sidebar{overflow-y:auto}.outdoor .sidebar>*{flex-shrink:0}}

/* 031 owner review: one action bar, catch left and language right. */
.topbar .breadcrumb{display:none}
.top-actions{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;width:100%;gap:8px;align-items:center}
.top-actions #add-catch{grid-column:1;grid-row:1}
.top-actions #nav-apk{grid-column:2;grid-row:1}
.top-actions #mobile-account{grid-column:3;grid-row:1;justify-self:center}
.top-actions .global-language{grid-column:4;grid-row:1;padding:0;margin:0;min-height:0;min-width:0}
.global-language .language-picker{margin:0;min-width:0;gap:0}
.global-language .language-picker>span{display:none}
.global-language select{max-width:100%;min-height:44px}
main{padding-top:6px}
.heading{gap:8px;margin-bottom:10px}
.heading h1{font-size:clamp(22px,2.4vw,32px);margin:3px 0;line-height:1.12;letter-spacing:-.35px}
.heading p{margin:3px 0;line-height:1.4}
.test-period-notice{margin:0 0 6px!important;padding:5px 10px!important}
@media(max-width:700px){
 .topbar{min-height:56px;padding:5px 10px}
 .top-actions{grid-template-columns:minmax(76px,1fr) minmax(58px,.8fr) 44px minmax(94px,1fr);gap:4px}
 .top-actions .button{min-height:44px;min-width:0;max-width:100%;padding:5px 4px;font-size:11px;white-space:normal}
 .top-actions #mobile-account{width:44px;min-width:44px;max-width:44px;height:44px;overflow:hidden;font-size:0}
 .top-actions #mobile-account::before{content:'○';font-size:23px;line-height:1}
 .global-language select{width:100%;min-width:0;padding:6px 3px;font-size:11px}
 main{padding-top:6px}
 .heading{display:block;margin-bottom:8px}
 .heading h1{font-size:22px;line-height:1.12;margin:0}
 .heading .eyebrow{display:none}
 .heading p{font-size:11px;line-height:1.35;margin:4px 0 0}
 .daylight-strip{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:6px;width:100%;min-width:0}
 .daylight-strip .date-stamp{font-size:10px;text-align:left;line-height:1.3;flex:1}
 #solar-times{width:auto;max-width:55%;text-align:right;font-size:10px}
 #solar-times button{width:100%;white-space:normal;line-height:1.3;text-align:right}
}
@media(max-width:700px){
 .outdoor .top-actions{grid-template-columns:minmax(76px,1fr) 44px minmax(94px,1fr)}
 .outdoor .top-actions #add-catch{grid-column:1;grid-row:1}
 .outdoor .top-actions #mobile-account{grid-column:2;grid-row:1}
 .outdoor .top-actions .global-language{grid-column:3;grid-row:1}
 .outdoor .top-actions #nav-apk{grid-column:1/-1;grid-row:2;justify-self:start}
 .outdoor .top-actions .button,.outdoor .global-language select{font-size:1rem;min-height:48px}
 .outdoor .heading h1{font-size:1.5rem}
 .outdoor .heading{grid-template-columns:1fr}
 .outdoor .daylight-strip{align-items:flex-start}
 .outdoor .daylight-strip .date-stamp,.outdoor #solar-times,.outdoor #solar-times button{text-align:left}
}

/* 031: separate the shared heading without adding a tall empty band. */
.heading{border-bottom:1px solid var(--line);padding-bottom:8px}
@media(min-width:701px){
 .map-toolbar .search-box{flex:0 1 560px;min-width:0}
}
@media(max-width:700px){
 .heading{padding-bottom:4px;margin-bottom:4px}
 .heading h1{font-size:20px}
 .outdoor .heading h1{font-size:1.5rem}
}
/* Mobile owner review: quieter actions and one compact search/control row. */
@media(max-width:700px){
 .top-actions{grid-template-columns:minmax(94px,1fr) 44px 44px minmax(94px,1fr);gap:5px}
 .top-actions #nav-apk{font-size:10px;padding:4px;gap:0}
 .top-actions #nav-apk small{display:none}
 .top-actions #add-catch{font-size:11px;font-weight:600;box-shadow:none}
 .top-actions #mobile-account::before{font-size:20px}
 .global-language select{font-size:11px;border-radius:8px}
 .heading{padding:0 0 3px;margin-bottom:4px}
 .heading h1{font-family:Georgia,serif;font-size:20px;line-height:1.15;letter-spacing:-.25px}
 .heading h1 em{font-weight:400}
 .heading p{color:var(--muted);font-size:11px;line-height:1.45;margin-top:5px}
 .daylight-strip{margin-top:0;gap:8px}
 .daylight-strip .date-stamp{font-size:10px}
 #solar-times button{font-size:10px}
 .map-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:6px;align-items:center}
 .map-toolbar .search-box{width:100%;min-width:0;flex-basis:auto;padding:0 10px;height:44px;gap:6px}
 .map-toolbar .search-box input{width:100%;min-width:0;font-size:12px}
 .map-toolbar .search-box kbd{display:none}
 .map-toolbar #locate{width:44px;min-height:44px;padding:0;font-size:0}
 .map-toolbar #locate::before{content:'⊙';font-size:21px}
 .map-toolbar #fullscreen{width:44px;min-height:44px;padding:0;margin:0;font-size:21px}
 .outdoor .top-actions{grid-template-columns:minmax(94px,1fr) 44px minmax(94px,1fr)}
 .outdoor .top-actions #nav-apk{font-size:1rem}
 .outdoor .heading h1{font-size:1.5rem}
 .outdoor .map-toolbar{grid-template-columns:minmax(0,1fr) 48px 48px}
 .outdoor .map-toolbar #locate,.outdoor .map-toolbar #fullscreen{width:48px;min-height:48px}
 .outdoor .map-toolbar .search-box input{font-size:1rem}
}
/* Mobile header refinement: small visual buttons with generous invisible hit areas. */
@media(max-width:700px){
 .topbar{min-height:48px;padding:2px 10px}
 .top-actions{grid-template-columns:minmax(86px,1fr) 38px 38px minmax(94px,1fr);gap:5px}
 .top-actions .button{position:relative;isolation:isolate;min-height:44px;height:44px;padding:0 6px;border:0;background:transparent;font-size:10px;border-radius:0;box-shadow:none}
 .top-actions .button::after{content:'';position:absolute;inset:8px 0;border:1px solid var(--line);border-radius:7px;background:var(--paper);z-index:-1}
 .top-actions #add-catch{font-size:10px;white-space:nowrap;font-weight:600}
 .top-actions #add-catch::after{background:var(--green-dark);border-color:var(--green-dark)}
 .top-actions #mobile-account{width:38px;min-width:38px;max-width:38px;font-size:0}
 .top-actions #mobile-account::before{font-size:17px}
 .top-actions #nav-apk{font-size:9px;white-space:nowrap;flex-direction:row}
 .global-language .language-picker{position:relative;isolation:isolate}
 .global-language .language-picker::after{content:'';position:absolute;inset:8px 0;border:1px solid var(--line);border-radius:7px;background:var(--paper);z-index:-1}
 .global-language select{font-size:10px;background:transparent;border:0;border-radius:0;padding:0 4px;height:44px;min-height:44px}
 .heading{padding-bottom:5px}
 .heading h1{font-family:'DM Sans',Arial,sans-serif;font-size:18px;font-weight:600;line-height:1.25;letter-spacing:-.35px}
 .heading h1 em{font-family:inherit;font-style:normal;font-weight:600;color:var(--green)}
 .heading p{font-size:10.5px;line-height:1.4;margin-top:4px}
 .daylight-strip{gap:8px;align-items:center}
 .daylight-strip .date-stamp{font-size:10px;color:var(--muted);letter-spacing:0}
 #solar-times,#solar-times button{font-size:10px;font-weight:500;color:var(--muted)}
 .outdoor .topbar{min-height:56px}
 .outdoor .top-actions{grid-template-columns:minmax(94px,1fr) 44px minmax(94px,1fr)}
 .outdoor .top-actions .button{height:auto;min-height:48px;font-size:1rem;white-space:normal}
 .outdoor .top-actions .button::after,.outdoor .global-language .language-picker::after{inset:2px 0}
 .outdoor .top-actions #mobile-account{width:44px;min-width:44px;max-width:44px;font-size:0}
 .outdoor .global-language select{font-size:1rem;min-height:48px;height:auto}
 .outdoor .heading h1{font-size:1.5rem}
}
@media(max-width:700px){.outdoor .top-actions #add-catch{font-size:1rem;white-space:normal}}
/* Match the desktop heading; group date and solar information on the right. */
@media(max-width:700px){
 .heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,34%);column-gap:12px;align-items:center}
 .heading>div:first-child{min-width:0}
 .heading h1{font-family:'Manrope',Arial,sans-serif;font-size:20px;font-weight:500;line-height:1.16;letter-spacing:-.45px}
 .heading h1 em{font-family:Georgia,serif;font-style:italic;font-weight:400;color:inherit}
 .heading p{font-size:10px;line-height:1.4;max-width:28em}
 .daylight-strip{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:2px;width:100%;min-width:0}
 .daylight-strip .date-stamp{flex:none;width:100%;white-space:normal;text-align:right;font-size:10px;line-height:1.4}
 #solar-times{max-width:100%;width:100%;text-align:right;font-size:10px}
 #solar-times button{text-align:right;font-size:10px;line-height:1.35}
 .outdoor .heading{display:block}
 .outdoor .heading h1{font-size:1.5rem}
 .outdoor .daylight-strip{align-items:flex-start;margin-top:4px}
 .outdoor .daylight-strip .date-stamp,.outdoor #solar-times,.outdoor #solar-times button{text-align:left}
}
@media(max-width:700px){
 .top-actions #add-catch,.top-actions #add-catch:hover,.top-actions #add-catch:active{background:transparent;border:0;box-shadow:none}
 .top-actions #add-catch::after{background:#173e32;border-color:#173e32}
}
