:root{--ink:#263e3b;--muted:#6d7770;--cream:#f6f1e7;--line:#dcdccf;--teal:#285f56;--pip:#be5e39;--moss:#25766c;--lilac:#876c9a;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);border-radius:10px;background:#fffdf7;padding:9px 12px;transition:background .15s,transform .15s}button:hover{background:#e9eee4}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible{outline:3px solid #a6602c;outline-offset:3px}button:disabled{opacity:.45;cursor:default}button[hidden],[hidden]{display:none!important}a{color:var(--teal)}header{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-family:Georgia,serif;font-size:29px;font-weight:bold;letter-spacing:-1.1px;color:var(--ink);display:flex;align-items:center;gap:9px}.brandmark{font-size:25px;background:var(--teal);color:#faf2df;border-radius:11px;padding:4px 10px}.edition{font:10px ui-sans-serif,system-ui,sans-serif;letter-spacing:1.8px;margin-left:14px;padding-left:20px;border-left:1px solid #cccfc0}nav{display:flex;gap:8px}nav button{font-size:12px;background:transparent;border-color:transparent}main{max-width:1240px;margin:auto;padding:0 28px}.intro{display:flex;align-items:center;justify-content:space-between;padding:30px 0 26px;gap:25px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;color:var(--teal);margin:0 0 11px}h1{font:normal 43px/1.12 Georgia,serif;letter-spacing:-1.3px;margin:0 0 13px}h1 em{font-weight:normal;color:var(--pip)}.intro p:last-child{max-width:610px;color:var(--muted);font-size:13px;line-height:1.7;margin:0}.intro-bots{display:flex;align-items:center;gap:4px;flex-shrink:0}.sprite{display:inline-block;background-image:url('postal-bots.webp');background-size:300% 100%;background-repeat:no-repeat;aspect-ratio:1;width:80px}.bot0{background-position:0 50%}.bot1{background-position:50% 50%}.bot2{background-position:100% 50%}.intro-bots .sprite:nth-child(2){width:95px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:24px;align-items:start}.board-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px;min-height:52px}.board-heading .eyebrow{font-size:9px;margin-bottom:6px}h2{font:normal 26px/1.2 Georgia,serif;margin:0;letter-spacing:-.4px}.beat-count{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 9px;text-align:right}.beat-count strong{font-family:Georgia,serif;font-size:29px;grid-row:span 2;font-weight:normal}.beat-count span{font-size:9px;letter-spacing:1.2px}.beat-count small{font-size:10px;color:var(--muted)}#scene{position:relative;isolation:isolate;background:#e2c79e url('courtyard.webp') center/cover;border-radius:22px;box-shadow:0 15px 35px #73644a1c,inset 0 0 0 1px #6c563126;overflow:hidden;aspect-ratio:1.24;display:flex;align-items:center;justify-content:center;min-height:300px}.board-inset{width:78%;height:74%;display:flex;align-items:center;justify-content:center;margin-top:3%}#board{position:relative;display:grid;width:100%;max-height:100%;aspect-ratio:var(--w)/var(--h);grid-template-columns:repeat(var(--w),1fr);grid-template-rows:repeat(var(--h),1fr);filter:drop-shadow(0 7px 5px #5a48352a)}.tile{min-width:0;min-height:0;padding:0;position:relative;margin:2px;border:1px solid #d3c1a6;background:linear-gradient(140deg,#fff8dfed,#e4d3b2ed);border-radius:9px;box-shadow:0 3px 0 #c2ad8d;transition:background .15s;overflow:visible}.tile:hover{background:#fff8e4}.wall{pointer-events:none;visibility:hidden}.goal{background:#fffaf0f0;border:2px solid var(--color);box-shadow:0 3px 0 #bda37d}.stamp{position:absolute;inset:14%;display:flex;justify-content:center;align-items:center;border:1px dashed var(--color);border-radius:50%;font-size:clamp(13px,1.8vw,24px);color:var(--color);opacity:.9}.stamp small{font:700 10px ui-sans-serif,system-ui,sans-serif;margin-left:3px}.tile.target:after{content:attr(data-order);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fffbddbd;border:3px solid var(--color);border-radius:7px;font-size:24px;font-weight:bold;color:var(--color);z-index:3}.tile.conflict{background:#f8c4aa;outline:3px solid #aa3f28}.agent{position:absolute;width:calc(100% / var(--w));height:calc(100% / var(--h));padding:1%;pointer-events:none;z-index:5;transition:left .32s cubic-bezier(.2,.75,.3,1),top .32s cubic-bezier(.2,.75,.3,1);display:flex;justify-content:center;align-items:center}.agent .sprite{width:94%;height:94%;aspect-ratio:auto;filter:drop-shadow(0 3px 2px #362c3e3c)}.agent .bot-label{position:absolute;left:50%;bottom:0;transform:translateX(-50%);font-size:9px;font-weight:bold;background:#fffcf0;border:1px solid var(--color);border-radius:5px;padding:1px 5px;color:var(--color);white-space:nowrap}.agent.active:before{content:'';position:absolute;inset:5%;border-radius:50%;border:2px dashed var(--color);background:#fff7db45}.scene-label{position:absolute;bottom:13px;left:0;right:0;text-align:center;font-size:8px;color:#4a5c4d;letter-spacing:2px;text-shadow:0 1px 1px #fffcf0}.board-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin-top:12px;gap:10px}.keycap{font-style:normal;font-size:9px;font-weight:bold;background:#fffaf1;border:1px solid #dedbcf;padding:2px 4px;border-radius:4px;margin:0 3px}.board-bottom button{padding:6px 8px;background:transparent;font-size:10px}#message{min-height:47px;font-size:12px;line-height:1.6;padding:11px 0;color:var(--teal)}#message.error{color:#9a3927}aside{display:grid;gap:17px}.dispatch-card,.route-card{background:#fffcf5;border:1px solid var(--line);border-radius:17px;padding:18px}.panel-top{display:flex;justify-content:space-between;align-items:center;gap:7px}.panel-top .eyebrow{margin:0;font-size:9px}.panel-top>span:last-child{font-size:10px;color:var(--muted)}.panel-note{font-size:11px;line-height:1.65;color:var(--muted);margin:10px 0 14px}.robot-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-top:1px solid #e7e4da}.choose-robot{border:1px solid transparent;background:transparent;padding:3px 4px;display:flex;align-items:center;gap:5px;text-align:left;border-radius:9px;width:106px;flex-shrink:0}.choose-robot .sprite{width:39px;flex-shrink:0}.choose-robot strong{display:block;font-size:12px}.choose-robot small{display:block;font-size:9px;margin-top:2px;color:var(--muted)}.choose-robot[aria-pressed=true]{border-color:var(--color);background:#f4f1e5}.direction-pad{display:grid;grid-template-columns:repeat(3,29px);grid-template-rows:repeat(2,29px);gap:3px}.direction-pad button{padding:0;font-size:15px;border-radius:6px;line-height:1}.direction-pad button[data-d="1"]{grid-column:2;grid-row:1}.direction-pad button[data-d="4"]{grid-column:1;grid-row:2}.direction-pad button[data-d="0"]{grid-column:2;grid-row:2}.direction-pad button[data-d="2"]{grid-column:3;grid-row:2}.direction-pad button[data-d="3"]{grid-column:3;grid-row:1}.direction-pad button[aria-pressed=true]{background:var(--color);color:white;border-color:var(--color);box-shadow:0 2px 4px #302b2420}.primary{border:0;background:var(--teal);color:#fff9e7;padding:13px 17px;font-size:12px;font-weight:650;border-radius:9px}.primary:hover{background:#194c44}#dispatch{width:100%;display:flex;justify-content:space-between;margin-top:15px}.tools{display:flex;justify-content:space-between;gap:6px;margin-top:9px}.tools button{font-size:10px;background:transparent;padding:8px 10px;flex:1}.level-note{font-family:Georgia,serif;color:#6a796b;font-size:12px;font-style:italic;line-height:1.6;margin:14px 1px 0}.route-card{padding:16px 18px}.route-card h3{font:normal 17px Georgia,serif;margin:0}.route-card .panel-top{margin-bottom:12px}#levels{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}#levels button{height:34px;font-size:11px;padding:0;position:relative;display:flex;align-items:center;justify-content:center;gap:5px}#levels button.current{border-color:var(--teal);background:#e6eee2}#levels .medal{color:var(--pip);font-size:11px}.legend{font-size:9px;margin:10px 0 0;color:var(--muted)}#win{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#e5eddf;border:1px solid #b9cdb3;border-radius:14px;padding:18px;margin:4px 0 18px}#win .eyebrow{font-size:8px;margin:0 0 5px}#win h3{font:normal 23px Georgia,serif;margin:0}#win p{font-size:11px;line-height:1.5;margin:6px 0 0}#win button{flex-shrink:0}footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:19px 0 25px;margin-top:24px;font-size:10px;color:var(--muted)}dialog{border:1px solid #d4d5c4;border-radius:20px;background:#fffaf0;color:var(--ink);max-width:560px;width:calc(100% - 30px);padding:32px;box-shadow:0 30px 100px #17372b40}dialog::backdrop{background:#15302c82;backdrop-filter:blur(5px)}dialog h2{font-size:31px;margin-bottom:15px}dialog p,dialog li{font-size:13px;line-height:1.8}dialog ol{padding-left:20px}dialog li{padding-left:4px;margin:10px 0}.close{position:absolute;right:13px;top:10px;background:transparent;border:0;font-size:24px;padding:4px 9px}.shortcut-list{background:#eef0e3;padding:12px;border-radius:10px}
@media(min-width:1400px){main{padding-top:12px}.intro{padding-bottom:35px}#scene{aspect-ratio:1.26}}@media(max-width:960px){.game-layout{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.intro-bots .sprite{width:59px}.intro-bots .sprite:nth-child(2){width:70px}h1{font-size:37px}.dispatch-card{padding:15px}.choose-robot{width:94px}.direction-pad{grid-template-columns:repeat(3,27px);grid-template-rows:repeat(2,27px)}#scene{min-height:300px;aspect-ratio:1}.board-inset{width:85%;height:78%}.board-bottom>span{max-width:240px;line-height:2}.stamp small{display:none}}
@media(max-width:720px){header{padding:17px 16px}.brand{font-size:25px}.brandmark{font-size:20px}.edition{display:none}nav{gap:0}nav button{padding:7px;font-size:11px}main{padding:0 16px}.intro{padding:23px 0 22px;gap:8px}.intro .eyebrow{font-size:8px;line-height:1.8;max-width:250px}h1{font-size:33px;max-width:320px}.intro p:last-child{font-size:12px}.intro-bots{display:none}.game-layout{grid-template-columns:1fr;gap:7px}.board-heading{margin-bottom:10px}h2{font-size:23px}#scene{aspect-ratio:1.18;min-height:280px;border-radius:17px}.board-inset{width:81%;height:77%}.stamp{font-size:19px}.stamp small{display:inline}.board-bottom{display:none}#message{min-height:48px;padding:12px 1px}aside{grid-template-columns:1fr;gap:13px}.dispatch-card{padding:16px}.panel-note{margin-bottom:9px}.robot-row{padding:8px 0;gap:5px}.choose-robot{width:130px}.choose-robot .sprite{width:44px}.choose-robot strong{font-size:13px}.choose-robot small{font-size:10px}.direction-pad{grid-template-columns:repeat(5,34px);grid-template-rows:34px;gap:4px}.direction-pad button[data-d]{grid-row:1;grid-column:auto;font-size:17px}.direction-pad button[data-d="0"]{grid-column:3}.direction-pad button[data-d="1"]{grid-column:2}.direction-pad button[data-d="2"]{grid-column:5}.direction-pad button[data-d="3"]{grid-column:4}.direction-pad button[data-d="4"]{grid-column:1}.level-note{font-size:12px}.route-card{padding:15px}#levels{grid-template-columns:repeat(8,1fr);gap:5px}#levels button{gap:2px}.legend{font-size:9px}#win{padding:15px;flex-wrap:wrap}footer{margin-top:18px;flex-direction:column;gap:6px;font-size:10px}dialog{padding:27px 22px}dialog p,dialog li{font-size:12px}.scene-label{font-size:7px;letter-spacing:1px}.tile{margin:1.5px;border-radius:6px}.agent .bot-label{font-size:8px;bottom:-2px}}
@media(max-width:370px){.direction-pad{grid-template-columns:repeat(5,29px);grid-template-rows:32px;gap:3px}.choose-robot{width:113px}.choose-robot .sprite{width:35px}.dispatch-card{padding:13px}h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
