/* Phone-specific page composition; transport timing remains in engine.js. */
:root{--phone-nav-height:calc(62px + env(safe-area-inset-bottom))}
html,body{min-height:100%;overscroll-behavior:none}body{overflow-x:hidden}.app{padding:0 12px;max-width:none}header{height:56px;padding-top:env(safe-area-inset-top);position:relative;z-index:2}header .brand{font-size:17px;letter-spacing:0;gap:6px}header .brand-icon{width:32px;height:34px}header nav{display:none}#main{padding-bottom:calc(var(--phone-nav-height) + 8px)}
.phone-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;gap:6px;padding:6px 12px calc(6px + env(safe-area-inset-bottom));background:#153d2cf5;border-top:1px solid #ecd29755}.phone-nav[hidden]{display:none}.phone-nav button{flex:1;min-height:48px;background:#f4de9b15;color:#fff0c9;border-radius:12px;font-weight:bold;font-size:14px}
.phone-home-hero{display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:8px;min-height:128px}.phone-home-hero h1{font-size:25px;margin:6px 0 12px;color:#ffe4a2;line-height:1.3}.phone-eyebrow{font-size:13px;color:#fff2d1}.phone-home-hero .actions{margin:0;gap:6px}.phone-home-hero .actions button{min-height:48px;padding:7px 13px;font-size:15px}.phone-home-hero .courier-button{position:static;width:110px;height:125px;min-width:0}.phone-home-hero .courier-art{position:static;width:110px;height:125px;object-fit:contain;transform:none}
.phone-journey .section-top{display:flex;gap:5px;justify-content:space-between;align-items:center;margin:6px 0;padding:0}.phone-journey .section-top h2{font-size:16px;margin:0}.phone-journey .section-top span{font-size:13px}.phone-journey .chapters{justify-content:flex-start;overflow:auto;flex-wrap:nowrap;gap:6px;padding:0 0 8px;margin:0;background:transparent;border:0;scrollbar-width:none}.phone-journey .chapter{flex-shrink:0;white-space:nowrap;font-size:13px;min-height:44px;padding:5px 10px}.phone-stations{display:grid;gap:7px}.phone-stations .station-stop{padding:0;animation:none}.phone-stations .station-stop:before,.phone-stations .station-stop:after{display:none}.phone-stations .level{position:relative;display:flex;width:100%;align-items:center;gap:10px;padding:4px 10px;min-height:66px;border-radius:14px;text-align:left;overflow:hidden}.phone-stations .level .city-art{width:49px;height:49px;flex:0 0 49px;margin:0;border-radius:12px}.phone-stations .level .num{position:static;order:0;font-size:13px;width:24px;height:auto;min-height:0;padding:0;color:#4b623e;background:none;box-shadow:none}.phone-stations .station-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;min-width:0;padding:0;background:none}.phone-stations .level h3{font-size:17px;margin:0}.phone-stations .level .stars{font-size:13px;height:auto;line-height:1.4;margin:0;position:static}.phone-stations .level.current:after{display:none}.phone-save{margin:12px 0}.phone-save>summary{min-height:44px;padding:10px 12px;background:#123926dd;border:1px solid #eed79c55;border-radius:10px;font-size:14px}.phone-save .save-transfer{margin:8px 0;padding:10px}.phone-save p{font-size:13px}
.phone-journey .chapters{display:flex}.phone-journey{background:#163d2ee8;padding:8px;border:1px solid #dcc28666;border-radius:16px}.phone-stations .level{min-height:56px}.phone-stations .level .city-art{width:41px;height:41px;flex-basis:41px}.phone-home-hero{min-height:114px}.phone-home-hero .courier-button,.phone-home-hero .courier-art{height:108px}.phone-home-hero h1{font-size:23px}
.phone-deck{display:flex;gap:12px;overflow-x:auto;max-height:none;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative;align-items:stretch;overscroll-behavior-x:contain;padding:2px 0 6px}.phone-deck>*{flex:0 0 100%;width:100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.phone-deck-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0;font-size:13px}.phone-deck-controls button{min-width:48px;min-height:44px;padding:4px 12px;font-size:16px}.phone-deck-controls span{color:#405938}
.phone-finale-deck.phone-deck{height:calc(100dvh - 180px);min-height:300px}.phone-finale-deck.phone-deck>*{height:100%;overflow-y:auto}
body[data-phone-screen=game] .app{padding:0 8px}body[data-phone-screen=game] header{display:none}body[data-phone-screen=game] #main{padding-bottom:0;height:100dvh;display:flex;flex-direction:column;gap:8px;padding-top:max(4px,env(safe-area-inset-top));padding-bottom:max(4px,env(safe-area-inset-bottom))}.game-heading{margin:0;padding:4px 0;display:flex;flex-wrap:nowrap;gap:6px;min-height:52px}.game-heading h1{font-size:14px;line-height:1.4;margin:0}.game-heading h1 .game-city{display:block;font-size:17px}.game-tools{width:auto;gap:5px;flex-shrink:0}.game-tools button,.game-tools .back-home{font-size:13px;padding:5px 8px;min-height:48px}.stats{padding:6px 10px;gap:14px;min-height:54px}.stat{font-size:13px}.stat strong{font-size:18px;display:inline-block;margin:0 0 0 5px}.stats .progress-track{min-width:20px}.stats+.warehouse{margin:0}.warehouse,.two-lanes.warehouse{flex:1;min-height:0;padding:8px 5px 30px;display:flex;flex-direction:column;animation:none}#lanes{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:6px}.warehouse .lane,.warehouse.two-lanes .lane{height:auto;flex:1;max-height:280px;min-height:0;margin:0;--parcel-size:64px}.warehouse .lane .belt{top:33%;height:44px;left:0;right:0}.warehouse .lane .basket{top:17%;bottom:12px;height:auto;width:24%;border-radius:10px}.warehouse .lane .basket .basket-body{top:auto;bottom:-6px;height:82px;left:-8%;right:-8%;width:auto}.warehouse .basket .basket-body img{width:100%;height:100%;object-fit:fill}.warehouse .basket .basket-body>span{width:40%;height:36%;left:30%;top:43%;padding:0}.warehouse .basket-body .item-icon{width:100%;height:100%}.warehouse .lane .parcel{top:calc(33% - 14px);width:64px;height:64px;min-width:48px;min-height:48px}.warehouse .lane .parcel .box{width:64px;height:64px}.warehouse .parcel .label .item-icon{width:85%;height:85%}.warehouse .lane-name{top:0;font-size:13px;padding:2px 8px}.warehouse .game-bottom{position:absolute;bottom:0;left:8px;right:8px;padding:0;margin:0;height:30px;min-height:0}.feedback{font-size:13px;padding:3px 10px;min-height:24px;line-height:1.3}.warehouse .overlay{gap:8px;padding:10px;overflow-y:auto}.overlay h2{font-size:22px}.overlay .eyebrow{font-size:13px;letter-spacing:1px}.overlay .actions{margin:0;gap:8px}.overlay button{min-height:44px}.overlay .count{font-size:74px}.tutorial-art{max-width:100%}.tutorial-pair{max-width:100%}
dialog{width:calc(100% - 20px);max-width:700px;max-height:calc(100dvh - 20px);margin:auto;padding:16px;overflow:auto;overscroll-behavior:contain}dialog h2{font-size:23px;margin:4px 0 10px}dialog p{font-size:15px;line-height:1.65}.modal-actions{margin-top:10px;gap:7px}.modal-actions button{min-height:48px;padding:7px 10px;font-size:14px;flex:1}.collection-summary{margin:4px 0 8px;padding:7px 10px!important}.collection.phone-deck article{padding:10px;margin:0;border:1px solid #cdbb84;border-radius:14px;animation:none}.collection h3{font-size:19px;line-height:1.4}.collection p{font-size:15px;margin:10px 0}.phone-city-picture{display:block;width:150px;height:150px;min-height:44px;padding:0;border-radius:15px;overflow:hidden;background:none;margin:12px auto}.phone-city-picture .city-art{display:block;width:150px;height:150px}.phone-result-deck .phone-score{text-align:center;padding:8px}.phone-score .result-stars{font-size:36px;margin:5px 0}.phone-score .result-title{font-size:25px}.phone-score .result-metrics{margin:10px auto}.phone-score .result-metrics strong{font-size:36px}.phone-score .score-details{margin:6px 0}.phone-score .chapter-seal{font-size:15px;padding:8px;margin:8px 0}.phone-result-deck .result-knowledge{margin:0;padding:10px;animation:none;display:block}.phone-result-deck .knowledge-panda{display:none}.phone-result-deck .knowledge-bubble{padding:10px}.phone-result-deck .knowledge-bubble:before{display:none}.phone-result-deck .knowledge-bubble .knowledge-zoom{display:block;float:none;width:130px;height:130px;margin:8px auto}.phone-result-deck .knowledge-zoom .city-art{width:130px;height:130px;margin:0}.phone-result-deck p{margin:7px 0;font-size:15px}.phone-result-deck .new-card-tag{font-size:13px;right:4px;top:4px}.voice-button{min-height:44px;font-size:14px}.pause-panda{max-height:140px;width:auto}.pause-panda.is-small{max-height:85px}.city-viewer{padding:58px 10px 10px}.city-viewer-close{top:8px;right:10px;min-height:44px}.city-viewer>.city-art{width:min(80vw,65dvh);height:min(80vw,65dvh)}
.journey-finale{padding:0}.phone-finale-deck>.finale-hero{display:flex;flex-direction:column;justify-content:center;padding:12px;margin:0;min-height:0}.phone-finale-deck .hero-panda{position:static;max-height:150px;width:140px;object-fit:contain}.phone-finale-deck .hero-copy{padding:0;text-align:center}.phone-finale-deck .hero-copy h1{font-size:28px;margin:8px 0}.phone-finale-deck .hero-copy p{font-size:14px;margin:8px 0}.phone-finale-deck .hero-stats{gap:10px;justify-content:center;margin:8px 0}.phone-finale-deck .hero-stats b{font-size:23px}.phone-finale-deck .hero-home{position:static;margin:8px auto 0;min-height:44px}.phone-finale-deck>.finale-layout{display:block;margin:0}.phone-finale-deck .journey-map-panel{padding:10px}.phone-finale-deck .map-head{flex-wrap:wrap;gap:6px;padding:0}.phone-finale-deck .map-head h2{font-size:18px}.phone-finale-deck .map-legend{display:none}.phone-finale-deck .journey-map-frame{width:100%;min-width:0}.phone-finale-deck .journey-map{width:100%;height:auto}.phone-finale-deck .map-swipe{display:none}.phone-finale-deck .finale-route{margin-top:6px;font-size:13px}.phone-finale-deck .route-places{overflow:auto;flex-wrap:nowrap}.phone-finale-deck .finale-badges{display:flex;overflow:auto;gap:6px;margin:8px 0}.phone-finale-deck .finale-badge{flex:0 0 150px;padding:7px;min-height:70px;display:flex;gap:6px}.phone-finale-deck .badge-medal{width:36px;height:36px}.phone-finale-deck .badge-text strong{font-size:14px}.phone-finale-deck .badge-meta,.phone-finale-deck .badge-stars,.phone-finale-deck .badge-seal{display:none}.phone-finale-deck>.finale-letter{display:block;margin:0;padding:0}.phone-finale-deck .letter-card{padding:15px}.phone-finale-deck .letter-card p{font-size:15px;line-height:1.65}.phone-finale-deck .letter-postmark,.phone-finale-deck .letter-stamp{display:none}.phone-finale-deck .letter-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.phone-finale-deck .letter-actions button{min-height:44px;flex:1;padding:6px 8px;font-size:14px}.journey-finale>.phone-deck-controls span{color:#fff0c9}.phone-map-viewer{width:calc(100% - 12px);max-width:1100px;padding:10px}.phone-map-viewer>button{min-height:44px;position:sticky;top:0;z-index:5}.phone-map-viewer p{font-size:13px;margin:8px 0}.phone-map-viewer .journey-map-frame{width:900px;min-width:900px}.phone-map-viewer .journey-map-scroll{max-height:calc(100dvh - 120px);overflow:auto}
.warehouse .basket .basket-body>span{left:50%;top:60%;width:44%;height:27%;transform:translate(-50%,-50%)}.warehouse .basket .basket-body>span .destination-icon{position:static;width:auto;height:auto;font-size:14px;line-height:1.1;overflow:visible;color:#175239;background:none;padding:0;transform:none}.warehouse .feedback:before{width:18px;height:18px;background-size:40px auto;background-position:-11px -2px}.warehouse .stats .stat strong{white-space:nowrap}
@media(orientation:landscape) and (max-height:500px){
 :root{--phone-nav-height:0px}.app{padding:0 12px 0 80px}header{height:44px;padding:0}header .brand{font-size:15px}header .brand-icon{width:26px;height:28px}#main{padding-bottom:6px}.phone-nav{top:48px;right:auto;width:68px;bottom:0;flex-direction:column;border-top:0;border-right:1px solid #ecd29755;padding:8px 4px}.phone-nav button{flex:0 0 54px;font-size:13px;padding:4px}body[data-phone-screen=home] #main{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(0,1.4fr);gap:8px 14px}.phone-home-hero{display:flex;flex-direction:column-reverse;justify-content:center;gap:2px;min-height:0}.phone-home-hero .courier-button,.phone-home-hero .courier-art{width:80px;height:100px}.phone-home-hero h1{font-size:21px;margin:4px 0 8px}.phone-home-hero .actions{flex-wrap:wrap}.phone-home-hero .actions button{min-height:44px;font-size:14px}.phone-eyebrow{font-size:13px}.phone-journey .section-top{margin:0 0 5px}.phone-journey .chapters{padding-bottom:6px}.phone-journey .chapter{padding:4px 8px}.phone-stations{grid-template-columns:1fr 1fr;gap:6px}.phone-stations .level{min-height:55px;padding:4px;gap:4px}.phone-stations .level .city-art{width:35px;height:35px;flex-basis:35px}.phone-stations .level .num{display:none}.phone-stations .station-caption{display:block}.phone-stations .level h3{font-size:15px}.phone-stations .station-stop:last-child{grid-column:1/-1}.phone-stations .station-stop:last-child .station-caption{display:flex}.phone-save{grid-column:1/-1;margin:0}.phone-save>summary{min-height:44px;padding:9px;font-size:13px}
 body[data-phone-screen=game] .app{padding:0 max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left))}body[data-phone-screen=game] #main{position:relative;display:grid;grid-template-rows:52px 1fr;gap:4px}.game-heading{grid-row:1;grid-column:1;margin:0;padding:0;justify-content:space-between}.game-heading h1{font-size:13px;max-width:100px}.game-heading h1 .game-city{display:inline;font-size:16px}.game-tools{gap:5px}.game-tools button,.game-tools .back-home{min-height:48px;padding:4px 9px;font-size:13px}.stats{position:absolute;top:5px;left:110px;right:230px;height:44px;min-height:44px;padding:3px 7px;gap:8px;justify-content:center}.stats .stat{font-size:13px}.stats .stat strong{font-size:15px;margin-left:4px}.stats .progress-track{display:none}.warehouse,.two-lanes.warehouse{grid-row:2;grid-column:1;margin:0;padding:4px 8px 24px;min-height:0}.warehouse #lanes{gap:4px}.warehouse .lane,.warehouse.two-lanes .lane{max-height:none}.warehouse .lane .belt{top:20%;height:37px;border-width:4px}.warehouse .lane .basket{top:2px;bottom:4px;width:24%;height:auto}.warehouse .lane .basket .basket-body{height:58px;top:auto;bottom:-7px;left:5%;right:5%}.warehouse .basket .basket-body>span{top:40%;height:40%;width:36%;left:32%}.warehouse .lane .parcel{width:56px;height:56px;top:calc(20% - 12px)}.warehouse .lane .parcel .box{width:56px;height:56px}.warehouse .lane-name{font-size:13px;padding:2px 5px;left:0;top:auto;bottom:3px;z-index:4}.warehouse .game-bottom{height:23px}.warehouse .feedback{font-size:13px;padding:1px 8px;min-height:21px}.warehouse .overlay{display:grid;grid-template-columns:1fr 185px;grid-template-rows:auto auto 1fr;align-content:center;justify-items:center;align-items:center;gap:4px 12px;padding:8px 16px}.overlay>.eyebrow{grid-column:1;grid-row:1;font-size:13px}.overlay>h2{grid-column:1;grid-row:2;font-size:19px;margin:0}.overlay>.tutorial-art,.overlay>.tutorial-pair{grid-column:1;grid-row:3;width:280px;max-width:100%;height:125px;margin:0}.overlay>.tutorial-pair{height:135px}.overlay>.actions{grid-column:2;grid-row:1/3;flex-direction:column;gap:8px;width:100%}.overlay>.actions button{width:100%;min-height:44px;padding:5px 8px}.overlay>.rule-detail{grid-column:2;grid-row:3;align-self:start;min-height:44px}.overlay>.count{grid-column:1/-1;grid-row:2/4;font-size:80px}.overlay>.practice-dots{grid-column:2;grid-row:1}.overlay>#practiceNext{grid-column:2;grid-row:2;min-height:44px}.overlay>#practiceHome{grid-column:2;grid-row:3;min-height:44px;align-self:start}
 dialog{padding:12px 16px;width:calc(100% - 20px);max-width:760px;max-height:calc(100dvh - 12px)}dialog h2{font-size:21px;margin:2px 0 8px}dialog p{font-size:14px;line-height:1.5}.pause-panda{float:left;height:100px;width:100px;object-fit:contain;margin:0 12px 4px 0}.pause-panda.is-small{max-height:80px}.modal-actions{margin-top:7px}.modal-actions button{min-height:44px}.collection-summary{padding:5px 10px!important;margin:0 0 5px}.collection.phone-deck article{display:grid;grid-template-columns:140px 1fr;grid-template-rows:auto 1fr auto;gap:4px 12px;padding:8px}.collection h3{grid-column:2;grid-row:1;font-size:17px}.phone-city-picture{grid-column:1;grid-row:1/4;width:135px;height:135px;margin:0;align-self:center}.phone-city-picture .city-art{width:135px;height:135px}.collection p{grid-column:2;grid-row:2;margin:0;font-size:14px;line-height:1.5}.collection .voice-button{grid-column:2;grid-row:3;justify-self:start;margin:0;min-height:44px}.phone-deck-controls{padding:2px 0}.phone-deck-controls button{min-height:44px}.phone-score{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;align-items:center;text-align:center;padding:4px!important}.phone-score>.eyebrow{grid-column:1/-1;font-size:13px;letter-spacing:0}.phone-score .result-title{font-size:23px;grid-column:1;grid-row:2;margin:0}.phone-score .result-stars{font-size:30px;grid-column:1;grid-row:3;margin:0}.phone-score .result-metrics{grid-column:2;grid-row:2/4;margin:0;width:100%}.phone-score .result-metrics div{padding:5px}.phone-score .result-metrics strong{font-size:26px;margin:0}.phone-score .score-details{grid-column:1;grid-row:4;margin:0}.phone-score .score-details summary{min-height:44px;padding:8px}.phone-score .chapter-seal{grid-column:2;grid-row:4;margin:0;padding:5px;font-size:14px}.phone-result-deck .result-knowledge{padding:3px}.phone-result-deck .knowledge-bubble{display:grid;grid-template-columns:120px 1fr;gap:4px 12px;padding:8px}.phone-result-deck .knowledge-bubble>.eyebrow{grid-column:2;grid-row:1;font-size:13px;letter-spacing:0}.phone-result-deck .knowledge-bubble>.knowledge-zoom{grid-column:1;grid-row:1/4;width:115px;height:115px;margin:0;align-self:center}.phone-result-deck .knowledge-zoom .city-art{width:115px;height:115px}.phone-result-deck .knowledge-bubble>p{grid-column:2;grid-row:2;margin:0;font-size:14px;line-height:1.45}.phone-result-deck .voice-button{grid-column:2;grid-row:3;justify-self:start;margin:0;min-height:44px}.phone-result-deck .new-card-tag{display:none}.city-viewer>.city-art{width:calc(100dvh - 90px);height:calc(100dvh - 90px)}
 .phone-finale-deck>.finale-hero{display:grid;grid-template-columns:110px 1fr;gap:8px;padding:8px}.phone-finale-deck .hero-panda{width:105px;height:145px;grid-row:1/3}.phone-finale-deck .hero-copy h1{font-size:24px;margin:4px 0}.phone-finale-deck .hero-copy p{font-size:13px;margin:4px 0}.phone-finale-deck .hero-copy h1 span{display:inline}.phone-finale-deck .hero-kicker{font-size:13px}.phone-finale-deck .hero-stats{margin:4px 0}.phone-finale-deck .hero-stats b{font-size:20px}.phone-finale-deck .hero-stats span,.phone-finale-deck .hero-stats small{font-size:13px}.phone-finale-deck .hero-home{grid-column:2;margin:0;min-height:44px;padding:5px 10px}.phone-finale-deck>.finale-layout{display:grid;grid-template-columns:1fr 140px;gap:8px}.phone-finale-deck .journey-map-panel{padding:6px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.phone-finale-deck .map-head{grid-column:1/-1}.phone-finale-deck .map-head h2{font-size:16px;flex:1;margin:0}.phone-finale-deck .map-head button{min-height:44px;padding:5px 8px;font-size:13px}.phone-finale-deck .journey-map-scroll{height:125px;overflow:hidden}.phone-finale-deck .finale-route{font-size:13px;overflow:auto;max-height:125px;margin:0}.phone-finale-deck .finale-badges{display:flex;flex-direction:column;max-height:180px;overflow:auto;margin:0}.phone-finale-deck .finale-badge{flex:0 0 50px;min-height:50px;gap:5px;padding:4px}.phone-finale-deck .badge-text strong{font-size:13px}.phone-finale-deck .badge-medal{width:28px;height:28px}.phone-finale-deck .letter-card{padding:8px 12px}.phone-finale-deck .letter-card p{font-size:14px;line-height:1.5;margin:4px 0}.phone-finale-deck .letter-actions{gap:5px;margin:6px 0}.phone-finale-deck .letter-actions button{font-size:13px;padding:4px;min-height:44px}.keepsake-grid{max-width:330px;margin:0 auto;gap:3px}.keepsake-city .city-art{width:34px;height:34px}.keepsake-city{height:34px}.keepsake-kicker{font-size:13px;margin:4px 0}.keepsake-words{margin:4px 0;padding:6px}.keepsake-words img{display:none}.keepsake-words p{font-size:13px;margin:0}.keepsake-stats{margin:4px 0}.keepsake-stats b{font-size:20px}
 .warehouse .basket .basket-body>span{left:50%;top:60%;width:44%;height:30%}.warehouse .basket .basket-body>span .destination-icon{font-size:14px}
 .phone-nav{align-items:stretch}.phone-nav button{width:100%;min-width:44px}.phone-save{grid-column:1;grid-row:2;margin:0}.phone-journey{grid-column:2;grid-row:1/3}.phone-home-hero{min-height:0}.phone-home-hero .courier-button,.phone-home-hero .courier-art{height:80px}.phone-journey .chapter{min-width:44px}.phone-home-hero .actions{gap:5px}
 body.phone[data-phone-screen=game] .game-heading{height:52px;padding:0 5px;margin:0}body.phone[data-phone-screen=game] .game-heading h1{font-size:15px;line-height:1.5;margin:0;white-space:nowrap}body.phone[data-phone-screen=game] .game-city{display:inline;font-size:16px}body.phone[data-phone-screen=game] .stats{left:110px;right:174px;padding:3px 5px}body.phone[data-phone-screen=game] .game-tools button{min-width:48px;padding:4px 7px}body.phone[data-phone-screen=game] .stats .stat{white-space:nowrap;font-size:13px}body.phone[data-phone-screen=game] .stats .stat strong{font-size:16px}
 .phone-finale-deck.phone-deck{height:calc(100dvh - 102px);min-height:190px}.phone-finale-deck.phone-deck>*{height:100%;overflow-y:auto}
}
.phone-fullscreen,.phone-install-tip summary{min-height:44px;padding:10px;border-radius:10px;background:#f5ebd6;border:1px solid #bda575;font-size:14px}.phone-install-tip p{font-size:13px}
.app{margin-left:var(--phone-safe-left,0px);margin-right:var(--phone-safe-right,0px)}.phone-nav{left:var(--phone-safe-left,0px);right:var(--phone-safe-right,0px)}
@media(orientation:landscape) and (max-height:500px){
 .phone-nav{right:auto}body.phone[data-phone-screen=game] .app{padding:0 8px}body.phone[data-phone-screen=game] .game-tools button{width:48px;min-width:48px;max-width:48px;padding:4px 1px;letter-spacing:0}body.phone[data-phone-screen=game] .stats{left:102px;right:168px;gap:6px}
 .phone-finale-deck.phone-deck{height:calc(100dvh - 112px);min-height:180px}
}
@media(orientation:landscape) and (max-height:500px){body.phone[data-phone-screen=game] .game-tools button{white-space:nowrap}body.phone[data-phone-screen=game] .game-tools button:before{display:none}.phone-finale-deck.phone-deck{min-height:0}}
@media(orientation:portrait){.phone-finale-deck.phone-deck{height:calc(100dvh - 188px)}}
@media(orientation:landscape) and (max-height:500px){
 body.phone .warehouse .overlay:has(.tutorial-pair){grid-template-rows:24px 30px minmax(0,1fr);gap:3px 12px}
 body.phone .warehouse .overlay:has(.tutorial-pair) h2{font-size:18px;letter-spacing:1px;line-height:1.3}
 body.phone .warehouse .overlay>.tutorial-pair{height:128px;align-self:center;width:280px}
 body.phone .warehouse .tutorial-pair .demo-lane{height:64px}
 body.phone .warehouse .tutorial-pair .tutorial-art{height:142px;width:280px;transform:scale(.45);transform-origin:top center}
 #modal[data-phone-kind=keepsake] #modalContent{display:grid;grid-template-columns:190px minmax(0,1fr);gap:4px 12px}#modal[data-phone-kind=keepsake] h2{grid-column:1/-1;margin:0;font-size:20px}#modal[data-phone-kind=keepsake] .keepsake-kicker{display:none}#modal[data-phone-kind=keepsake] .keepsake-grid{grid-column:1;grid-row:2/5;margin:0;gap:2px}#modal[data-phone-kind=keepsake] .keepsake-city{height:30px}#modal[data-phone-kind=keepsake] .keepsake-city .city-art{height:30px;width:30px}#modal[data-phone-kind=keepsake] .keepsake-stats{grid-column:2;margin:0}#modal[data-phone-kind=keepsake] .keepsake-words{grid-column:2;padding:4px;margin:0}#modal[data-phone-kind=keepsake] .modal-actions{grid-column:1/-1;margin:0}
}
/* Phone instructions use readable, full-size symbols in their own compact drawing. */
.phone-demo{width:250px;max-width:100%;display:grid;gap:7px;justify-self:center}.phone-demo-lane{display:flex;align-items:center;justify-content:center;gap:16px;height:64px}.phone-demo-parcel{position:relative;width:62px;height:62px}.phone-demo-basket{position:relative;width:92px;height:62px}.phone-demo img{width:100%;height:100%;object-fit:fill}.phone-demo-parcel>span{position:absolute;left:27%;top:37%;width:46%;height:42%;display:grid;place-items:center}.phone-demo-basket>span{position:absolute;left:30%;top:56%;width:40%;height:25%;display:grid;place-items:center}.phone-demo .item-icon{height:100%;width:100%}.phone-demo .destination-icon{font-size:13px;line-height:1;position:static;width:auto;height:auto;padding:0;background:transparent;transform:none}.phone-demo-arrow{font-size:24px;color:#3d7448}
@media(orientation:landscape) and (max-height:500px){
 body.phone .warehouse .overlay{grid-template-rows:24px 30px minmax(0,1fr);gap:3px 12px}
 body.phone .warehouse .overlay>h2{font-size:18px;letter-spacing:1px;line-height:1.3}
 body.phone .warehouse .overlay>.phone-demo{grid-column:1;grid-row:3;align-self:center}
 body.phone .warehouse .overlay>.actions{grid-column:2;grid-row:1/-1;align-self:start;padding-top:4px}
 body.phone .warehouse .overlay>.rule-detail{grid-column:2;grid-row:3;align-self:end;margin:0;width:100%;min-height:44px}
}
