/* v2.57.2 premium polish: visual only, no route/ID/logic changes. */
html{font-family:var(--hn-font);font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--hn-font);font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent}
:is(#app,#client) :is(h1,h2,h3,.big,.hn-today-title strong){text-wrap:balance;letter-spacing:-.025em}
:is(#app,#client) :is(.stat,.panel,.card,.food-target,.hn-today-hero){border-radius:var(--hn-radius-md);box-shadow:var(--hn-shadow-sm)}
:is(#app,#client) :is(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--hn-brand);outline-offset:3px}
:is(#app,#client) :is(button,a){touch-action:manipulation}
:is(#app,#client) :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select){font-size:max(16px,1rem)}
:is(#app,#client) :is(.big,.stat strong,.hn-today-next strong,.food-hero strong,.hnfc-points-balance){font-variant-numeric:tabular-nums}
:is(#app,#client) :is(button.p,.primary){background:linear-gradient(135deg,var(--hn-brand),var(--hn-brand-strong));color:var(--hn-brand-ink);min-height:44px}
:is(#app,#client) :is(button.s,.secondary){min-height:44px}
:is(#app,#client) :is(button.p,.primary,button.s,.secondary,.card,.panel){transition:background var(--hn-time-base) var(--hn-ease-out),color var(--hn-time-base) var(--hn-ease-out),border-color var(--hn-time-base) var(--hn-ease-out),transform var(--hn-time-fast) var(--hn-ease-out)}
:is(#app,#client) :is(button.p,.primary,button.s,.secondary):active{transform:scale(.98)}
:is(#app,#client) :is(.sheet,.hnfc-sheet){overscroll-behavior:contain}
#app .sheet{z-index:var(--hn-z-sheet)}
#client .hn-food-camera{z-index:var(--hn-z-camera)}
.hnpt-action-toast,.hnfc-toast,.activation-hint,#client #client-toast{bottom:calc(98px + env(safe-area-inset-bottom,0px));z-index:var(--hn-z-toast)}
/* The community toast is mounted outside the client tree, hence a global selector. */
.hnfc-toast{max-width:calc(100vw - 24px);width:max-content}
#client>.bottom,#app>nav{--hn-nav-active:#462732}
#client>.bottom button,#app>nav .hnpt-nav-primary{min-width:0;min-height:44px;transition:color var(--hn-time-base) var(--hn-ease-out),background var(--hn-time-base) var(--hn-ease-out),transform var(--hn-time-base) var(--hn-ease-out)}
#client>.bottom button.active,#app>nav .hnpt-nav-primary.on{background:var(--hn-nav-active);transform:translateY(-1px)}
#client>.bottom span,#app>nav .nav-label{font-size:clamp(10px,2.8vw,11.5px);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media(max-width:690px){
 #app>nav{bottom:max(9px,calc(env(safe-area-inset-bottom,0px) - 10px));}
 #client>.bottom{bottom:max(9px,calc(env(safe-area-inset-bottom,0px) - 10px));}
 #app>main{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}
 #client{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}
 #client .hn-seli-fab{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 #app>nav,#client>.bottom{background:var(--hn-surface-raised)}
}
@media(hover:hover){:is(#app,#client) :is(.schedule-row,.hnfc-post):hover{border-color:var(--hn-line)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}:is(#app,#client) *, .hnfc-toast{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}
/* Light mode: keep form controls and analytics visually native, never low-contrast. */
html[data-hn-theme="light"] :is(#app,#client) :is(.stat,.panel,.card){box-shadow:var(--hn-shadow-sm)}
html[data-hn-theme="light"] :is(#app,#client) :is(.muted,.intro,.stat small,.card small){color:var(--hn-text-muted)}
/* Hidden native inputs must remain hidden even against earlier type selectors. */
#client input[hidden],#client [hidden],#app [hidden]{display:none!important}
/* Light dock labels were white on a pale active pill in the legacy light stylesheet. */
html[data-hn-theme="light"] #client>.bottom button.active :is(span,i,svg),
html[data-hn-theme="light"] #app>nav button.hnpt-nav-primary.on :is(.nav-label,.nav-icon){color:#7d2341!important}
/* White labels need a sufficiently dark red across the *whole* primary gradient. */
:is(#app,#client) :is(button.p,.primary){background:linear-gradient(135deg,var(--hn-brand-strong),#871d35)}
/* Legacy PT mobile header had a dark !important background even in Light Mode. */
html[data-hn-theme="light"] #app>header{background:var(--hn-surface)!important;color:var(--hn-text)!important;border-color:var(--hn-line)!important}
html[data-hn-theme="light"] #app>header .brand :is(b,small){color:var(--hn-text)!important}
