/*! ULTRA BOY Konsole 1.0.0 · © 2026 YOURLEAF GmbH, alle Rechte vorbehalten.
 * Nur zum Abspielen von Spielen, die YOURLEAF bereitstellt. Keine Weitergabe, keine Bearbeitung. Siehe LICENSE.txt.
 * Enthält fengari (Lua-VM, MIT-Lizenz, © Benoit Giannangeli, Daurnimator) – Lizenztext in LICENSE.txt. */
html,body{margin:0;height:100%}body{overflow:hidden;background:var(--ub-page, #0b0c16);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.ub{--ub-page: #0b0c16;--ub-page-2: #1b1d33;--ub-page-image: none;--ub-body: #1d1f33;--ub-body-hi: #2c2f4d;--ub-body-lo: #111223;--ub-bezel: #07080f;--ub-print: #b9c0ff;--ub-brand: #e8ecff;--ub-brand-fill: #e8ecff;--ub-accent: #2ce8f5;--ub-dpad: #0e0f1c;--ub-btn: #23264a;--ub-sys: #3b3f66;--ub-a: #ff5a8e;--ub-b: #ffd84a;--ub-x: #5ab8ff;--ub-y: #5cf0a8;--ub-pad: 14px;--ub-bez: 10px;--ub-screen-w: 640px;--ub-screen-h: 360px;--ub-side: 200px;--ub-dpad: 150px;--ub-ab: 60px;position:fixed;inset:0;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:var(--ub-page-image) center / cover no-repeat,radial-gradient(1200px 800px at 50% 30%,var(--ub-page-2),var(--ub-page));font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ub-brand);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.ub *,.ub *:before,.ub *:after{box-sizing:border-box}.ub button{font:inherit;color:inherit}.ub.ub-embed{padding:0;background:transparent;justify-content:flex-start}html:has(.ub-embed),html:has(.ub-embed) body{background:transparent}.ub-console{position:relative;display:grid;gap:10px 14px;padding:var(--ub-pad);background:radial-gradient(120% 60% at 30% 0%,rgba(255,255,255,.08),transparent 60%),var(--ub-body-fill, linear-gradient(170deg, var(--ub-body-hi), var(--ub-body) 35%, var(--ub-body-lo)));border-radius:26px;box-shadow:inset 0 2px #ffffff1f,inset 0 -6px 14px #00000040,0 30px 60px #00000080,0 4px 10px #00000059;touch-action:none}.ub-embed .ub-console{box-shadow:inset 0 2px #ffffff1f,inset 0 -6px 14px #00000040}.ub-screen{grid-area:screen;display:flex;flex-direction:column;align-items:stretch;min-width:0}.ub-bezel{padding:var(--ub-bez);border-radius:14px;background:linear-gradient(var(--ub-bezel),#020206);box-shadow:0 0 0 1px #7a8cff38,inset 0 0 24px #5cf0a80f,inset 0 2px 3px #ffffff14}.ub-glass{position:relative;width:var(--ub-screen-w);height:var(--ub-screen-h);background:#000;box-shadow:0 0 0 2px #000}.ub-canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;cursor:pointer}.ub-ui{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.ub-brandrow{display:flex;align-items:center;gap:10px;height:34px;padding:6px 4px 0;min-width:0}.ub-led{flex:none;width:8px;height:8px;border-radius:50%;background:#3a1418;box-shadow:inset 0 1px 2px #0009}.ub-led.on{background:#ff3e4e;box-shadow:0 0 6px #ff3e4e,0 0 14px #ff3e4e99}.ub-logo{flex:none;height:28px;max-width:160px;object-fit:contain}.ub-brand{min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ub-brand);font-size:18px;line-height:1.2}.ub-label{font-weight:900;font-style:italic;letter-spacing:.06em}.ub[data-gradient=ja] .ub-label{background:var(--ub-brand-fill);-webkit-background-clip:text;background-clip:text;color:transparent}.ub-tagline{font-size:11px;font-weight:600;font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--ub-print);opacity:.85}.ub-tools{flex:none;display:flex;gap:6px}.ub-tool{width:30px;height:26px;padding:0;border:0;border-radius:999px;cursor:pointer;font-size:15px;line-height:26px;font-weight:700;color:var(--ub-print);background:linear-gradient(var(--ub-body-hi),var(--ub-body-lo));box-shadow:inset 0 1px #ffffff2e,0 2px 3px #0000004d}.ub-tool:active{transform:translateY(1px)}.ub-tool:focus-visible{outline:2px solid var(--ub-accent);outline-offset:2px}.ub[data-schmal=ja] .ub-tagline{display:none}.ub-tool.aus{opacity:.45;text-decoration:line-through}.ub-powered{position:absolute;left:50%;bottom:2px;transform:translate(-50%);font-size:10px;line-height:12px;letter-spacing:.08em;white-space:nowrap;color:var(--ub-print);opacity:.55;text-decoration:none}.ub-powered b{font-weight:800}.ub-powered:hover,.ub-powered:focus-visible{opacity:.95;text-decoration:underline}.ub-powered:focus-visible{outline:2px solid var(--ub-accent);outline-offset:2px}.ub-tonhint{position:absolute;top:8px;right:8px;padding:5px 12px;border:0;border-radius:999px;cursor:pointer;font-size:13px;font-weight:700;color:#fff;background:#0000009e;box-shadow:0 0 0 1px #ffffff40}.ub-tonhint:focus-visible{outline:2px solid var(--ub-accent);outline-offset:2px}.ub.ub-drop .ub-console{outline:3px dashed var(--ub-accent);outline-offset:6px}.ub-keys{margin:0;max-width:min(92vw,900px);text-align:center;font-size:12px;line-height:1.5;color:var(--ub-print);opacity:.7}.ub-embed .ub-keys,.ub:not([data-lage=ohne]) .ub-keys{display:none}.ub[data-lage=ohne] .ub-console{grid-template-areas:"screen"}.ub[data-lage=ohne] :is(.ub-dpad,.ub-ab,.ub-sys,.ub-shoulder){display:none}.ub[data-lage=hoch]{justify-content:flex-start}.ub[data-lage=hoch] .ub-console{width:100%;max-width:calc(var(--ub-screen-w) + 2 * (var(--ub-pad) + var(--ub-bez)));grid-template-columns:1fr 1fr;grid-template-rows:auto minmax(0,3fr) auto auto auto minmax(0,1fr);grid-template-areas:"screen screen" ". ." "sl sr" "dpad ab" "sel sta" ". .";border-radius:24px 24px 64px;flex:1 1 auto;max-height:100%;align-content:start}.ub-embed[data-lage=hoch] .ub-console{flex:none}.ub[data-lage=hoch] .ub-dpad{justify-self:start;align-self:center;margin-left:4%}.ub[data-lage=hoch] .ub-ab{justify-self:end;align-self:center;margin-right:2%}.ub[data-lage=hoch] .ub-l{grid-area:sl;justify-self:start;margin-left:4%}.ub[data-lage=hoch] .ub-r{grid-area:sr;justify-self:end;margin-right:4%}.ub[data-lage=hoch] .ub-sel{justify-self:end;margin-right:10px}.ub[data-lage=hoch] .ub-sta{justify-self:start;margin-left:10px}.ub[data-randlos=ja]{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);gap:0}.ub[data-randlos=ja] .ub-console{max-width:none;border-radius:0;box-shadow:none;padding:0 0 22px;flex:1 1 auto}.ub[data-randlos=ja] .ub-bezel{padding:0;border-radius:0;box-shadow:none;background:#000}.ub[data-randlos=ja] .ub-glass{box-shadow:none}.ub[data-randlos=ja] .ub-brandrow{padding:6px 12px 0}.ub[data-randlos=ja][data-lr=nein] .ub-console{grid-template-rows:auto minmax(0,3fr) 0 auto auto minmax(0,1fr)}.ub-shoulder.ub-weg,.ub-sys.ub-weg,.ub-dpad.ub-weg{display:none}.ub-round.ub-weg{visibility:hidden}.ub[data-lage=quer] .ub-console{grid-template-columns:var(--ub-side) auto var(--ub-side);grid-template-rows:auto 1fr auto;grid-template-areas:"sl screen sr" "dpad screen ab" "sel screen sta";align-items:center;border-radius:30px/30px 30px 60px 60px}.ub[data-lage=quer] .ub-screen{align-self:center}.ub[data-lage=quer] :is(.ub-dpad,.ub-ab,.ub-shoulder,.ub-sys){justify-self:center}.ub-dpad{grid-area:dpad;position:relative;width:var(--ub-dpad);height:var(--ub-dpad)}.ub-dpad:before{content:"";position:absolute;inset:-8%;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.22),transparent 70%)}.ub-dpad-h,.ub-dpad-v{position:absolute;background:linear-gradient(145deg,#2a2d44,var(--ub-dpad));border-radius:7px;box-shadow:0 4px #05060c,0 6px 10px #0006}.ub-dpad-h{left:0;right:0;top:33.3%;height:33.4%}.ub-dpad-v{top:0;bottom:0;left:33.3%;width:33.4%}.ub-dpad-c{position:absolute;left:40%;top:40%;width:20%;height:20%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#23263a,#101120)}.ub-arr{position:absolute;color:var(--ub-print);opacity:.55;font-size:calc(var(--ub-dpad) * .09);line-height:1}.ub-up{top:9%;left:50%;transform:translate(-50%)}.ub-down{bottom:9%;left:50%;transform:translate(-50%)}.ub-left{left:9%;top:50%;transform:translateY(-50%)}.ub-right{right:9%;top:50%;transform:translateY(-50%)}.ub-dpad.p-up .ub-up,.ub-dpad.p-down .ub-down,.ub-dpad.p-left .ub-left,.ub-dpad.p-right .ub-right{opacity:1;color:var(--ub-accent)}.ub-dpad.p-up,.ub-dpad.p-down,.ub-dpad.p-left,.ub-dpad.p-right{filter:brightness(1.15)}.ub-ab{grid-area:ab;position:relative;width:calc(var(--ub-ab) * 2.7);height:calc(var(--ub-ab) * 2.7)}.ub-round{position:absolute;width:var(--ub-ab);height:var(--ub-ab);border-radius:50%;--face: var(--ub-btn);background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--face) 70%,white),var(--face) 55%,color-mix(in srgb,var(--face) 60%,black));box-shadow:0 4px #0000008c,0 6px 12px #0006,inset 0 1px 1px #ffffff40;display:flex;align-items:center;justify-content:center;transition:transform .05s}.ub-round span{font-weight:900;font-size:calc(var(--ub-ab) * .38)}.ub-x{--face: var(--ub-x-face);left:calc(var(--ub-ab) * .85);top:0}.ub-x span{color:var(--ub-x)}.ub-y{--face: var(--ub-y-face);left:0;top:calc(var(--ub-ab) * .85)}.ub-y span{color:var(--ub-y)}.ub-a{--face: var(--ub-a-face);right:0;top:calc(var(--ub-ab) * .85)}.ub-a span{color:var(--ub-a)}.ub-b{--face: var(--ub-b-face);left:calc(var(--ub-ab) * .85);bottom:0}.ub-b span{color:var(--ub-b)}.ub-round.pressed{transform:translateY(3px);box-shadow:0 1px #0000008c,0 2px 5px #0006;filter:brightness(1.25)}.ub-sys{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 6px}.ub-sel{grid-area:sel}.ub-sta{grid-area:sta}.ub-pill{width:54px;height:15px;border-radius:999px;background:linear-gradient(var(--ub-sys),color-mix(in srgb,var(--ub-sys) 60%,black));box-shadow:0 2px #00000073,inset 0 1px #fff3;transform:rotate(-18deg)}.ub-sys span{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--ub-print)}.ub-sys.pressed .ub-pill{transform:rotate(-18deg) translateY(2px);filter:brightness(1.3)}.ub-shoulder{min-width:74px;height:32px;padding:0 18px;border-radius:10px 10px 6px 6px;display:flex;align-items:center;justify-content:center;background:linear-gradient(var(--ub-body-hi),var(--ub-body-lo));box-shadow:0 3px #00000073,inset 0 1px #ffffff2e}.ub-shoulder span{font-weight:900;font-size:13px;color:var(--ub-print)}.ub-shoulder.pressed{transform:translateY(2px);filter:brightness(1.3)}.ub-l{grid-area:sl}.ub-r{grid-area:sr}@media(prefers-reduced-motion:reduce){.ub-round{transition:none}}
