:root{color-scheme:light;--paper:#f4f0e5;--card:#fffdf6;--ink:#203b32;--muted:#6b786b;--line:#d7decc;--green:#315d48;--orange:#ce753c;--soft:#edf0e4;--road:#e5e7d9;font-family:ui-rounded,"Avenir Next",Avenir,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation;min-height:44px;border:0;color:inherit}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}a{color:inherit;text-underline-offset:4px}button{border-radius:10px}button:not(:disabled):active{transform:translateY(1px)}[hidden]{display:none!important}.shell{max-width:1120px;margin:0 auto;padding:0 32px}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.brand{font-size:15px;letter-spacing:.13em;text-decoration:none;font-weight:800}.brand span{color:var(--orange)}.header-actions{display:flex;gap:8px}.quiet{padding:10px 14px;background:transparent;font-size:13px;font-weight:650}.quiet:hover{background:var(--soft)}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:33px 0 28px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:800;margin:0 0 10px;color:var(--muted)}h1,h2,p{margin-top:0}h1{font-family:Georgia,"Times New Roman",serif;font-size:52px;letter-spacing:-2.1px;font-weight:500;line-height:1.05;margin:0 0 11px}h1 span{font-style:italic;color:var(--green)}.tagline{font-size:14px;margin:0;color:var(--muted)}.guide-link{font-size:13px;white-space:nowrap}.guide-link span{margin-left:10px}.game-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,1fr);gap:24px;align-items:start}.map-card,.delivery-card{border:1px solid var(--line);background:var(--card);border-radius:20px}.map-card{padding:23px;scroll-margin-top:16px}.route-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px}.route-heading .eyebrow{margin-bottom:5px}h2{font-size:21px;letter-spacing:-.6px;margin-bottom:12px;font-weight:750}.route-heading h2{margin:0;overflow-wrap:anywhere}.route-heading>div{min-width:0}.route-title-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.difficulty{display:inline-block;border-radius:30px;padding:4px 8px;background:#e5ead7;color:#315d48;font-size:10px;font-weight:800;line-height:1.4;white-space:nowrap}.difficulty[data-difficulty="expert"]{background:#f2dfc9;color:#885128}.outline{border:1px solid #ced6c5;background:transparent;font-size:13px;font-weight:650;padding:10px 14px}.outline:hover:not(:disabled){background:var(--soft);border-color:#96a78c}.compact{white-space:nowrap;padding:8px 12px}.map-hud{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;margin-bottom:15px;color:var(--muted)}.map-hud strong{font-size:16px;color:var(--ink)}.phase{font-size:10px;letter-spacing:.05em;text-transform:uppercase;background:var(--soft);padding:6px 10px;border-radius:30px;font-weight:800;color:var(--green)}.phase.ready{background:#dce9d3}.map-frame{background:#e7eadb;padding:9px 9px 0;border-radius:13px;border:1px solid #dce1d0}.map-surface{position:relative;isolation:isolate;max-width:100%;touch-action:none;user-select:none}.board{display:grid;grid-template-columns:repeat(var(--columns,5),minmax(0,1fr));aspect-ratio:var(--columns,5)/var(--rows,5);width:100%;position:relative}.cell{position:relative;border-radius:8px;min-height:0;padding:0;border:3px solid #e7eadb;background:var(--road);aspect-ratio:1;z-index:1;display:flex;align-items:center;justify-content:center;overflow:visible;color:var(--green);touch-action:none}.cell::before{content:"";position:absolute;inset:3px;border:1px solid #d5dbca;border-radius:4px;opacity:.65}.cell:not(.wall):hover{background:#d9e2ca}.cell:focus-visible{outline:3px solid #c47736;outline-offset:-3px;z-index:5}.cell.wall{background:#c9d7b7;border-radius:9px;color:#718d64}.cell.wall::before{display:none}.tree{position:relative;font-size:28px;line-height:1;text-shadow:8px 7px 0 #afc49d;transform:translate(-3px,-3px)}.cell.depot{background:#365b48;color:#fffcdf}.cell.depot::before{border-color:#88a18a}.depot-icon{font-size:31px;line-height:.75;display:block}.cell-content{position:relative;z-index:4;display:flex;flex-direction:column;align-items:center;gap:5px;pointer-events:none}.cell-label{font-size:7px;letter-spacing:.03em;font-weight:850;line-height:1}.cell.stop{background:#edcfa9}.stop-badge{display:flex;align-items:center;justify-content:center;width:26px;height:25px;border-radius:5px;background:#ca743e;color:#fffdf0;font-size:14px;font-weight:800;border:1px solid #b66635}.cell.stop.delivered{background:#d4e2c7}.cell.stop.delivered .stop-badge{background:#52764c;border-color:#52764c}.cell.gate{background:#dedcc7}.gate-bars{width:31px;height:22px;border-top:3px solid #b48556;border-bottom:3px solid #b48556;background:repeating-linear-gradient(90deg,transparent 0 4px,#b48556 4px 7px,transparent 7px 11px);border-radius:2px}.cell.gate.open{background:#dbe5cf}.cell.gate.open .gate-bars{width:30px;border-top:0;border-bottom:2px dashed #8d9e76;height:10px;background:transparent;opacity:.7}.cell.gate.open .cell-label{color:#56714b}.cell.hinted{box-shadow:inset 0 0 0 4px #cc7837;background:#f4dca7!important}.cell.hinted::after{content:"NEXT";position:absolute;z-index:7;bottom:2px;background:#f7e7c4;border-radius:3px;font-size:7px;color:#8b4d24;letter-spacing:.04em;font-weight:850;padding:1px 3px}.route-lines{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible;pointer-events:none}.route-lines polyline{fill:none;stroke:#efb155;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.courier{position:absolute;z-index:6;width:28px;height:28px;border-radius:50%;background:#fff7db;box-shadow:0 2px 0 #a86935,0 0 0 2px #bf773f;display:flex;align-items:center;justify-content:center;pointer-events:none;transform:translate(-50%,-50%);color:#935329;font-size:17px}.courier span{display:block;line-height:1}.map-caption{display:flex;justify-content:space-between;padding:10px 4px 9px;font-size:8px;font-weight:750;letter-spacing:.16em;color:#7a8c71}.map-instructions{color:var(--muted);font-size:12px;line-height:1.55;margin:14px 0 12px}.map-tools{display:flex;gap:7px}.map-tools button{flex:1;padding:8px 6px;font-size:12px}.status{font-size:12px;line-height:1.5;color:var(--green);min-height:36px;margin:12px 0 0}.delivery-card{padding:26px}.delivery-top{display:flex;align-items:center;gap:14px;padding-bottom:22px;border-bottom:1px dashed var(--line)}.delivery-top h2{font-family:Georgia,"Times New Roman",serif;font-size:26px;font-weight:500;line-height:1.1;margin:0;letter-spacing:-.7px}.delivery-top .eyebrow{margin-bottom:7px}.stamp{display:grid;place-content:center;border:1px dashed #aebba0;outline:3px solid #e8eddf;background:#eef0e4;flex-shrink:0;width:45px;height:53px;font-family:Georgia,serif;font-weight:700;line-height:.9;font-size:21px;text-align:center;transform:rotate(-5deg);color:#788d68}.lesson{font-size:13px;line-height:1.55;margin:0 0 16px;padding:10px 12px;background:var(--soft);border-radius:9px;color:var(--green)}.delivery-list{list-style:none;padding:0;margin:0}.delivery-item{display:flex;align-items:flex-start;gap:11px;padding:13px 0;border-bottom:1px solid #e7ebdf}.check{font-size:20px;color:#9aab8d;line-height:25px;flex:0 0 22px}.delivery-item.done .check{color:var(--green)}.task-text{flex:1}.delivery-item strong,.return-task strong{display:block;font-size:14px;line-height:23px}.delivery-item p,.return-task div>span{font-size:11px;color:var(--muted);line-height:1.5;margin:3px 0 0;display:block}.address-badge{display:grid;place-items:center;flex:0 0 25px;height:25px;background:#edcfaa;border-radius:5px;color:#a25f30;font-size:12px;font-weight:800}.delivery-item.done .address-badge{background:#dce7d2;color:#3d653d}.return-task{display:flex;gap:11px;padding-top:15px}.return-task div{flex:1}.depot-symbol{font-size:26px;color:var(--green)}.run-section{margin-top:26px;padding-top:20px;border-top:1px dashed var(--line)}.remaining{font-size:12px;text-align:center;margin-bottom:10px;color:var(--muted)}.primary{background:var(--green);color:#fffdf2;padding:14px 20px;font-weight:750;font-size:14px;border:1px solid var(--green);box-shadow:0 2px 0 #1d3d2b;min-height:49px}.primary:hover:not(:disabled){background:#254d3a}.run{width:100%}.save-status{margin:12px 0 0;font-size:10px;color:var(--muted);text-align:center;line-height:1.5}.legend{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:12px 7px;font-size:10px;color:var(--muted)}.legend>span{display:flex;align-items:center;gap:6px}.key{font-style:normal;width:20px;height:20px;border-radius:4px;display:grid;place-items:center;font-weight:800;font-size:15px}.depot-key{background:var(--green);color:#fff6d8}.parcel-key{background:#edcfa9;color:#a9602f}.gate-key{background:#dedcc7;color:#aa7b4b}.park-key{background:#c9d7b7;color:#718d64}.result{padding-top:24px;text-align:center}.result h2{font-family:Georgia,serif;font-size:29px;font-weight:500}.result p:not(.eyebrow){font-size:13px;line-height:1.7;color:var(--muted)}.result .primary{width:100%}.result .quiet{margin-top:9px}footer{display:flex;justify-content:space-between;gap:20px;padding:27px 0 35px;font-size:11px;color:var(--muted);line-height:1.6}footer a{white-space:nowrap}dialog{color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:20px;padding:28px;max-width:520px;width:calc(100% - 28px);max-height:calc(100dvh - 40px);box-shadow:0 20px 80px #203b3230}dialog::backdrop{background:#203b3275;backdrop-filter:blur(3px)}dialog h2{font-size:27px;font-family:Georgia,serif;font-weight:500}dialog p,dialog li{font-size:13px;line-height:1.7;color:var(--muted)}dialog strong{color:var(--ink)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head .eyebrow{font-size:9px;margin-bottom:0}.close{font-size:18px;min-width:44px;padding:8px}.help-steps{padding-left:19px}.help-steps li{margin-bottom:13px}.keyboard-help{background:var(--soft);padding:12px;border-radius:8px}.level-group-title{grid-column:1/-1;margin:12px 0 2px;font-size:13px;color:var(--green)}.level-group-title:first-child{margin-top:0}.level-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.level-button{display:flex;gap:9px;text-align:left;padding:12px;border:1px solid var(--line);background:transparent;align-items:center}.level-button[aria-current="true"]{border-color:var(--green);background:var(--soft)}.level-number{font-weight:800;font-size:15px;color:#94a282}.level-button strong{font-size:12px;display:block}.level-button small{font-size:10px;display:block;color:var(--muted);margin-top:3px}.small{font-size:11px!important;margin-top:16px}body[data-phase="running"] .courier{transition:left .17s linear,top .17s linear}body[data-phase="won"] .map-frame{border-color:#92ad79}body[data-phase="won"] .run-section{display:none}@media(min-width:900px){.delivery-card{margin-top:0}.map-card{padding:25px}.map-instructions{font-size:13px}}@media(max-width:760px){.shell{max-width:570px;padding:0 18px}.site-header{height:67px}.brand{font-size:12px;letter-spacing:.08em}.header-actions{gap:0}.quiet{font-size:11px;padding:9px}.heading{padding:25px 0 22px}.heading .eyebrow{font-size:9px}h1{font-size:44px}.tagline{font-size:12px;max-width:245px;line-height:1.55}.guide-link{font-size:11px}.game-layout{grid-template-columns:1fr;gap:16px}.map-card{padding:17px}.route-heading{margin-bottom:12px}.route-heading h2{font-size:19px}.delivery-card{padding:23px}.delivery-top{padding-bottom:17px}.lesson{font-size:12px;margin:0 0 14px}.delivery-list{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.delivery-item{gap:6px}.delivery-item strong{font-size:12px}.delivery-item p{font-size:10px}.delivery-item .check{flex-basis:17px;font-size:17px}.address-badge{flex-basis:22px;height:22px}.return-task{padding-top:13px}.run-section{margin-top:19px;padding-top:15px}.legend{margin-top:20px;grid-template-columns:repeat(4,1fr);gap:5px;font-size:9px}.legend>span{flex-direction:column;align-items:center;gap:5px}.delivery-top h2{font-size:25px}footer{flex-direction:column;gap:8px;text-align:center;padding:23px 8px}.map-tools button{font-size:11px}.map-hud{font-size:11px}.phase{font-size:9px}.map-instructions{font-size:11px}.map-frame{padding:7px 7px 0}.cell{border-width:2px}.map-caption{font-size:7px}.map-surface .courier{width:24px;height:24px;font-size:15px}.cell-label{font-size:6px}.stop-badge{width:23px;height:22px;font-size:12px}.depot-icon{font-size:27px}.tree{font-size:24px}.gate-bars{width:25px;height:19px}}@media(max-width:370px){.shell{padding:0 12px}.map-card{padding:9px}.map-frame{padding:5px 5px 0}.header-actions .quiet{font-size:10px;padding:8px}.heading{gap:8px}h1{font-size:39px}.guide-link{font-size:10px}.level-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.map-card .run-section{margin-top:14px;padding-top:0;border-top:0}.map-card .remaining{margin:0 0 8px}.map-card .save-status{margin:8px 0 0}.map-card .result{margin-top:14px}.recovery{width:100%;margin-top:10px}.next-game{display:block;margin-top:12px;text-align:center;text-decoration:none;font-size:12px;line-height:1.5}

/* The town art is decorative; road, parcel and gate labels stay separate. */
:root{--paper:#f2ead9;--card:#fffdf5;--ink:#283f36;--muted:#697568;--line:#d9d9c5;--green:#355f4b;--orange:#bf6a38;--soft:#ecefdf;--road:#efe8d5}
body{background:radial-gradient(ellipse at 14% 8%,#fffdf4 0,transparent 47%),linear-gradient(115deg,#f1e8d6,#e9eddc)}
.shell{max-width:1160px}.site-header{height:74px;border-color:#cbd3bd}.heading{position:relative;isolation:isolate;padding:27px 0 25px;min-height:160px}.heading>div:first-child{position:relative;z-index:1}.heading h1{font-size:54px;text-shadow:0 2px 0 #fffdf5}.tagline{color:#526855}.guide-link{position:relative;z-index:2;align-self:flex-end;padding:10px 13px;background:#fffdf3e8;border:1px solid #c5cfb9;border-radius:10px;text-decoration:none;box-shadow:0 2px 0 #d6dcc6}.town-scene{position:absolute;inset:-17px 0 -9px auto;width:520px;background:url('assets/pocket-town.webp') right 65%/cover no-repeat;pointer-events:none;z-index:0;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 88%,transparent)}
.game-layout{grid-template-columns:minmax(0,1.6fr) minmax(280px,.82fr);gap:22px}.map-card,.delivery-card{box-shadow:0 3px 0 #cdd4bc,0 14px 35px #53654012;border-color:#c7d0b9}.map-card{background:linear-gradient(#fffef8,#fbf8ec)}.delivery-card{background:linear-gradient(135deg,#fffdf5,#f5f1df);position:relative}.delivery-card::before{content:"";position:absolute;top:10px;left:16px;right:16px;border-top:1px dashed #d6c9a7;pointer-events:none}.route-heading{margin-bottom:12px}.route-heading h2{font-size:23px}.lesson{background:#eaf0df;border:1px solid #dbe4cd;color:#385c43}.map-hud{padding:9px 12px;background:#f0ead8;border:1px solid #ded8c2;border-radius:10px;margin-bottom:12px;color:#66715f}.map-hud strong{font-variant-numeric:tabular-nums}.phase{background:#fdf9e9;border:1px solid #dbdec8}
.map-frame{padding:12px 12px 0;border:1px solid #bda984;border-radius:16px;background:linear-gradient(135deg,#dbc9a1,#eee2bf 45%,#cbbb95);box-shadow:inset 0 1px 0 #fff8dc,0 3px 0 #bfae89}.map-surface{background:#a9bd8e;border:1px solid #a8b78e;border-radius:10px;padding:0;box-shadow:inset 0 2px 5px #6a7b5730}.board{gap:0}.cell{border:2px solid #adc090;background:linear-gradient(145deg,#f7f1df,#e4dcc6);border-radius:8px;box-shadow:inset 0 2px 0 #fff9e9,inset 0 -2px 0 #cfc7b0}.cell::before{inset:4px;border-color:#d3cbb6;opacity:.65}.cell:not(.wall):hover{background:#fff7d9;box-shadow:inset 0 0 0 2px #c5a56c}.cell-content{width:100%;height:100%;justify-content:center;gap:3px}.cell-label{position:absolute;bottom:5px;left:3px;right:3px;font-size:8px;line-height:1.2;text-align:center;color:#294b38;font-weight:900;text-shadow:0 1px #fff9e2}
.cell.wall{background:linear-gradient(145deg,#b9ce9b,#9eb984);box-shadow:inset 0 2px 0 #d0dfb4,inset 0 -2px 0 #8ca773}.tree{display:block;width:87%;height:87%;background:url('assets/park.webp') center/contain no-repeat;font-size:0;text-shadow:none;transform:none;filter:drop-shadow(0 3px 0 #6b865c25)}
.cell.depot{background:linear-gradient(145deg,#c2d7ac,#9fbd8b);box-shadow:inset 0 2px 0 #d9e7c6,inset 0 -2px 0 #8ca773}.cell.depot::before{border-color:#9bb488}.depot-icon{display:block;width:88%;height:75%;margin-bottom:12px;background:url('assets/post-office.webp') center/contain no-repeat;font-size:0;filter:drop-shadow(0 3px 0 #536a4530)}
.cell.stop{background:linear-gradient(145deg,#f2dfb6,#e1c491);box-shadow:inset 0 2px 0 #fff1d1,inset 0 -2px 0 #c5a778}.cell.stop .cell-content::before{content:"";position:absolute;inset:6% 14% 23%;background:url('assets/delivery-house.webp') center/contain no-repeat;pointer-events:none;filter:drop-shadow(0 3px 0 #a8804a25)}.stop-badge{position:absolute;top:5px;right:5px;z-index:1;width:25px;height:25px;border-radius:50%;background:#b96537;border:2px solid #fff6de;box-shadow:0 1px 3px #73432140;font-size:14px}.cell.stop.delivered{background:linear-gradient(145deg,#d9e4bf,#b8cf9d)}.cell.stop.delivered .cell-content::before{opacity:.6}.cell.stop.delivered .stop-badge{background:#486b43;border-color:#f4f8df}
.cell.gate{background:linear-gradient(145deg,#ead7b7,#d7bb91)}.gate-bars{display:block;width:83%;height:66%;margin-bottom:13px;background:url('assets/gate-closed.webp') center/contain no-repeat;border:0;border-radius:0;filter:drop-shadow(0 2px 0 #8b694135)}.cell.gate.open{background:linear-gradient(145deg,#e3ebcd,#c7d6b1)}.cell.gate.open .gate-bars{width:83%;height:66%;margin-bottom:13px;background:url('assets/gate-open.webp') center/contain no-repeat;border:0;opacity:1}.cell.gate.open .cell-label{color:#365e3c}.cell.hinted{box-shadow:inset 0 0 0 4px #d18b3b,0 0 0 1px #fff1b9;background:#fff0b8!important}.cell.hinted::after{bottom:2px;z-index:7;background:#fff6d8;color:#7e471c;border:1px solid #cb934a}
.route-lines polyline{stroke:#e4a044;stroke-width:9;opacity:.92;filter:drop-shadow(0 1px 0 #fff4c9)}.courier{width:clamp(28px,9%,49px);height:clamp(28px,9%,49px);border:0;border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 3px 1px #40513b45)}.courier span{width:100%;height:100%;background:url('assets/courier.webp') center/contain no-repeat;font-size:0;transform-origin:center}.map-caption{color:#655c44;padding:11px 5px 10px;letter-spacing:.13em}.primary{background:linear-gradient(#3e7157,#315a46);box-shadow:0 3px 0 #244832,inset 0 1px #6b9477}.outline{background:#fffdf5b3}.delivery-top h2{color:#345b44}.stamp{background:#e3ead5;color:#64805c;outline-color:#f2ead4}.delivery-item{border-bottom-style:dashed;border-color:#d9dbc7}.return-task{margin-top:3px}.legend{padding-top:16px}.status{color:#3b6146}.result{background:#edf2dd;border:1px solid #cfddba;border-radius:12px;padding:20px 13px 10px}.result .eyebrow{color:#6f814f}.run-section{padding-bottom:3px}
@media(min-width:900px){.map-card{padding:24px}.delivery-card{padding:25px}.map-instructions{font-size:12px}.delivery-top h2{font-size:28px}}
@media(max-width:760px){.shell{max-width:570px;padding:0 16px}.site-header{height:62px}.heading{padding:20px 0 18px;min-height:0}.heading h1{font-size:43px}.town-scene{display:none}.guide-link{padding:8px 9px;font-size:10px;align-self:center}.tagline{max-width:230px;font-size:11px}.game-layout{grid-template-columns:1fr;gap:15px}.map-card{padding:13px}.route-heading h2{font-size:20px}.lesson{padding:9px 10px;font-size:11px;margin-bottom:11px}.map-hud{padding:8px 9px;gap:5px;font-size:10px;margin-bottom:10px}.map-hud strong{font-size:15px}.phase{font-size:8px;padding:5px 7px}.map-frame{padding:8px 8px 0;border-radius:13px}.map-surface{padding:0;border-radius:8px}.cell{border-width:2px;border-radius:7px}.cell::before{inset:3px}.cell-label{font-size:7px;bottom:4px}.depot-icon{height:75%;margin-bottom:10px}.stop-badge{width:21px;height:21px;top:3px;right:3px;font-size:12px;border-width:1.5px}.gate-bars,.cell.gate.open .gate-bars{height:65%;margin-bottom:10px}.map-surface .courier{width:clamp(27px,9%,42px);height:clamp(27px,9%,42px);font-size:0}.map-caption{font-size:7px;padding:9px 4px 8px}.map-tools button{font-size:11px;min-height:44px}.delivery-card{padding:21px}.delivery-top h2{font-size:25px}.legend{margin-top:17px}.result{padding:18px 11px 8px}footer{padding-top:22px}}
@media(max-width:370px){.shell{padding:0 10px}.heading h1{font-size:39px}.heading .eyebrow{font-size:8px;letter-spacing:.1em}.tagline{max-width:210px;font-size:10px}.guide-link{padding:8px 7px;font-size:9px}.map-card{padding:9px}.route-heading h2{font-size:18px}.compact{font-size:11px;padding:8px 9px}.map-frame{padding:6px 6px 0}.cell-label{font-size:7px}.stop-badge{width:19px;height:19px;top:2px;right:2px;font-size:11px}.map-hud{padding:7px;font-size:9px}.map-hud strong{font-size:14px}.phase{font-size:7px;padding:5px 6px}.map-tools{gap:5px}.map-tools button{font-size:10px}.delivery-card{padding:18px}}

/* Keep the map within reach before decorative space, including short laptops. */
@media(min-width:761px){.site-header{height:60px}.heading{min-height:0;padding:14px 0}.heading h1{font-size:43px;line-height:1.05;margin-bottom:7px}.heading .eyebrow{font-size:9px;margin-bottom:5px}.tagline{font-size:12px;line-height:1.4}.town-scene{inset:-9px 2% -9px auto;width:440px}.guide-link{padding:8px 11px;font-size:11px}.map-card{padding:17px}.route-heading{margin-bottom:8px}.route-heading h2{font-size:21px}.route-heading .eyebrow{font-size:9px;margin-bottom:3px}.lesson{padding:7px 10px;font-size:12px;line-height:1.45;margin-bottom:9px}.map-hud{padding:7px 10px;margin-bottom:9px}.map-frame{width:100%;max-width:clamp(288px,calc(100dvh - 350px),440px);margin-inline:auto;padding:8px 8px 0}.map-caption{padding:9px 4px 8px}.delivery-card{padding:22px}.map-card .run-section{margin-top:12px}.map-instructions{margin-top:12px}}
@media(max-width:760px){.heading{display:block;padding:12px 0 14px}.heading>div:first-child{width:100%}.heading h1{font-size:38px;line-height:1.05;margin-bottom:8px;white-space:nowrap}.heading .eyebrow{font-size:9px;margin-bottom:6px;white-space:normal}.tagline{max-width:none;font-size:11px;line-height:1.5}.guide-link{position:absolute;right:0;top:7px;padding:5px 7px;font-size:9px;min-height:26px;line-height:16px;box-shadow:none}.route-heading{margin-bottom:10px}}
@media(max-width:370px){.heading h1{font-size:36px}.heading .eyebrow{font-size:8px;letter-spacing:.08em}.tagline{font-size:10px}.guide-link{font-size:8px;padding-inline:6px}}

/* A solid marker keeps the van's position clear over buildings and without art. */
.courier{background:#fff7df;border:1px solid #b8783c;border-radius:50%;box-shadow:0 2px 0 #a8733d,0 0 0 2px #fff9e6;filter:none}
.map-surface .courier{width:clamp(32px,11%,46px);height:clamp(32px,11%,46px)}
.cell.hinted[data-hint-kind="recovery"]::after{content:"RETURN"}

.result-goal{font-size:13px;font-weight:650;color:var(--green)}.recommendations{margin-top:18px;text-align:left;--re-accent:var(--green);--re-ink:var(--ink);--re-muted:var(--muted);--re-line:var(--line);--re-card:var(--card)}.recommendations .cc-re-name{font-family:inherit}.recommendations .cc-re-return{margin-top:8px}
