@font-face{font-family:Game;src:url('assets/Galmuri11.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}html,body{margin:0;height:100%;overscroll-behavior:none}body{font-family:Game,Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;background:#0c2925;color:#193b34}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default;opacity:.48}button:focus-visible{outline:3px solid #ef9d48;outline-offset:3px}button{border:0}svg.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}#app{width:100%;max-width:480px;height:100dvh;min-height:560px;margin:auto;position:relative;overflow:hidden;background:#f6efdc;display:flex;flex-direction:column;box-shadow:0 0 100px #0005}.hud{height:calc(88px + env(safe-area-inset-top));padding:calc(14px + env(safe-area-inset-top)) 20px 12px;display:flex;align-items:center;justify-content:space-between;background:#123d36;color:#fff2d7;flex-shrink:0;z-index:4;border-bottom:1px solid #79a88b44}.eyebrow{font-size:10px;font-weight:600;color:#a6c2ac;letter-spacing:1.1px}h1{font-size:26px;letter-spacing:-1.2px;margin:4px 0 0;font-weight:800}.sun{font-size:20px;color:#f5c779}.wallet{background:#072f29;border:1px solid #799b724d;border-radius:12px;padding:8px 12px;color:#ffefd0;text-align:right;min-width:116px}.wallet span{display:block;font-size:9px;color:#a4baa9}.wallet strong{display:block;font-size:20px;font-variant-numeric:tabular-nums;margin:2px 0}.wallet small{font-size:8px;color:#7bb69a}#play{flex:1;min-height:0;display:flex;flex-direction:column}.world-window{position:relative;flex:1;min-height:160px;overflow:hidden;background:#c3caad;touch-action:none}#world{width:800px;height:800px;position:absolute;left:0;top:0;will-change:transform}.map-art{width:100%;height:100%;display:block}.map-top{position:absolute;top:14px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center}.map-pill{padding:8px 12px;border:1px solid #efe3bbaa;background:#193c32e8;border-radius:20px;color:#f5eaca;font-size:11px;box-shadow:0 3px 12px #0002}.round{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#f8eedde8;color:#234b3c;border:1px solid #c9bca0;box-shadow:0 2px 8px #0002}#recenter{position:absolute;right:14px;bottom:14px}.energy{position:absolute;bottom:14px;left:16px;background:#163b32ec;color:#e6ebd0;border-radius:24px;padding:7px 11px;display:flex;align-items:center;gap:7px;font-size:10px}.energy svg{width:14px;height:14px}.energy>div{width:64px;height:4px;border-radius:5px;background:#416353}.energy i{display:block;height:100%;background:#9cdeaf;border-radius:5px}.energy b{font-variant-numeric:tabular-nums;width:20px}#route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#trail{fill:none;stroke:#a4fbd4;stroke-width:6;stroke-dasharray:1 14;stroke-linecap:round;filter:drop-shadow(0 1px 2px #28694a)}#walked{fill:none;stroke:#8de1be55;stroke-width:4}.pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;pointer-events:none;filter:drop-shadow(0 3px 3px #0002)}.pin>i{background:#fcf0d7;border:2px solid #dc9956;width:36px;height:36px;display:grid;place-items:center;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);color:#a36b36}.pin svg{transform:rotate(45deg);width:20px;height:20px}.pin>span{white-space:nowrap;background:#fff0d9e8;padding:4px 7px;border-radius:5px;font-size:10px;font-weight:700;margin:7px}.pin.target>i{background:#ef9b4d;color:white;box-shadow:0 0 0 5px #fff6}.pin.destination>i{background:#568e76;border-color:#eddbad;color:#fff}#rider{position:absolute;width:86px;height:112px;transform:translate(-50%,-88%);filter:drop-shadow(0 5px 2px #27423455);pointer-events:none}#rider img{width:100%;height:100%;object-fit:contain}#rider.moving img{animation:walk .45s ease-in-out infinite}#rider-bubble{position:absolute;left:50%;bottom:95%;transform:translateX(-50%);font-size:10px;font-weight:700;background:#143e35;color:#fff4df;padding:4px 9px;border-radius:10px;white-space:nowrap}#delivery-panel{background:#f6efdc;padding:14px 16px 12px;border-top:1px solid #d3c8ab;position:relative;z-index:2;flex-shrink:0}.kicker{font-size:10px;font-weight:800;letter-spacing:1.1px;color:#967547;display:flex;align-items:center;gap:7px}.kicker .dot{width:6px;height:6px;border-radius:50%;background:#dd9b48;box-shadow:0 0 0 3px #dd9b4820}h2{font-size:22px;letter-spacing:-.7px;margin:8px 0;font-weight:800}h3{font-size:17px;margin:0 0 6px}.muted{font-size:12px;line-height:1.6;color:#748174}.subtle{font-size:10px;color:#839080}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.order-icon{width:50px;height:50px;background:#eddfc3;border:1px solid #d5c1a1;border-radius:50%;display:grid;place-items:center;color:#a27440}.order-icon svg{width:28px;height:28px}.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:50px;padding:12px 16px;border-radius:12px;background:linear-gradient(160deg,#b0e7c6,#73cba9);color:#123e32;box-shadow:inset 0 1px 0 #fff8,0 3px 0 #4c967e;font-weight:800;font-size:15px;border:1px solid #bee7c7}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px 0 #fff8}.btn.secondary{background:#eee6d2;border-color:#d9ccb3;box-shadow:none;color:#546350}.btn.dark{background:#173f35;color:#c7e4cf;border-color:#48705c;box-shadow:none}.btn.small{width:auto;min-height:44px;font-size:12px;padding:8px 14px}.gap{margin-top:12px}.plain{background:none;color:inherit;min-height:44px;padding:8px;font-size:12px}.tag{font-size:10px;background:#e9ddbf;color:#8a6a36;border-radius:7px;padding:5px 8px;display:inline-flex;align-items:center;gap:4px}.tag svg{width:12px;height:12px}.progress{display:flex;justify-content:space-between;margin:12px 0;font-size:10px;color:#929b88}.progress span{display:flex;align-items:center;gap:4px}.progress span.active{color:#245a41;font-weight:800}.progress svg{width:15px;height:15px}.notice{border:1px solid #467263;border-radius:14px;background:#123e35;color:#fbefcf;padding:16px}.notice .kicker{color:#b1c7aa}.notice h2{font-size:22px;margin:8px 0}.notice .muted{color:#b0c4af}.notice .btn{margin-top:14px}.growth-link{display:flex;width:100%;justify-content:space-between;align-items:center;padding:10px 0 0;background:none;color:#466346;font-size:11px}.growth-link svg{width:16px;height:16px}.reward-total{font-size:32px;font-weight:800;color:#245b40;font-variant-numeric:tabular-nums;margin:5px 0}#nav{display:flex;flex-shrink:0;background:#123b32;color:#91a993;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #8d9c7455;z-index:6}#nav button{flex:1;min-height:49px;background:none;color:inherit;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;border-radius:10px}#nav button.active{color:#bef0c6;background:#2b5f4c}#nav svg{width:22px;height:22px}.hidden{display:none!important}.page{flex:1;min-height:0;overflow:auto;padding:20px 18px 22px;background:#f6efdc;scrollbar-width:none}.page.stats{background:radial-gradient(ellipse at 50% 0,#23594a,#082e29 65%);color:#ecedd4}.hero-status{display:flex;align-items:center;gap:15px;padding:3px 10px 13px;position:relative;background:repeating-linear-gradient(0deg,transparent 0px,transparent 29px,#82d4b209 30px),repeating-linear-gradient(90deg,transparent 0px,transparent 29px,#82d4b209 30px)}.hero-status img{height:132px;width:110px;object-fit:contain;filter:drop-shadow(0 6px 10px #65dca93b)}.hero-status h2{font-size:28px;color:#b2f0d0}.hero-status p{font-size:12px;color:#a4bda7}.hero-status .eyebrow{font-size:9px}.stat-list{display:flex;flex-direction:column;gap:7px}.stat{display:flex;align-items:center;gap:10px;border:1px solid #5d846944;border-radius:11px;background:#ffffff05;padding:11px;color:#e9ebd4;min-height:60px}.stat.selected{background:#79c5a529;border-color:#a7e0be;box-shadow:inset 0 0 15px #8fc4a41a}.stat-symbol{color:#d7c79d;display:grid;place-items:center;width:30px}.stat-main{flex:1}.stat-name{font-size:14px;font-weight:700}.stat-name b{color:#a6d7b9;font-size:12px;margin-left:8px}.stat-desc{font-size:10px;color:#9bb19b;margin-top:4px}.stat button{min-width:82px;min-height:44px;border-radius:8px;font-weight:800;font-size:12px;color:#143d30;background:#aadabd}.stat button:disabled{background:#50705b;color:#b3c3ad}.stat button small{display:block;font-size:9px;font-weight:500;margin-bottom:3px}.hint{padding:12px;border-radius:10px;background:#ffffff06;border:1px solid #78997c30;color:#b0c0a4;font-size:11px;line-height:1.7;margin-top:12px}.card{padding:16px;border:1px solid #d9cbb0;border-radius:14px;background:#fff8e9;margin-bottom:12px}.card.selected{border-color:#76a28a;background:#e5efe0}.big-icon{width:54px;height:54px;border-radius:14px;background:#e4dbc2;display:grid;place-items:center;color:#56816a}.big-icon svg{width:32px;height:32px}.meter{height:5px;border-radius:5px;background:#e8dec5;overflow:hidden;margin:10px 0}.meter i{height:100%;display:block;background:#70ab81}.section-title{font-size:11px;letter-spacing:1px;color:#8b8268;font-weight:700;margin:20px 0 10px}.toggle{width:auto;padding:7px 11px;border:1px solid #b8c9aa;border-radius:9px;background:#e1ecda;color:#305a3d;font-size:11px;min-height:44px}.toggle.on{background:#235b45;color:#e3f1d3}.settings-row{display:flex;gap:7px;flex-wrap:wrap}.settings-row button{flex:1;white-space:nowrap}#toast{position:absolute;top:calc(99px + env(safe-area-inset-top));left:50%;transform:translate(-50%,-15px);padding:12px 18px;border-radius:12px;color:#f0f5df;background:#153d34f5;box-shadow:0 5px 20px #0003;z-index:40;opacity:0;pointer-events:none;transition:.2s;max-width:90%;font-size:12px;text-align:center;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%,0)}#overlay{position:absolute;inset:0;background:#061f1ac9;backdrop-filter:blur(6px);z-index:20;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:100%;max-height:calc(100% - 20px);overflow:auto;border:1px solid #b69a6b;border-radius:19px;background:#f8efda;padding:22px;box-shadow:0 25px 70px #0005}.modal-head{display:flex;justify-content:space-between;align-items:center}.close{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#e7dec9;color:#4d6653}.quote{font-size:21px;line-height:1.55;font-weight:700;letter-spacing:-.5px;margin:14px 0 20px;white-space:pre-line}.story-scene{height:200px;position:relative;background:linear-gradient(0deg,#173a3155,transparent),url('assets/neighborhood.png') center 30%/cover;border-radius:13px;overflow:hidden;margin:10px 0}.story-scene img{height:190px;position:absolute;right:12%;bottom:-14px}.hologram{position:absolute;left:14px;top:23px;background:#083c32e8;transform:rotate(-4deg);border:1px solid #93e3c1;border-radius:8px;padding:12px;color:#acf0cd;font-size:11px;box-shadow:0 0 20px #89ebbe44}.hologram strong{display:block;font-size:32px;text-align:center;margin:7px}.detail-pay{text-align:center;padding:14px 0}.detail-pay strong{display:block;font-size:38px;letter-spacing:-1px;margin:6px}.stops{border-radius:12px;background:#173f35;color:#f0e8ce;padding:18px;margin:12px 0}.stops>div{display:flex;align-items:center;gap:10px;font-size:13px;padding:9px 0}.stops small{margin-left:auto;color:#9caf94;font-size:10px}label{display:block;font-size:12px;margin:12px 0 6px}input{width:100%;background:#fff9ec;border:1px solid #cbbfa3;border-radius:8px;padding:13px;color:#244a3a;min-height:48px;font-size:16px}.error{color:#a34b36;font-size:12px;line-height:1.6}.success{color:#3b7c53;font-size:12px;line-height:1.6}.receipt{display:flex;justify-content:space-between;font-size:12px;margin:8px 0}.receipt.total{border-top:1px dashed #b6aa8e;padding-top:12px;font-weight:800}.flash{animation:levelup .55s ease}.confetti{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 40%,#c3efae88 0,transparent 25%);animation:levelup .7s ease}.build-label{text-align:center;font-size:10px;color:#8a967c;margin-top:15px}@keyframes walk{50%{transform:translateY(-3px) rotate(2deg)}}@keyframes levelup{50%{box-shadow:0 0 25px #8bffc277;filter:brightness(1.25)}}@media(min-width:600px){body{padding:20px}#app{height:calc(100dvh - 40px);border-radius:25px;border:1px solid #5d7860}}@media(max-height:730px){.hud{height:calc(75px + env(safe-area-inset-top));padding-top:calc(8px + env(safe-area-inset-top))}h1{font-size:23px}#delivery-panel{padding:10px 14px}.notice{padding:12px}.notice h2{font-size:19px}.btn{min-height:46px}.hero-status img{height:105px}.hero-status{padding-bottom:8px}.stat{padding:7px 10px}.page{padding:14px}.story-scene{height:150px}.story-scene img{height:145px}.quote{font-size:18px}#nav{padding-top:5px;padding-bottom:calc(5px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Approved direction: 2D pixel game. Actual controls remain DOM for readable mobile text. */
body{background:#102d27}#app{border:3px solid #56785b}.hud{background:#183e32;border-bottom:3px solid #bcba8c}h1,h2,h3{font-weight:400;letter-spacing:-1px}.wallet,.btn,.notice,.card,.modal,.stat,.stat button,.hint,.tag,.map-pill,.round,.toggle,input,.energy,#nav button,.stops,.story-scene,.hologram{border-radius:3px}.btn{background:#a3d5a3;border:2px solid #d3e5bb;box-shadow:3px 3px 0 #234f3c;font-weight:400}.btn.secondary{background:#e6ddbc;border:2px solid #b4b48e;box-shadow:2px 2px 0 #8c9977}.notice{background:#173e32;border:2px solid #8fb48c;box-shadow:3px 3px 0 #acb28b}.wallet{border:2px solid #5e8260}.map-art,#rider img,.hero-status img,.story-scene{image-rendering:pixelated}.map-pill{border:2px solid #a4b692}.card{border:2px solid #bdbb97;box-shadow:3px 3px 0 #d5ccad}.stat{border:1px solid #638b67}.stat.selected{border:2px solid #b1d6a2;background:#365d40}.page.stats{background:#153a2f}.stat button{background:#bad6a5;border-bottom:3px solid #7c9c6b}.stat-name{font-weight:400}.hero-status img{height:120px;width:90px;object-fit:contain}.hero-status h2{font-size:25px}.hero-status{background:repeating-linear-gradient(0deg,transparent 0px,transparent 15px,#b6d3a208 16px),repeating-linear-gradient(90deg,transparent 0px,transparent 15px,#b6d3a208 16px)}.pin>i{border-radius:3px;transform:none;background:#ffebbf;border:2px solid #8a7447}.pin svg{transform:none}.pin>span{border-radius:2px;border:1px solid #8f9d76}.pin.target>i{background:#df9e4c;box-shadow:3px 3px 0 #6d7140}#rider{width:54px;height:72px;filter:drop-shadow(3px 4px 0 #26433555)}#rider-bubble{border-radius:2px;border:1px solid #c3d6a6}#trail{stroke-width:7;stroke-dasharray:4 12;stroke-linecap:square;filter:drop-shadow(2px 2px 0 #294b3b)}.modal{border:3px solid #c0b58b}.hologram{transform:none;border:2px solid #a6d8ad}.story-scene img{image-rendering:pixelated;right:15%;height:160px;bottom:0}.quote{font-size:19px;font-weight:400}.stat-desc{font-size:10px}.eyebrow{letter-spacing:.5px}.btn.small{font-size:11px}.notice h2{font-size:20px}.notice .row{align-items:flex-end}.notice .row b{white-space:nowrap;font-size:14px}.notice .muted{font-size:11px}#toast{border:2px solid #c4d2a8;border-radius:3px}.round{box-shadow:2px 2px 0 #465e3e}.world-window{background:#d5d5a8}.map-top{pointer-events:none}.map-top button{pointer-events:auto}@media(min-width:600px){#app{border-radius:4px}}@media(max-width:375px){.stat-name{font-size:12px}.stat button{min-width:75px}.hero-status p{font-size:10px}.hud{padding-left:14px;padding-right:14px}.wallet strong{font-size:18px}}
.episode-mini{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;background:#e9dec0;border:1px solid #c5b58d;color:#6d623e;margin-top:9px;padding:10px;font-size:10px;min-height:44px}.episode-mini b{display:flex;align-items:center;white-space:nowrap}.episode-mini svg{width:16px;height:16px;margin-left:5px}.detail-pay{padding:8px 0}.detail-pay strong{font-size:32px}.receipt{font-size:11px}.modal .stops{padding:10px 14px}.modal .card{margin-bottom:10px}.modal h2{font-size:20px}
svg.icon{stroke-linecap:square;stroke-linejoin:miter}

/* First-shift feedback: native pixel motion, no network assets. */
.settlement{border-top:2px dashed #d0cab7;padding-top:8px;margin-top:8px}.settlement .receipt{font-size:12px;margin:4px 0}.first-quote{font-size:12px;line-height:1.7;background:#f3e8c8;padding:8px;margin:8px 0}.comparison{display:grid;gap:16px;font-size:12px}.demo-road{height:72px;border-bottom:4px dashed #c4bead;overflow:hidden;background:#ebe8dc}.demo-road img{height:64px;image-rendering:pixelated;animation:demo-cross linear infinite}@keyframes demo-cross{from{transform:translateX(0)}to{transform:translateX(240px)}}
#rider img{transform:scaleX(var(--facing,1))}#rider.moving img{animation:pixel-stride var(--stride,.4s) steps(2,end) infinite}#rider.loaded img{filter:brightness(.93)}#rider.resting img{animation:pixel-rest 1.4s steps(3,end) infinite}#rider.moving::after{content:"";position:absolute;bottom:0;left:12px;width:5px;height:5px;background:#c0ac81;box-shadow:12px 4px #d1bf99;animation:dust .6s steps(3,end) infinite}@keyframes pixel-stride{0%,100%{transform:scaleX(var(--facing,1)) translateY(0) rotate(-3deg)}50%{transform:scaleX(var(--facing,1)) translateY(-4px) rotate(3deg)}}@keyframes pixel-rest{50%{transform:scaleX(var(--facing,1)) translateY(2px) rotate(5deg)}}@keyframes dust{to{opacity:0;transform:translate(-9px,4px)}}
@media(prefers-reduced-motion:reduce){#rider img,#rider.moving img,#rider.resting img,#rider.moving::after,.demo-road img{animation:none}}

/* One-screen idle loop: watch, earn, upgrade. */
.idle-summary{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#567458;align-items:center}.idle-summary b{font-size:12px;color:#173e32}.idle-summary .dot{display:inline-block;width:6px;height:6px;background:#67a56a;margin-right:3px}.idle-job{display:flex;justify-content:space-between;margin:12px 0 8px;font-size:12px}.idle-job strong{color:#477b3b}.idle-moment{font-size:11px;line-height:1.6;min-height:38px;padding:8px;background:#e9e0c4;color:#6b623e;margin-bottom:10px}.idle-upgrades{display:grid;grid-template-columns:1fr 1fr;gap:10px}.idle-upgrade{min-height:103px;text-align:left;padding:10px;background:#a8d6a0;border:2px solid #d0e5b6;box-shadow:3px 3px #335b39;color:#173c2c;border-radius:3px}.idle-upgrade:disabled{opacity:1;background:#d9dbc1;color:#717960;border-color:#bec7a7;box-shadow:3px 3px #a7b192}.idle-upgrade>span{display:flex;align-items:center;gap:5px;font-size:12px}.idle-upgrade svg{width:18px;height:18px}.idle-upgrade strong{display:block;font-size:14px;margin:8px 0}.idle-upgrade small{font-size:9px}.idle-foot{font-size:9px;color:#7a856f;text-align:center;margin:12px 0 0}#nav .more-button{flex:1;min-height:36px;font-size:11px;padding:8px}#nav:has(.more-button){padding:3px 10px calc(3px + env(safe-area-inset-bottom))}.energy{display:none}#delivery-panel{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.world-window{min-height:120px}@media(max-height:680px){.idle-upgrade{min-height:86px}.idle-moment{padding:5px;margin-bottom:8px;min-height:28px}.idle-job{margin:8px 0}.idle-foot{margin-top:8px}.idle-summary b{font-size:10px}}

#cargo{position:absolute;bottom:12px;left:0}#cargo i{position:absolute;left:calc(var(--i)*8px - 10px);bottom:calc(var(--i)*6px);width:19px;height:22px;background:#e3a353;border:2px solid #775637;box-shadow:2px 2px #294636}#cargo svg{width:15px;height:18px;color:#513b28}

/* Articulated code-drawn pixel actors: feet vs pedals vs engine riding. */
#rider{width:80px;height:80px;transform:translate(-50%,-90%)}#player-sprite{width:80px;height:80px;image-rendering:pixelated}#rider.moving::after{display:none}#rider-bubble{bottom:95%}#cargo{bottom:12px;left:8px;transform:scale(.8)}#rider[data-vehicle="1"] #cargo,#rider[data-vehicle="2"] #cargo{left:-1px;bottom:20px}#crew-layer{position:absolute;inset:0;pointer-events:none}.crew-actor{position:absolute;width:70px;height:70px;transform:translate(-50%,-90%)}.crew-actor canvas{width:70px;height:70px;image-rendering:pixelated}.crew-actor>span{position:absolute;bottom:93%;left:50%;transform:translateX(-50%);background:#fff0d7;border:1px solid #718866;font-size:9px;white-space:nowrap;padding:3px 5px}.vehicle-preview{width:88px;height:88px;image-rendering:pixelated;flex:none}.crew-swatch{padding:10px;border:2px solid #345944}.team-summary{font-size:13px;padding:12px;background:#d7e0b5;margin:12px 0}.team-link{background:none;color:#466947;font-size:11px;min-height:32px;padding:4px}.crew-card .receipt{font-size:10px}.crew-card .meter{margin-top:12px}

.day-strip{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#6b6645;margin:8px 0}.auto-paper{background:#fff9e8;border:1px dashed #b6a779;padding:8px;margin:6px 0 10px;font-size:9px;line-height:1.55;box-shadow:2px 2px #d1c7a6}.auto-paper>b{display:block;color:#7b6d46;margin-bottom:4px}.auto-paper>div{display:flex;justify-content:space-between;gap:8px}.auto-paper small{font-size:8px;color:#8c8060}.receipt-paper{background:#f4ebc9}.day-end{background:#e7ddbc;padding:10px;margin:8px 0;font-size:11px}.day-end .receipt{font-size:9px}.day-end small{display:block;color:#746d55;font-size:9px;margin-top:8px}#delivery-panel{max-height:66%;overflow-y:auto}.office-pixel{font-size:62px;background:repeating-linear-gradient(0deg,#d6dbb7 0,#d6dbb7 14px,#c7d0a6 15px);text-align:center;padding:20px;margin:10px 0;border:3px solid #71805c}.office-pixel[data-level="0"]{filter:grayscale(1);opacity:.55}#monster-actor{position:absolute;width:60px;height:60px;transform:translate(-50%,-85%);z-index:500}#monster-sprite{width:60px;height:60px;image-rendering:pixelated}#monster-label{position:absolute;bottom:98%;left:50%;transform:translateX(-50%);font-size:9px;background:#58445c;color:#fff1d5;white-space:nowrap;padding:4px;border:1px solid #d1a8ac}@media(max-height:680px){.auto-paper{padding:5px;margin:5px 0;font-size:8px}.idle-upgrade{min-height:82px}.day-end{padding:7px}}

/* Night rest and long-distance delivery progression */
.resting-office{background:#172d2b}.resting-office #world,.resting-office .map-top,.resting-office #recenter,.resting-office .energy{display:none}.rest-office{position:absolute;inset:0;padding:18px 16px 14px;background:linear-gradient(#102a2c 0 27%,#263a34 27%);color:#efe5c6;display:flex;flex-direction:column;justify-content:center}.rest-night{display:flex;justify-content:space-between;align-items:end;margin-bottom:9px;font-size:10px;color:#9fb6a3}.rest-night b{font-size:13px;color:#f0dfa9}.pixel-room{height:180px;position:relative;overflow:hidden;border:4px solid #5d503c;background:repeating-linear-gradient(90deg,#c8b681 0,#c8b681 30px,#b9a675 31px);box-shadow:5px 5px 0 #071c1d;image-rendering:pixelated}.pixel-room:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34px;background:repeating-linear-gradient(90deg,#695742 0,#695742 28px,#594835 29px)}.room-window{position:absolute;left:16px;top:18px;width:70px;height:54px;background:#172e3d;border:5px solid #786448;display:flex;gap:5px;padding:7px}.room-window i{display:block;width:6px;height:6px;background:#f4d77c;box-shadow:18px 12px #e7c867,37px 2px #f4d77c}.room-sign{position:absolute;right:13px;top:17px;background:#24483c;border:3px solid #8d7b55;padding:7px;color:#f0dda0;font-size:9px}.cot{position:absolute;left:55px;bottom:31px;width:180px;height:64px;z-index:2}.blanket{position:absolute;left:41px;bottom:12px;width:115px;height:38px;background:#658a72;border:4px solid #315343}.sleep-head{position:absolute;left:19px;bottom:27px;width:35px;height:28px;background:#dfae7c;border:4px solid #493b30;border-radius:40%}.cot:after{content:"";position:absolute;left:5px;right:5px;bottom:8px;height:8px;background:#92734f}.cot-leg{position:absolute;bottom:0;width:5px;height:13px;background:#393b32}.cot-leg.a{left:13px}.cot-leg.b{right:13px}.zzz{position:absolute;left:216px;bottom:105px;z-index:3;font-size:24px;color:#f0dda0;line-height:.7;transform:rotate(-8deg)}.zzz i{font-size:16px}.zzz small{font-size:10px}.helmet{position:absolute;right:20px;bottom:35px;width:32px;height:24px;border-radius:50% 50% 8% 8%;background:#e4c36f;border:4px solid #4c4432;z-index:2}.bag-box{position:absolute;left:13px;bottom:33px;background:#c47f3b;border:4px solid #593e2d;color:#f7dfb2;text-align:center;padding:6px;font-size:8px;z-index:2}.pixel-room.level-2{background:repeating-linear-gradient(90deg,#ccd0b5 0,#ccd0b5 30px,#b9c0a2 31px)}.pixel-room.level-3{background:repeating-linear-gradient(90deg,#d7cfb5 0,#d7cfb5 30px,#c9bea2 31px)}.pixel-room.level-3 .cot{width:200px}.pixel-room.level-3 .blanket{background:#8b6f85}.rest-office>h3{margin:15px 0 3px;color:#f3e5b9}.rest-office>p{font-size:10px;color:#aebca9;line-height:1.6;margin:0}.logistics-line{display:flex;align-items:center;margin:10px 0 16px;overflow:hidden}.logistics-line>i{flex:1;height:2px;background:#b9b597}.logistics-step{min-width:49px;text-align:center;opacity:.45}.logistics-step b,.logistics-step small{display:block;font-size:8px}.logistics-step b{font-size:10px;margin-bottom:4px}.logistics-step.done{opacity:1;color:#386e50}.global-preview{background:#183c33;color:#efe5c5;border-color:#789071}.global-preview h3{margin-top:12px}.global-preview .muted{color:#a9b9a4}.special-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f0e5c7;color:#263f34;border:2px solid #8d9876;padding:10px;margin-top:8px;text-align:left;box-shadow:2px 2px 0 #0a221c}.special-row span small,.special-row span b{display:block}.special-row small{font-size:7px;color:#7a765b;margin-bottom:4px}.special-row b{font-size:10px}.special-row em{font-style:normal;font-size:8px;color:#4f765d;white-space:nowrap}.fiction-note{font-size:8px;color:#94aa95;text-align:center;margin:10px 0 0}.comic-strip{display:grid;grid-template-columns:1fr;gap:8px;margin:14px 0}.comic-panel{position:relative;background:#fff6da;border:3px solid #363d34;padding:8px;display:grid;grid-template-columns:78px 1fr;grid-template-rows:auto 1fr;gap:3px 10px;min-height:78px}.comic-art{grid-row:1/3;position:relative;background:#a9c5aa;border:2px solid #596b54;overflow:hidden}.comic-art:after{content:"";position:absolute;left:0;right:0;bottom:0;height:18px;background:#807255}.comic-person,.comic-food{position:absolute;z-index:2}.comic-person{left:9px;top:8px;font-size:24px}.comic-food{right:6px;bottom:13px;font-size:25px}.comic-panel>b{font-size:9px;color:#b0613b}.comic-panel p{font-size:9px;line-height:1.45;margin:0;color:#3f493d}.newspaper{border:4px double #4b4638;background:#eee2bc;padding:13px;text-align:center;color:#3c392e;transform:rotate(-1deg);box-shadow:4px 4px 0 #b3a780}.newspaper small,.newspaper strong,.newspaper span{display:block}.newspaper strong{font-size:17px;line-height:1.45;border-block:2px solid #756b50;margin:7px 0;padding:7px 0}.newspaper span{font-size:8px}

/* City conquest, profile and achievement collection */
.profile-banner{display:flex;align-items:center;gap:10px;background:#173e33;color:#efe8cb;border:3px solid #87936c;padding:12px;box-shadow:4px 4px 0 #c5b999;margin-bottom:10px}.profile-avatar{width:54px;height:54px;display:grid;place-items:center;background:#6e965d;border:3px solid #c8d39d;font-size:29px}.profile-banner>div:nth-child(2){flex:1}.profile-banner span,.profile-banner small{display:block;font-size:8px;color:#a8bea4}.profile-banner h2{font-size:16px;margin:5px 0}.profile-banner button{background:#e9d799;border:2px solid #796d49;padding:8px;color:#3e4937;font-size:8px}.town-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:10px 0 18px}.town-tabs button,.achievement-filters button{background:#ddd7b9;color:#68705b;border:2px solid #aaa98b;min-height:40px;font-size:10px}.town-tabs button.active,.achievement-filters button.active{background:#2e654b;color:#f4eac8;border-color:#8eb17d}.city-summary{display:flex;justify-content:space-between;background:#e5dcbc;border:2px solid #b4aa87;padding:10px;font-size:9px;margin:10px 0}.city-map{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;background:#243d36;border:3px solid #6c785b;margin-bottom:14px}.district-node{min-height:82px;padding:8px;display:flex;align-items:center;gap:7px;background:#605f54;border:3px solid #373e36;color:#d2d0b8;opacity:.5}.district-node.crowned,.district-node.available{background:color-mix(in srgb,var(--district) 65%,#253b32);opacity:1;border-color:#d9cb87}.district-node.available{animation:districtPulse 1.8s steps(2) infinite}.district-icon{font-size:24px}.district-node>div{flex:1}.district-node small,.district-node b,.district-node em{display:block}.district-node small{font-size:7px}.district-node b{font-size:12px;margin:3px 0}.district-node em{font-style:normal;font-size:7px;color:#e4d997}.district-node>strong{font-size:8px}.king-card{display:grid;grid-template-columns:58px 1fr;gap:10px}.king-face{width:58px;height:58px;display:grid;place-items:center;background:#243e35;border:3px solid #a89562;font-size:32px}.king-card p{font-size:9px;line-height:1.55;margin:5px 0}.king-card .challenge-bars,.king-card .btn{grid-column:1/3}.challenge-bars{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:5px;font-size:8px}.challenge-bars i{height:6px;background:#d5ceb2}.challenge-bars b{display:block;height:100%;background:#6fa45d}.rival-board{border:2px solid #aaa584;background:#eee5ca}.rival-board>div{display:grid;grid-template-columns:28px 1fr auto;gap:8px;padding:10px;border-bottom:1px solid #c5b995;font-size:9px}.rival-board>div:last-child{border:0}.rival-board>div.me{background:#b7d6a5;color:#244d35}.achievement-total{display:flex;align-items:center;gap:12px;background:#213f36;color:#f1e8c9;border:3px solid #81906c;padding:14px}.achievement-total strong{font-size:38px;color:#e6c45f}.achievement-total span{font-size:11px}.achievement-total small{font-size:8px;color:#afbea8}.achievement-filters{display:flex;gap:4px;overflow:auto;padding:10px 0}.achievement-filters button{padding:7px;min-width:54px;min-height:35px}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.achievement{min-height:112px;padding:8px 5px;background:#cfccb8;color:#777568;border:2px solid #aaa78e;display:flex;flex-direction:column;align-items:center;gap:5px}.achievement.unlocked{background:#f0dfaa;color:#384736;border-color:#9a7d42;box-shadow:2px 2px 0 #c4b287}.achievement>span{width:41px;height:41px;display:grid;place-items:center;background:#a5a593;border:3px solid #777866;font-size:22px;filter:grayscale(1)}.achievement.unlocked>span{background:#547c52;border-color:#e7ca65;filter:none}.achievement>b{font-size:9px;line-height:1.35}.achievement>small{font-size:7px}.achievement>i{width:90%;height:4px;background:#aca993}.achievement>i>em{display:block;height:100%;background:#64924f}.achievement-medal,.crown-pop,.cider-pop{width:100px;height:100px;margin:0 auto 13px;display:grid;place-items:center;background:#777;border:7px double #aaa;font-size:50px;filter:grayscale(1)}.achievement-medal.won{background:#426e4c;border-color:#e4c35e;filter:none}.crown-pop,.cider-pop{filter:none;background:#315c45;border-color:#dfbf5c}.wealth-ladder{display:flex;flex-direction:column;gap:6px;margin:15px 0}.wealth-ladder>div{display:flex;justify-content:space-between;gap:8px;padding:10px;background:#d5cfb7;color:#88816e;border:2px solid #aaa48a;font-size:8px}.wealth-ladder>div.reached{background:#f0dda0;color:#384934;border-color:#9e7e41}.wealth-ladder b{font-size:10px}@keyframes districtPulse{50%{filter:brightness(1.2)}}
.profile-banner h2{font-size:13px;line-height:1.35}.achievement-filters{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible}.achievement-filters button{min-width:0;padding:6px}

/* The office is the main reward at the end of a shift, so it must dominate the frame. */
#play:has(.world-window.resting-office) #delivery-panel{max-height:50%}.world-window.resting-office{min-height:300px;flex:1.35}.rest-office{justify-content:flex-start;padding-top:14px}.rest-office .pixel-room{height:auto;min-height:250px;max-height:360px;flex:1}.rest-office .cot{left:10%;transform:scale(1.18);transform-origin:left bottom}.rest-office .room-window{top:24px;transform:scale(1.08);transform-origin:left top}.rest-office .room-sign{top:24px;font-size:10px}.rest-office>h3{font-size:20px;margin-top:13px}.rest-office>p{font-size:11px}@media(max-height:850px){.rest-office>p{display:none}}@media(max-height:700px){.world-window.resting-office{min-height:260px}.rest-office .pixel-room{min-height:210px}.rest-office .cot{transform:scale(1.05)}.rest-office>h3{font-size:17px;margin-top:9px}}

#monster-actor{transform:translate(5%,-90%)}

/* Always-visible mobile footer: every growth area is one tap away. */
#nav{position:relative;display:flex!important;min-height:62px;padding:6px 5px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -3px 0 #294d3d;z-index:12}
#nav button{min-width:0;min-height:50px;padding:4px 1px;gap:3px;font-size:9px;border:1px solid transparent}
#nav button span{display:block;white-space:nowrap}
#nav button.active{border-color:#83a87d;color:#e4f0c9;background:#2c604b}
#nav svg{width:20px;height:20px}
#delivery-panel{padding-bottom:10px;max-height:60%}
@media(max-width:360px){#nav button{font-size:8px}#nav svg{width:18px;height:18px}}

/* v0.9 collectible pixel UI: clearer resources, icon plaques and a room that grows. */
.hud{height:calc(96px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 8px 8px;gap:7px;background:linear-gradient(#28251f,#171b18);border:3px solid #735f3f;border-inline:0;box-shadow:inset 0 2px #b2935b,inset 0 -3px #0b1612}.hud-profile{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.hud-profile>div:last-child{min-width:0;flex:1}.hud-profile .eyebrow{font-size:7px;color:#ccb982;white-space:nowrap}.hud-profile h1{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 0}.hud-avatar{position:relative;width:54px;height:60px;flex:none;background:linear-gradient(#416d42,#23462f);border:3px solid #b69556;box-shadow:inset 0 0 0 2px #18251d,3px 3px #080d0b}.hud-avatar img{width:100%;height:52px;object-fit:contain;image-rendering:pixelated}.hud-avatar b{position:absolute;left:4px;right:4px;bottom:-6px;padding:2px;background:#d19b28;border:2px solid #49381e;color:#fff0b5;text-align:center;font-size:7px}.hud-xp{height:7px;background:#0e1511;border:2px solid #5e5039}.hud-xp i{display:block;height:100%;background:linear-gradient(90deg,#86bd27,#c5dd3c)}.hud-resources{width:205px;display:grid;grid-template-columns:52px 1fr 45px;gap:4px}.hud-chip,.wallet{min-width:0;height:58px;padding:5px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(#3b3327,#201d18);border:2px solid #76603e;box-shadow:inset 0 1px #b39964,2px 2px #0b0d0b;color:#f4e5bc}.hud-chip span{font-size:16px}.hud-chip b{font-size:8px;margin-top:4px;white-space:nowrap}.energy-chip span{color:#ffd24d}.honor-chip{color:#f4ca55}.wallet strong{font-size:13px;margin:3px 0}.wallet span{font-size:7px;color:#e6c973}.wallet small{font-size:6px;color:#97aa91}.wallet:active{transform:translateY(1px)}
#nav{background:linear-gradient(#2f2920,#171a16);border-top:3px solid #8c734a;box-shadow:inset 0 2px #b1935e,0 -3px #15271e;padding:5px 4px calc(5px + env(safe-area-inset-bottom));gap:3px}#nav button{font-size:8px;color:#c3b99e;border:2px solid #5b4b35;background:linear-gradient(#413729,#28251e);box-shadow:inset 0 1px #796548,1px 2px #0c110e;padding:3px 1px;border-radius:3px}#nav button.active{color:#fff0b7;border-color:#d2a74f;background:linear-gradient(#376e39,#214629);box-shadow:inset 0 0 0 2px #18311e,0 0 8px #e0c25388}.nav-emblem{width:35px;height:30px;display:grid;place-items:center;clip-path:polygon(50% 0,94% 18%,88% 76%,50% 100%,12% 76%,6% 18%);background:#776847;color:#eee1b7;box-shadow:inset 0 0 0 3px #31291e}.nav-emblem svg{width:18px!important;height:18px!important;stroke-width:2.2}.nav-play .nav-emblem{background:#4d9148}.nav-ability .nav-emblem{background:#b76445}.nav-gear .nav-emblem{background:#3d78a2}.nav-office .nav-emblem{background:#b57b39}.nav-town .nav-emblem{background:#527e4b}.nav-achievements .nav-emblem{background:#a67b26}
.page{background:#e6d4ae;background-image:linear-gradient(#ffffff18 1px,transparent 1px);background-size:100% 6px}.card,.profile-banner,.achievement-total,.city-map{border-color:#725d3d;box-shadow:inset 0 0 0 2px #f3e2b7,3px 3px #7d6a48}.btn{border-color:#d1b65f;background:linear-gradient(#579a44,#2f6e36);color:#fff1bd;box-shadow:inset 0 0 0 2px #28582d,3px 3px #6d5330}.profile-banner{background:linear-gradient(#315f3c,#1c3b2c);border-color:#b38e4c}.profile-avatar{border-color:#e0ba5a;background:#254d32;box-shadow:inset 0 0 0 2px #172e20}
.achievement{background:linear-gradient(#b8b09b,#8f8877);border:3px solid #665e50;box-shadow:inset 0 0 0 2px #d2cbb7,2px 3px #75664d;padding-top:7px}.achievement.unlocked{background:linear-gradient(#f2d88a,#c19b45);border-color:#6c4a1e;box-shadow:inset 0 0 0 2px #fff0ac,2px 3px #87672d}.achievement .achievement-emblem{width:54px;height:58px;display:grid;place-items:center;clip-path:polygon(50% 0,94% 17%,88% 73%,50% 100%,12% 73%,6% 17%);background:#77736b;border:0;filter:grayscale(1);box-shadow:none}.achievement .achievement-emblem i{width:42px;height:46px;display:grid;place-items:center;font-style:normal;font-size:24px;background:#99948a;clip-path:inherit}.achievement.unlocked .achievement-emblem{filter:none;background:#5a3b1e}.achievement.unlocked .achievement-emblem i{background:#3e7747}.achievement.badge-stats.unlocked .achievement-emblem i{background:#9c5540}.achievement.badge-rebirth.unlocked .achievement-emblem i{background:#69549a}.achievement.badge-monster.unlocked .achievement-emblem i{background:#a14635}.achievement.badge-wealth.unlocked .achievement-emblem i{background:#b98424}.achievement.badge-world.unlocked .achievement-emblem i{background:#356d9c}.achievement .achievement-progress{width:90%;height:5px;background:#716b60}.achievement .achievement-progress em{display:block;height:100%;background:#7aaa38}.achievement-medal{clip-path:polygon(50% 0,94% 17%,88% 73%,50% 100%,12% 73%,6% 17%);border-radius:0}
.rest-office{background:linear-gradient(#101c20 0 18%,#27261f 18%);padding-inline:10px}.rest-night{padding:5px 7px;background:#1d1a16;border:2px solid #806942;box-shadow:inset 0 1px #b29560;margin-bottom:7px}.pixel-room{border:5px solid #4c3827;background:linear-gradient(#3a332c 0 70%,#443324 70%);box-shadow:inset 0 0 0 3px #8f7852,5px 5px #07100e}.pixel-room:before{content:"";position:absolute;inset:4px 4px 30% 4px;background:repeating-linear-gradient(90deg,#6c604d 0,#6c604d 31px,#594d3d 32px),repeating-linear-gradient(0deg,transparent 0,transparent 22px,#4a4034 23px);opacity:.62}.pixel-room:after{height:30%;background:repeating-linear-gradient(90deg,#563d2b 0,#563d2b 34px,#422e22 35px);border-top:5px solid #2b211a}.ceiling-light{position:absolute;z-index:3;left:35%;top:7px;width:30%;height:10px;background:#f6dc82;border:4px solid #44382b;box-shadow:0 5px 18px #f6d56f99}.room-window{z-index:2;left:15px;top:42px;width:86px;height:65px;background:linear-gradient(#132536,#1f4256);border-color:#4a392c}.room-window:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 11px,#95bad755 12px 14px)}.room-window b{position:absolute;left:50%;top:0;bottom:0;width:4px;background:#4a392c}.room-window i{position:relative;z-index:2;box-shadow:18px 12px #e7c867,38px 2px #f4d77c,12px 34px #d69e4c}.receipt-board{position:absolute;z-index:2;left:112px;top:42px;width:74px;height:62px;padding:5px;background:#765234;border:4px solid #413024;color:#f1d995;font-size:6px}.receipt-board b{display:block;margin-bottom:4px}.receipt-board i{display:inline-block;width:20px;height:14px;margin:1px;background:#e6d8ad;transform:rotate(-4deg)}.receipt-board i:nth-of-type(2){background:#d8af87;transform:rotate(5deg)}.receipt-board i:nth-of-type(3){background:#b9d0b0}.wall-clock{position:absolute;z-index:2;right:85px;top:48px;width:30px;height:30px;border-radius:50%;background:#d8c18c;border:4px solid #45352a}.wall-clock i:before,.wall-clock i:after{content:"";position:absolute;left:13px;top:5px;width:2px;height:9px;background:#44362c;transform-origin:bottom}.wall-clock i:after{transform:rotate(120deg);height:8px}.room-sign{z-index:2;right:10px;top:45px;background:#28503d;border-color:#b28a46;box-shadow:2px 2px #201b16}.office-desk{position:absolute;z-index:3;left:10px;bottom:28px;width:78px;height:49px;background:#6f492d;border-top:7px solid #9b6a3f;box-shadow:inset 6px 0 #523522}.office-desk:before,.office-desk:after{content:"";position:absolute;bottom:-12px;width:6px;height:14px;background:#39281f}.office-desk:before{left:6px}.office-desk:after{right:6px}.office-desk span{position:absolute;left:6px;top:-19px;background:#e4d3a5;color:#625238;padding:3px;font-size:5px;transform:rotate(-4deg)}.office-desk i{position:absolute;right:10px;top:-16px;width:12px;height:14px;background:#ba7c37;border:3px solid #493425}.office-desk b{position:absolute;left:31px;top:-10px;width:5px;height:5px;background:#efc557;box-shadow:8px 2px #efc557}.cot{left:23%;bottom:29px;width:165px;height:72px}.sleep-head{left:8px;bottom:29px}.rider-body{position:absolute;left:34px;bottom:14px;width:68px;height:29px;background:#315e3e;border:4px solid #253b2e}.blanket{left:72px;width:79px;background:#3f714c;border-color:#294933}.zzz{left:56%;bottom:105px}.helmet{right:18px;bottom:41px;background:#3b7446;border-color:#302b22}.helmet-rack{position:absolute;z-index:2;right:11px;bottom:70px;width:48px;height:6px;background:#6a492f}.bike-wheel{position:absolute;z-index:2;right:5px;bottom:22px;width:52px;height:52px;border:5px solid #282c28;border-radius:50%;box-shadow:inset 0 0 0 2px #85765e}.bike-wheel:before,.bike-wheel:after{content:"";position:absolute;left:21px;top:0;width:2px;height:42px;background:#756b58}.bike-wheel:after{transform:rotate(90deg)}.food-boxes{position:absolute;z-index:3;right:60px;bottom:29px}.food-boxes i{display:block;width:30px;height:17px;background:#a85d32;border:3px solid #593724;margin-top:-2px}.food-boxes i:last-child{margin-left:13px;background:#c07c3b}.room-upgrade{position:absolute;z-index:4;width:64px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px dashed #9c8d70;background:#312f2a;color:#bbb09a}.room-upgrade b{font-size:16px}.room-upgrade small{font-size:5px;margin-top:2px}.room-upgrade.storage{right:8px;top:92px}.room-upgrade.private{right:8px;top:139px}.room-upgrade.owned{border-style:solid;border-color:#d0aa53;background:#315f3d;color:#ffe69b}.level-2 .room-upgrade.storage,.level-3 .room-upgrade.storage{box-shadow:0 0 10px #e4c05c66}.level-3 .room-upgrade.private{box-shadow:0 0 10px #e4c05c66}.bag-box{left:91px;bottom:34px}.rest-office>h3{font-size:18px;margin:8px 4px 0;color:#f0d18a;text-shadow:2px 2px #1a1713}.rest-office>p{margin-left:4px}
.office-pixel{padding:8px;background:#28251f;border:4px solid #745c38;box-shadow:inset 0 0 0 2px #b8965c,3px 3px #5c4b35}.office-pixel svg{width:100%;height:auto;max-height:190px;image-rendering:pixelated}.office-pixel[data-level="0"]{filter:none;opacity:1}
@media(max-width:390px){.hud-resources{width:190px;grid-template-columns:48px 1fr 40px}.hud-avatar{width:48px}.hud-profile h1{font-size:15px}.hud-chip b{font-size:7px}.pixel-room .receipt-board{left:105px}.pixel-room .wall-clock{display:none}.room-upgrade{width:56px}.cot{left:20%;transform:scale(1.06)}.bike-wheel{opacity:.75}}
@media(max-width:350px){.hud-profile .eyebrow{display:none}.hud-resources{width:180px}.hud-avatar{width:43px}.nav-emblem{width:31px}.pixel-room .receipt-board{display:none}.room-upgrade{display:none}}

/* v0.9.1 generated art pack: replace symbolic UI with authored bitmap assets. */
.pixel-icon{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto}.hud-chip>img{width:34px;height:34px;object-fit:contain;margin:-5px 0 -1px}.wallet span{display:flex;align-items:center;justify-content:center;gap:2px}.wallet span img{width:19px;height:19px;object-fit:contain}.nav-emblem{background:transparent!important;clip-path:none;box-shadow:none;width:39px;height:35px}.nav-emblem .pixel-icon{filter:drop-shadow(1px 2px #130e09)}#nav button.active .nav-emblem .pixel-icon{filter:drop-shadow(0 0 4px #ffe477)}.stat-symbol{width:46px;height:46px;background:#212b24;border:2px solid #987a45;padding:3px;box-shadow:inset 0 0 0 1px #d2b66e}.stat-symbol .pixel-icon{filter:drop-shadow(1px 2px #0006)}.profile-avatar{padding:3px}.profile-avatar .pixel-icon{width:100%;height:100%;object-fit:contain}.achievement .achievement-emblem{padding:5px}.achievement .achievement-emblem .pixel-icon{width:100%;height:100%;object-fit:contain;filter:grayscale(1) contrast(.8)}.achievement.unlocked .achievement-emblem .pixel-icon{filter:drop-shadow(1px 2px #23170d)}.achievement-medal .pixel-icon{width:88%;height:88%;object-fit:contain;filter:drop-shadow(2px 3px #0006)}.district-icon{width:54px;height:54px;overflow:hidden;border:2px solid #b8995b;background:#1b2924}.district-icon .pixel-icon{width:100%;height:100%;object-fit:cover}.district-crown{width:27px;height:27px}.king-face{padding:2px;overflow:hidden}.king-face .pixel-icon{width:100%;height:100%;object-fit:cover}
.pixel-room{padding:0;background:#171713}.pixel-room:before,.pixel-room:after{display:none}.room-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:auto}.room-level,.room-next{position:absolute;z-index:3;padding:5px 7px;background:#17271fe8;border:2px solid #c6a050;color:#ffe3a0;font-size:7px;box-shadow:2px 2px #0b100d}.room-level{left:8px;top:8px}.room-next{right:8px;bottom:8px;color:#c9c1aa;border-color:#756c57}.office-pixel{padding:5px}.office-pixel .office-room-art{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;image-rendering:auto}.office-pixel[data-level="0"]{filter:none}.rest-office .pixel-room{min-height:260px;max-height:390px}
@media(max-width:390px){.hud-chip>img{width:30px;height:30px}.nav-emblem{width:34px;height:32px}.district-icon{width:47px;height:47px}.rest-office .pixel-room{min-height:240px}}
.achievement .achievement-emblem{width:68px;height:62px}.achievement.unlocked .achievement-emblem{clip-path:none;background:transparent;padding:0}.achievement.unlocked .achievement-emblem .pixel-icon{width:100%;height:100%;object-fit:contain}.achievement-medal.won{clip-path:none;background:transparent;border:0;filter:none}

/* v0.10: readable fixed footer and collectible rider scout */
#nav{flex:0 0 auto;min-height:76px;overflow:visible}
#nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60px;overflow:visible;line-height:1.15}
#nav button>span{display:block!important;visibility:visible!important;opacity:1!important;min-height:11px;line-height:11px;flex:0 0 11px;position:relative;z-index:2}
#nav .nav-emblem{flex:0 0 35px;max-height:35px}
.auto-next{display:flex;justify-content:space-between;align-items:center;margin:8px 0;padding:8px;background:#203e34;color:#f0dda0;border:2px solid #8e794e}.auto-next b,.auto-next span{font-size:8px}
.special-locked{opacity:.62;filter:grayscale(.8);cursor:default}.special-locked em{max-width:42%;white-space:normal;text-align:right;line-height:1.4}
.gacha-machine{position:relative;overflow:hidden;margin:10px 0 14px;padding:16px 12px;text-align:center;color:#f7e8bd;background:radial-gradient(circle at 50% 0,#65468b 0,#28203f 35%,#171b18 78%);border:4px solid #b28a49;box-shadow:inset 0 0 0 2px #e8c875,4px 4px #6a5639}.gacha-machine:before,.gacha-machine:after{content:'✦';position:absolute;color:#ffe06a;font-size:20px;animation:gachaSpark 1.2s steps(2) infinite}.gacha-machine:before{left:9%;top:18%}.gacha-machine:after{right:9%;top:34%;animation-delay:.5s}.gacha-kicker{font-size:8px;color:#e8c875;letter-spacing:2px}.gacha-machine h3{font-size:15px;margin:7px}.gacha-machine p{font-size:8px;line-height:1.6;color:#cfc7d9}.gacha-rates{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin:10px 0}.gacha-rates b{padding:5px 1px;background:#292a29;border:1px solid #89775e;font-size:7px}.gacha-rates b:nth-child(2){color:#67b9ff}.gacha-rates b:nth-child(3){color:#c394ff}.gacha-rates b:nth-child(4){color:#ffc34e}.gacha-rates b:nth-child(5){color:#ff7461;text-shadow:0 0 5px #ffb83d}.gacha-button{width:100%;min-height:48px;margin-top:5px;color:#fff5c9;background:linear-gradient(#d89c28,#7f4b1f);border:3px solid #f2d16b;box-shadow:inset 0 0 0 2px #70411c,0 0 12px #f4c94f88;font-size:11px}.crew-collection{display:flex;flex-direction:column;gap:12px}.crew-card{--grade:#8d8b83;position:relative;display:grid;grid-template-columns:116px 1fr;gap:10px;min-height:158px;padding:8px;background:linear-gradient(135deg,#24251f,#393329);border:4px solid var(--grade);box-shadow:inset 0 0 0 2px #171a16,3px 3px #66543a;color:#f0e1b8}.crew-card.grade-rare{--grade:#3d89c9;background:linear-gradient(135deg,#182c39,#273f50)}.crew-card.grade-s{--grade:#875ac8;background:linear-gradient(135deg,#261d3d,#4b3065)}.crew-card.grade-ss{--grade:#e39825;background:linear-gradient(135deg,#3b2917,#67421c);box-shadow:inset 0 0 0 2px #fff0a4,0 0 10px #f1ae37aa}.crew-card.grade-sss{--grade:#e64e3d;background:linear-gradient(135deg,#471b22,#763122);box-shadow:inset 0 0 0 2px #ffe77d,0 0 16px #ff5e38cc;animation:sssGlow 1.3s steps(2) infinite}.crew-card.locked{filter:grayscale(.82);opacity:.68}.crew-portrait{position:relative;align-self:start;height:140px;overflow:hidden;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--grade) 55%,#eee),#151a17 72%);border:3px solid var(--grade);box-shadow:inset 0 0 0 2px #171815}.crew-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:drop-shadow(0 3px 2px #0008)}.crew-portrait span{position:absolute;left:5px;right:5px;bottom:5px;padding:4px;text-align:center;background:#161713dc;border:1px solid var(--grade);color:#fff1ae;font-size:9px;text-shadow:1px 1px #000}.crew-info>small{font-size:7px;color:#c7bea5}.crew-info h3{font-size:13px;margin:5px 0;color:#fff0bb}.crew-info p{font-size:8px;line-height:1.45;margin:4px 0;color:#cbc2ad}.crew-power{display:flex;flex-direction:column;gap:3px;margin:7px 0;padding:6px;background:#111914aa;border-left:3px solid var(--grade)}.crew-power b{font-size:9px}.crew-power span{font-size:7px;color:#9fd38d}.crew-info .meter{margin:6px 0}.crew-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:6px}.crew-actions button{min-height:35px;padding:4px;background:#315e3c;border:2px solid #b99c57;color:#fff0bd;font-size:7px}.crew-silhouette{padding:12px 2px;color:#9f9989;font-size:8px}.draw-reveal{--grade:#888;text-align:center;color:#3a362d}.draw-reveal>span{display:block;color:#8b7441;font-size:9px;letter-spacing:2px}.draw-portrait{height:270px;margin:10px 0;overflow:hidden;background:radial-gradient(circle,var(--grade),#1b201c 70%);border:6px double var(--grade);box-shadow:0 0 18px var(--grade)}.draw-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 15%}.draw-reveal>b{display:inline-block;padding:5px 18px;background:var(--grade);color:white;font-size:12px}.draw-reveal>strong{display:block;margin:10px;font-size:16px;color:#9c6224}.draw-reveal.grade-rare{--grade:#3d89c9}.draw-reveal.grade-s{--grade:#875ac8}.draw-reveal.grade-ss{--grade:#e39825}.draw-reveal.grade-sss{--grade:#e64e3d}
@keyframes gachaSpark{50%{transform:scale(1.5);opacity:.45}}@keyframes sssGlow{50%{filter:brightness(1.18)}}
@media(max-width:360px){#nav{min-height:72px}#nav button{height:57px;font-size:8px}#nav .nav-emblem{height:31px;flex-basis:31px}.crew-card{grid-template-columns:100px 1fr}.crew-portrait{height:132px}.crew-actions{grid-template-columns:1fr}}


/* v0.11: long-term equipment garage and nine-rider roster */
.garage-summary{display:flex;flex-direction:column;gap:5px;margin:10px 0 14px;padding:12px;color:#f3e2b3;background:linear-gradient(135deg,#24392f,#17231e);border:3px solid #b39458;box-shadow:inset 0 0 0 2px #3e624b,3px 3px #725b3b}.garage-summary span{font-size:8px}.garage-summary strong{font-size:14px;color:#ffd668}.garage-summary small{font-size:7px;color:#b9cbaa;line-height:1.5}.vehicle-track{display:grid;gap:7px;margin-bottom:16px}.vehicle-step{display:grid;grid-template-columns:58px 1fr 82px;align-items:center;gap:7px;padding:6px;background:#d5c29b;border:3px solid #7e6846;box-shadow:inset 0 0 0 2px #eadab7}.vehicle-step.current{border-color:#4f8c45;background:#ddecaf}.vehicle-step.owned{opacity:.76}.vehicle-step canvas{width:56px;height:56px;image-rendering:pixelated}.vehicle-step div{display:flex;flex-direction:column;gap:4px}.vehicle-step b{font-size:9px;color:#3e382d}.vehicle-step small{font-size:6px;line-height:1.4;color:#6c6253}.vehicle-step button,.equipment-item>button{min-height:38px;padding:5px;background:#315f3b;border:2px solid #a98548;color:#fff0bd;font-size:7px}.vehicle-step button:disabled,.equipment-item>button:disabled{background:#77705f;color:#d4cbb5;opacity:.72}.equipment-category{margin:13px 0;padding:8px;background:#cfbb91;border:4px solid #755d3b;box-shadow:inset 0 0 0 2px #f0dfb7,3px 3px #6d5a40}.equipment-category.locked{filter:grayscale(.75);opacity:.68}.equipment-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:7px;color:#f7e4b5;background:#26372d;border:2px solid #8e7548}.equipment-head>.pixel-icon{width:52px;height:52px;object-fit:contain}.equipment-head span{font-size:6px;color:#bdac7e}.equipment-head h3{font-size:12px;margin:4px 0}.equipment-list{display:flex;flex-direction:column;gap:6px}.equipment-item{display:grid;grid-template-columns:28px 1fr 76px;gap:7px;align-items:center;padding:7px;background:#efe0bd;border:2px solid #927a52;color:#40392d}.equipment-item.equipped{background:#e3efb9;border-color:#4f8845;box-shadow:inset 4px 0 #62a650}.equipment-number{display:grid;place-items:center;width:27px;height:31px;background:#4b4639;color:#f3d583;border:2px solid #796849;font-size:8px}.equipment-item b{font-size:9px}.equipment-item p{margin:3px 0;font-size:6px;color:#736957}.equipment-effects{display:flex;flex-wrap:wrap;gap:3px}.equipment-effects span{padding:2px 3px;background:#d2c19f;border:1px solid #aa9369;font-size:5px}.equipment-item.equipped .equipment-effects span{background:#bed58f}.crew-filter{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:8px 0 12px;padding:5px;background:#29261f;border:2px solid #806842}.crew-filter button{min-height:34px;background:#4a4030;border:2px solid #6f5c3e;color:#d8ceb5;font-size:7px}.crew-filter button.active{background:#397044;border-color:#d0ac58;color:#fff0ba}.crew-card.reserve{filter:saturate(.62);border-style:dashed}.roster-state{margin:6px 0;padding:4px 5px;border:1px solid #688266;font-size:6px}.roster-state.active{color:#a9e396;background:#183521}.roster-state.reserve{color:#d7caab;background:#40392c;border-color:#8a7858}.crew-roster-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:5px}.crew-roster-actions button{min-height:33px;padding:4px;background:#314f65;border:2px solid #8295a0;color:#ecf3ef;font-size:7px}.crew-roster-actions .plain{margin:0}.crew-card.locked{min-height:132px}.crew-card.locked .crew-portrait{height:114px}
@media(max-width:360px){.vehicle-step{grid-template-columns:52px 1fr 70px}.equipment-item{grid-template-columns:24px 1fr 67px}.equipment-effects span{font-size:4px}.crew-roster-actions{grid-template-columns:1fr}}

/* v0.12: first reincarnation discovery and return sequence */
.rebirth-discovery{position:relative;overflow:hidden;border-color:#8e69b3!important;background:linear-gradient(135deg,#efe4ff,#dfd2ee)!important;animation:rebirthCardPulse 1.5s steps(2) infinite}.rebirth-discovery:after{content:'∞';position:absolute;right:10px;top:2px;color:#8050a4;font-size:46px;opacity:.16}.rebirth-mark{width:70px;height:70px;margin:0 auto 10px;display:grid;place-items:center;border:4px double #9d72bd;background:#271b38;color:#e5b9ff;font-size:38px;box-shadow:0 0 22px #ae72dc88;animation:rebirthMark 1.2s steps(4) infinite}.rebirth-button{background:linear-gradient(#9b68bc,#5e3c80);border-color:#e1b5f2;color:#fff4ff;box-shadow:inset 0 0 0 2px #4c2f68,3px 3px #6d5330}.rebirth-effect{position:absolute;inset:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#f7e8ff;background:radial-gradient(circle at center,#714696,#271936 38%,#05060b 78%)}.rebirth-vortex{position:relative;width:240px;height:240px;display:grid;place-items:center}.rebirth-vortex i{position:absolute;inset:8px;border:7px dashed #e4bbff;border-radius:50%;animation:vortex 1.1s linear infinite}.rebirth-vortex i:nth-child(2){inset:38px;border-color:#74d7ae;animation-direction:reverse;animation-duration:.75s}.rebirth-vortex i:nth-child(3){inset:70px;border-color:#ffe08a;animation-duration:.45s}.rebirth-vortex span{font-size:64px;color:#fff;filter:drop-shadow(0 0 12px #fff)}.rebirth-effect>img{position:absolute;width:100px;height:130px;object-fit:contain;image-rendering:pixelated;bottom:13%;filter:drop-shadow(0 4px 6px #000);transition:1.35s cubic-bezier(.7,0,.9,.4)}.rebirth-effect strong{position:absolute;top:12%;font-size:24px;text-shadow:2px 3px #321746}.rebirth-effect p{position:absolute;top:18%;font-size:10px;color:#d9c2e8}.rebirth-effect.falling>img{bottom:47%;transform:scale(.05) rotate(900deg);opacity:.2}.rebirth-effect.falling .rebirth-vortex{animation:vortexZoom 1.4s ease-in forwards}.rebirth-effect.blackout{animation:rebirthBlackout .55s forwards}.rebirth-return{width:100%;max-height:100%;overflow:auto;padding:22px;text-align:center;color:#343126;background:#f4e5bf;border:4px solid #9b7c48;box-shadow:inset 0 0 0 3px #fff1c8}.rebirth-dawn{position:relative;height:240px;margin:12px 0;background:linear-gradient(#352a58 0,#db8b6e 45%,#f1c988 65%,#5e8b63 66%);overflow:hidden;border:4px solid #4b392d;box-shadow:inset 0 -40px #355944}.rebirth-dawn:before{content:'';position:absolute;width:90px;height:90px;border-radius:50%;left:50%;bottom:22%;transform:translateX(-50%);background:#ffe58a;box-shadow:0 0 30px #ffe09b}.rebirth-dawn img{position:absolute;z-index:2;width:130px;height:180px;object-fit:contain;image-rendering:pixelated;left:50%;bottom:-16px;transform:translateX(-50%);animation:wakeUp .9s steps(3)}.rebirth-dawn i{position:absolute;z-index:3;right:13px;top:10px;color:#fff2bc;font-size:30px;font-style:normal;text-shadow:2px 2px #674a6a}.rebirth-return h2{font-size:24px}.rebirth-return .quote{font-size:18px}.memory-chip{display:flex;flex-direction:column;gap:5px;margin:10px 0 15px;padding:11px;background:#263e33;color:#f2dfaa;border:3px solid #9f814d}.memory-chip b{font-size:20px;color:#ffd86e}.memory-chip small{font-size:7px;color:#bdcbae}@keyframes rebirthCardPulse{50%{filter:brightness(1.08);box-shadow:0 0 18px #a067cc88}}@keyframes rebirthMark{50%{transform:scale(1.06);filter:brightness(1.35)}}@keyframes vortex{to{transform:rotate(360deg)}}@keyframes vortexZoom{to{transform:scale(2.4);filter:blur(3px)}}@keyframes rebirthBlackout{to{background:#020207;filter:brightness(0)}}@keyframes wakeUp{from{transform:translateX(-50%) translateY(45px);filter:brightness(.4)}to{transform:translateX(-50%) translateY(0);filter:brightness(1)}}
@media(prefers-reduced-motion:reduce){.rebirth-effect.falling>img{bottom:47%;transform:scale(.15);opacity:.2}}

/* v0.12.1: district king three-round delivery duel */
.district-rules{display:flex;flex-direction:column;gap:5px;margin:10px 0;padding:10px;color:#f5e4b2;background:#24372e;border:3px solid #a98a50;box-shadow:inset 0 0 0 2px #3d5d48}.district-rules b{font-size:10px;color:#ffd76a}.district-rules span{font-size:7px}.district-rules small{font-size:6px;color:#b8c7af}.duel-title{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#263b32;color:#f6dfa7;border:3px solid #9d804c}.duel-title span{font-size:8px}.duel-title b{font-size:9px}.duel-score{display:flex;align-items:center;justify-content:center;gap:18px;margin:12px 0;color:#54452f}.duel-score strong{font-size:38px;color:#39774a;text-shadow:2px 2px #c8b280}.duel-score span{font-size:20px}.duel-rounds{display:flex;flex-direction:column;gap:7px}.duel-round{display:grid;grid-template-columns:38px 1fr 65px;gap:8px;align-items:center;padding:8px;background:#e1d6b9;border:3px solid #8e7b59;animation:duelReveal .35s steps(3) both;animation-delay:calc(var(--delay)*.3s)}.duel-round>span{display:grid;place-items:center;height:35px;background:#493f31;color:#f2d98c;font-size:8px}.duel-round>div{display:flex;flex-direction:column;gap:3px}.duel-round b{font-size:9px}.duel-round small{font-size:5px;color:#766d5d}.duel-round i{display:block;height:5px;background:#a99d84}.duel-round em{display:block;height:100%;background:#9c5448}.duel-round.won{border-color:#548055;background:#d8e7b6}.duel-round.won em{background:#4d9556}.duel-round>strong{font-size:10px;text-align:right}.duel-round>strong small{display:block;margin-top:4px;font-size:8px;color:#a8483d}.duel-round.won>strong small{color:#347743}.duel-advice{margin:10px 0;padding:10px;background:#332f28;color:#ead7a8;border-left:5px solid #a0674b;font-size:8px;line-height:1.6}@keyframes duelReveal{from{opacity:0;transform:translateX(-15px)}to{opacity:1;transform:none}}

/* v0.13: music controls stay above the transformed map canvas */
.map-top,#recenter,.energy{z-index:8}

/* v0.14: six-way footer, separated growth/crew/social screens and expansion previews */
.growth-tabs{position:sticky;top:-10px;z-index:6;display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:-10px -10px 12px;padding:7px 9px;background:#182a23;border-bottom:3px solid #9a7d4b}.growth-tabs button,.town-tabs button{min-height:38px;padding:5px;background:#3d382d;border:2px solid #716042;color:#d8ceb5;font-size:8px}.growth-tabs button.active,.town-tabs button.active{background:#41714a;border-color:#d6af55;color:#fff2bb;box-shadow:inset 0 0 0 1px #203c29}
.office-crew-link,.crew-page-head{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:12px 0;padding:10px;background:#253a30;color:#f2e0ad;border:3px solid #a2854f;box-shadow:inset 0 0 0 2px #3d5b48}.office-crew-link div,.crew-page-head div{display:flex;min-width:0;flex-direction:column;gap:4px}.office-crew-link b,.crew-page-head h2{margin:0;font-size:10px}.office-crew-link small,.crew-page-head small,.crew-page-head span{font-size:6px;line-height:1.5;color:#bdc9b5}.office-crew-link button,.crew-page-head button{flex:0 0 auto;min-height:38px;padding:6px 8px;background:#46784b;border:2px solid #d0ae5e;color:#fff0bc;font-size:7px}
.shop-hero{margin:4px 0 13px;padding:14px;color:#fff0bd;background:radial-gradient(circle at 80% 10%,#78522b,#253a30 48%,#18251f);border:4px solid #b5914f;box-shadow:inset 0 0 0 2px #e5c56f,3px 3px #6b5738}.shop-hero span{font-size:7px;color:#e6c86f}.shop-hero h2{margin:7px 0;font-size:17px}.shop-hero p{margin:0;font-size:7px;line-height:1.6;color:#d3ccb8}.shop-grid{display:grid;gap:8px}.shop-item{display:grid;grid-template-columns:58px 1fr 86px;align-items:center;gap:8px;padding:8px;background:#eadbb8;border:3px solid #8d744b;box-shadow:inset 0 0 0 2px #fff0cc;color:#40372a}.shop-emblem{display:grid;place-items:center;width:55px;height:55px;padding:5px;background:#25362d;border:3px solid #a98c50}.shop-emblem .pixel-icon{width:100%;height:100%}.shop-item small{font-size:6px;color:#846c47}.shop-item h3{margin:4px 0;font-size:9px}.shop-item p{margin:0;font-size:6px;line-height:1.45;color:#6d6251}.shop-item button{min-height:45px;padding:5px;background:#736958;border:2px solid #a99978;color:#ede5d2;font-size:8px}.shop-item button small{display:block;margin-top:4px;color:#d0c6b3}.shop-policy{margin:12px 0;padding:10px;background:#2d302a;color:#eee0b6;border-left:5px solid #d0a44b}.shop-policy b{font-size:9px;color:#ffd36a}.shop-policy p{margin:6px 0 0;font-size:7px;line-height:1.6;color:#c8c0ad}
.profile-banner.compact{margin-bottom:14px}.current-district{display:grid;grid-template-columns:auto 1fr;gap:3px 9px;margin:9px 0;padding:10px;background:#e3d4ae;border:3px solid #876f49;box-shadow:inset 0 0 0 2px #f8e8c3}.current-district span{font-size:6px;color:#776447}.current-district b{grid-row:1/3;grid-column:1;font-size:15px;color:#356443}.current-district small{font-size:6px;line-height:1.55;color:#665c4c}
.dungeon-hero{position:relative;height:360px;margin:8px 0 12px;overflow:hidden;background:#151624;border:5px solid #806c4b;box-shadow:inset 0 0 0 2px #c7a75e,4px 4px #584732}.dungeon-hero>img{width:100%;height:100%;object-fit:cover;object-position:center 49%}.dungeon-copy{position:absolute;left:9px;right:9px;bottom:9px;padding:10px;color:#faf0c5;background:linear-gradient(90deg,#12181aef,#222033d9);border-left:5px solid #70dfb2;text-shadow:1px 2px #000}.dungeon-copy span{font-size:7px;color:#75e0ba}.dungeon-copy h2{margin:4px 0;font-size:18px}.dungeon-copy p{margin:0;font-size:7px;line-height:1.55}.dungeon-hero>b{position:absolute;right:8px;top:8px;padding:5px 7px;background:#bf5d42;color:#fff0c9;border:2px solid #f0b262;font-size:7px}.dungeon-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.dungeon-rules article{display:flex;flex-direction:column;gap:5px;padding:8px;background:#ded0ae;border:2px solid #846d4b;color:#493e31}.dungeon-rules strong{font-size:8px}.dungeon-rules span{font-size:6px;line-height:1.5}.dungeon-entry{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0;padding:10px;background:#22372e;color:#efe0b2;border:3px solid #9e824d}.dungeon-entry div{display:flex;flex-direction:column;gap:4px}.dungeon-entry small,.dungeon-entry span{font-size:6px;color:#b9c8b3}.dungeon-entry b{font-size:8px}.dungeon-entry button{min-height:42px;padding:5px;background:#686353;border:2px solid #998d70;color:#d9d1bf;font-size:7px}
.ranking-me{display:flex;flex-direction:column;gap:5px;margin:10px 0;padding:12px;color:#f4e2b0;background:#273d33;border:4px solid #aa8a50;box-shadow:inset 0 0 0 2px #476450}.ranking-me span,.ranking-me small{font-size:7px;color:#b9c9b5}.ranking-me strong{font-size:14px;color:#ffd465}.ranking-modes{display:grid;gap:6px}.ranking-modes article{display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:8px;padding:8px;background:#e5d6b2;border:2px solid #89724c;color:#463c2f}.ranking-modes article>b{display:grid;place-items:center;width:29px;height:29px;background:#51493a;color:#f5d981;border:2px solid #867653;font-size:9px}.ranking-modes div{display:flex;flex-direction:column;gap:3px}.ranking-modes strong{font-size:8px}.ranking-modes small{font-size:6px;color:#746956}.ranking-modes em{font-size:6px;color:#957652}.ranking-pending{margin:11px 0;padding:12px;text-align:center;background:#c8c0ad;border:3px dashed #766f60;color:#504b41}.ranking-pending strong{font-size:10px}.ranking-pending p{font-size:7px;line-height:1.65}.ranking-pending button{padding:7px 10px;background:#777166;border:2px solid #a9a08d;color:#e8e2d6;font-size:7px}
.rebirth-ledger{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.rebirth-ledger>div{display:flex;flex-direction:column;gap:5px;padding:9px;border:3px solid}.rebirth-ledger b{font-size:9px}.rebirth-ledger span{font-size:6px;line-height:1.45}.rebirth-ledger .reset{background:#ead0cb;border-color:#a16158;color:#633d38}.rebirth-ledger .keep{background:#d7e5be;border-color:#5f8654;color:#385337}
@media(max-width:370px){.shop-item{grid-template-columns:50px 1fr 74px}.shop-emblem{width:47px;height:47px}.dungeon-hero{height:330px}.dungeon-rules{grid-template-columns:1fr}.dungeon-entry{align-items:stretch;flex-direction:column}.rebirth-ledger{grid-template-columns:1fr}}

/* v0.14.1: twelve fixed footer slots in two rows */
#nav{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,54px);gap:3px;min-height:125px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#172b24}
#nav button{width:100%;height:54px;min-width:0;min-height:54px;padding:2px 1px;gap:1px;border:2px solid #554a37;border-radius:3px;background:#332f27;color:#cfc5aa;font-size:7px;line-height:1;overflow:hidden}
#nav button.active{color:#fff1b7;background:#315f3b;border-color:#d3ac4c;box-shadow:inset 0 0 0 2px #173721,0 0 5px #e8bd4a88}
#nav .nav-emblem{width:28px;height:28px;max-height:28px;flex:0 0 28px}
#nav button>span{min-height:9px;line-height:9px;flex:0 0 9px;font-size:7px;white-space:nowrap}
#nav .nav-empty{opacity:.34;background:#272820;border-style:dashed;box-shadow:inset 0 0 0 1px #1c201b}
@media(max-width:360px){#nav{grid-template-rows:repeat(2,50px);min-height:116px;padding-left:5px;padding-right:5px}#nav button{height:50px;min-height:50px}#nav .nav-emblem{width:25px;height:25px;flex-basis:25px}}

/* v0.15: village 30-stage goals and playable rift runner */
.village-goals{margin:10px 0 14px;padding:10px;background:#263b31;color:#f4e4b7;border:4px solid #ae8d50;box-shadow:inset 0 0 0 2px #47634f,3px 3px #665139}.village-goal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.village-goal-head small{font-size:6px;color:#b9c9b4}.village-goal-head h3{margin:4px 0 0;font-size:14px;color:#ffe077}.village-goal-head>b{padding:5px 7px;background:#17271f;border:2px solid #8b754b;color:#b8cca9;font-size:7px}.stage-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}.stage-node{aspect-ratio:1;display:grid;place-items:center;background:#4b4a3d;border:2px solid #756a52;color:#c9c0a8;font-size:6px}.stage-node.ready{background:#9c6b2f;border-color:#f5ca63;color:#fff3be;animation:stageReady 1.2s steps(2) infinite}.stage-node.claimed{background:#4d854e;border-color:#9ed071;color:#fff7c4}.stage-node.boss{color:#ffd75d;border-color:#d7aa44;box-shadow:inset 0 0 0 1px #4a291e}.village-next{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding:8px;background:#172a23;border-left:4px solid #d9a64b}.village-next b{font-size:8px;color:#ffda75}.village-next span,.village-next small{font-size:6px;line-height:1.5;color:#c1ccb9}.village-next.complete{border-color:#73ca78;background:#183a25}.village-benefit{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;margin:7px 0;padding:8px;background:#3d3b34;border:2px dashed #8d8067;filter:grayscale(.7)}.village-benefit span{grid-row:1/3;padding:5px;background:#252620;color:#c5bca6;font-size:6px}.village-benefit b{font-size:8px}.village-benefit small{font-size:6px;color:#c8bfa9}.village-benefit.unlocked{background:#365e38;border-style:solid;border-color:#d8b24f;filter:none}.village-benefit.unlocked span{background:#e1b94f;color:#352b1d}.village-claim{min-height:43px;margin-top:7px;font-size:9px}.village-goals>p{margin:8px 0 0;font-size:6px;line-height:1.55;color:#b9c5b5}@keyframes stageReady{50%{filter:brightness(1.4)}}
.dungeon-runner{margin:7px 0;padding:7px;background:#101520;border:4px solid #9f7f4b;box-shadow:inset 0 0 0 2px #4d4167,4px 4px #57432e;color:#f5e4b6}.dungeon-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:6px}.dungeon-hud span{display:flex;flex-direction:column;gap:3px;padding:7px;text-align:center;background:#252b3e;border:2px solid #615b78;font-size:6px;color:#a8c9c2}.dungeon-hud b{font-size:10px;color:#ffe17d}.dungeon-runner canvas{display:block;width:100%;height:auto;max-height:53vh;background:#17132e;border:3px solid #50a990;image-rendering:pixelated;touch-action:none}.dungeon-guide{text-align:center;padding:8px 4px 3px;color:#7fe0be;font-size:7px}.dungeon-exit{display:block;width:100%;color:#c5b9b0}.dungeon-result{display:flex;flex-direction:column;gap:5px;margin:8px 0;padding:10px;color:#f8e8b8;background:#263b32;border:3px solid #d0a44b}.dungeon-result span,.dungeon-result small{font-size:7px}.dungeon-result b{font-size:13px;color:#ffe06c}.dungeon-lobby-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:8px 0}.dungeon-lobby-stats span{display:flex;flex-direction:column;gap:4px;padding:7px;text-align:center;background:#ded0ae;border:2px solid #856e4b;font-size:6px}.dungeon-lobby-stats b{font-size:9px;color:#3b5e47}.dungeon-entry button:not(:disabled){background:#3f8152;border-color:#e1b553;color:#fff2bf;box-shadow:inset 0 0 0 1px #214b31}
@media(max-width:370px){.stage-grid{gap:2px}.stage-node{border-width:1px}.dungeon-runner canvas{max-height:48vh}}

/* v0.15.2: readable village progression, expansion art, and settings */
.city-expansion-visual{position:relative;aspect-ratio:941/1672;margin:9px 0 10px;overflow:hidden;background:#172822;border:5px solid #8e7147;box-shadow:inset 0 0 0 2px #e0bc68,4px 4px #5c4932}.city-expansion-visual>img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.city-expansion-visual>div{position:absolute;left:8px;right:8px;bottom:8px;display:grid;grid-template-columns:auto 1fr;gap:3px 9px;padding:9px;background:#14201ee8;color:#f7e7b5;border-left:5px solid #72ba65}.city-expansion-visual span{font-size:6px;color:#afcaa9}.city-expansion-visual b{grid-row:1/3;grid-column:1;font-size:16px;color:#ffe077}.city-expansion-visual small{font-size:6px;line-height:1.5}.expansion-route{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:10px}.route-stop{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:5px;padding:6px;background:#48483f;border:2px solid #746d5c;color:#c3baa7}.route-stop>i{display:grid;place-items:center;width:21px;height:21px;background:#292b26;color:#bcb4a5;font-size:7px;font-style:normal}.route-stop span{display:flex;min-width:0;flex-direction:column;gap:2px}.route-stop b{font-size:7px}.route-stop small{font-size:5px;white-space:nowrap}.route-stop> :last-child{font-size:9px}.route-stop.current{background:#456e46;border-color:#d4aa4f;color:#fff0b9}.route-stop.cleared{background:#376442;border-color:#8dcc72;color:#efffc8}.route-stop.current>i,.route-stop.cleared>i{background:#dfb94f;color:#33291c}
.village-goal-head>button{padding:5px 7px;background:#17271f;border:2px solid #8b754b;color:#f1d77c;font-size:7px}.village-how{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:8px}.village-how>span{display:flex;min-width:0;flex-direction:column;gap:3px;padding:6px;background:#172a23;border:2px solid #54705b}.village-how i{display:grid;place-items:center;width:17px;height:17px;background:#d8ae50;color:#342a1e;font-size:7px;font-style:normal}.village-how b{font-size:6px;color:#f5dc93}.village-how small{font-size:5px;line-height:1.35;color:#aebdaf}.stage-node{padding:0;font-family:Game;cursor:pointer}.stage-detail{display:grid;gap:5px;margin:9px 0}.stage-detail>div{display:flex;justify-content:space-between;padding:9px;background:#e1d2b0;border:3px solid #927953;color:#4e4435}.stage-detail b,.stage-detail span{font-size:8px}.stage-detail .done{background:#d6e7b1;border-color:#56814e}.village-guide-modal{display:grid;gap:6px}.village-guide-modal>div{display:grid;grid-template-columns:30px 1fr;gap:3px 8px;padding:9px;background:#e2d2af;border:3px solid #8d754f}.village-guide-modal i{grid-row:1/3;display:grid;place-items:center;background:#3e7448;color:#ffe394;font-size:12px;font-style:normal}.village-guide-modal b{font-size:9px}.village-guide-modal p{margin:0;font-size:7px;line-height:1.5;color:#695e4d}
.settings-hero{margin:2px 0 12px;padding:14px;color:#f7e7b6;background:linear-gradient(135deg,#1c3028,#315e43);border:4px solid #a8884c;box-shadow:inset 0 0 0 2px #55775d,3px 3px #604c33}.settings-hero span{font-size:7px;color:#d8b85e}.settings-hero h2{margin:8px 0;font-size:17px}.settings-hero p{font-size:7px;line-height:1.6;color:#c1cebd}.settings-list{display:grid;gap:6px}.settings-list>a,.settings-list>button{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:8px;width:100%;min-height:62px;padding:7px;text-align:left;text-decoration:none;background:#e5d5b2;border:3px solid #88714b;color:#433a2d;font-family:Game}.settings-list>*>span{display:grid;place-items:center;width:46px;height:46px;padding:5px;background:#26382f;border:2px solid #a68950}.settings-list .pixel-icon{width:100%;height:100%}.settings-list div{display:flex;flex-direction:column;gap:4px}.settings-list b{font-size:9px}.settings-list small{font-size:6px;color:#716654}.settings-list em{font-size:8px;color:#46744b;font-style:normal}.settings-info{display:flex;flex-direction:column;gap:5px;margin:12px 0;padding:10px;background:#2a312c;color:#e6d8b1;border-left:5px solid #c99b45}.settings-info b{font-size:9px}.settings-info span,.settings-info small{font-size:6px;line-height:1.5;color:#bfc3b7}
@media(max-width:370px){.expansion-route{grid-template-columns:repeat(2,1fr)}}
