
/* Dedicated phone/tablet build. Target: iPhone 14 Pro and Kindle Fire HD 8. */
html,body{overscroll-behavior:none}
body{min-width:0}
.site-bar{min-height:56px;padding:7px 10px;grid-template-columns:1fr auto}
.mini-brand{display:none}.home-link strong{font-size:.82rem}.home-link small{font-size:.62rem}
.site-actions{gap:1px}.quiet-button{padding:8px;font-size:.72rem}.version-switch{text-decoration:none}
main{width:calc(100% - 16px);max-width:820px}
.view{padding:15px 0 34px}
.entrance-heading h1{font-size:clamp(2.6rem,12vw,4.4rem)}
.room-scene{height:min(55vh,470px);min-height:330px;border-radius:24px}
.mode-grid{grid-template-columns:1fr;gap:9px}.mode-card{min-height:76px;padding:11px 13px;border-radius:19px}
.mode-icon{width:45px;height:45px}.mode-copy small{font-size:.75rem}
.machine-shop-world-card{grid-template-columns:145px 1fr;padding:8px;gap:10px}.machine-shop-world-card img{height:110px}
.mission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mission-card{min-height:145px;padding:14px;border-radius:19px}.mission-card p{font-size:.76rem;max-width:68%}.mission-object{max-height:78px}
.section-heading{margin-bottom:14px}.section-heading h2{font-size:clamp(1.8rem,7vw,2.8rem)}.section-heading p{font-size:.88rem}
.view-toolbar{margin-bottom:8px}.back-button{padding:7px 9px}
.mission-brief{grid-template-columns:48px 1fr 68px;min-height:84px;padding:8px 10px;margin-bottom:8px;border-radius:18px}.brief-character{width:44px;height:68px}.brief-object{width:64px;height:60px}.mission-brief h2{font-size:1.25rem}.mission-brief p{font-size:.76rem}
.mission-special,.mission-success{margin-bottom:8px;padding:9px 11px;border-radius:15px}
.workbench-shell{border-radius:20px}.board-topline{height:32px;padding:0 10px}.machine-board{height:clamp(320px,48vh,470px)}
.parts-tray{min-height:94px;padding:7px;gap:3px;flex-wrap:wrap}.tray-label{width:100%;margin:0}.part-preview{width:23%;padding:0}.tray-gear-png{width:45px;height:45px}.part-preview small{font-size:.58rem}
.workbench-action,.turn-button{min-height:42px;padding:0 11px}.tray-spacer{display:none}.undo-button,.reset-button,.stop-button,.turn-button{flex:1;margin:5px 0 0}
.board-tip{bottom:8px;width:82%;padding:7px 9px}.board-tip strong{font-size:.75rem}.board-tip span{display:none}
.tinker-heading{gap:7px}.tinker-object-picker{display:grid;grid-template-columns:repeat(4,1fr);width:100%;gap:5px}.tinker-object-picker button{grid-template-columns:1fr;padding:4px;text-align:center;font-size:.66rem}.tinker-object-picker button img{width:38px;height:38px;margin:auto}
.tinker-savebar{padding:7px;gap:5px}.saved-machines-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.saved-machine-card{min-height:205px;padding:11px}
.machine-parts-guide{grid-template-columns:1fr}.settings-danger{grid-template-columns:1fr}
@media (max-width:430px) and (orientation:portrait){
 .room-scene{height:360px}.scene-character{height:48%;left:-2%}.scene-table{width:83%;left:15%}.speech-bubble{max-width:160px}
 .mission-grid{grid-template-columns:1fr}.mission-card{min-height:128px}
 .saved-machines-grid{grid-template-columns:1fr}
}
/* iPhone / Kindle landscape: allocate scarce vertical space to the mechanism. */
@media (orientation:landscape) and (max-height:600px){
 .site-bar{position:relative;min-height:42px;height:42px;padding:3px 9px}.home-link small,.action-label{display:none}.quiet-button{padding:5px 7px}
 main{width:calc(100% - 12px);max-width:none}.view{padding:5px 0 10px}
 .view-toolbar{display:none}.mission-brief{height:48px;min-height:48px;grid-template-columns:38px 1fr 54px;padding:3px 8px;margin-bottom:4px}.brief-character{height:42px;width:34px}.brief-object{height:40px;width:50px}.mission-brief h2{font-size:1rem;margin:1px 0}.mission-brief p{font-size:.66rem}.bench-label{font-size:.58rem}
 .mission-special,.mission-success{position:absolute;z-index:50;top:45px;right:8px;max-width:360px;margin:0;padding:6px 8px}
 .workbench-shell{display:grid;grid-template-columns:132px 1fr;grid-template-rows:27px minmax(0,1fr);height:calc(100vh - 99px);min-height:250px}
 .board-topline{grid-column:2;grid-row:1;height:27px}.machine-board{grid-column:2;grid-row:2;height:100%;min-height:0}
 .parts-tray{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;flex-wrap:nowrap;min-height:0;padding:5px;overflow:auto;border-top:0;border-right:1px solid rgba(91,72,65,.08)}
 .parts-tray .tray-label{width:auto}.parts-tray .part-preview{width:100%;min-height:48px;display:grid;grid-template-columns:40px 1fr;align-items:center}.parts-tray .tray-gear-png{width:38px;height:38px}.parts-tray .part-preview small{margin:0}
 .parts-tray .tray-spacer{display:block;flex:1}.workbench-action,.turn-button{width:100%;min-height:32px;margin:2px 0;font-size:.68rem;flex:none}.board-tip{bottom:4px;padding:4px 7px;width:68%}
 .tinker-heading{display:none}.tinker-savebar{position:absolute;z-index:30;right:10px;top:45px;width:min(360px,45vw);padding:4px}.tinker-savebar input{min-height:32px}.tinker-savebar button{min-height:32px}
 .tinker-workbench-shell{height:calc(100vh - 54px);margin-top:4px}
 .entrance-view{display:grid;grid-template-columns:1.3fr 1fr;gap:8px;align-items:start}.entrance-view>.eyebrow,.entrance-heading,.entrance-note{display:none}.room-scene{height:calc(100vh - 54px);min-height:290px}.machine-shop-world-card{display:none}.mode-grid{margin:0;grid-template-columns:1fr;gap:6px}.mode-card{min-height:64px;padding:7px 9px}.mode-copy small{font-size:.68rem}
 .missions-view .section-heading{margin:0 0 5px}.missions-view .section-heading p{display:none}.mission-grid{grid-template-columns:repeat(4,1fr);gap:5px}.mission-card{min-height:112px;padding:8px}.mission-card h3{font-size:.86rem;margin:6px 0 3px}.mission-card p{font-size:.62rem}.mission-object{max-height:58px}
}

