/* PIXL alpha.78 — hard-stop player, dedicated shell-label lane, iOS-safe exit presentation */
html,body{overscroll-behavior:none}
body{background:var(--pixl-system-chrome,#030305)}
.player,.player *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;-webkit-tap-highlight-color:transparent!important;box-sizing:border-box}
.player.pixl-shell-active{
  position:fixed!important;inset:0!important;z-index:500!important;overflow:hidden!important;
  padding:calc(env(safe-area-inset-top) + 8px) 14px calc(env(safe-area-inset-bottom) + 10px)!important;
  display:grid!important;grid-template-rows:58px auto minmax(216px,1fr)!important;align-content:start!important;
  color:var(--shell-text,#f8f8fb)!important;
  background:
    radial-gradient(72% 34% at 86% 18%,color-mix(in srgb,var(--shell-accent) 12%,transparent),transparent 72%),
    linear-gradient(color-mix(in srgb,var(--shell-text) 4%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--shell-text) 4%,transparent) 1px,transparent 1px),
    var(--shell-bg,#050507)!important;
  background-size:auto,28px 28px,28px 28px,auto!important;
  animation:px61-player-in .28s cubic-bezier(.22,1,.36,1) both!important;
  transform:translateZ(0);backface-visibility:hidden;
}
@keyframes px61-player-in{from{opacity:0;transform:translate3d(0,12px,0) scale(.992)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
.player .pixl-shell-chrome{display:none!important}
.player .player-top{height:58px!important;display:grid!important;grid-template-columns:48px minmax(0,1fr) 48px!important;align-items:center!important;gap:10px!important;margin:0!important;padding:0!important}
.player .player-top>div{text-align:center!important;min-width:0!important;padding:0 4px!important}
.player .player-top strong{display:block!important;color:var(--shell-text)!important;font:800 15px/1.15 -apple-system,BlinkMacSystemFont,"SF Pro Display",Inter,sans-serif!important;letter-spacing:-.02em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.player .player-top span{display:block!important;margin-top:5px!important;color:var(--shell-muted)!important;font:700 10px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,sans-serif!important;letter-spacing:.02em!important}
.player .player-button,.player .exit,.player .more{
  width:48px!important;height:48px!important;border-radius:16px!important;padding:0!important;display:grid!important;place-items:center!important;
  color:var(--shell-text)!important;border:1px solid color-mix(in srgb,var(--shell-accent) 34%,var(--shell-text) 12%)!important;
  background:color-mix(in srgb,var(--shell-surface) 88%,var(--shell-accent) 12%)!important;
  box-shadow:inset 0 1px color-mix(in srgb,#fff 18%,transparent),0 8px 18px color-mix(in srgb,var(--shell-accent) 10%,transparent)!important;
  transition:transform .12s cubic-bezier(.2,.8,.2,1),filter .12s ease!important;will-change:transform;
}
.player .player-button:active{transform:scale(.94)!important;filter:brightness(.94)!important}
.player .player-button svg,.player .player-button i{width:24px!important;height:24px!important;color:currentColor!important;stroke:currentColor!important;opacity:1!important}
.player .canvas-wrap,.player.pixl-shell-active .canvas-wrap{
  position:relative!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:4/3!important;
  margin:6px auto 0!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:#000!important;box-shadow:none!important;clip-path:none!important;-webkit-mask:none!important;
}
.player .canvas-wrap::after{content:""!important;position:absolute!important;pointer-events:none!important;z-index:9!important;inset:-2px!important;border:2px solid color-mix(in srgb,var(--shell-accent) 58%,var(--shell-text) 42%)!important;border-radius:2px!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--shell-bg) 72%,transparent),0 8px 28px color-mix(in srgb,var(--shell-accent) 10%,transparent)!important}
.player .game-canvas,.player #pixl-game-canvas{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:none!important;object-fit:contain!important;background:#000!important;border:0!important;border-radius:0!important;clip-path:none!important;pointer-events:auto!important;touch-action:none!important;image-rendering:auto!important}
.player .controls{position:relative!important;display:block!important;width:100%!important;height:100%!important;min-height:238px!important;margin:10px 0 0!important;filter:none!important;transform:none!important}
.player .dpad{position:absolute!important;left:10px!important;top:8px!important;width:150px!important;height:150px!important;transform:none!important}
.player .dpad .control{position:absolute!important;width:54px!important;height:54px!important;border-radius:17px!important;padding:0!important;display:grid!important;place-items:center!important}
.player .dpad .up{left:48px!important;top:0!important}.player .dpad .down{left:48px!important;bottom:0!important}.player .dpad .left{left:0!important;top:48px!important}.player .dpad .right{right:0!important;top:48px!important}
.player .dpad-center{position:absolute!important;left:55px!important;top:55px!important;width:40px!important;height:40px!important;border-radius:13px!important;background:color-mix(in srgb,var(--shell-surface) 92%,#000)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--shell-accent) 12%,transparent)!important}
.player .actions.pixl-face-buttons{position:absolute!important;right:10px!important;left:auto!important;top:8px!important;bottom:auto!important;width:150px!important;height:150px!important;display:block!important;transform:none!important;filter:none!important}
.player .actions.pixl-face-buttons>.pixl-face{position:absolute!important;width:54px!important;height:54px!important;border-radius:50%!important;padding:0!important;display:grid!important;place-items:center!important;transform:none!important;font-size:0!important}
.player .pixl-face-x{left:48px!important;top:0!important}.player .pixl-face-p{left:0!important;top:48px!important}.player .pixl-face-l{right:0!important;top:48px!important}.player .pixl-face-i{left:48px!important;bottom:0!important}
.player .pixl-face .pixl-glyph{display:block!important;width:19px!important;height:27px!important;color:currentColor!important;opacity:1!important}
.player .pixl-face::after{display:none!important;content:none!important}
.player .control{
  color:var(--shell-text)!important;border:1px solid color-mix(in srgb,var(--shell-accent) 28%,var(--shell-text) 12%)!important;
  background:color-mix(in srgb,var(--shell-surface) 90%,var(--shell-accent) 10%)!important;
  box-shadow:inset 0 1px color-mix(in srgb,#fff 16%,transparent),0 7px 16px color-mix(in srgb,var(--shell-bg) 55%,transparent)!important;
  transition:transform .08s cubic-bezier(.2,.8,.2,1),filter .08s linear!important;will-change:transform;touch-action:none!important;
}
.player .control:active{transform:scale(.91)!important;filter:brightness(.94)!important}
.player .pixl-face-x{background:linear-gradient(145deg,var(--shell-accent),color-mix(in srgb,var(--shell-accent) 64%,#000))!important;color:var(--pixl-theme-ink,#fff)!important}
.player .pixl-face-i{background:linear-gradient(145deg,var(--shell-accent2),color-mix(in srgb,var(--shell-accent2) 70%,#000))!important;color:var(--pixl-theme-ink,#07110f)!important}
.player .pixl-face-p,.player .pixl-face-l{background:color-mix(in srgb,var(--shell-surface) 84%,var(--shell-accent) 16%)!important;color:var(--shell-text)!important}
.player .pixl-system-buttons{position:absolute!important;left:50%!important;top:166px!important;bottom:auto!important;transform:translateX(-50%)!important;display:flex!important;gap:14px!important;width:auto!important;height:auto!important}
.player .pixl-system-button{position:relative!important;width:78px!important;height:32px!important;min-width:78px!important;min-height:32px!important;border-radius:999px!important;padding:0 12px!important;transform:rotate(-4deg)!important;background:color-mix(in srgb,var(--shell-surface) 78%,var(--shell-accent2) 22%)!important}
.player .pixl-system-button+.pixl-system-button{transform:rotate(4deg)!important}
.player .pixl-system-button:active{transform:rotate(-4deg) scale(.94)!important}.player .pixl-system-button+.pixl-system-button:active{transform:rotate(4deg) scale(.94)!important}
.player .pixl-system-button span{font:850 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.13em!important;color:var(--shell-text)!important}
.player .pixl-shell-name{position:absolute!important;left:50%!important;top:218px!important;bottom:auto!important;transform:translateX(-50%)!important;display:block!important;color:color-mix(in srgb,var(--shell-muted) 72%,transparent)!important;font:900 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.20em!important;text-transform:uppercase!important;white-space:nowrap!important;pointer-events:none!important}

/* Sinnoh is light hardware, not Neon Grid with pale buttons. */
.player[data-pixl-theme="sinnoh"]{--shell-bg:#e6f3fc!important;--shell-surface:#f7fbff!important;--shell-text:#17324a!important;--shell-muted:#6f899b!important;background:linear-gradient(rgba(53,120,149,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(53,120,149,.06) 1px,transparent 1px),radial-gradient(70% 35% at 84% 15%,rgba(99,231,178,.18),transparent 72%),#e6f3fc!important;background-size:26px 26px,26px 26px,auto,auto!important}
.player[data-pixl-theme="sinnoh"] .control,.player[data-pixl-theme="sinnoh"] .player-button{border-color:#7daebe!important;background:linear-gradient(180deg,#fff,#edf6fb)!important;color:#17324a!important;box-shadow:inset 0 1px #fff,0 6px 0 #bfd7e2,0 10px 20px rgba(65,105,135,.13)!important}
.player[data-pixl-theme="sinnoh"] .pixl-face-x{background:linear-gradient(145deg,#63e7b2,#36b78b)!important;color:#123f37!important}.player[data-pixl-theme="sinnoh"] .pixl-face-i{background:linear-gradient(145deg,#75aee9,#4b82c0)!important;color:#102b45!important}.player[data-pixl-theme="sinnoh"] .pixl-face-p,.player[data-pixl-theme="sinnoh"] .pixl-face-l{background:linear-gradient(180deg,#f9fcff,#e7f2f8)!important;color:#17324a!important}.player[data-pixl-theme="sinnoh"] .dpad-center{background:#d8e8ef!important}.player[data-pixl-theme="sinnoh"] .pixl-system-button{background:linear-gradient(180deg,#fff,#edf6fb)!important}.player[data-pixl-theme="sinnoh"] .canvas-wrap::after{border-color:#4f93a6!important;box-shadow:0 0 0 1px rgba(255,255,255,.9),0 8px 22px rgba(52,95,125,.13)!important}

@media(max-height:780px){.player.pixl-shell-active{grid-template-rows:52px auto minmax(194px,1fr)!important;padding-top:calc(env(safe-area-inset-top) + 4px)!important}.player .player-top{height:52px!important}.player .canvas-wrap{width:min(100%,calc((100dvh - 312px)*1.333333))!important}.player .controls{min-height:194px!important;margin-top:6px!important}.player .dpad,.player .actions.pixl-face-buttons{transform:scale(.91)!important}.player .dpad{transform-origin:left top!important}.player .actions.pixl-face-buttons{transform-origin:right top!important}.player .pixl-system-buttons{top:153px!important}.player .pixl-shell-name{top:202px!important}}

/* iOS-like transition authority: compositor transforms, short opacity, reduced blur. */
.modal,.pixl-theme-studio,.pixl-shell-studio,.px-center,.px-library-panel{backface-visibility:hidden;transform:translateZ(0)}
.modal{backdrop-filter:blur(7px) saturate(.95)!important;-webkit-backdrop-filter:blur(7px) saturate(.95)!important}
.modal .sheet,.pt-sheet,.ps-sheet,.px-center-panel,.px-library-sheet{will-change:transform,opacity!important;backface-visibility:hidden!important;transition:transform .30s cubic-bezier(.22,1,.36,1),opacity .20s ease!important}
.pt-scrim,.ps-scrim{backdrop-filter:blur(7px) saturate(.95)!important;-webkit-backdrop-filter:blur(7px) saturate(.95)!important;transition:opacity .18s ease!important}
.pt-sheet,.ps-sheet{transform:translate3d(0,22px,0) scale(.985)!important;opacity:0!important}.pixl-theme-studio.is-open .pt-sheet,.pixl-shell-studio.is-open .ps-sheet{transform:translate3d(0,0,0) scale(1)!important;opacity:1!important}
button,.px-v3 button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}

/* Runtime diagnostics — clean ring instead of the malformed glowing dot. */
.runtime-card{align-items:center!important;gap:14px!important}
.runtime-pulse{width:20px!important;height:20px!important;flex:0 0 20px!important;border-radius:50%!important;background:transparent!important;border:2px solid color-mix(in srgb,var(--pixl-theme) 22%,transparent)!important;border-top-color:var(--pixl-theme)!important;box-shadow:none!important;animation:px61-spin .72s linear infinite!important}
.runtime-pulse.ready{animation:none!important;border:0!important;background:var(--pixl-theme)!important;box-shadow:0 0 0 6px rgba(var(--pixl-theme-rgb),.10)!important;position:relative!important}
.runtime-pulse.ready::after{content:"";position:absolute;left:6px;top:4px;width:5px;height:8px;border:solid var(--pixl-theme-ink);border-width:0 2px 2px 0;transform:rotate(45deg)}
.runtime-pulse.pending{border-top-color:#f2b84b!important}
@keyframes px61-spin{to{transform:rotate(360deg)}}
.roadmap-list{border-radius:20px!important;overflow:hidden!important}.roadmap-list strong{color:var(--pixl-theme-2)!important}.roadmap-list strong.pending{color:#f2b84b!important}

/* Developer credit card. */
.pixl-developer-section{margin-top:18px!important;padding-top:4px!important}
.pixl-developer-kicker{display:block;margin:0 2px 9px;color:var(--pixl-theme-2);font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em;text-transform:uppercase}
.pixl-developer-card{position:relative;overflow:hidden;display:grid;grid-template-columns:74px minmax(0,1fr);gap:14px;align-items:center;padding:14px;border:1px solid color-mix(in srgb,var(--pixl-theme) 30%,rgba(255,255,255,.10));border-radius:22px;background:linear-gradient(135deg,rgba(var(--pixl-theme-rgb),.11),rgba(255,255,255,.035));box-shadow:0 14px 36px rgba(0,0,0,.12)}
.pixl-developer-avatar{width:74px;height:74px;object-fit:cover;border-radius:20px;border:1px solid color-mix(in srgb,var(--pixl-theme) 45%,rgba(255,255,255,.18));box-shadow:0 8px 22px rgba(var(--pixl-theme-rgb),.16)}
.pixl-developer-copy{min-width:0}.pixl-developer-copy strong{display:block;font-size:18px;letter-spacing:-.02em}.pixl-developer-role{display:block;margin-top:3px;color:var(--pixl-theme-2);font-size:11px;font-weight:800}.pixl-developer-copy p{margin:8px 0 0!important;font-size:10px!important;line-height:1.45!important;color:var(--muted)!important}.pixl-development-assist{display:block;margin:9px 3px 0;text-align:right;font-size:6.5px!important;letter-spacing:.05em;color:var(--muted)!important;opacity:.34}
html[data-pixl-theme="sinnoh"] .pixl-developer-card{background:linear-gradient(135deg,rgba(99,231,178,.12),rgba(255,255,255,.72));border-color:#9bc4d0}html[data-pixl-theme="sinnoh"] .pixl-developer-copy p,html[data-pixl-theme="sinnoh"] .pixl-development-assist{color:#688399!important}

@media(prefers-reduced-motion:reduce){.player,.modal .sheet,.pt-sheet,.ps-sheet,.px-center-panel,.px-library-sheet,.runtime-pulse{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* alpha.61 final hardware pass — clean iOS geometry, no inherited toy/legacy shell styling. */
.player.pixl-shell-active{
  grid-template-rows:54px auto minmax(220px,1fr)!important;
  padding:calc(env(safe-area-inset-top) + 6px) 12px calc(env(safe-area-inset-bottom) + 8px)!important;
}
.player .player-top{height:54px!important;grid-template-columns:44px minmax(0,1fr) 44px!important;gap:8px!important}
.player .player-top strong{font-size:15px!important;font-weight:800!important;letter-spacing:-.018em!important}
.player .player-top span{margin-top:4px!important;font-size:9.5px!important;font-weight:650!important;opacity:.78!important}
.player .player-button,.player .exit,.player .more{
  width:44px!important;height:44px!important;border-radius:15px!important;
  border:1px solid color-mix(in srgb,var(--shell-text) 12%,var(--shell-accent) 22%)!important;
  background:color-mix(in srgb,var(--shell-surface) 94%,var(--shell-accent) 6%)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.10),0 5px 16px color-mix(in srgb,var(--shell-bg) 58%,transparent)!important;
}
.player .canvas-wrap,.player.pixl-shell-active .canvas-wrap{margin:4px auto 0!important}
.player .canvas-wrap::after{inset:-1px!important;border-width:1px!important;border-radius:5px!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--shell-bg) 64%,transparent),0 8px 24px color-mix(in srgb,var(--shell-accent) 8%,transparent)!important}
.player .controls{min-height:220px!important;margin-top:10px!important}
.player .dpad{left:8px!important;top:8px!important;width:144px!important;height:144px!important}
.player .dpad .control{width:52px!important;height:52px!important;border-radius:17px!important}
.player .dpad .up{left:46px!important}.player .dpad .down{left:46px!important}.player .dpad .left{top:46px!important}.player .dpad .right{top:46px!important}
.player .dpad-center{left:52px!important;top:52px!important;width:40px!important;height:40px!important;border-radius:14px!important;background:color-mix(in srgb,var(--shell-surface) 96%,var(--shell-accent) 4%)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--shell-text) 7%,transparent)!important}
.player .actions.pixl-face-buttons{right:8px!important;top:8px!important;width:144px!important;height:144px!important}
.player .actions.pixl-face-buttons>.pixl-face{width:52px!important;height:52px!important}
.player .pixl-face-x{left:46px!important}.player .pixl-face-p{top:46px!important}.player .pixl-face-l{top:46px!important}.player .pixl-face-i{left:46px!important}
.player .control{
  border:1px solid color-mix(in srgb,var(--shell-text) 11%,var(--shell-accent) 20%)!important;
  background:color-mix(in srgb,var(--shell-surface) 95%,var(--shell-accent) 5%)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.09),0 6px 18px color-mix(in srgb,var(--shell-bg) 54%,transparent)!important;
}
.player .pixl-face-x{background:color-mix(in srgb,var(--shell-accent) 82%,var(--shell-surface) 18%)!important}
.player .pixl-face-i{background:color-mix(in srgb,var(--shell-accent2) 82%,var(--shell-surface) 18%)!important}
.player .pixl-face-p,.player .pixl-face-l{background:color-mix(in srgb,var(--shell-surface) 90%,var(--shell-accent) 10%)!important}
.player .pixl-system-buttons{top:162px!important;gap:10px!important}
.player .pixl-system-button,.player .pixl-system-button+.pixl-system-button{
  width:74px!important;min-width:74px!important;height:30px!important;min-height:30px!important;border-radius:15px!important;
  transform:none!important;background:color-mix(in srgb,var(--shell-surface) 94%,var(--shell-accent2) 6%)!important;
}
.player .pixl-system-button:active,.player .pixl-system-button+.pixl-system-button:active{transform:scale(.94)!important}
.player .pixl-system-button span{font-size:7.5px!important;font-weight:800!important;letter-spacing:.12em!important}
.player .pixl-shell-name{top:207px!important;font-size:7px!important;font-weight:800!important;letter-spacing:.18em!important;opacity:.55!important}
.player[data-pixl-theme="sinnoh"] .control,.player[data-pixl-theme="sinnoh"] .player-button{
  border-color:rgba(73,126,151,.28)!important;
  background:rgba(249,253,255,.82)!important;color:#17324a!important;
  box-shadow:inset 0 1px rgba(255,255,255,.95),0 6px 18px rgba(57,91,112,.12)!important;
}
.player[data-pixl-theme="sinnoh"] .pixl-face-x{background:linear-gradient(145deg,#69e5b7,#43c99c)!important;color:#133f36!important}
.player[data-pixl-theme="sinnoh"] .pixl-face-i{background:linear-gradient(145deg,#83baf0,#619bd8)!important;color:#153751!important}
.player[data-pixl-theme="sinnoh"] .pixl-face-p,.player[data-pixl-theme="sinnoh"] .pixl-face-l{background:rgba(241,248,252,.88)!important;color:#17324a!important}
.player[data-pixl-theme="sinnoh"] .dpad-center{background:rgba(212,231,239,.72)!important}
.player[data-pixl-theme="sinnoh"] .pixl-system-button{background:rgba(248,252,255,.86)!important}
.player[data-pixl-theme="sinnoh"] .canvas-wrap::after{border-color:rgba(60,127,151,.78)!important;box-shadow:0 0 0 1px rgba(255,255,255,.72),0 7px 20px rgba(55,92,114,.10)!important}
@media(max-height:780px){
  .player.pixl-shell-active{grid-template-rows:50px auto minmax(190px,1fr)!important;padding-top:calc(env(safe-area-inset-top) + 3px)!important}
  .player .player-top{height:50px!important}
  .player .canvas-wrap{width:min(100%,calc((100dvh - 292px)*1.333333))!important}
  .player .controls{min-height:190px!important;margin-top:6px!important}
  .player .dpad,.player .actions.pixl-face-buttons{transform:scale(.88)!important}
  .player .pixl-system-buttons{top:146px!important}
  .player .pixl-shell-name{top:184px!important}
}


/* alpha.62 final controller authority — compact hardware, theme-perfect surfaces. */
body .player.pixl-shell-active{background:
  radial-gradient(70% 36% at 88% 12%,color-mix(in srgb,var(--shell-accent) 10%,transparent),transparent 74%),
  linear-gradient(color-mix(in srgb,var(--shell-text) 3.5%,transparent) 1px,transparent 1px),
  linear-gradient(90deg,color-mix(in srgb,var(--shell-text) 3.5%,transparent) 1px,transparent 1px),
  var(--shell-bg)!important;background-size:auto,28px 28px,28px 28px,auto!important}
html[data-pixl-theme="sinnoh"] body .player.pixl-shell-active{--shell-bg:#e7f3fb!important;--shell-surface:#f3f9fd!important;--shell-text:#17324a!important;--shell-muted:#6b8495!important;background:linear-gradient(rgba(62,126,151,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(62,126,151,.055) 1px,transparent 1px),radial-gradient(68% 32% at 88% 12%,rgba(99,231,178,.13),transparent 72%),#e7f3fb!important;background-size:27px 27px,27px 27px,auto,auto!important}
body .player.pixl-shell-active .player-top strong{color:var(--shell-text)!important}body .player.pixl-shell-active .player-top span{color:var(--shell-muted)!important}
body .player.pixl-shell-active .pixl-system-buttons{top:158px!important;gap:8px!important;align-items:center!important}
body .player.pixl-shell-active .pixl-system-button,body .player.pixl-shell-active .pixl-system-button+.pixl-system-button{width:66px!important;min-width:66px!important;height:26px!important;min-height:26px!important;padding:0 10px!important;border-radius:999px!important;transform:none!important;border:1px solid color-mix(in srgb,var(--shell-text) 10%,var(--shell-accent) 24%)!important;background:color-mix(in srgb,var(--shell-surface) 88%,var(--shell-bg) 12%)!important;box-shadow:inset 0 1px rgba(255,255,255,.09),0 3px 9px color-mix(in srgb,var(--shell-bg) 54%,transparent)!important;color:var(--shell-text)!important;filter:none!important}
body .player.pixl-shell-active .pixl-system-button span{font:800 7.5px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,sans-serif!important;letter-spacing:.13em!important;color:currentColor!important;text-shadow:none!important;opacity:.82!important}
body .player.pixl-shell-active .pixl-system-button:active,body .player.pixl-shell-active .pixl-system-button+.pixl-system-button:active{transform:scale(.94)!important;filter:brightness(.96)!important}
html[data-pixl-theme="sinnoh"] body .player.pixl-shell-active .pixl-system-button{background:rgba(23,50,74,.055)!important;border-color:rgba(63,116,140,.24)!important;box-shadow:inset 0 1px rgba(255,255,255,.78),0 3px 8px rgba(53,79,96,.09)!important;color:#27465b!important}
body .player.pixl-shell-active .pixl-shell-name{top:198px!important;font-size:6.5px!important;letter-spacing:.18em!important;opacity:.42!important}
body .player.pixl-shell-active .dpad,body .player.pixl-shell-active .actions.pixl-face-buttons{filter:none!important}
body .player.pixl-shell-active .dpad .control,body .player.pixl-shell-active .actions.pixl-face-buttons>.pixl-face{box-shadow:inset 0 1px rgba(255,255,255,.08),0 4px 12px color-mix(in srgb,var(--shell-bg) 48%,transparent)!important}
body .player.pixl-shell-active .canvas-wrap{border-radius:6px!important;overflow:hidden!important}
body .player.pixl-shell-active .canvas-wrap::after{border-radius:6px!important;inset:0!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--shell-accent) 38%,var(--shell-text) 10%),0 7px 22px color-mix(in srgb,var(--shell-bg) 46%,transparent)!important;border:0!important}
body .player.pixl-shell-active .game-canvas{border-radius:5px!important;clip-path:inset(0 round 5px)!important}
@media(max-height:780px){body .player.pixl-shell-active .pixl-system-buttons{top:143px!important}body .player.pixl-shell-active .pixl-shell-name{top:179px!important}}

/* alpha.62 controller lock — erase legacy tilted START/SELECT geometry completely. */
body .player.pixl-shell-active .pixl-system-buttons{
  position:absolute!important;left:50%!important;right:auto!important;top:158px!important;bottom:auto!important;
  width:158px!important;height:30px!important;min-height:30px!important;transform:translateX(-50%)!important;
  display:flex!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;gap:10px!important;
  filter:none!important;z-index:12!important;
}
body .player.pixl-shell-active .pixl-system-button,
body .player.pixl-shell-active .pixl-system-button+.pixl-system-button,
body .player.pixl-shell-active .pixl-start,
body .player.pixl-shell-active .pixl-select{
  position:relative!important;inset:auto!important;flex:0 0 74px!important;
  width:74px!important;min-width:74px!important;max-width:74px!important;
  height:28px!important;min-height:28px!important;max-height:28px!important;
  margin:0!important;padding:0 10px!important;border-radius:999px!important;transform:none!important;
  background:color-mix(in srgb,var(--shell-surface) 91%,var(--shell-accent) 9%)!important;
  border:1px solid color-mix(in srgb,var(--shell-text) 13%,var(--shell-accent) 22%)!important;
  color:var(--shell-text)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.10),0 3px 10px color-mix(in srgb,var(--shell-bg) 48%,transparent)!important;
  filter:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
body .player.pixl-shell-active .pixl-system-button span,
body .player.pixl-shell-active .pixl-start span,
body .player.pixl-shell-active .pixl-select span{
  color:currentColor!important;text-shadow:none!important;opacity:.78!important;
  font:750 8px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,sans-serif!important;letter-spacing:.11em!important;
}
body .player.pixl-shell-active .pixl-system-button:active,
body .player.pixl-shell-active .pixl-start:active,
body .player.pixl-shell-active .pixl-select:active{transform:scale(.94)!important;box-shadow:inset 0 1px rgba(255,255,255,.08),0 1px 5px color-mix(in srgb,var(--shell-bg) 48%,transparent)!important}
body .player.pixl-shell-active .pixl-shell-name{position:absolute!important;top:198px!important;bottom:auto!important;left:50%!important;transform:translateX(-50%)!important}
.player[data-pixl-theme="sinnoh"]{--shell-bg:#e7f3fb!important;--shell-surface:#f3f9fd!important;--shell-text:#17324a!important;--shell-muted:#6b8495!important;background:linear-gradient(rgba(62,126,151,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(62,126,151,.055) 1px,transparent 1px),radial-gradient(68% 32% at 88% 12%,rgba(99,231,178,.13),transparent 72%),#e7f3fb!important;background-size:27px 27px,27px 27px,auto,auto!important}
.player[data-pixl-theme="sinnoh"] .pixl-system-button{background:rgba(23,50,74,.055)!important;border-color:rgba(63,116,140,.24)!important;color:#27465b!important;box-shadow:inset 0 1px rgba(255,255,255,.78),0 3px 8px rgba(53,79,96,.09)!important}
@media(max-height:780px){body .player.pixl-shell-active .pixl-system-buttons{top:143px!important}body .player.pixl-shell-active .pixl-shell-name{top:179px!important}}


/* PIXL alpha.67 — exact single-frame compositor. The wrapper owns all clipping;
   the canvas and theme layers are not allowed to paint competing borders. */
body .player .canvas-wrap,
body .player-shell .canvas-wrap,
body .pixl-player .canvas-wrap {
  border: 0 !important;
  outline: 0 !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #000 !important;
}
body .player .canvas-wrap::before,
body .player-shell .canvas-wrap::before,
body .pixl-player .canvas-wrap::before { border: 0 !important; outline: 0 !important; box-shadow: none !important; }
body .player .canvas-wrap::after,
body .player-shell .canvas-wrap::after,
body .pixl-player .canvas-wrap::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: inherit !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent, #6ee7b7) 45%, transparent) !important;
}
body .player .game-canvas,
body .player-shell .game-canvas,
body .pixl-player .game-canvas {
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  box-shadow: none !important;
}
body .player .control.system,
body .player .control.select,
body .player .control.start,
body .player [data-key="select"],
body .player [data-key="start"],
body .player-shell [data-key="select"],
body .player-shell [data-key="start"] {
  width: 78px !important;
  min-width: 78px !important;
  max-width: 78px !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  transform: none !important;
  rotate: none !important;
  skew: none !important;
  border-radius: 15px !important;
  margin: 0 !important;
  padding: 0 13px !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.09), 0 2px 8px rgba(0,0,0,.18) !important;
}
body .player [data-key="select"]::before,
body .player [data-key="select"]::after,
body .player [data-key="start"]::before,
body .player [data-key="start"]::after { transform: none !important; rotate: none !important; }

/* PIXL alpha.67 — single-owner game frame. No decorative stroke competes with the native image. */
body .player.pixl-shell-active .canvas-wrap,
body .player-shell .canvas-wrap,
body .pixl-player .canvas-wrap {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #000 !important;
  padding: 0 !important;
}
body .player.pixl-shell-active .canvas-wrap::before,
body .player.pixl-shell-active .canvas-wrap::after,
body .player-shell .canvas-wrap::before,
body .player-shell .canvas-wrap::after,
body .pixl-player .canvas-wrap::before,
body .pixl-player .canvas-wrap::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
body .player.pixl-shell-active .game-canvas,
body .player.pixl-shell-active #pixl-game-canvas,
body .player-shell .game-canvas,
body .pixl-player .game-canvas {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  clip-path: none !important;
  background: #000 !important;
}

/* alpha78: dedicated shell identity lane below SELECT/START on every theme. */
.player .pixl-shell-name{padding:3px 9px!important;border-radius:999px!important;background:color-mix(in srgb,var(--shell-bg) 88%,transparent)!important;z-index:3!important}
.player.pixl-exit-committed{opacity:0!important;pointer-events:none!important;transition:opacity .10s ease!important}
#pixl-exit-toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 26px);transform:translateX(-50%);z-index:10020;padding:11px 16px;border-radius:999px;background:rgba(10,11,18,.92);color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 44px rgba(0,0,0,.35);font:800 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.02em;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);pointer-events:none}


/* alpha78 FINAL player authority — shell label and exit transition. */
body .player .controls,
body .player.pixl-shell-active .controls{min-height:260px!important;padding-bottom:30px!important;overflow:visible!important}
body .player .pixl-system-buttons,
body .player.pixl-shell-active .pixl-system-buttons{top:158px!important}
body .player .pixl-shell-name,
body .player.pixl-shell-active .pixl-shell-name{
  top:214px!important;bottom:auto!important;left:50%!important;transform:translateX(-50%)!important;
  padding:4px 10px!important;margin:0!important;line-height:1!important;z-index:20!important;
  background:color-mix(in srgb,var(--shell-bg) 94%,var(--shell-surface) 6%)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--shell-text) 7%,transparent)!important;
  opacity:.58!important;
}
@media(max-height:780px){
  body .player .controls,body .player.pixl-shell-active .controls{min-height:230px!important;padding-bottom:28px!important}
  body .player .pixl-system-buttons,body .player.pixl-shell-active .pixl-system-buttons{top:143px!important}
  body .player .pixl-shell-name,body .player.pixl-shell-active .pixl-shell-name{top:194px!important}
}
/* Keep the live canvas at full layout size while the library is revealed underneath.
   display:none/removal before native shutdown is what caused the alpha77 60Hz zero-size loop. */
.player.pixl-exit-committed{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate3d(-200vw,0,0)!important;transition:opacity .08s ease!important}
