/* Prevent accidental smart zoom, while retaining deliberate pinch zoom. */
html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation;overscroll-behavior:none}
#world,#world canvas{touch-action:pinch-zoom}
#joystick,#actionButton,.workshop-preview{touch-action:none}
button,a,label,summary{touch-action:manipulation}
.shade,.sheet,.talk,.grid-tools{touch-action:pan-y pinch-zoom}
input,textarea,select,.workshop input,.workshop select,#gridBuilder input,#gridBuilder select{font-size:16px!important;line-height:1.4;touch-action:manipulation}
input,textarea{user-select:text;-webkit-user-select:text}
.voice-review{padding:12px;border:2px solid #d9e6c5;border-radius:16px;background:#fff9e8;margin-top:12px}.voice-review input{width:100%;min-width:0;padding:12px;border:2px solid #becfab;border-radius:12px;background:#fffef6;color:#254f44}.voice-review p{margin:0 0 9px}
#gridBuilder.voice-reviewing{background:#204d4380;pointer-events:auto}#gridBuilder.voice-reviewing>*:not(#voiceReview){visibility:hidden}#gridBuilder>#voiceReview{position:fixed;left:calc(var(--visible-left,0px) + 12px);top:calc(var(--visible-top,0px) + 12px);width:calc(var(--visible-width,100%) - 24px);max-width:500px;max-height:calc(var(--visible-height,100%) - 24px);overflow:auto;pointer-events:auto;z-index:12;margin:0}#gridBuilder>#voiceReview button{display:block;width:100%;margin-top:8px}
.defense-list{display:grid;gap:8px;margin-top:14px}.defense-list button{padding:14px;text-align:left;min-height:56px;border-radius:16px;background:#e7edcf}.defense-list small{display:block;font-size:13px;font-weight:400;margin-top:5px}.enemy-chip.shell{background:#d9e3d3}.enemy-chip.thrower{background:#ffe3bb}.enemy-chip.ramBoss{background:#f2d7d0}.enemy-chip.cloudBoss,.enemy-chip.guard{background:#d6e6f4}.reward-choices small{line-height:1.5}.night-tip{line-height:1.6}
.fire-health{width:145px}.hero-health{margin-top:7px;padding-top:6px;border-top:1px solid #d1dbc1}.hero-health .health-track>i{background:#67b99d}.hero-health.critical .health-track>i{background:#df9b66}.hero-health.down .health-track{background:#c2ccd0}.hero-health.hurt{background:#ffe4c4;border-radius:5px}.hero-status{display:block;margin-top:5px;font-size:10px;color:#775730}.hero-status[hidden]{display:none}.health-row{gap:6px;white-space:nowrap}.hero-down .action{background:#8aa2a1;color:#fff9e8;opacity:1!important}.hero-down #buildButton{opacity:.5}.hero-down .talk{display:none}
@media(max-width:600px){.fire-health{width:124px;font-size:10px}.hero-status{font-size:9px}}
@media(orientation:landscape) and (max-height:520px){.fire-health{width:130px;font-size:10px}.hero-health{margin-top:5px;padding-top:4px}.hero-status{font-size:9px}}
/* The keyboard and pinch zoom change the visible viewport independently of layout. */
.shade{inset:auto;left:var(--visible-left,0px);top:var(--visible-top,0px);width:var(--visible-width,100%);height:var(--visible-height,100%);padding:12px;overflow:hidden}
.shade .sheet{max-width:100%;max-height:100%;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding-top:76px;-webkit-overflow-scrolling:touch}
.sheet-head{position:sticky;top:-1px;z-index:5;background:var(--cream);padding:4px 0 8px;min-height:52px}
.sheet-head h2{overflow-wrap:anywhere;font-size:clamp(16px,4vw,24px)}
.sheet-head .round{flex-shrink:0}
.sheet .text-form{flex-wrap:wrap}.sheet .text-form input{flex:1 1 140px}.sheet .text-form button{min-height:44px;flex:0 0 55px}
.viewport-narrow .sheet{padding:12px;border-radius:18px}.viewport-narrow .sheet-head h2{font-size:17px}.viewport-narrow .sheet-head .eyebrow{display:none}
.viewport-narrow .recipe-grid,.viewport-narrow .tool-menu{grid-template-columns:1fr}
.viewport-narrow .workshop{display:block}.viewport-narrow .workshop-stage{position:relative}.viewport-narrow .part-palette,.viewport-narrow .part-transforms{grid-template-columns:repeat(2,minmax(0,1fr))}
.viewport-narrow .workshop input,.viewport-narrow .workshop select{max-width:100%;min-width:0}
.viewport-short .sheet{padding:12px}.viewport-short .sheet-head{padding-top:0}
.viewport-short .sheet .eyebrow{display:none}.viewport-short .workshop{display:block}.viewport-short .workshop-stage{position:relative}
.viewport-short .workshop-preview{height:120px}.viewport-short .workshop-stage p{display:none}
