.loading-experience{min-height:58vh;display:grid;place-content:center;justify-items:center;gap:14px;text-align:center;color:#405a70}.loading-experience img{width:116px;height:89px;object-fit:contain;animation:brand-bob 1.4s ease-in-out infinite}.loading-experience strong{font-size:18px}.loading-experience .loading-track{height:6px;width:min(260px,70vw);overflow:hidden;border-radius:8px;background:#dce8f2}.loading-experience .loading-track i{display:block;width:38%;height:100%;border-radius:inherit;background:#297ddd;animation:loading-sweep 1.35s ease-in-out infinite alternate}.loading-skeleton{display:grid;gap:9px;width:min(340px,76vw);margin-top:5px}.loading-skeleton i{display:block;height:36px;border-radius:11px;background:linear-gradient(100deg,#e6eef5 25%,#f3f7fa 45%,#e6eef5 65%);background-size:220% 100%;animation:skeleton-shimmer 1.7s ease-in-out infinite}.loading-skeleton i:nth-child(2){height:56px}.motion-note{font-size:13px;max-width:360px;margin:0;color:#5c6d82}
.preference-switch{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;min-width:168px}.switch-control{display:inline-flex;align-items:center;gap:9px}.switch-state{font-size:13px;font-weight:650;color:#506579;min-width:22px}.switch-track{position:relative;display:inline-block;width:46px;height:28px;border-radius:999px;background:#7b8b9c;flex-shrink:0}.switch-track i{position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #20354e40;transition:transform .16s ease}.preference-switch[aria-checked=true] .switch-track{background:#277bca}.preference-switch[aria-checked=true] .switch-track i{transform:translateX(18px)}.account-preferences{margin:18px 0 22px}.account-preferences h3{margin-top:0}.account-preferences .head-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.shopping-toggle{min-height:44px}.shopping-progress{margin:12px 0 16px}.shopping-progress label{display:flex;justify-content:space-between;font-size:14px}.shopping-progress progress{width:100%;height:10px;accent-color:#36835e}.shopping-item{transition:background-color .2s ease,border-color .2s ease}.shopping-item:has(input:checked){background:#f0f8f3}.shopping-item:has(input:checked)>span{text-decoration:none;opacity:.78}.shopping-item input{width:24px;height:24px;cursor:pointer}
.tour-trigger{min-height:44px}.tour-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;overflow:hidden;overscroll-behavior:contain;color:#20354e}.tour-dialog::backdrop{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.tour-spotlight{position:fixed;z-index:0;border:3px solid #fff;border-radius:15px;pointer-events:none;box-shadow:0 0 0 100vmax rgb(16 34 54 / 70%),0 0 0 5px #2d82dc;transition:left .16s ease,top .16s ease,width .16s ease,height .16s ease}.tour-panel{position:fixed;z-index:1;left:50%;transform:translateX(-50%);width:min(440px,calc(100vw - 24px));overflow:auto;overscroll-behavior:contain;padding:17px 18px calc(14px + env(safe-area-inset-bottom));border:1px solid #d7e4f1;border-radius:19px;background:#fff;box-shadow:0 16px 48px rgb(14 39 68 / 22%)}.tour-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:9px;border-bottom:1px solid #e2eaf1}.tour-panel-head strong{font-size:16px}.tour-panel h2{font-size:22px;margin:4px 0 7px}.tour-content p{line-height:1.5;margin:8px 0}.tour-step{font-weight:650;color:#43627d;font-size:14px}.tour-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid #e2eaf1}.tour-nav button{min-height:44px}.tour-nav span{font-size:14px;font-weight:650;white-space:nowrap;color:#506579}.tour-demo-list{display:grid;gap:5px;margin-top:10px}.tour-demo-list label{display:flex;align-items:center;gap:11px;min-height:42px;padding:6px 9px;border:1px solid #dfe8ef;border-radius:10px;background:#f9fbfd}.tour-demo-list input{width:20px;height:20px}.tour-demo-list small{margin-left:6px;color:#61758a}.tour-demo-list p,.tour-note{font-size:13px;color:#566d82}.tour-demo-list label:has(input:checked){background:#eaf5ed;border-color:#72ad86;animation:check-pulse .24s ease-out}.tour-demo-list input:focus-visible,.preference-switch:focus-visible{outline:3px solid #297ddd;outline-offset:2px}
@keyframes brand-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes loading-sweep{from{transform:translateX(-100%)}to{transform:translateX(280%)}}@keyframes skeleton-shimmer{to{background-position-x:-200%}}@keyframes check-pulse{0%{box-shadow:0 0 0 0 #6ba98155}100%{box-shadow:0 0 0 5px transparent}}
:root:not([data-motion-enabled="true"]) .loading-experience img,:root:not([data-motion-enabled="true"]) .loading-track i,:root:not([data-motion-enabled="true"]) .loading-skeleton i,:root:not([data-motion-enabled="true"]) .shopping-item,:root:not([data-motion-enabled="true"]) .tour-spotlight,:root:not([data-motion-enabled="true"]) .tour-demo-list label{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){:root:not([data-motion-enabled="true"]) .loading-experience img,:root:not([data-motion-enabled="true"]) .loading-track i,:root:not([data-motion-enabled="true"]) .loading-skeleton i,:root:not([data-motion-enabled="true"]) .shopping-item,:root:not([data-motion-enabled="true"]) .tour-spotlight,:root:not([data-motion-enabled="true"]) .tour-demo-list label{animation:none!important;transition:none!important}}
@media(max-width:600px){.account-preferences .head-actions{align-items:stretch}.account-preferences .head-actions>*{flex:1}.tour-panel{width:calc(100vw - 24px);padding:14px 14px calc(12px + env(safe-area-inset-bottom))}.tour-panel h2{font-size:20px}.tour-nav{gap:6px}.tour-nav button{flex:1;padding:8px}.tour-nav span{order:-1;width:100%;text-align:center}.tour-nav [data-action=intro-skip]{flex:0 0 100%;min-height:38px}}
@media(max-width:360px){.tour-panel{width:calc(100vw - 16px);padding:12px}.tour-nav{gap:4px}.tour-nav button{padding:6px;font-size:14px}}
@media print{.shopping-progress,.shopping-toggle,.tour-trigger,.account-preferences,.tour-dialog{display:none!important}}

:root:not([data-motion-enabled='true']) .switch-track i{transition:none!important}
@media print{.preference-switch{display:none!important}}

.shopping-day-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr));gap:10px;margin:12px 0 16px}
.shopping-day{min-width:0;padding:12px 14px;border:1px solid #dce7ef;border-radius:15px;background:#ffffffd9;box-shadow:0 3px 10px rgb(42 72 101 / 5%);transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.shopping-day[data-complete=true]{border-color:#a7cfb2;background:#f1f8f2;box-shadow:0 3px 10px rgb(50 121 77 / 8%)}
.shopping-day-head{display:block;min-width:0}.shopping-day-head strong{display:block;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.shopping-day-head span{display:block;margin-top:2px;font-size:12px;color:#596f83}
.shopping-day-result{display:grid;gap:3px;margin-top:7px;min-width:0}.shopping-day-result>span{font-size:13px;color:#435a6f}.shopping-day-result strong{font-size:12px;line-height:1.35;color:#536a7e;overflow-wrap:anywhere}.shopping-day[data-complete=true] .shopping-day-result strong{color:#245e3c}
.shopping-day progress{display:block;width:100%;height:7px;margin-top:8px;accent-color:#36835e}
.shopping-day.is-newly-complete{animation:shopping-day-complete .42s ease-out}
@keyframes shopping-day-complete{0%{box-shadow:0 0 0 0 rgb(65 142 84 / 30%)}100%{box-shadow:0 3px 10px rgb(50 121 77 / 8%)}}
:root:not([data-motion-enabled='true']) .shopping-day{transition:none!important}:root:not([data-motion-enabled='true']) .shopping-day.is-newly-complete{animation:none!important}
@media(prefers-reduced-motion:reduce){:root:not([data-motion-enabled='true']) .shopping-day{transition:none!important}:root:not([data-motion-enabled='true']) .shopping-day.is-newly-complete{animation:none!important}}
@media(max-width:390px){.shopping-day-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shopping-day{padding:9px 10px}.shopping-day-head strong{font-size:12px}.shopping-day-result>span{font-size:12px}.shopping-day-result strong{font-size:12px}}
@media(max-width:360px){.shopping-day-grid{gap:7px}.shopping-day{padding:8px}.shopping-day-head strong{font-size:12px}.shopping-day-result strong{font-size:12px}}
