:root{color-scheme:dark;--paper:#07324a;--deep:#041e2d;--sheet:#0b405d;--rule:#2d7895;--ink:#f4f0da;--muted:#b7d0d3;--chalk:#72e6d1;--amber:#ffd166;--amber-ink:#102c35;--danger:#ff8f7c;--mono:ui-monospace,SFMono-Regular,Cascadia Mono,Roboto Mono,monospace;--sans:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--shadow:0 24px 60px rgb(1 18 29 / .35)}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;min-width:320px;background-color:var(--paper);background-image:linear-gradient(rgb(45 120 149/.13) 1px,transparent 1px),linear-gradient(90deg,rgb(45 120 149/.13) 1px,transparent 1px);background-size:24px 24px;color:var(--ink);font:16px/1.55 var(--sans);min-height:100vh}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:var(--amber);text-underline-offset:3px}img{max-width:100%;display:block}svg{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:fixed;z-index:100;top:8px;left:8px;background:var(--amber);color:var(--amber-ink);padding:12px 16px;transform:translateY(-150%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--chalk);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3,.eyebrow,.quantity,.progress-label,.store-item{font-family:var(--mono)}h1{font-size:1.05rem;letter-spacing:.02em;margin:0}h2{font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.15;margin-bottom:12px}h3{font-size:1.18rem;margin-top:32px}.eyebrow{font-size:.75rem;line-height:1.2;letter-spacing:.14em;color:var(--chalk);font-weight:700;margin-bottom:10px}.site-header{max-width:1180px;margin:0 auto;min-height:88px;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}.wordmark,.store-wordmark{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--chalk);background:var(--deep);clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%)}.mark svg{width:25px;height:25px}.status-pills{display:flex;gap:8px;align-items:center;font:700 .72rem var(--mono);letter-spacing:.03em}.privacy-pill,.network-pill{padding:8px 11px;border:1px solid var(--rule);background:var(--deep)}.privacy-pill span{display:inline-block;width:7px;height:7px;background:var(--chalk);border-radius:50%;margin-right:7px}.offline-banner{background:var(--amber);color:var(--amber-ink);text-align:center;font:700 .82rem var(--mono);padding:8px}main:not(.store-mode):not(.loading){max-width:1180px;margin:0 auto;padding:48px 24px 80px}.control-deck{padding:clamp(24px,5vw,48px);background:var(--deep);border:1px solid var(--rule);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);box-shadow:var(--shadow)}.deck-heading,.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:start}.deck-heading h2{font-size:clamp(2rem,5vw,3.75rem);margin-bottom:26px}.progress-label{display:flex;flex-direction:column;align-items:end;color:var(--amber)}.progress-label span{font-size:2rem}.progress-label small{color:var(--muted)}.progress-track{height:5px;background:var(--sheet);margin:-10px 0 28px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--chalk);transition:width .24s ease}.add-form{display:grid;grid-template-columns:minmax(180px,1fr) 110px 170px auto;gap:12px;align-items:end}.field label,.bulk-entry label,#license-form label{display:block;font:700 .75rem var(--mono);letter-spacing:.08em;color:var(--muted);margin-bottom:7px;text-transform:uppercase}.field input,.field select,textarea{width:100%;min-height:52px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:0;padding:12px}.field input::placeholder,textarea::placeholder{color:#91afb5}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 17px;border:1px solid var(--rule);border-radius:0;background:var(--sheet);color:var(--ink);font-weight:750;text-decoration:none;cursor:pointer;transition:transform .16s ease,background .16s ease}.button:hover{background:#10516e}.button:active{transform:translateY(2px)}.button.accent,.got-button{background:var(--amber);border-color:var(--amber);color:var(--amber-ink)}.button.accent:hover,.got-button:hover{background:#ffe08f}.button.secondary{background:transparent}.button.ghost{background:transparent;border-color:transparent}.add-button{white-space:nowrap}.mic-button{grid-column:1/-1;justify-self:start;background:transparent;border-color:transparent;color:var(--chalk);padding-inline:0}.field-hint{font-size:.8rem;color:var(--muted);margin:4px 0 0;max-width:58rem}.bulk-entry{border-top:1px dashed var(--rule);margin-top:24px;padding-top:18px}.bulk-entry summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;color:var(--amber)}.bulk-entry form{display:grid;gap:12px;padding:12px 0}.bulk-entry label span{font-family:var(--sans);text-transform:none;letter-spacing:0;font-weight:400}.bulk-entry .button{justify-self:start}.next-callout{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;margin:24px 0;padding:24px;border:1px solid var(--amber);background:#041e2db8}.next-index{width:56px;height:56px;display:grid;place-items:center;color:var(--amber-ink);background:var(--amber);font:800 .74rem var(--mono);clip-path:polygon(0 0,100% 0,100% 78%,78% 100%,0 100%)}.next-callout .eyebrow{color:var(--muted);margin-bottom:3px}.next-name{font:700 clamp(1.4rem,4vw,2rem) var(--mono);margin:0}.route-sheet{padding:48px 0}.section-heading{align-items:end;margin-bottom:16px}.text-button{min-height:44px;border:0;background:transparent;color:var(--amber);font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.text-button:disabled{opacity:.4;cursor:not-allowed}.danger-text{color:var(--danger)}.aisle{border-top:1px solid var(--rule)}.aisle:last-child{border-bottom:1px solid var(--rule)}.aisle summary{list-style:none;min-height:64px;display:grid;grid-template-columns:55px 1fr auto;gap:16px;align-items:center;cursor:pointer;font:700 1.1rem var(--mono)}.aisle summary::-webkit-details-marker{display:none}.aisle summary:after{content:"−";color:var(--chalk);margin-left:10px}.aisle:not([open]) summary:after{content:"+"}.aisle-index{color:var(--chalk);font-size:.76rem}.aisle-count{font:400 .8rem var(--sans);color:var(--muted)}.aisle ul{list-style:none;padding:0 0 10px 70px;margin:0}.item-row{min-height:56px;display:grid;grid-template-columns:48px minmax(0,1fr) auto 48px;align-items:center;gap:10px;border-top:1px dashed rgb(45 120 149/.6)}.check-button,.icon-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--rule);background:transparent;color:var(--chalk);cursor:pointer}.check-button[aria-pressed=true]{background:var(--chalk);color:var(--deep)}.check-button svg{width:23px}.item-row.done .item-name{text-decoration:line-through;color:var(--muted)}.quantity{color:var(--amber);font-size:.85rem}.delete{border-color:transparent;color:var(--muted);font-size:1.5rem}.delete:hover{color:var(--danger)}.empty-state{display:grid;grid-template-columns:.8fr 1.2fr;gap:0;margin:32px 0 56px;border:1px solid var(--rule);background:var(--sheet);overflow:hidden}.empty-copy{padding:clamp(24px,5vw,56px);align-self:center}.empty-copy p:not(.eyebrow){color:var(--muted);max-width:38rem}.empty-state picture{min-height:360px}.empty-state img{width:100%;height:100%;object-fit:cover}.tool-bench,.plus-panel,.share-inbox{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:32px 0;border-top:1px solid var(--rule)}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.file-label{position:relative;cursor:pointer}.file-label input{position:absolute;width:1px;height:1px;opacity:0}.plus-panel{margin-top:32px;padding:32px;background:var(--deep);border:1px solid var(--rule)}.plus-panel.unlocked{border-color:var(--chalk)}.plus-panel p{color:var(--muted);max-width:52rem}.plus-panel small{display:block;color:var(--muted);max-width:30rem}.inline-notice{width:100%;color:var(--danger)!important}.share-inbox{padding:24px;border-block:1px solid var(--amber);margin-bottom:24px}.error-state{display:flex;gap:12px;align-items:center;padding:20px;border:1px solid var(--danger);margin-top:24px}.error-state span{color:var(--muted)}footer{max-width:1180px;margin:0 auto;padding:32px 24px 48px;border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr auto 1fr;gap:24px;color:var(--muted);font-size:.82rem}footer nav{display:flex;gap:20px}footer .ai-note{text-align:right}.store-mode{min-height:100dvh;background-color:var(--deep);background-image:linear-gradient(rgb(45 120 149/.14) 1px,transparent 1px),linear-gradient(90deg,rgb(45 120 149/.14) 1px,transparent 1px);background-size:32px 32px;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:grid;grid-template-rows:auto 1fr auto}.store-header{display:flex;justify-content:space-between;align-items:center;max-width:960px;width:100%;margin:0 auto}.store-header h1{font-size:.88rem}.store-header .mark{width:42px;height:42px}.store-next{max-width:960px;width:100%;margin:auto;padding:36px 0;text-align:center}.store-meta{display:flex;justify-content:space-between;border-bottom:1px solid var(--rule);padding-bottom:12px;color:var(--chalk);font:700 .78rem var(--mono);letter-spacing:.1em}.store-item{font-size:clamp(3rem,12vw,7.5rem);line-height:.98;letter-spacing:-.055em;margin:clamp(40px,9vh,90px) auto 12px;max-width:12ch;overflow-wrap:anywhere}.store-quantity{font:700 clamp(1.4rem,4vw,2rem) var(--mono);color:var(--amber)}.got-button{display:flex;align-items:center;justify-content:center;gap:14px;width:min(100%,520px);min-height:92px;margin:clamp(32px,7vh,72px) auto 12px;border:0;font-size:1.45rem;font-weight:850;cursor:pointer}.got-button svg{width:32px;height:32px}.skip-button{margin:auto}.store-upcoming{max-width:960px;width:100%;margin:0 auto;border-top:1px solid var(--rule);padding-top:16px}.store-upcoming ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.store-upcoming li{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.88rem}.store-upcoming small{color:var(--rule)}.store-finished{text-align:center;margin:auto}.finish-mark{width:100px;height:100px;display:grid;place-items:center;border:2px solid var(--chalk);color:var(--chalk);margin:0 auto 28px}.finish-mark svg{width:58px;height:58px}.store-finished h2{font-size:clamp(2.5rem,10vw,6rem)}dialog{width:min(calc(100% - 32px),520px);padding:32px;border:1px solid var(--chalk);background:var(--deep);color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:#010f18d1}dialog h2{padding-right:36px}.dialog-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:1.8rem;cursor:pointer}.qr-wrap{display:grid;place-items:center;min-height:280px;margin:24px 0;background:var(--ink);color:var(--deep)}.qr-wrap canvas{max-width:100%;height:auto}dialog small{display:block;color:var(--muted);margin-top:18px}#license-form{display:grid;gap:16px}.toast{position:fixed;z-index:80;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%,20px);background:var(--ink);color:var(--deep);padding:13px 18px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;max-width:calc(100% - 32px);text-align:center}.toast.show{opacity:1;transform:translate(-50%);pointer-events:auto}.toast button{border:0;background:transparent;color:#064b68;font-weight:800;text-decoration:underline;cursor:pointer}.legal-main{max-width:860px!important}.legal-sheet{max-width:700px}.legal-sheet h2{font-size:clamp(2.2rem,6vw,4rem)}.legal-sheet p{color:var(--muted);font-size:1.05rem;max-width:68ch}.loading{min-height:100vh;display:grid;place-content:center;text-align:center}.loading h1{font-size:2rem}@media(max-width:800px){.status-pills .privacy-pill{display:none}.add-form{grid-template-columns:1fr 105px}.aisle-field{grid-column:1/2}.add-button{grid-column:2/3}.mic-button{grid-column:1/-1}.empty-state{grid-template-columns:1fr}.empty-state picture{min-height:260px}.tool-bench,.plus-panel,.share-inbox{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr 1fr}footer .ai-note{grid-column:1/-1;text-align:left}.store-upcoming ol{grid-template-columns:1fr}.store-upcoming li:nth-child(n+3){display:none}}@media(max-width:520px){.site-header{min-height:72px;padding:12px 16px}.site-header .mark{width:42px;height:42px}.network-pill{font-size:0}.network-pill:after{content:"OFFLINE";font-size:.7rem}.site-header h1{font-size:.95rem}main:not(.store-mode):not(.loading){padding:24px 16px 64px}.control-deck{padding:24px 18px}.deck-heading{display:block}.progress-label{align-items:start;display:grid;grid-template-columns:auto auto;gap:10px;align-items:baseline;margin-bottom:20px}.add-form{grid-template-columns:1fr 84px}.aisle-field,.add-button{grid-column:1/-1}.add-button{width:100%}.next-callout{grid-template-columns:52px 1fr;padding:18px 14px;gap:12px}.store-button,.next-callout>.button{grid-column:1/-1;width:100%}.section-heading{align-items:start}.section-heading .text-button{max-width:120px;text-align:right}.aisle summary{grid-template-columns:40px 1fr auto;gap:8px}.aisle ul{padding-left:0}.item-row{grid-template-columns:44px minmax(0,1fr) auto 44px}.tool-bench{padding-top:24px}.tool-bench .button-row,.tool-bench .button{width:100%}.plus-panel{padding:24px 18px}.plus-panel .button-row,.plus-panel .button{width:100%}.empty-state{margin-top:24px}.store-item{margin-top:48px}.store-upcoming{display:none}.store-mode{grid-template-rows:auto 1fr}.error-state{align-items:flex-start;flex-direction:column}footer{padding-inline:16px}.privacy-pill{display:none}}@media(max-width:520px){.network-pill:after{content:"LOCAL"}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
