:root{font-family:ui-rounded,"Hiragino Maru Gothic ProN","Noto Sans JP",system-ui,sans-serif;color:#243d38;background:#e4e8d9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at top,#f8f5e9,#dce4d3)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:3px solid #175ed8;outline-offset:4px}button:disabled{opacity:.4;cursor:default}.app{width:min(100%,480px);height:100dvh;max-height:980px;display:flex;flex-direction:column;padding:0 12px}.top{height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;color:#25443d;font-weight:900;font-size:15px;letter-spacing:2px}.brand span{display:block;font-size:8px;letter-spacing:2.3px;margin-top:3px}.tools{display:flex;gap:7px}.tools button{height:34px;border:1px solid #b5c4b1;border-radius:50px;background:#f7f8ee;color:#29463d;font-size:12px;padding:0 12px}.stage{position:relative;flex:1;min-height:0;overflow:hidden;border-radius:24px;background:#c5ddda;box-shadow:0 12px 32px #25443d20;isolation:isolate;touch-action:none;user-select:none}canvas{display:block;width:100%;height:100%}.hud{position:absolute;top:22px;left:22px;right:22px;pointer-events:none}.course-label{font-size:11px;font-weight:900;letter-spacing:2px;color:#355b4c}.course-label span{display:block;font-size:14px;letter-spacing:0;margin-top:4px}.parcels{position:absolute;right:0;top:0;font-size:23px;letter-spacing:3px;color:#ed8e43}.parcels .delivered{color:#2d8565}.parcels .lost{color:#7e8e88;opacity:.5}.route-progress{height:4px;margin-top:15px;border-radius:3px;background:#ffffff80;overflow:hidden}.route-progress>div{height:100%;width:0;background:#3c7a60;transition:width .1s}.objective{position:absolute;left:22px;right:22px;top:105px;display:flex;gap:12px;align-items:center;pointer-events:none}.objective>span:first-child{display:grid;place-items:center;background:#fff8e8;border:1px solid #c1c9b6;width:42px;height:42px;border-radius:13px;font-weight:900;font-size:23px}.objective small{font-size:9px;letter-spacing:2px;color:#53745d;display:block}.objective strong{font-size:14px}.countdown{margin-left:auto;font-size:12px;color:#3d5d4b;font-variant-numeric:tabular-nums}.shape-state{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;gap:8px;pointer-events:none}.shape-state span{font-size:12px;font-weight:700;background:#fffcf0eb;border:1px solid #a7b8a8;border-radius:50px;padding:8px 14px}.toast{position:absolute;top:29%;left:5%;right:5%;text-align:center;font-size:15px;font-weight:800;color:#23463c;text-shadow:0 1px #fff;pointer-events:none;opacity:0;transition:opacity .15s}.toast.show{opacity:1}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#e7efda80;backdrop-filter:blur(4px);padding:20px;z-index:3}.card{background:#fbf7eaeF;border:1px solid #fff;border-radius:23px;padding:28px 24px;width:100%;box-shadow:0 10px 40px #375c3d14;text-align:center}.eyebrow{display:block;font-size:8px;letter-spacing:2px;font-weight:800;color:#66836b}.welcome-card{text-align:left}.card h1{font-size:clamp(25px,6.5vw,34px);line-height:1.5;letter-spacing:1px;margin:17px 0 12px;font-weight:900}.card h1 span{color:#d6723c}.card h1 i{display:inline-grid;place-items:center;font-style:normal;background:#e4b64d;color:#fdf5e0;border-radius:50%;width:42px;height:42px;font-size:30px;margin-left:20px}.card p{font-size:13px;line-height:1.9;color:#5e7467}.instructions{border-top:1px solid #dfe3cf;padding:18px 0;display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:600}.primary{display:flex;justify-content:center;align-items:center;gap:18px;width:100%;padding:16px;border-radius:13px;background:#294d40;color:#fff9e5;font-size:14px;font-weight:800;box-shadow:0 4px 0 #19352c}.primary:hover{background:#36614f}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #19352c}.card small{font-size:9px;line-height:1.8;color:#718273;display:block;margin-top:14px}.secondary{display:block;background:transparent;color:#59705e;font-size:12px;padding:16px 0 0;margin:auto}h2{font-size:24px;line-height:1.5}.result-number{padding:8px}.result-number strong{font-size:74px;line-height:1.2;color:#d77b42}.result-number span{font-size:18px;color:#66785f}.result-stats{font-size:12px;padding:12px 0 23px;color:#69795f}footer{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;min-height:36px;gap:5px;color:#6b806a;font-size:9px}footer span:last-child{font-size:8px;letter-spacing:1px}[hidden]{display:none!important}@media(max-height:630px){.top{height:45px}footer{min-height:24px}.card{padding:18px}.card h1{font-size:25px;margin:10px 0}.card p{font-size:11px;line-height:1.6}.instructions{padding:10px 0;gap:6px}.card small{margin-top:8px}.primary{padding:12px}.hud{top:12px}.objective{top:85px}.shape-state{bottom:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Shape previews communicate the required silhouette without reading. */
.tools button{min-width:44px;min-height:44px;font-size:18px}.shape-demo{display:flex;align-items:center;justify-content:center;gap:30px;height:90px}.mini-bot{position:relative;display:inline-block;flex-shrink:0;width:23px;height:30px;border:2px solid #8b633a;border-radius:7px;background:#ed9c50;vertical-align:middle}.mini-bot:before{content:"";position:absolute;left:18%;right:18%;top:15%;height:28%;border-radius:3px;background:#fff3d1}.mini-bot:after{content:"••";position:absolute;inset:5% 0 auto;text-align:center;font-size:14px;letter-spacing:3px;color:#294d40}.mini-bot.flat{width:32px;height:19px}.mini-bot.tall{width:23px;height:36px}.mini-bot.slim{width:15px;height:30px}.mini-bot.wide{width:36px;height:26px}.shape-demo .mini-bot{transform:scale(1.8)}.objective{top:78px;background:#fffbefed;border-radius:16px;padding:8px 12px;left:16px;right:16px}.objective>span:first-child{border:0;background:none;width:36px;height:40px}.objective strong{font-size:16px}.hud{top:16px;left:18px;right:18px}.course-label span{margin:0;font-size:12px}.instructions{align-items:center;font-size:16px;border:0;padding:12px 0 22px}.welcome-card{text-align:center}.card h1{margin:8px 0}.card h1 i{display:none}.secondary{min-height:44px}.card{max-height:100%;overflow:auto}.stage:has(.overlay:not([hidden])) .hud{visibility:hidden}footer:has(#save-status:empty){min-height:12px}.result-stats:empty{display:none}@media(max-height:500px){.shape-demo{display:none}.card h1{font-size:22px;line-height:1.2}.instructions{padding:8px}.card small{margin-top:5px}.objective{top:64px}}
