@font-face{font-family:Sora;src:url(/fonts/sora.woff2) format("woff2");font-weight:100 800;font-display:optional}
@font-face{font-family:Manrope;src:url(/fonts/manrope.woff2) format("woff2");font-weight:200 800;font-display:optional}
@font-face{font-family:"JetBrains Mono";src:url(/fonts/jetbrains-mono.woff2) format("woff2");font-weight:400;font-display:optional}
:root{--bg:#000;--bg2:#0B0D10;--ink:#F4F7F8;--mut:rgba(244,247,248,.66);--line:rgba(244,247,248,.14);--brand:#35C6F4;--btn:#14171c;--btn-h:#1d2128;--on:#35C6F4;--on-ink:#001018;color-scheme:dark}
html[data-gs-theme="light"]{--bg:#FFFFFF;--bg2:#F3F5F7;--ink:#05070C;--mut:rgba(5,7,12,.66);--line:rgba(5,7,12,.12);--brand:#1B63F0;--btn:#F3F5F7;--btn-h:#E8ECF0;--on:#1B63F0;--on-ink:#fff;color-scheme:light}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
.bar{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.bar-in{max-width:1200px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo{display:inline-flex;align-items:center;color:var(--ink);text-decoration:none}
.logo .gs-logo{width:min(130px,34vw);height:auto;flex:none}
.ib{width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);display:inline-grid;place-items:center;cursor:pointer}
.ib svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
html[data-gs-theme="light"] .ib .sol,html:not([data-gs-theme="light"]) .ib .lua{display:none}
/* o palco cabe na tela junto com o título e os controles: 300 px é o resto da página */
main{max-width:min(1200px,calc((100svh - 300px)*16/9 + 32px));min-width:min(100%,720px);margin:0 auto;padding:28px 16px 8px}
h1{font-family:Sora,system-ui,sans-serif;font-weight:600;font-size:clamp(26px,4.2vw,44px);letter-spacing:-.02em;line-height:1.1;margin:0 0 8px}
.lead{color:var(--mut);margin:0 0 20px;max-width:60ch;font-size:clamp(15px,1.6vw,18px)}
.palco{position:relative;width:100%;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#1d1f27;box-shadow:0 1px 0 var(--line),0 24px 60px -30px rgba(0,0,0,.6);touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.palco canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}
.baloes{position:absolute;inset:0;pointer-events:none}
.balao{position:absolute;left:0;top:0;max-width:min(240px,62%);padding:5px 9px 6px;font:500 clamp(10px,1.15vw,14px)/1.3 "JetBrains Mono",ui-monospace,monospace;color:#14171c;background:#fff;border:2px solid #14171c;border-radius:2px;box-shadow:3px 3px 0 rgba(20,23,28,.35);opacity:0;visibility:hidden;white-space:normal;text-align:center}
.balao.on{opacity:1;visibility:visible}
/* pedido do James pelo celular: balão de conversa, verde de mensagem enviada */
.balao.pedido{background:#dcf8c6;text-align:left}
.balao.pedido::before{content:"James";display:block;font-size:.8em;font-weight:700;color:#1f7a3a}
.balao.pedido::after{background:#dcf8c6}
.balao::after{content:"";position:absolute;left:50%;bottom:-7px;width:8px;height:8px;margin-left:-4px;background:#fff;border-right:2px solid #14171c;border-bottom:2px solid #14171c;transform:rotate(45deg)}
.controles{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 8px}
.controles button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--btn);color:var(--ink);font:600 15px/1 Manrope,system-ui,sans-serif;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.controles button:hover{background:var(--btn-h)}
.controles button[aria-pressed="true"]{background:var(--on);border-color:var(--on);color:var(--on-ink)}
.controles svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#pausar .i-tocar{display:none}
#pausar.tocar .i-tocar{display:block;fill:currentColor}
#pausar.tocar .i-pausa{display:none}
#pausar.tocar{background:var(--on);border-color:var(--on);color:var(--on-ink)}
#som[aria-pressed="false"] .onda{opacity:.25}
button:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.rodape{max-width:min(1200px,calc((100svh - 300px)*16/9 + 32px));min-width:min(100%,720px);margin:0 auto;padding:16px 16px 40px;color:var(--mut);font-size:14px}
@media (max-width:640px){
  main{padding-top:18px}
  .palco{width:calc(100% + 32px);margin:0 -16px;border-radius:0}
  .controles button{flex:1 1 0;justify-content:center;padding:0 12px}
  .balao{font-size:10px;padding:3px 6px 4px;max-width:72%}
}
@media (prefers-reduced-motion:reduce){
  .controles button{transition:none}
}
