/* PantryNote mobile UX R1. Original task surfaces; no gesture rules on editors. */
:root{--paper:#f4f8fc;--card:#fff;--ink:#172c42;--ink-soft:#4b6178;--forest:#1e4672;--forest-wash:#eaf3ff;--action:#baf4da;--action-hover:#a4e9c9;--rule:#d8e3ee;--field:#71869b;--focus:#163c83;--radius-field:12px;--radius-panel:20px;--shadow:0 8px 32px #172c420c}
html{scroll-padding-top:110px}h1,h2,h3{letter-spacing:-.025em}h1 .task-icon,h2 .task-icon{vertical-align:-.14em;margin-right:10px}.task-icon{flex:none;display:inline-block;vertical-align:middle}
.home-task-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 24px}.home-task-nav a{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:12px 8px;min-height:52px;border:1px solid var(--rule);border-radius:14px;background:#fff;text-decoration:none;font-size:.875rem;font-weight:650;text-align:center}.home-task-nav a:first-child{background:#1e4672;color:#fff;border-color:#1e4672}.home-task-nav .task-icon{width:22px;height:22px}
.task-steps a[aria-current=step] .step-count{color:#fff}
[data-task-stage],#recipes-title,#review-title,#draft-title,#saved-workspace-title,.line-main{scroll-margin-top:10rem}
@media(max-width:359px){.stage-button{flex-direction:column;gap:2px;padding:8px 4px}.result-table th,.result-table td{padding:10px 4px}.result-table thead th{font-size:.75rem;overflow-wrap:normal}}
.main{max-width:1080px;padding-top:24px}.main.page-home{max-width:1180px}.hero{gap:24px;align-items:start}.hero-title{font-size:clamp(1.8rem,5vw,3.25rem);font-weight:800;line-height:1.17;letter-spacing:-.045em}.hero .lede{color:var(--ink-soft);font-size:1rem;line-height:1.65}.hero-copy .cta-row{gap:10px}.preview{border-color:var(--rule);box-shadow:var(--shadow);border-radius:24px;background:linear-gradient(160deg,#fff,#f3f9ff)}.home-purchase{border-bottom:0;margin-bottom:0;padding-bottom:6px}.shelf-art{max-height:74px;margin-bottom:8px}.purchase-math>div{background:#eaf3ff;border-radius:12px}.purchase-math dt{color:#4b6178}.purchase-math .shortfall{background:#baf4da}.purchase-math .shortfall dd{color:#173c35}.pack-answer strong{background:#1e4672;color:#fff}.home-evidence{border-top:1px solid var(--rule);margin-top:8px;padding-top:8px}.home-evidence>summary{font-size:.875rem;font-weight:650;cursor:pointer;min-height:40px}.pv-note{font-size:.75rem}.process-guide{max-width:640px;margin:24px auto}.process-guide img{width:100%;height:auto;display:block}.home-extra{margin:24px 0}.home-extra>summary{font-weight:700;cursor:pointer;min-height:44px}.home-extra .steps{margin-top:16px}.task{background:#fff;border:1px solid var(--rule);border-radius:20px;box-shadow:none}.task>.task-icon{width:32px;height:32px;margin-bottom:12px;color:var(--forest)}
.page-shopping{max-width:960px}.ws-title{font-size:clamp(1.6rem,5vw,2.1rem);line-height:1.25;margin-bottom:8px}.ws-scope{font-size:.875rem;color:var(--ink-soft);margin:0 0 12px}.about{margin-bottom:12px}.about>summary{font-size:.875rem}.task-steps{position:sticky;top:0;z-index:5;padding:8px;background:var(--paper);border:1px solid var(--rule);border-radius:18px;box-shadow:0 6px 20px #172c4208}.task-steps ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.task-steps li{min-width:0}.task-steps a{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-height:80px;padding:10px 4px;border:0;border-radius:12px;text-decoration:none;background:transparent;color:var(--ink-soft)}.task-steps a[aria-current=step]{background:#1e4672;color:#fff}.task-steps .step-name{font-size:.875rem;font-weight:700;text-align:center}.task-steps .step-count{display:block;font-size:.7rem;line-height:1.25;text-align:center;overflow-wrap:anywhere}.stage-hint{font-size:1rem;margin:18px 0 8px;color:var(--ink)}.shop-status{font-size:.8rem;line-height:1.45;margin:8px 0;color:var(--ink-soft)}.workspace-actions{display:flex;justify-content:flex-end;margin:4px 0 12px}.workspace-actions .btn{min-height:40px}.shop-grid,.draft-cols{display:block!important}.col,.saved-workspace{padding:22px;border:1px solid var(--rule);border-radius:20px;background:var(--card);box-shadow:var(--shadow)}.col>h2,.editor-head h2,.saved-workspace>h2{font-size:1.25rem;margin-top:0}.col-n{display:none}.editor-head{flex-wrap:wrap;gap:8px}.recipe{border:0;border-radius:0;background:none;margin-bottom:0}.recipe>summary{padding:12px 0;background:transparent;border-bottom:1px solid var(--rule)}.r-body{padding:16px 0 0}.s-row{padding:16px 0;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:none}.s-row .row-src{font-size:.8rem;color:var(--ink-soft)}.next-task{display:inline-flex;align-items:center;gap:12px;margin-top:20px}.saved-workspace .collection{margin-top:20px}.shopping-toolbar{padding:12px;border-radius:14px;background:#eaf3ff}.shopping-toolbar .trip-hint{color:#4b6178}.shopping-focused>.task-steps{display:block!important}.shopping-focused .draft{max-width:none}.shopping-focused .line{padding:16px}.line{animation:none;border-color:var(--rule);background:#fff}.line-main{font-size:1rem}.line .purchase-math dd{font-size:1.35rem}.purchase-controls{border-color:var(--rule)}.purchase-check{background:#e4f8ed;color:#173c35}.remaining-count{color:var(--forest)}.bought-panel{background:#f7faff;border-color:var(--rule)}.template-list>li{background:#eaf3ff}.trip-complete{background:#e4f8ed}.copy-fallback{margin-top:16px}
.choice-rail-wrap{margin:16px 0 20px;min-width:0}.rail-caption{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;margin-bottom:10px;font-size:.875rem;font-weight:700}.rail-hint{font-size:.75rem;font-weight:400;color:var(--ink-soft)}.choice-rail{position:relative;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:4px 2px 12px;touch-action:auto;overscroll-behavior-x:contain;cursor:grab}.choice-rail::-webkit-scrollbar{display:none}.choice-rail.is-dragging{scroll-snap-type:none;cursor:grabbing}.rail-card{font:inherit;color:var(--ink);display:flex;flex:0 0 min(72%,240px);flex-direction:column;align-items:flex-start;gap:6px;text-align:left;min-height:120px;padding:16px;border-radius:16px;border:1px solid var(--rule);background:#edf5fd;scroll-snap-align:start;cursor:inherit;user-select:none;overflow-wrap:anywhere}.rail-card>.task-icon{color:var(--forest);width:26px;height:26px}.rail-card>strong{font-size:.9rem;line-height:1.4}.rail-card>span{font-size:.8rem;color:var(--ink-soft)}.rail-card[aria-pressed=true]{border:2px solid #1e4672;background:#dcecff;padding:15px}.rail-card:focus-visible{outline:3px solid var(--focus);outline-offset:-4px}.rail-marks{display:flex;justify-content:center;flex-wrap:wrap;gap:0;max-width:100%}.rail-marks button{width:32px;min-width:32px;height:32px;border:0;padding:12px;background:none;border-radius:50%;cursor:pointer}.rail-marks button>span{display:block;width:8px;height:8px;border-radius:50%;background:#9aaec3}.rail-marks button[aria-current=true]>span{background:#1e4672}.rail-marks button:focus-visible{outline-offset:0}.rail-marks:has(button:only-child){display:none}
.calc-stage-nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;margin:16px 0 20px}.stage-button{font:inherit;font-size:.875rem;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:8px;border-radius:12px;border:1px solid var(--rule);background:#fff;color:var(--ink);cursor:pointer}.stage-button[aria-current=step]{background:#1e4672;color:#fff}.stage-number{font-size:.75rem;opacity:.8}.stage-button:disabled{opacity:.5;cursor:default}.workspace{display:block;max-width:900px;margin:0 auto}.workspace>.calc,.workspace>.result{width:100%;padding:24px;border:1px solid var(--rule);border-radius:20px;background:#fff;box-shadow:var(--shadow);position:static}.workspace>.result h2{display:flex;align-items:center;gap:8px}.workspace>.result .result-figure{font-size:2rem}.serving-diagram{max-width:360px;margin:16px 0 0}.serving-diagram svg{display:block;width:100%;height:auto}.serving-diagram figcaption{font-size:.75rem;color:var(--ink-soft);margin-top:6px}.calc>.actions{display:flex;flex-wrap:wrap;gap:10px}.calc .choice-rail-wrap{margin-bottom:8px}.calc .rail-card{flex-basis:210px;min-height:130px}.calc .remember{margin-top:16px}.purpose{background:#eaf3ff;border-color:var(--rule)}.relation-arrow{color:var(--forest)}.save-panel,.disclosure{border-color:var(--rule)}.foot{background:#fff}.foot-links{gap:4px 12px}
@media(max-width:599px){.main{padding:20px 16px}.hero{gap:20px}.hero-title{font-size:1.85rem}.preview{padding:16px}.col,.saved-workspace,.workspace>.calc,.workspace>.result{padding:16px}.page-shopping{padding-inline:12px}.task-steps{padding:5px;border-radius:15px}.task-steps a{min-height:78px}.task-steps .step-name{font-size:.8rem}.task-steps .step-count{font-size:.65rem}.stage-hint{font-size:.9375rem}.purchase-math dd{font-size:1.12rem}.line .purchase-math dd{font-size:1.12rem}.task{padding:16px}.tasks{gap:10px}.choice-rail-wrap{margin-inline:-2px}.rail-card{flex-basis:74%}.calc-stage-nav{gap:6px}.stage-button{font-size:.8rem;gap:5px}.serving-diagram{max-width:300px}}
@media(min-width:768px){.hero-copy{padding-block:24px}.choice-rail .rail-card{flex-basis:220px}.process-guide{margin:32px auto}.task-steps a{flex-direction:row;flex-wrap:wrap;min-height:60px;gap:8px}.task-steps .step-count{flex-basis:100%}.col,.saved-workspace{padding:28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.task-steps,.stage-hint,.workspace-actions,.choice-rail-wrap,.calc-stage-nav{display:none!important}}