/* Final landscape tuning after device render review. */
@media (orientation:landscape) and (max-height:600px){
  .entrance-view{height:calc(100vh - 42px);grid-template-columns:1.45fr .9fr;gap:6px;overflow:hidden}
  .room-scene{height:calc(100vh - 48px);min-height:0;border-radius:18px}
  .mode-grid{align-content:center;gap:5px}
  .mode-card{min-height:54px;padding:5px 8px;border-radius:15px}
  .mode-icon{width:38px;height:38px;border-radius:13px;font-size:1.2rem}
  .mode-copy strong{font-size:.92rem}.mode-copy small{font-size:.61rem;margin-top:1px}
  .mode-arrow{font-size:.9rem}
}

/* Kindle-class tablet landscape gets its own tablet composition. */
@media (orientation:landscape) and (min-width:900px) and (min-height:601px){
  .site-bar{min-height:54px;padding:6px 14px}
  main{width:calc(100% - 20px);max-width:none}
  .view{padding:10px 0 20px}
  .entrance-view{display:grid;grid-template-columns:1.4fr .8fr;gap:12px;align-items:start}
  .entrance-view>.eyebrow,.entrance-heading{grid-column:1/-1}
  .entrance-heading{margin-bottom:4px}.entrance-heading h1{font-size:3.2rem}.entrance-heading p{margin-top:4px}
  .room-scene{grid-column:1;grid-row:3/6;height:590px;min-height:0}
  .machine-shop-world-card{display:none}
  .mode-grid{grid-column:2;grid-row:3;grid-template-columns:1fr;margin:0;gap:8px}
  .mode-card{min-height:86px}
  .entrance-note{grid-column:2;grid-row:4;margin:3px 0}
  .mission-grid{grid-template-columns:repeat(4,1fr)}
  .workbench-shell,.tinker-workbench-shell{display:grid;grid-template-columns:150px 1fr;grid-template-rows:34px minmax(0,1fr);height:620px}
  .board-topline{grid-column:2;grid-row:1;height:34px}.machine-board{grid-column:2;grid-row:2;height:100%;min-height:0}
  .parts-tray{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;flex-wrap:nowrap;padding:8px;min-height:0;border-top:0;border-right:1px solid rgba(91,72,65,.08)}
  .parts-tray .part-preview{width:100%;display:grid;grid-template-columns:48px 1fr;align-items:center}.parts-tray .tray-spacer{display:block;flex:1}
  .workbench-action,.turn-button{width:100%;margin:3px 0;flex:none}
  .tinker-object-picker{grid-template-columns:repeat(4,1fr)}
}
@media (orientation:landscape) and (max-height:600px){
  .view.entrance-view.is-active{display:grid}
}
@media (orientation:landscape) and (min-width:900px) and (min-height:601px){
  .view.entrance-view.is-active{display:grid}
}
@media (orientation:landscape){
  .view.entrance-view:not(.is-active){display:none!important}
}
@media (orientation:landscape) and (max-height:600px){
  .workbench-shell{height:calc(100vh - 109px)}
  .tinker-workbench-shell{height:calc(100vh - 64px)}
}
@media (orientation:landscape) and (min-width:900px) and (min-height:601px){
  .workbench-shell,.tinker-workbench-shell{height:560px}
}
@media (max-width:430px) and (orientation:portrait){.room-scene{height:340px}}

