/* Last layer: adapt the existing materials to the available space. */
html{scroll-padding-top:18px}
body{min-width:0}
:where(main,section,article,aside,form,fieldset,label,.hero-copy,.next-panel,.workspace-main,.calculator-layout>*,.specialist-grid>*,.nutrition-dashboard>*,.nutrition-columns>*,.connection-card-grid>*){min-width:0}
:where(input,select,textarea){max-width:100%;min-width:0}
:where(button,a,input,select,textarea,summary){touch-action:manipulation}
:where(button,a):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
:where(img,video,iframe){max-width:100%}
:where(.result-value,.number-bridge strong,.saved-card>strong,.connection-card-value,.graph-readout strong,.summary-card strong,.outlook-card strong,.detail-row strong,.detail-row span,.pillar-pick strong,.org-number){overflow-wrap:anywhere}
:where(.dialog-actions,.save-plan-actions,.journey-account-actions,.connection-dialog-footer,.nutrition-modal-footer,.org-actions,.agenda-heading,.graph-heading,.saved-heading){flex-wrap:wrap}
:where(.dialog-actions,.save-plan-actions,.journey-account-actions,.org-actions)>*{max-width:100%}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}
:where(dialog input:not([type=checkbox]):not([type=radio]):not([type=range]),dialog select,dialog textarea){font-size:16px!important;min-height:44px}
:where(.icon-button,.favorite,.day-number,.pillar-edit){min-height:44px;min-width:44px}
:where(.filters button,.ws-link,.primary,.outline,.org-actions button,.dialog-actions button,.save-plan-actions button,.nutrition-modal-footer button){min-height:44px}
:where(.calendar-event,.pillar-calendar-value,.pillar-count,.day-number){max-width:100%}
:where(.timer-row,.food-log-row,.meal-row){min-width:0;flex-wrap:wrap}
:where(.timer-row strong,#stopwatch-value){overflow-wrap:anywhere}
#quick-tip span{font-size:20px;line-height:1}
@media(max-width:900px){
 .workspace-sidebar{min-width:0}
 .calculator-layout,.specialist-grid{grid-template-columns:minmax(0,1fr)}
 .journey-output-card{position:static}
}
@media(max-width:720px){
 #home-themes-open{display:none!important}
 .hero-copy{display:block!important}
 .hero{padding:20px 16px 28px;gap:18px}
 html[data-theme] .hero h1{font-size:clamp(28px,7.6vw,36px);text-wrap:balance}
 .hero-sub{max-width:none!important;font-size:16px;line-height:1.5}
 #everyday-calculator{padding:14px}
 .everyday-display{padding:12px}
 #basic-expression{font-size:clamp(34px,11vw,48px);min-height:48px}
 .everyday-keys button{min-height:48px;height:clamp(48px,13vw,58px)}
 .everyday-top{flex-wrap:wrap;gap:8px;font-size:16px}
 .everyday-top button{min-height:44px}
 .next-panel,.home-planning-links{min-width:0}
 .destination-row{flex-wrap:wrap}
 .destination-row select{flex:1 1 100%;width:100%}
 .destination-row button{width:100%;min-height:46px;font-size:16px}
 .home-planning-links{flex-wrap:wrap;gap:12px}
 .library{padding:26px 16px}
 .section-top{flex-wrap:wrap}
 .section-top h2{font-size:clamp(27px,7.6vw,34px)}
 .filters{display:flex;flex-wrap:wrap;overflow:visible;gap:8px}
 .filters button{white-space:normal;min-height:44px;font-size:16px;padding:9px 12px}
 .cards{grid-template-columns:minmax(0,1fr)}
 .workspace-main{padding:20px 14px 32px}
 .workspace-sidebar{gap:8px;padding:10px 14px;scroll-snap-type:x proximity}
 .workspace-sidebar .ws-link{scroll-snap-align:start;min-height:44px}
 .workspace-sidebar .ws-link span{font-size:16px}
 .ws-heading{flex-wrap:wrap;margin:22px 0}
 .ws-heading p:last-child{max-width:none;font-size:16px}
 .ws-heading .eyebrow,.ws-topline,.live-label{font-size:16px;line-height:1.5;letter-spacing:.6px}
 .ws-topline{flex-wrap:wrap;gap:10px}
 .ws-heading .primary,.calendar-add-tools button{font-size:16px!important;min-height:44px}
 .calendar-legend,.calendar-legend .estimate-tag,.agenda-heading button,.agenda-row small,.empty-plan p{font-size:16px}
 .agenda-heading h3,.agenda-row>div:nth-of-type(2) strong,.agenda-row>b{font-size:16px}
 .agenda-row{flex-wrap:wrap}
 .agenda-row>div:nth-of-type(2){flex:1;min-width:100px}
 .projection-controls{display:flex;flex-wrap:wrap}
 .projection-controls select{flex:1 1 130px;font-size:16px;min-height:44px}
 .projection-controls .toggle-label{width:100%;font-size:16px}
 .summary-card small,.summary-card>div{font-size:16px}
 .pillar-deck{scroll-snap-type:x proximity;gap:12px}
 .pillar-tile{scroll-snap-align:start;min-width:min(235px,100%)}
 .pillar-days .day-number{min-width:0;min-height:36px;width:100%;margin:0;justify-content:center}
 .pillar-week .day-number{width:auto;min-height:44px}
 .pillar-days .day-cell{min-width:0}
 .pillar-count{white-space:normal}
 .pillar-calendar-value{overflow:hidden;text-overflow:ellipsis}
 .pillar-week .pillar-calendar-value{overflow:visible;white-space:normal}
 .pillar-period{gap:8px}
 .pillar-period h3{font-size:18px}
 .pillar-view button{min-width:0;padding:11px 12px}
 .pillar-month-card{padding:14px 10px}
 .pillar-month-card strong{font-size:22px}
 .pillar-empty{min-width:0;flex:1;padding:20px}
 .pillar-controls>.nutrition-check{min-width:0}
 html[data-theme] dialog,html[data-theme] #journey-dialog{width:100%;max-width:100%;max-height:100dvh;height:auto;min-height:0;margin:auto;padding:16px max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-radius:18px}
 html[data-theme] dialog .dialog-top{top:-16px;margin-top:0;padding:8px 0;min-height:52px}
 .calculator-layout{gap:18px;margin-top:18px}
 .inputs-panel,.results-panel,.journey-input-card,.journey-output-card{padding:20px 16px;min-width:0}
 #calculator-form,#journey-form,.input-group-grid,.plan-form-grid{grid-template-columns:minmax(0,1fr)}
 .plan-form-grid label{font-size:16px}
 .plan-enabled{font-size:16px;white-space:normal}
 .dialog-actions button,.save-plan-actions button{min-height:44px;font-size:16px}
 .nutrition-heading h1{font-size:30px}
 .nutrition-date{flex-wrap:wrap}
 .nutrition-date label{min-width:0;flex:1}
 .nutrition-form-grid{grid-template-columns:minmax(0,1fr)}
 .nutrition-form-grid>*{grid-column:auto!important}
 .meal-preset-grid{grid-template-columns:minmax(0,1fr)}
 .food-week{gap:4px}
 .food-week>*{min-width:0;padding:8px 2px}
 .food-week strong{font-size:16px;overflow-wrap:anywhere}
 .food-week small{font-size:16px}
 .nutrition-card,.org-card{padding:20px 16px}
 .org-grid,.world-clocks{grid-template-columns:minmax(0,1fr)}
 .org-inline-form>label{min-width:0;flex-basis:100%}
 .nutrition-modal-footer,.connection-dialog-footer{position:static}
 .world-clock{padding:18px}
 .timer-duration{gap:8px}
 .lap-head,.lap-list>div{font-size:16px;gap:8px;grid-template-columns:32px minmax(0,1fr) minmax(0,1fr)}
 .search-wrap input{min-width:0}
 footer{flex-wrap:wrap;gap:18px;padding:28px 16px}
}
@media(max-height:500px) and (orientation:landscape){
 html[data-theme] body>header{position:relative;padding-top:8px!important;padding-bottom:8px!important}
 html[data-theme] dialog,html[data-theme] #journey-dialog{max-height:100dvh;width:min(100%,1100px);padding-top:12px;padding-bottom:max(16px,env(safe-area-inset-bottom))}
 html[data-theme] dialog .dialog-top{position:relative;top:0;padding:4px 0;min-height:44px;margin-bottom:8px}
 .connection-dialog-footer,.theme-picker-footer,.nutrition-modal-footer{position:static}
 .calculator-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .calc-heading h2{font-size:28px}
 .inputs-panel,.results-panel{padding:18px}
 #calculator-form{grid-template-columns:minmax(0,1fr)}
 .journey-output-card{position:static}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
@media(max-width:720px){.filters{width:100%;max-width:100%;margin-right:0;padding-right:0}.mobile-result-link{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;margin:8px 0 4px;border-radius:12px;background:var(--accent-soft);color:var(--text);font-size:16px}}
@media(min-width:721px){.mobile-result-link{display:none}}
.tip-presets{display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1;margin:0 0 10px}
.tip-presets button{min-height:44px;min-width:56px;padding:10px 14px;border-radius:12px;background:var(--accent-soft);color:var(--text);font-size:16px}
.tip-presets button:focus-visible{outline:2px solid var(--accent)}
@media(max-height:500px) and (orientation:landscape){.mobile-result-link{display:none!important}.calc-heading{margin:8px 0}.calc-heading h2{font-size:25px;margin:8px 0}.calc-description{font-size:16px;margin:8px 0}.calculator-layout{margin-top:12px}html[data-theme] dialog .dialog-top{position:sticky;top:-12px;min-height:44px;padding:4px 0}.dialog-top .brand{font-size:22px}}
.tip-presets button[aria-pressed=true]{color:var(--accent);box-shadow:inset 0 -3px var(--accent)}
