:root{--ease-celebration:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:96px}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,a,input{touch-action:manipulation}::selection{background:#d9b778;color:#173a30}
.topbar,.site-header{position:sticky;top:0;z-index:50;transition:box-shadow .3s ease,background-color .3s ease;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
body[data-page="central"] .topbar,body[data-page="preparacao"] .topbar{background:rgba(13,36,31,.94)}body[data-page="dinamicas"] .topbar{background:rgba(79,20,37,.94)}body[data-page="alimentacao"] .site-header{background:rgba(16,45,39,.94)}.topbar.is-scrolled,.site-header.is-scrolled{box-shadow:0 13px 35px rgba(15,24,18,.2)}
.reading-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:100;pointer-events:none;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#b34a49,#e7c68d);box-shadow:0 0 13px rgba(230,190,126,.45)}body[data-page="dinamicas"] .reading-progress{background:linear-gradient(90deg,#e5c282,#fff3d9)}
.hub-hero:after,.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle 340px at var(--cursor-x,76%) var(--cursor-y,34%),rgba(255,224,164,.09),transparent 75%);z-index:0;transition:opacity .3s}.hub-hero .hero-grid,.hero .hero-grid,.hero .hero-bottom{z-index:1}
body[data-page="central"] .hero-visual,body[data-page="alimentacao"] .hero-art,body[data-page="dinamicas"] .hero-art,body[data-page="preparacao"] .placeholder-art{animation:festive-float 7s ease-in-out infinite}@keyframes festive-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
body[data-page="central"] .visual-frame:after,body[data-page="alimentacao"] .hero-art-inner:after,body[data-page="dinamicas"] .hero-art:after{content:"";position:absolute;inset:22px;border:1px solid rgba(231,198,141,.16);pointer-events:none;animation:quiet-glow 5s ease-in-out infinite}@keyframes quiet-glow{0%,100%{opacity:.4}50%{opacity:1}}
.primary-link,.button-gold,.primary-button,.placeholder-button{position:relative;overflow:hidden;isolation:isolate}.primary-link:after,.button-gold:after,.primary-button:after,.placeholder-button:after{content:"";position:absolute;top:-40%;bottom:-40%;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-220%) skewX(-18deg);pointer-events:none;transition:transform .65s var(--ease-celebration)}.primary-link:hover:after,.button-gold:hover:after,.primary-button:hover:after,.placeholder-button:hover:after{transform:translateX(430%) skewX(-18deg)}.primary-link:active,.button-gold:active,.primary-button:active,.placeholder-button:active{transform:translateY(1px) scale(.99)}
@media(hover:hover){.department-card:hover{transform:translateY(-8px) scale(1.006)}.upcoming-card:hover,.journey-card:hover{transform:translateY(-6px)}.department-card:after,.upcoming-card:after,.journey-card:after{content:"";position:absolute;inset:-80% auto -80% -65%;width:55%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);pointer-events:none;transition:left .85s var(--ease-celebration)}.department-card:hover:after,.upcoming-card:hover:after,.journey-card:hover:after{left:120%}}
.department-card,.upcoming-card,.journey-card,.meal-card,.assignment-card,.shopping-row,.filter,.day-tab,.assignment-actions button,.presenter-choices button{transition:transform .28s var(--ease-celebration),box-shadow .28s var(--ease-celebration),background-color .25s ease,border-color .25s ease,color .25s ease}
body[data-page="alimentacao"] .day-tab{position:relative;border-bottom-color:transparent}body[data-page="alimentacao"] .day-tab:after{content:"";position:absolute;left:17%;right:17%;bottom:-1px;height:3px;background:#a84d43;transform:scaleX(0);transform-origin:center;transition:transform .35s var(--ease-celebration)}body[data-page="alimentacao"] .day-tab[aria-selected="true"]:after{transform:scaleX(1)}body[data-page="alimentacao"] .meal-card:hover{transform:translateY(-4px);box-shadow:0 13px 26px rgba(29,58,41,.09);border-color:#bdcbb9}body[data-page="alimentacao"] .meal-card:hover .meal-icon{transform:rotate(35deg);border-color:#a9845b}body[data-page="alimentacao"] .meal-icon{transition:transform .45s var(--ease-celebration),border-color .25s ease}body[data-page="alimentacao"] .meal-card{animation:card-rise .42s var(--ease-celebration) both}body[data-page="alimentacao"] .meal-card:nth-child(2){animation-delay:.06s}body[data-page="alimentacao"] .meal-card:nth-child(3){animation-delay:.12s}body[data-page="alimentacao"] .meal-card:nth-child(4){animation-delay:.18s}@keyframes card-rise{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}body[data-page="alimentacao"] .meal-disclosure[open] .ingredient-list{animation:detail-open .32s var(--ease-celebration) both}@keyframes detail-open{from{opacity:0;translate:0 -6px}to{opacity:1;translate:0 0}}body[data-page="alimentacao"] .shopping-row:hover{background:#f0f3eb;transform:translateX(3px)}.shopping-result{font-size:.73rem;color:#829080;margin:0 0 3px}.ingredient-note{display:block;color:#8a9389;font-size:.67rem;line-height:1.35;margin-top:3px}
body[data-page="dinamicas"] .planning-toolbar{position:sticky;top:80px;z-index:10;background:rgba(250,245,235,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-inline:10px;margin-inline:-10px}body[data-page="dinamicas"] .board-group{scroll-margin-top:155px;transition:box-shadow .3s,border-color .3s}body[data-page="dinamicas"] .board-group:hover{box-shadow:0 12px 26px rgba(81,38,41,.06)}body[data-page="dinamicas"] .assignment-card:hover{background:#fff7ed}body[data-page="dinamicas"] .assignment-card.just-moved{animation:moved-glow 1.15s ease-out}@keyframes moved-glow{0%{background:#f0dba8;box-shadow:inset 4px 0 #af4652}100%{background:transparent;box-shadow:inset 4px 0 transparent}}body[data-page="dinamicas"] .board-group header strong.count-bump{animation:count-pop .35s var(--ease-celebration)}@keyframes count-pop{0%{transform:scale(.82)}60%{transform:scale(1.18)}100%{transform:scale(1)}}body[data-page="dinamicas"] .assignment-actions button:hover{transform:translateY(-2px)}body[data-page="dinamicas"] .assignment-actions button:active{transform:scale(.95)}body[data-page="dinamicas"] .presenter[open]{animation:presenter-enter .38s var(--ease-celebration)}body[data-page="dinamicas"] .presenter[open]::backdrop{animation:backdrop-enter .38s ease}@keyframes presenter-enter{from{opacity:0;scale:.96;translate:0 15px}to{opacity:1;scale:1;translate:0 0}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
html.motion-ready [data-reveal]{opacity:0;translate:0 22px;transition:opacity .72s var(--ease-celebration),translate .72s var(--ease-celebration);transition-delay:var(--reveal-delay,0ms)}html.motion-ready [data-reveal].is-visible{opacity:1;translate:0 0}
.back-to-top{position:fixed;right:22px;bottom:24px;z-index:55;border:1px solid rgba(255,255,255,.24);border-radius:50%;width:45px;height:45px;display:grid;place-items:center;background:#173a30;color:#fff;box-shadow:0 10px 28px rgba(19,42,30,.25);font-size:1.2rem;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .35s var(--ease-celebration),background .25s}.back-to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{background:#a84d43}body[data-page="dinamicas"] .back-to-top{background:#6c1d30}body[data-page="dinamicas"] .back-to-top:hover{background:#a63f4c}
.feedback-toast{position:fixed;left:50%;bottom:25px;z-index:90;transform:translate(-50%,18px);opacity:0;pointer-events:none;background:#173a30;color:#fffdf5;padding:12px 18px;border:1px solid #d9b778;box-shadow:0 16px 35px rgba(27,34,26,.24);font-size:.8rem;max-width:min(92vw,440px);text-align:center;transition:opacity .25s,transform .35s var(--ease-celebration)}.feedback-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.mobile-dock{display:none}
@media(max-width:760px){html{scroll-padding-top:76px}.back-to-top{bottom:88px;right:18px;width:40px;height:40px}body.has-mobile-dock{padding-bottom:76px}.mobile-dock{position:fixed;z-index:70;left:12px;right:12px;bottom:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:rgba(18,47,39,.96);border:1px solid rgba(230,199,139,.28);border-radius:16px;padding:7px 5px;box-shadow:0 14px 35px rgba(16,38,27,.25);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transform:translateY(calc(100% + 22px));pointer-events:none;transition:opacity .28s ease,transform .38s var(--ease-celebration)}.mobile-dock.is-active{opacity:1;transform:translateY(0);pointer-events:auto}body[data-page="dinamicas"] .mobile-dock{background:rgba(79,20,37,.96)}.mobile-dock a{color:#dce6d9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:11px;min-height:46px;font-size:.66rem;line-height:1.1;text-align:center}.mobile-dock a .dock-icon{font-size:1rem;line-height:1}.mobile-dock a.active{background:rgba(223,190,129,.18);color:#ffdf9e}.mobile-dock a:active{scale:.96}.feedback-toast{bottom:85px}body[data-page="dinamicas"] .planning-toolbar{top:70px}.site-footer,.footer{padding-bottom:8px}}
@media(max-width:450px){.mobile-dock a{font-size:.61rem}.mobile-dock a .dock-icon{font-size:.9rem}.feedback-toast{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}html.motion-ready [data-reveal]{opacity:1!important;translate:0 0!important}.back-to-top,.feedback-toast{transition:none!important}}
@view-transition{navigation:auto}::view-transition-old(root){animation:root-out .2s ease-in}::view-transition-new(root){animation:root-in .32s var(--ease-celebration)}@keyframes root-out{to{opacity:.4}}@keyframes root-in{from{opacity:.5;translate:0 8px}to{opacity:1;translate:0 0}}
@media print{html.motion-ready [data-reveal]{opacity:1!important;translate:0 0!important}.topbar,.site-header{position:static}.mobile-dock,.back-to-top,.reading-progress,.feedback-toast{display:none!important}body.has-mobile-dock{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}}