/* Touch usability */
@media (pointer:coarse){
  button,.part-preview,.workbench-action,.turn-button{min-height:44px}
  .part-preview{touch-action:none}
  .machine-board{touch-action:none}
}
@media(max-width:430px) and (orientation:portrait){
  .parts-tray .part-preview{min-width:68px}
  .turn-button{min-width:82px;font-weight:900}
}
@media(orientation:landscape) and (max-height:500px){
  .first-run-coach{position:absolute;z-index:20;top:96px;left:145px;right:8px;margin:0;box-shadow:0 4px 12px rgba(70,60,45,.1)}
  .first-run-coach.is-hidden{display:none}
}

@media(max-width:560px){
 .tray-pulley-png{width:44px;height:44px}.tray-belt-png{width:44px;height:38px}
}
@media (orientation:landscape) and (max-height:600px){
 .parts-tray .tray-pulley-png{width:38px;height:38px}
 .parts-tray .tray-belt-png{width:38px;height:34px}
}

@media (orientation:landscape) and (max-height:600px){
  .engineering-mission .mission-learn{display:none}
  .engineering-mission .mission-spec{
    position:absolute;z-index:45;left:142px;right:8px;top:94px;
    margin:0;padding:5px 7px;border-radius:12px;
    pointer-events:none;
  }
  .engineering-mission .spec-heading{display:none}
  .engineering-mission .spec-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
  .engineering-mission .spec-item{min-height:22px;padding:2px 4px;font-size:.58rem;background:rgba(255,255,255,.88)}
  .engineering-mission .spec-mark{width:15px;height:15px;flex-basis:15px;font-size:.6rem}
  .engineering-mission .board-tip{bottom:3px}
}

@media(orientation:landscape) and (max-height:600px){
 .network-mission .multi-output-meter{position:absolute;z-index:44;right:8px;top:119px;width:min(330px,42vw);margin:0}
 .network-mission .output-meter-card{padding:3px 5px}
 .network-mission .output-meter-card strong{font-size:.62rem}
 .network-mission .output-meter-card small{font-size:.55rem}
}

@media(orientation:landscape) and (max-height:600px){
  .workbench-view.is-active .experiment-panel{
    position:absolute;z-index:43;left:8px;top:118px;width:min(330px,40vw);
    padding:5px 6px;margin:0;background:rgba(239,244,250,.96)
  }
  .workbench-view.is-active .experiment-head small{display:none}
  .workbench-view.is-active .experiment-head strong{font-size:.68rem}
  .workbench-view.is-active .experiment-head span{font-size:.5rem}
  .workbench-view.is-active .experiment-clear{padding:3px 5px;font-size:.55rem}
  .workbench-view.is-active .experiment-actions{margin-top:4px}
  .workbench-view.is-active .experiment-actions button{min-height:26px;font-size:.58rem}
  .workbench-view.is-active .experiment-actions button b{width:18px;height:18px}
  .workbench-view.is-active .experiment-result{margin-top:4px;padding:4px 5px;max-height:82px;overflow:auto}
  .workbench-view.is-active .experiment-result strong{font-size:.6rem}
  .workbench-view.is-active .experiment-result>span,.workbench-view.is-active .experiment-result li,.workbench-view.is-active .experiment-result small{font-size:.54rem}
  .tinker-view.is-active .experiment-panel{margin:4px 8px;padding:6px 8px}
  .tinker-view.is-active .experiment-head small{display:none}
  .tinker-view.is-active .experiment-result{max-height:70px;overflow:auto}
}

/* Pass 10: advanced clues are collapsed, so keep them available. */
.engineering-mission .mission-learn{display:block}
