:root{font:16px system-ui;color:#e5edff;background:#141b2b;color-scheme:dark}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:24px;padding:16px 24px;background:#202b42}header a{color:#a5c6ff}main{max-width:1100px;margin:24px auto;padding:0 20px}h1{font-size:24px}button,input{font:inherit;padding:10px 14px;border:1px solid #506180;border-radius:6px}button{background:#285fc3;color:white;cursor:pointer}button:disabled{opacity:.5;cursor:wait}input{background:#111a2c;color:white}label{display:block;margin:12px 0}p{line-height:1.5}.status{white-space:pre-wrap;color:#a9caef}.error{color:#ffb0a5}table{width:100%;border-collapse:collapse}td,th{text-align:left;border-bottom:1px solid #34425b;padding:12px}nav{display:flex;gap:12px;flex-wrap:wrap}dialog{max-width:min(520px,94vw);border:1px solid #596c93;border-radius:12px;padding:24px;background:#202b42;color:white}dialog::backdrop{background:#000a}dialog input{width:100%}.play{margin:0;max-width:none;padding:0}.play iframe{display:block;width:100%;height:calc(100dvh - 61px);border:0}.toolbar{font-size:14px;min-height:61px}.scroll{overflow:auto}pre{white-space:pre-wrap;word-break:break-word}

/* Keep the embedded game clear of the iPhone cutout and home indicator.
   Apply insets in the outer page, which owns the physical screen safe area. */
@media (pointer:coarse){
  .play-page>.toolbar{display:none}
  .play-page .play{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
  .play-page .play iframe{height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
}
