:root{--bg: #e7f3ee;--bg-deep: #d7ebe3;--card: #fffcf7;--ink: #14302b;--muted: #3e5c55;--line: #c5ddd4;--teal: #0f5c56;--teal-soft: #e5f4f1;--amber: #8a4b08;--amber-mark: #c4841d;--amber-soft: #fbf3e0;--indigo: #343f8a;--indigo-soft: #eceef8;--coral: #9d3b36;--coral-fill: #f3c2bb;--coral-soft: #fbeceb;--bread: #f0d7a4;--crust: #c4a15a;--shadow: 0 12px 40px rgba(20, 60, 50, .08);--serif: "Iowan Old Style", Palatino, "Palatino Linotype", Georgia, serif;--sans: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;color:var(--ink);background:var(--bg);font-family:var(--sans);font-size:18px;line-height:1.45}*{box-sizing:border-box}body{margin:0}button,input{font:inherit;color:inherit}button{min-height:48px;padding:.55rem .9rem;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer}button.primary{background:var(--teal);color:#fff;border-color:var(--teal)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid var(--teal);outline-offset:2px}h1,h2,h3{font-family:var(--serif);font-weight:560;letter-spacing:-.02em}h1{font-size:2rem;line-height:1.15;margin:.2rem 0 .8rem}h2{font-size:1.45rem;margin:0 0 .6rem}h3{font-size:1.15rem;margin:.8rem 0 .4rem}p{margin:.4rem 0}.app{min-height:100vh;background:radial-gradient(900px 420px at 10% -10%,#f7fffb,transparent 60%),radial-gradient(700px 380px at 100% 0%,#d9f0ea,transparent 55%),var(--bg)}.skip{position:absolute;left:12px;top:-40px;background:#fff;padding:8px}.skip:focus{top:12px;z-index:10}.topbar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;padding:12px 20px;background:#e7f3eef0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;flex-direction:column;margin-right:auto}.brand-mark{font-family:var(--serif);font-size:1.35rem}.brand-sub{color:var(--muted);font-size:.85rem}nav,.locales,.row-actions,.dock-actions{display:flex;flex-wrap:wrap;gap:8px}.locales button{display:flex;flex-direction:column;align-items:flex-start;min-width:92px}.locales button small,.locale-note,.kicker,.live,.dock-note,.bar-note{color:var(--muted)}.locales button[aria-pressed=true],.choice[aria-pressed=true],.order-card[aria-pressed=true]{border-color:var(--teal);background:var(--teal-soft);box-shadow:inset 4px 0 0 var(--teal)}.locale-note{margin:0;padding:8px 20px 0;font-size:.92rem}main{max-width:920px;margin:0 auto;padding:12px 20px 12rem}.mission{padding-bottom:12px}.kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;margin-bottom:0}.promise{font-family:var(--serif);font-size:1.35rem}.story{font-size:1.05rem}.locale-line{font-size:.92rem;color:var(--muted)}.phase,.home{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1.15rem 1.2rem 1.3rem;margin:1rem 0;box-shadow:var(--shadow);scroll-margin-top:96px}.phase.check{border-color:var(--teal)}.done-line{border-top:1px solid var(--line);padding-top:.6rem}.choices,.order-cards,.plates,.cakes,.bars{display:grid;gap:10px;margin:.8rem 0}.choice,.order-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;width:100%;background:#fff}.choice-state{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teal)}.legend{font-weight:650;margin-bottom:0}.recorded,.feedback,.visit,.picture{display:grid;gap:4px;border-radius:14px;padding:.8rem .9rem;margin:.8rem 0}.recorded,.picture{background:var(--indigo-soft);border:1px solid #c9cfee}.feedback-ok{background:var(--teal-soft);border:1px solid #b7ddd4}.feedback-look{background:var(--amber-soft);border:1px solid #ead7a8}.visit{background:var(--coral-soft);border:1px solid #efc8c3}.feedback h3{margin:0}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:.15rem .55rem;font-size:.82rem;font-weight:700;border:1px solid transparent}.icon{width:16px;height:16px}.chip-number{color:var(--amber);background:var(--amber-soft);border-color:#ead3a4}.chip-evidence{color:var(--indigo);background:var(--indigo-soft);border-color:#c9cfee}.chip-chance{color:var(--coral);background:var(--coral-soft);border-color:#efc8c3}.fraction{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 .2rem;line-height:1;font-weight:700}.fraction-bar{width:100%;height:2px;background:currentColor;margin:2px 0}blockquote{margin:.6rem 0;padding:.2rem 0 .2rem .9rem;border-left:4px solid var(--amber-mark)}blockquote p{font-family:var(--serif);font-size:1.2rem}blockquote footer{color:var(--muted)}.bench{display:grid;gap:12px}.pile{display:flex;flex-direction:column;align-items:flex-start;background:var(--bread);border-color:var(--crust);touch-action:none}.plates{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.plate{border:1px dashed var(--line);border-radius:16px;padding:8px;background:#fff;min-height:48px}.plate.is-over{border-style:solid;border-color:var(--teal);background:var(--teal-soft)}.plate button{width:100%;margin-top:6px}.sandwich{width:100%;height:auto}.bread{fill:var(--bread);stroke:var(--crust);stroke-width:2}.filling{fill:var(--coral)}.empty-slot{fill:transparent;stroke:var(--muted);stroke-width:1.5;stroke-dasharray:4 3}.number-line{margin:.6rem 0 1rem}.line-scroll{overflow-x:auto;padding:.25rem 0 .4rem}.line-track{position:relative;height:8.4rem;min-width:52rem;margin:0 1.5rem;touch-action:none}.line-rail{position:absolute;left:0;right:0;top:4.7rem;height:4px;border-radius:99px;background:var(--amber-mark)}.tick{position:absolute;top:4.2rem;width:2px;height:14px;background:var(--amber);transform:translate(-50%)}.tick.tall{height:22px;top:3.8rem}.tick-label{position:absolute;top:6.15rem;transform:translate(-50%);font-size:.85rem;color:var(--amber);font-weight:700}.mark{position:absolute;transform:translate(-50%);width:3rem;min-width:3rem;height:3rem;min-height:3rem;padding:0;border-width:2px;font-weight:700;font-size:.85rem}.mark-round{top:2.55rem;border-radius:999px;background:var(--amber-soft);border-color:var(--amber);color:var(--amber)}.mark-square{top:.15rem;border-radius:8px;background:#fff;border-color:var(--amber);color:var(--amber)}.mark.is-empty{border-style:dashed}.line-actions,.nudge{display:flex;flex-wrap:wrap;gap:8px}.bars{grid-template-columns:1fr}.bars svg{width:min(100%,36rem);height:auto;display:block}.bar-body{fill:#f7f1e4;stroke:var(--crust);stroke-width:2}.bar-shade{fill:var(--amber-soft)}.bar-cut{stroke:var(--ink);stroke-width:2}.cakes{grid-template-columns:1fr 1fr}.cake-card{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.grid{display:grid;gap:4px;margin:8px 0}.cell{width:1.75rem;height:1.75rem;border-radius:4px;background:var(--bread);border:1px solid var(--crust)}.cell.is-food{background:repeating-linear-gradient(135deg,var(--amber-soft),var(--amber-soft) 4px,#f6e2b8 4px,#f6e2b8 8px);border-color:var(--amber)}.ghost{height:72px;border-radius:12px;background:#f3ead8;border:1px solid var(--crust)}.ghost.is-large{height:110px}.spinner{width:min(280px,100%);height:auto}.wedge-yes{fill:var(--coral-fill);stroke:var(--coral);stroke-width:1}.wedge-no{fill:#d7efe8;stroke:var(--teal);stroke-width:1}.wedge-label{fill:var(--ink);font-size:13px;font-weight:700;font-family:var(--sans)}.dot{fill:var(--coral)}.hatch{stroke:var(--teal);stroke-width:1;fill:none}.hub{fill:#fff;stroke:var(--ink);stroke-width:2}.needle{fill:var(--ink)}.wedge-hit{cursor:pointer}.lid{fill:#d5ebe4;stroke:var(--teal);stroke-width:3}.lid-label{fill:var(--ink);font-size:16px;font-weight:700;font-family:var(--sans)}.outcomes ol{display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:8px 0 0;list-style:none}.outcomes li{min-width:48px;min-height:36px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);font-size:.85rem;font-weight:700}.outcomes li.is-yes{background:var(--coral-soft);border-color:var(--coral)}.outcomes li.is-no{background:var(--teal-soft);border-color:var(--teal)}.readout{font-size:1.15rem}.order-cards{grid-template-columns:repeat(3,1fr)}.sitting{padding-left:1.2rem}.sitting li{margin:.35rem 0}.modules{list-style:none;padding:0;display:grid;gap:8px}.modules li{display:flex;gap:12px;align-items:center}.modules button,.modules .is-later{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:#fff;border-radius:14px;border:1px solid var(--line);padding:8px 12px}.modules .is-later{background:transparent;color:var(--muted)}.modules small{display:block;color:var(--muted);font-size:.85rem}.mod-no{font-family:var(--serif);font-size:1.3rem;min-width:1.6rem}.dock{position:sticky;bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;background:#fffcf7f5;border:1px solid var(--line);border-radius:16px;padding:10px 12px;box-shadow:var(--shadow)}.dock p{flex:1 1 18rem;margin:0;font-size:.95rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.half-scale{margin:.8rem 0 1rem}.half-track{position:relative;height:7.2rem;width:auto;margin:0 1.2rem;touch-action:none}.lift-scroll{overflow-x:auto;padding:.8rem 0 .8rem 5.2rem}.lift-track{position:relative;height:20rem;width:16rem;touch-action:none;background:linear-gradient(#d7ebe3,#d7ebe3) 12.6rem 0 / 2.6rem 100% no-repeat;border-left:4px solid var(--amber-mark)}.half-rail{position:absolute;left:0;right:0;top:3.05rem;height:4px;border-radius:99px;background:var(--amber-mark)}.lift-track .half-rail{left:0;top:0;bottom:0;right:auto;width:4px;height:auto}.half-tick{position:absolute;transform:translate(-50%);top:2.65rem;color:var(--amber);font-size:.85rem;font-weight:700}.half-tick i{display:block;width:2px;height:16px;background:var(--amber);margin:0 auto}.half-tick b{position:absolute;top:2.05rem;left:50%;transform:translate(-50%);white-space:nowrap}.half-tick.is-ground b{text-decoration:underline}.lift-track .half-tick{top:auto;left:auto;right:calc(100% + 8px);transform:translateY(50%);display:flex;flex-direction:row-reverse;align-items:center;gap:6px;width:max-content}.lift-track .half-tick i{width:14px;height:2px;margin:0}.lift-track .half-tick b{position:static;transform:none;display:block;width:auto;text-align:right}.lift-track .half-tick small{display:block;font-size:.72rem;letter-spacing:0}.lift-car{position:absolute;left:12.9rem;width:2rem;height:1.5rem;margin-bottom:-.75rem;background:var(--teal);border-radius:4px 4px 2px 2px;box-shadow:0 8px #0f5c562e}.scale-mark{position:absolute;top:1.55rem;width:3rem;min-width:3rem;height:3rem;min-height:3rem;padding:0;border:2px solid var(--amber);border-radius:8px;background:var(--amber-soft);color:var(--amber);font-weight:700;font-size:.85rem;transform:translate(-50%)}.lift-track .scale-mark{top:auto;transform:translateY(50%)}.scale-mark.is-empty{border-style:dashed;background:#fff}.stepper,.price-paths{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:.6rem 0}.stepper-value{min-width:8rem;font-weight:700}.litre{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin:.8rem 0}.litre-bracket{grid-column:1 / 7;grid-row:1;border:2px solid var(--amber);border-bottom:0;border-radius:8px 8px 0 0;text-align:center;color:var(--amber);font-weight:700;padding:4px 0 6px}.litre span{grid-row:2;min-height:48px;border-radius:6px;background:#f7f1e4;border:1px dashed var(--crust);display:grid;place-items:center;font-size:.78rem;font-weight:700;color:var(--amber)}.litre span.is-in{background:#e7b84a;border:2px solid var(--amber);color:var(--ink)}.litre span.is-out{background:repeating-linear-gradient(135deg,white,white 4px,var(--coral-soft) 4px,var(--coral-soft) 8px);border:2px solid var(--coral);color:var(--coral)}.wrong-sum{background:var(--amber-soft);border:1px solid #ead7a8;border-radius:14px;padding:.8rem .9rem;margin:.6rem 0}.wrong-line{display:flex;align-items:center;gap:.45rem;font-size:1.2rem;font-weight:700}.halves{display:flex;gap:8px;margin:.6rem 0}.half-bar{flex:1;min-height:48px;display:grid;place-items:center;background:var(--amber-soft);border:2px solid var(--amber);border-radius:10px;font-weight:700}.half-bar.is-whole{background:var(--teal-soft);border-color:var(--teal)}.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:.8rem 0}.trio span{min-height:64px;display:grid;place-items:center;border-radius:14px;background:var(--amber-soft);border:2px solid var(--amber);font-family:var(--serif);font-size:1.6rem}.quarter-track{position:relative;height:64px;margin:1.4rem 1.6rem .8rem;touch-action:none}.quarter-track:before{content:"";position:absolute;left:0;right:0;top:28px;height:4px;border-radius:99px;background:var(--amber-mark)}.quarter-knob{position:absolute;top:4px;transform:translate(-50%);width:3.4rem;min-width:3.4rem;height:48px;border:2px solid var(--amber);background:#fff;color:var(--amber);font-weight:700}.price-paths{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}.price-paths article{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.cups{display:flex;flex-wrap:wrap;gap:4px;margin:.4rem 0}.cup{width:3.4rem;min-height:2.6rem;border-radius:8px 8px 4px 4px;display:grid;place-items:center;font-size:.72rem;font-weight:700}.cup.is-juice{background:#e7b84a;border:2px solid var(--amber)}.cup.is-water{background:#d7ebe3;border:2px solid var(--teal);color:var(--teal)}.mix-pair,.models{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.sign{display:grid;place-items:center;background:var(--amber-soft);border:2px solid var(--amber);border-radius:8px;font-weight:700}.sign.is-new{background:var(--teal-soft);border-color:var(--teal)}.equation{font-family:var(--serif);font-size:1.7rem;margin:.4rem 0 .8rem}.stall-picture{margin:.6rem 0}.stall-track{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:.25rem 0 .7rem}.stall-track span{min-height:42px;border-radius:8px;display:grid;place-items:center;border:1px dashed var(--muted);font-size:.8rem;font-weight:700}.stall-track span.is-cloth{background:#e7b84a;border:2px solid var(--amber)}.stall-track span.is-gap{background:repeating-linear-gradient(135deg,white,white 4px,var(--coral-soft) 4px,var(--coral-soft) 8px);border:2px solid var(--coral);color:var(--coral)}.price-paths button{width:100%}.token{min-height:48px;min-width:4.8rem;padding:.35rem .7rem;border-radius:999px;display:inline-grid;place-items:center;font-size:.85rem;font-weight:700;border:2px solid var(--line);background:#fff}.token.is-blue{background:var(--indigo-soft);border-color:var(--indigo);color:var(--indigo)}.token.is-other{background:var(--teal-soft);border-color:var(--teal);color:var(--teal)}.token.is-empty{border-style:dashed;color:var(--muted)}.token.is-red{background:var(--coral-soft);border-color:var(--coral);color:var(--coral)}.token.is-yellow{background:var(--amber-soft);border-color:var(--amber);color:var(--amber)}.token.is-striped{background:repeating-linear-gradient(135deg,var(--coral-soft),var(--coral-soft) 6px,var(--indigo-soft) 6px,var(--indigo-soft) 12px);border-color:var(--ink);color:var(--ink)}.token-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:.35rem 0 .7rem}.group-list{display:grid;gap:4px;margin:.6rem 0}.bag-and-tree{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.tree{border-left:3px solid var(--teal);padding-left:12px}.tree-arm{margin:.25rem 0;padding:.4rem .65rem;border-radius:8px;background:#fff;border:1px solid var(--line)}.tree-arm.is-lit{background:var(--teal-soft);border-color:var(--teal);box-shadow:inset 4px 0 0 var(--teal)}.scan-label{display:block;font-weight:700;margin-top:.7rem}input[type=range]{width:100%;min-height:48px;accent-color:var(--coral)}.scan-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin:.6rem 0}.scan-grid span{min-height:36px;display:grid;place-items:center;border-radius:6px;border:1px solid var(--line);font-size:.75rem;font-weight:700;background:#fff}.scan-grid span.is-hit{background:var(--coral-soft);border-color:var(--coral);color:var(--coral)}.miss-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.miss-grid span{background:var(--teal-soft);border-color:var(--teal);min-height:44px}.headline-card,.survey-card{border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:#fff}.headline-card{border-color:var(--indigo);background:var(--indigo-soft)}.survey-pair,.warn-piles{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.robot-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;margin:.6rem 0}.robot{min-height:28px;display:grid;place-items:center;border-radius:4px;border:1px solid var(--line);font-size:.68rem;font-weight:700;background:#fff;color:var(--muted)}.robot.fault-flag{background:var(--indigo-soft);border-color:var(--indigo);color:var(--indigo)}.robot.fault-quiet{background:#fff;border:2px dashed var(--indigo);color:var(--indigo)}.robot.work-flag{background:var(--coral-soft);border-color:var(--coral);color:var(--coral)}.robot.work-quiet{background:#fff;color:var(--muted)}.robot.is-large{min-height:48px;font-size:.82rem;padding:0 .6rem}.robot-legend{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:.4rem 0 .6rem;font-size:.92rem}.robot-legend .robot{min-width:2.4rem}.trip-row{display:flex;flex-wrap:wrap;gap:6px;margin:.35rem 0 .8rem}.trip{min-width:3.4rem;min-height:48px;padding:.3rem .55rem;border-radius:10px;display:inline-grid;place-items:center;font-weight:700;font-size:.85rem;border:2px solid var(--line);background:#fff}.trip.is-a{background:var(--amber-soft);border-color:var(--amber);color:var(--amber)}.trip.is-b-full{background:var(--coral-soft);border-color:var(--coral);color:var(--coral)}.trip.is-b-empty{border-style:dashed;color:var(--muted)}.town-list{padding-left:1.2rem}.town-list li{margin:.35rem 0}@media(max-width:800px){.plates,.cakes,.order-cards{grid-template-columns:1fr 1fr}.order-cards,.price-paths,.mix-pair,.models,.bag-and-tree,.survey-pair,.warn-piles{grid-template-columns:1fr}}@media(max-width:560px){.plates,.cakes{grid-template-columns:1fr}h1{font-size:1.7rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
