/* Genesis Música: os mesmos tokens, fontes e ritmo da home da Genesis (apps/genesis-site)
   e do Estúdio (apps/genesis-estudio/site/estudio.css). Mudou um token lá? Muda aqui. */
@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{color-scheme:dark;--bg:#000;--bg2:#0B0D10;--painel:#0F1216;--ink:#F4F7F8;--mut:rgba(244,247,248,.66);--dim:rgba(244,247,248,.6);--line:rgba(244,247,248,.13);--brand:#35C6F4;--solid:#F4F7F8;--on-solid:#000;--bar:rgba(0,0,0,.72);--papel:#FBFAF6}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--brand);text-underline-offset:3px}a:hover{color:#fff}
h1,h2,h3{font-family:Sora,Manrope,system-ui,sans-serif;font-weight:600;letter-spacing:-.02em;margin:0;text-wrap:balance}
h1{font-size:clamp(38px,6vw,72px);line-height:1.02;max-width:15ch;margin:14px 0 22px}
h2{font-size:clamp(28px,3.8vw,46px);line-height:1.1;margin:10px 0 16px;max-width:22ch}
h3{font-size:clamp(19px,2vw,23px);line-height:1.2;margin-bottom:8px}
p{margin:0 0 1em}.miudo{font-size:.875rem;color:var(--mut)}
.k{font:400 12px/1.4 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:0 0 10px}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}
.pular{position:absolute;left:12px;top:-60px;background:var(--solid);color:var(--on-solid);padding:10px 16px;border-radius:999px;font-weight:700;z-index:100;text-decoration:none}.pular:focus{top:12px}
.miolo{max-width:1120px;margin:0 auto;padding-inline:max(16px,env(safe-area-inset-left,0px))}
.nav{position:sticky;top:0;z-index:20;background:var(--bar);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .miolo{display:flex;align-items:center;gap:18px;height:58px}
.logo{display:inline-flex;color:var(--ink)}.marca{margin:0;color:var(--brand)}
.nav nav{margin-left:auto}.nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}.nav nav a{color:var(--mut);text-decoration:none;font-size:15px}.nav nav a:hover{color:var(--ink)}
@media (max-width:720px){.nav nav{display:none}}
.bt{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 18px;border-radius:999px;font:500 15px/1 Manrope,sans-serif;text-decoration:none;border:1px solid rgba(244,247,248,.34);color:var(--ink);background:transparent;cursor:pointer;transition:border-color .15s,background .15s}.bt:hover{border-color:var(--ink);color:var(--ink)}
.bt.p{background:var(--solid);color:var(--on-solid);border-color:var(--solid)}.bt.p:hover{background:#fff}
.bt[disabled]{opacity:.5;cursor:progress}
.bt.grande{min-height:52px;padding:0 28px;font-size:16px;margin-top:22px}
.acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}

.hero{padding-block:96px 40px;background:radial-gradient(1200px 500px at 80% 0%,rgba(53,198,244,.13),transparent 60%)}
.lede{max-width:60ch;font-size:clamp(17px,1.6vw,20px);color:rgba(244,247,248,.84)}
/* Faixa de teclas: decoração pura, desenhada com gradientes (sem imagem). */
.teclas-deco{height:64px;margin-top:44px;border-radius:10px;opacity:.85;background:
  repeating-linear-gradient(90deg,transparent 0 calc(100%/21 - 2px),#000 calc(100%/21 - 2px) calc(100%/21)),
  linear-gradient(#e9e7e0,#fdfcf8);
  -webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}

.sec{padding-block:64px;border-top:1px solid var(--line)}
.abas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.abas button{font:500 15px/1 Manrope,sans-serif;color:var(--mut);background:transparent;border:1px solid var(--line);border-radius:999px;padding:12px 18px;cursor:pointer}
.abas button[aria-selected=true]{color:var(--on-solid);background:var(--solid);border-color:var(--solid)}
.painel{background:var(--painel);border:1px solid var(--line);border-radius:22px;padding:clamp(18px,3vw,30px)}
.linha{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:flex-end;justify-content:space-between;margin:14px 0 18px}
.acoes-mini{display:flex;flex-wrap:wrap;gap:8px}.acoes-mini .bt{min-height:40px;font-size:14px;padding:0 14px}
.duracoes{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.duracoes legend{font:400 12px/1.4 "JetBrains Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:8px;padding:0}
.duracoes label{position:relative}.duracoes input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.duracoes span{display:inline-block;padding:9px 14px;border:1px solid var(--line);border-radius:999px;font-size:14px;color:var(--mut)}
.duracoes input:checked+span{border-color:var(--brand);color:var(--ink);background:rgba(53,198,244,.12)}
.duracoes input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
.campo{display:flex;flex-direction:column;gap:8px;margin-top:14px;min-width:0}
.campo>span:first-child{font-size:14px;color:var(--mut)}
input,select{font:400 16px/1.3 Manrope,sans-serif;color:var(--ink);background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;width:100%;min-width:0}
#motivo{font-family:"JetBrains Mono",monospace;font-size:15px}
input[type=range]{padding:0;accent-color:var(--brand);background:transparent;border:0;height:44px}
input[type=file]{padding:10px}
.grade{display:grid;gap:4px 18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.com-botao{display:flex;gap:8px}.com-botao .bt{flex:none;width:48px;padding:0;font-size:18px}

/* Teclado: 2 oitavas (C4, o dó central, a B5), brancas em grade, pretas por cima. */
.teclado{position:relative;display:grid;grid-template-columns:repeat(14,1fr);height:150px;max-width:760px;user-select:none;touch-action:manipulation}
.teclado button{border:0;padding:0;cursor:pointer;font:400 11px/1 "JetBrains Mono",monospace}
.teclado .b{background:linear-gradient(#f2f0ea,#fff);border:1px solid #9aa0a6;border-radius:0 0 8px 8px;color:#555;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px}
.teclado .p{position:absolute;top:0;height:62%;width:calc(100%/14*.62);background:linear-gradient(#222,#000);border-radius:0 0 6px 6px;z-index:2;transform:translateX(-50%);box-shadow:0 2px 3px rgba(0,0,0,.5)}
.teclado .b:active,.teclado .b.tocando{background:#cdeffb}.teclado .p:active,.teclado .p.tocando{background:#1b6f8a}

.resultado{margin-top:28px;display:grid;gap:18px}
audio{width:100%}
.baixar{display:flex;flex-wrap:wrap;gap:8px}.baixar a{min-height:40px;font-size:14px}
.ficha{display:flex;flex-wrap:wrap;gap:6px 28px;margin:0}.ficha div{display:flex;flex-direction:column}
.ficha dt{font:400 11px/1.4 "JetBrains Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.ficha dd{margin:0;font:600 18px/1.3 Sora,sans-serif}
.papel{background:var(--papel);border-radius:14px;padding:clamp(8px,2vw,22px);overflow:auto}
.papel img{display:block;width:100%;height:auto;min-width:560px}
.paginas{display:flex;gap:6px;flex-wrap:wrap}.paginas button{min-width:44px}
details summary{cursor:pointer;color:var(--mut)}details ol{color:var(--mut);font-size:15px}
.estado{min-height:1.6em;margin:16px 0 0;color:var(--brand)}.estado.erro{color:#ff9c8a}
.tres{list-style:none;padding:0;margin:28px 0;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.tres li{background:var(--painel);border:1px solid var(--line);border-radius:18px;padding:22px}.tres p{color:var(--mut);margin:0}
.rodape{border-top:1px solid var(--line);padding-block:32px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
