
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px),
       (orientation:landscape) and (max-height:600px) and (pointer:coarse) {
  .game {
    --landscape-height:100vh;
    --landscape-unit:min(calc(100vw / 900),calc(var(--landscape-height) / 432));
    height:var(--landscape-height); min-height:0;
    padding:calc(8 * var(--landscape-unit)) calc(22 * var(--landscape-unit));
    padding-left:max(calc(22 * var(--landscape-unit)),env(safe-area-inset-left));
    padding-right:max(calc(22 * var(--landscape-unit)),env(safe-area-inset-right));
    display:flex; flex-direction:column;
  }
  .game-top {width:100%;max-width:none;height:calc(34 * var(--landscape-unit));flex:none;justify-content:space-between;gap:8px}
  .edition {display:block;font-size:calc(13 * var(--landscape-unit));letter-spacing:1px}
  .music {height:calc(34 * var(--landscape-unit));font-size:calc(13 * var(--landscape-unit));padding:2px 4px;gap:calc(6 * var(--landscape-unit));border-width:2px;box-shadow:2px 3px 0 var(--ink)}
  .music button,.music #audio-settings-toggle {width:calc(27 * var(--landscape-unit));height:calc(27 * var(--landscape-unit));border-width:2px;padding:2px;margin:0}
  .music button svg,.music #audio-settings-toggle svg {width:calc(21 * var(--landscape-unit));height:calc(21 * var(--landscape-unit))}
  .music input {width:calc(90 * var(--landscape-unit));height:22px}
  .music output {min-width:calc(32 * var(--landscape-unit));font-size:calc(13 * var(--landscape-unit))}
  .view {flex:1;min-height:0}
  .select-view {display:flex;flex-direction:column;justify-content:center}
  .title {flex:none;margin:calc(3 * var(--landscape-unit)) auto calc(9 * var(--landscape-unit));transform:none}
  .title p {font-size:calc(12 * var(--landscape-unit));line-height:1.15;margin:0 0 calc(4 * var(--landscape-unit));letter-spacing:.5px}
  .title h1 {font-size:calc(42 * var(--landscape-unit));line-height:1;letter-spacing:1px;filter:drop-shadow(1px 3px 0 #19333888)}
  .title h1 span {-webkit-text-stroke-width:calc(7 * var(--landscape-unit))}
  .title-spark {right:calc(-25 * var(--landscape-unit));top:0;font-size:calc(27 * var(--landscape-unit));-webkit-text-stroke-width:2px}
  .brand-mark {left:calc(100% + 38 * var(--landscape-unit));top:calc(7 * var(--landscape-unit));width:calc(64 * var(--landscape-unit));height:calc(52 * var(--landscape-unit));padding:4px 6px;border-width:2px;box-shadow:2px 3px 0 #193338}
  .brand-mark::after {inset:2px;border-width:1px}
  .selection-body {width:100%;max-width:calc(900 * var(--landscape-unit));margin:0 auto}
  .step-label {height:calc(18 * var(--landscape-unit));font-size:calc(17 * var(--landscape-unit));line-height:1;margin:0 0 calc(7 * var(--landscape-unit));gap:calc(7 * var(--landscape-unit))}
  .step-label b {width:calc(20 * var(--landscape-unit));height:calc(20 * var(--landscape-unit));font-size:calc(14 * var(--landscape-unit));border-width:2px;flex:none}
  .step-label small {display:block;font-size:calc(10 * var(--landscape-unit))}
  .step-label i {height:2px}
  .subject-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(9 * var(--landscape-unit)) calc(13 * var(--landscape-unit))}
  .subject-card {height:calc(64 * var(--landscape-unit));padding:calc(3 * var(--landscape-unit)) calc(14 * var(--landscape-unit)) calc(3 * var(--landscape-unit)) calc(5 * var(--landscape-unit));gap:calc(7 * var(--landscape-unit));border-width:3px;box-shadow:2px 4px 0 var(--ink);border-radius:12px 9px 13px 10px}
  .subject-card>img {width:calc(54 * var(--landscape-unit));height:calc(57 * var(--landscape-unit))}
  .subject-card strong {font-size:calc(26 * var(--landscape-unit));letter-spacing:1px;line-height:1}
  .subject-card small {font-size:calc(10 * var(--landscape-unit));margin-top:calc(4 * var(--landscape-unit));letter-spacing:0}
  .subject-card .tick {width:calc(18 * var(--landscape-unit));height:calc(18 * var(--landscape-unit));top:4px;right:5px;font-size:calc(12 * var(--landscape-unit));border-width:2px}
  .corners i {width:14px;height:14px;border-width:5px}
  .corners i::after {inset:-3px;border-width:1px}
  .sound-line {height:calc(32 * var(--landscape-unit));margin:calc(9 * var(--landscape-unit)) 0;gap:calc(13 * var(--landscape-unit));justify-content:center}
  .sound-title {font-size:calc(16 * var(--landscape-unit))}
  .sound-options {gap:calc(9 * var(--landscape-unit));flex:none}
  .sound-options button {min-width:calc(86 * var(--landscape-unit));height:calc(30 * var(--landscape-unit));padding:2px calc(7 * var(--landscape-unit));font-size:calc(16 * var(--landscape-unit));gap:4px;border-width:2px}
  .sound-options button svg {width:calc(21 * var(--landscape-unit));height:calc(21 * var(--landscape-unit))}
  .sound-options button[aria-pressed=true]::after {display:inline;font-size:calc(12 * var(--landscape-unit))}
  .duration-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(12 * var(--landscape-unit))}
  .duration-grid button {height:calc(42 * var(--landscape-unit));padding:3px 6px;border-width:3px;box-shadow:2px 4px 0 var(--ink);border-radius:11px 14px 10px 12px}
  .duration-grid strong {font-size:calc(29 * var(--landscape-unit));display:inline;line-height:1}
  .duration-grid span {font-size:calc(14 * var(--landscape-unit));margin-left:3px}
  .duration-grid i {display:block;font-size:calc(16 * var(--landscape-unit));right:8px;top:5px}
  .game-footer {height:calc(14 * var(--landscape-unit));margin:calc(9 * var(--landscape-unit)) auto 0;font-size:calc(11 * var(--landscape-unit));line-height:1.2;gap:10px;letter-spacing:.5px}
  .tiny-star {font-size:calc(15 * var(--landscape-unit))}
  .playing-view {display:flex;flex-direction:column}
  .challenge-controls {width:100%;max-width:calc(900 * var(--landscape-unit));margin:calc(5 * var(--landscape-unit)) auto 0;min-height:calc(28 * var(--landscape-unit));flex:none;font-size:calc(13 * var(--landscape-unit))}
  .challenge-back {font-size:calc(16 * var(--landscape-unit));padding:calc(4 * var(--landscape-unit)) calc(12 * var(--landscape-unit));border-width:2px}
  .play-heading {width:100%;max-width:calc(900 * var(--landscape-unit));height:calc(64 * var(--landscape-unit));margin:calc(8 * var(--landscape-unit)) auto calc(4 * var(--landscape-unit));flex:none;gap:12px}
  .subject-stamp {padding:2px calc(12 * var(--landscape-unit)) 2px 2px;gap:calc(5 * var(--landscape-unit));border-width:3px;box-shadow:3px 4px 0 var(--ink)}
  .subject-stamp img {width:calc(46 * var(--landscape-unit));height:calc(48 * var(--landscape-unit))}
  .subject-stamp b {font-size:calc(23 * var(--landscape-unit))}
  .subject-stamp small {font-size:calc(11 * var(--landscape-unit));margin-top:3px}
  .timer-plaque {padding:calc(4 * var(--landscape-unit)) calc(18 * var(--landscape-unit));border-width:3px;box-shadow:3px 4px 0 var(--ink)}
  .timer-plaque small {font-size:calc(13 * var(--landscape-unit))}
  .timer-plaque strong {font-size:calc(43 * var(--landscape-unit));line-height:1;letter-spacing:1px}
  .fuse-field {flex:1;min-height:0;height:auto;max-width:100%;width:100%;margin:0 auto}
  .pair-stage {width:100%;height:100%;overflow:visible}
  .playing-view .scene-caption {flex:none;margin:calc(4 * var(--landscape-unit)) 0 0;font-size:calc(13 * var(--landscape-unit));line-height:1.2}
  .ended-view {display:flex;flex-direction:column}
  .ending-scene {width:100%;max-width:calc(850 * var(--landscape-unit));height:auto;min-height:0;flex:1;margin:0 auto}
  .burst {width:calc(520 * var(--landscape-unit));height:calc(280 * var(--landscape-unit))}
  .cloud {top:0;width:calc(390 * var(--landscape-unit));padding:calc(18 * var(--landscape-unit)) calc(22 * var(--landscape-unit));border-width:4px}
  .cloud small {font-size:calc(17 * var(--landscape-unit))}
  .cloud h2 {font-size:calc(53 * var(--landscape-unit));line-height:1.08;margin:calc(8 * var(--landscape-unit)) 0;-webkit-text-stroke-width:calc(5 * var(--landscape-unit))}
  .cloud p {font-size:calc(13 * var(--landscape-unit));margin:calc(8 * var(--landscape-unit)) 0 calc(14 * var(--landscape-unit))}
  .cloud .restart {min-width:calc(205 * var(--landscape-unit));font-size:calc(23 * var(--landscape-unit));padding:calc(8 * var(--landscape-unit)) calc(20 * var(--landscape-unit));border-width:3px}
  .end-book {width:calc(96 * var(--landscape-unit));left:calc(50% - 270 * var(--landscape-unit));top:calc(50% - 115 * var(--landscape-unit))}
  .confetti {font-size:calc(36 * var(--landscape-unit))}
  .c1 {right:calc(110 * var(--landscape-unit));top:15%}
  .c2 {left:calc(95 * var(--landscape-unit));bottom:12%}
  .c3 {right:calc(110 * var(--landscape-unit));bottom:10%;font-size:calc(30 * var(--landscape-unit))}
  .leave-dialog {padding:12px}
  .leave-card {width:min(440px,85vw);max-height:calc(100vh - 30px);overflow:auto;padding:20px 24px 18px;border-width:4px}
  .leave-card h2 {font-size:32px;margin-bottom:8px}
  .leave-card p {font-size:12px;margin-bottom:15px}
  .leave-actions button {font-size:17px;padding:6px 12px}
  .audio-settings {top:calc(50 * var(--landscape-unit));right:max(12px,env(safe-area-inset-right));width:min(430px,calc(100% - 30px));max-height:calc(100vh - 50 * var(--landscape-unit) - 16px);padding:11px}
  .audio-settings-head {position:sticky;top:-11px;z-index:2;background:#173c3d;margin-top:0;padding:8px 2px;}
  @supports (height:100dvh) {
    .game {--landscape-height:100dvh}
    .audio-settings {max-height:calc(100dvh - 50 * var(--landscape-unit) - 16px)}
    .leave-card {max-height:calc(100dvh - 30px)}
  }
}
