/* =================================================================
   KIZURI STUDIO — BUILDS (site B)
   -----------------------------------------------------------------
   Só o que é específico do arquivo de builds. A identidade vem de
   tokens.css + base.css + components.css, compartilhados com a home.

   Diferença de personalidade em relação à home: esta página é
   utilitária. Sem cena 3D, sem scroll longo, sem teatro. Quem entra
   aqui quer achar e baixar um arquivo. O que ela compartilha é a
   tipografia, a cor, as linhas e o grão — não o ritmo.
   ================================================================= */

body{background:var(--bg)}

/* ================= FUNDO TÉCNICO ================= */
/* Grade fina que desvanece nas bordas. Custa uma pintura de CSS,
   sem canvas, sem JS. É o suficiente para dar caráter. */
.bg-grid{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(var(--line-soft) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);
  background-size:64px 64px;
  opacity:.55;
  -webkit-mask-image:radial-gradient(ellipse 85% 70% at 50% 22%, #000 25%, transparent 100%);
  mask-image:radial-gradient(ellipse 85% 70% at 50% 22%, #000 25%, transparent 100%);
}
.bg-glow{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 45% at 50% -8%, rgba(205,242,60,.07), transparent 70%);
}

/* ================= CABEÇALHO ================= */
.bhdr{
  position:fixed;top:0;left:0;right:0;z-index:var(--z-header);
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:14px var(--gut);
  background:color-mix(in oklab, var(--void) 82%, transparent);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line-soft);
}
@supports not (backdrop-filter: blur(1px)){
  .bhdr{background:var(--void)}
}

.bhdr-left{display:flex;align-items:center;gap:14px;min-width:0}
.bhdr-left .mark{font-size:16px}
.bhdr-sep{width:1px;height:16px;background:var(--line);flex:0 0 auto}
.bhdr-title{
  font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--dim);white-space:nowrap;
}
.bhdr-right{display:flex;align-items:center;gap:clamp(12px,3vw,28px)}
.bhdr-right a{
  font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--dim);border-bottom:1px solid transparent;transition:color .3s var(--ease),border-color .3s var(--ease);
}
.bhdr-right a:hover{color:var(--ink);border-color:var(--acid)}
@media (max-width:600px){
  .bhdr-right a.hide-s{display:none}
  .bhdr-title{display:none}
}

/* ================= FAIXA DE PREVIEW ================= */
.preview-bar{
  position:relative;z-index:var(--z-content);
  background:var(--acid);color:var(--acid-ink);
  padding:10px var(--gut);
  font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  display:flex;justify-content:center;gap:10px;text-align:center;
}

/* ================= PÁGINA ================= */
.page{
  position:relative;z-index:var(--z-content);
  padding:clamp(96px,16vh,160px) var(--gut) clamp(60px,10vh,110px);
}
.shell{max-width:1180px;margin:0 auto}

/* ---------- topo ---------- */
.lead-h{
  font-weight:800;letter-spacing:-.05em;line-height:.9;
  font-size:clamp(2.2rem,10vw,6rem);text-transform:uppercase;
}
.lead-h em{
  font-family:var(--serif);font-style:italic;font-weight:400;
  text-transform:none;color:var(--acid);
}
.lead-p{
  margin-top:clamp(18px,3vh,28px);
  color:var(--dim);font-size:clamp(.92rem,3.2vw,1.1rem);
  line-height:1.6;max-width:52ch;
}

/* ---------- readout: números reais do banco ---------- */
.readout{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1px;background:var(--line);
  border:1px solid var(--line);
  margin-top:clamp(34px,6vh,56px);
}
.ro-cell{background:var(--bg);padding:16px 18px;min-width:0}
.ro-k{
  display:block;
  font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--dim);margin-bottom:6px;
}
.ro-v{
  font-weight:700;font-size:clamp(1.15rem,4vw,1.6rem);
  letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;
}
.ro-v.acid{color:var(--acid)}
@media (min-width:760px){ .readout{grid-template-columns:repeat(4,1fr)} }

/* ---------- barra de ferramentas ---------- */
.tools{
  display:flex;flex-direction:column;gap:14px;
  margin-top:clamp(30px,5vh,48px);
  padding-bottom:18px;border-bottom:1px solid var(--line);
}
.search{
  position:relative;display:flex;align-items:center;
  border:1px solid var(--line);background:rgba(5,6,5,.5);
}
.search input{
  flex:1;min-width:0;background:none;border:0;outline:none;
  padding:14px 16px;color:var(--ink);font-size:15px;font-family:var(--sans);
}
.search input::placeholder{color:var(--dim)}
.search::after{
  content:"↵";color:var(--dim);padding-right:16px;
  font-family:var(--mono);font-size:11px;
}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.chip{
  font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  border:1px solid var(--line);color:var(--dim);
  padding:9px 14px;background:none;cursor:pointer;
  transition:color .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease);
}
.chip:hover{color:var(--ink);border-color:color-mix(in oklab, var(--acid) 45%, transparent)}
.chip[aria-pressed="true"]{
  background:var(--acid);border-color:var(--acid);color:var(--acid-ink);
}
@media (min-width:760px){
  .tools{flex-direction:row;align-items:center;justify-content:space-between}
  .search{flex:0 1 340px}
}

/* ================= REGISTRO ================= */
.registry{margin-top:clamp(26px,4vh,40px);border-top:1px solid var(--line)}

.entry{
  display:flex;flex-direction:column;gap:16px;
  padding:clamp(22px,3.6vh,34px) 0;
  border-bottom:1px solid var(--line);
  position:relative;
}
.entry::before{
  content:"";position:absolute;left:-20px;top:0;bottom:0;width:2px;background:var(--acid);
  transform:scaleY(0);transform-origin:center;transition:transform .45s var(--ease);
}
.entry:hover::before{transform:scaleY(1)}

.entry-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.entry-code{
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;
  color:var(--acid);text-transform:uppercase;
}
.entry-name{
  font-weight:800;letter-spacing:-.035em;line-height:1.02;
  font-size:clamp(1.5rem,6vw,2.4rem);text-transform:uppercase;
}
.entry-name a{border-bottom:2px solid transparent;transition:border-color .35s var(--ease)}
.entry-name a:hover{border-color:var(--acid)}
.entry-tag{color:var(--dim);font-size:clamp(.9rem,3.1vw,1.02rem);line-height:1.55;max-width:56ch}

.badges{display:flex;gap:6px;flex-wrap:wrap}
.badge{
  font-family:var(--mono);font-size:8px;letter-spacing:.16em;text-transform:uppercase;
  padding:5px 9px;border:1px solid var(--line);color:var(--dim);
}
.badge.stable{background:var(--acid);border-color:var(--acid);color:var(--acid-ink);font-weight:500}
.badge.beta{border-style:dashed;color:var(--ink)}
.badge.experimental{border-style:dotted;color:var(--dim)}

/* ---------- rodapé da entrada ---------- */
.entry-foot{
  display:flex;flex-direction:column;gap:16px;
  padding-top:14px;border-top:1px solid var(--line-soft);
}
.plats{display:flex;gap:6px;flex-wrap:wrap}
.plat{
  font-family:var(--mono);font-size:8px;letter-spacing:.16em;text-transform:uppercase;
  padding:5px 8px;border:1px solid var(--line);color:var(--dim);
}
.plat.on{color:var(--ink);border-color:color-mix(in oklab, var(--ink) 28%, transparent)}
.plat.off{opacity:.3}
.plat.here{background:var(--acid);border-color:var(--acid);color:var(--acid-ink)}

.entry-meta{
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dim);display:flex;gap:14px;flex-wrap:wrap;
}
.entry-meta b{color:var(--ink);font-weight:400}
.entry-meta .dot{color:var(--line)}

.entry-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dl-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--acid);color:var(--acid-ink);
  border:1px solid var(--acid);
  padding:13px 18px;
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
  transition:background .3s var(--ease),color .3s var(--ease);
}
.dl-btn:hover{background:transparent;color:var(--acid)}
.dl-btn.alt{
  background:transparent;color:var(--ink);
  border-color:color-mix(in oklab, var(--ink) 25%, transparent);
}
.dl-btn.alt:hover{background:var(--acid);border-color:var(--acid);color:var(--acid-ink)}
.dl-btn small{
  font-size:8px;letter-spacing:.14em;opacity:.7;
}
.sha-btn{
  border:1px solid var(--line);background:none;cursor:pointer;
  padding:13px 14px;color:var(--dim);
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:lowercase;
  transition:color .3s var(--ease),border-color .3s var(--ease);
}
.sha-btn:hover{color:var(--ink);border-color:color-mix(in oklab, var(--ink) 25%, transparent)}
.sha-btn.done{color:var(--acid);border-color:var(--acid)}

@media (min-width:900px){
  .entry{gap:20px}
  .entry-foot{flex-direction:row;align-items:center;justify-content:space-between}
  .entry-actions{justify-content:flex-end}
}

/* ================= ESTADOS ================= */
.state{
  margin-top:clamp(26px,4vh,40px);
  border:1px solid var(--line);
  padding:clamp(30px,7vw,64px) clamp(22px,5vw,48px);
}
.state-k{
  font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--dim);display:flex;align-items:center;gap:10px;margin-bottom:22px;
}
.state-k::before{content:"";width:22px;height:1px;background:var(--acid)}
.state-h{
  font-weight:800;letter-spacing:-.045em;line-height:.94;
  font-size:clamp(1.6rem,7vw,3.4rem);text-transform:uppercase;
}
.state-h b{color:var(--acid);font-weight:800;display:block}
.state-p{color:var(--dim);margin-top:18px;font-size:clamp(.9rem,3.1vw,1.02rem);line-height:1.6;max-width:48ch}
.state-foot{
  margin-top:26px;padding-top:20px;border-top:1px solid var(--line-soft);
  display:flex;gap:14px;flex-wrap:wrap;align-items:center;
  font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);
}

/* esqueleto de carregamento */
.skel{border-bottom:1px solid var(--line);padding:clamp(22px,3.6vh,34px) 0}
.skel i{
  display:block;height:10px;background:var(--line-soft);
  animation:shimmer 1.4s ease-in-out infinite;
}
.skel i+i{margin-top:10px}
.skel i.w1{width:22%}
.skel i.w2{width:52%;height:22px}
.skel i.w3{width:70%}
@keyframes shimmer{0%,100%{opacity:.45}50%{opacity:1}}

/* ================= PÁGINA DE PROJETO ================= */
.back{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--dim);margin-bottom:clamp(26px,5vh,44px);
  border-bottom:1px solid transparent;transition:color .3s var(--ease),border-color .3s var(--ease);
}
.back:hover{color:var(--ink);border-color:var(--acid)}

.p-head{display:flex;flex-direction:column;gap:14px;padding-bottom:clamp(24px,4vh,40px);border-bottom:1px solid var(--line)}
.p-desc{color:var(--dim);font-size:clamp(.92rem,3.2vw,1.06rem);line-height:1.7;max-width:62ch;margin-top:6px}

.specs{
  display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);border-top:0;
}
.spec{background:var(--bg);padding:14px 18px;display:flex;justify-content:space-between;gap:16px}
.spec-k{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.spec-v{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--ink);text-align:right;text-transform:uppercase}
@media (min-width:760px){ .specs{grid-template-columns:1fr 1fr} }

.builds-h{
  font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--dim);display:flex;align-items:center;gap:10px;
  margin:clamp(38px,7vh,64px) 0 18px;
}
.builds-h::before{content:"";width:22px;height:1px;background:var(--acid)}

.build-group{margin-bottom:26px}
.build-group-t{
  font-weight:700;font-size:clamp(1rem,3.6vw,1.25rem);letter-spacing:-.02em;
  text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:10px;
}
.build-group-t span{
  font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--dim);font-weight:400;
}

.build{
  display:grid;gap:14px;
  border:1px solid var(--line);border-left:0;border-right:0;
  padding:18px 0;
}
.build+.build{border-top:0}
.build-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.build-ver{font-weight:700;font-size:1.05rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.build-meta{
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dim);display:flex;gap:12px;flex-wrap:wrap;
}
.build-sha{
  font-family:var(--mono);font-size:9px;letter-spacing:.08em;line-height:1.6;
  color:var(--dim);word-break:break-all;
}
.build-sha b{
  display:block;color:var(--ink);font-weight:400;
  font-size:8px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px;
}
.build-sha.missing{opacity:.45}

.notes{border-top:1px solid var(--line-soft);padding-top:12px}
.notes summary{
  cursor:pointer;list-style:none;
  font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--dim);
}
.notes summary::-webkit-details-marker{display:none}
.notes summary::before{content:"+ ";color:var(--acid)}
.notes[open] summary::before{content:"− "}
.notes summary:hover{color:var(--ink)}
.notes-body{
  margin-top:12px;color:var(--dim);font-size:.92rem;line-height:1.7;
  white-space:pre-wrap;max-width:70ch;
}
@media (min-width:860px){
  .build{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;align-items:center;gap:20px}
  .build .notes{grid-column:1/-1}
}

/* ================= RODAPÉ ================= */
.bfoot{
  position:relative;z-index:var(--z-content);
  border-top:1px solid var(--line);background:var(--void);
  padding:clamp(34px,6vh,56px) var(--gut);
}
.bfoot-in{
  max-width:1180px;margin:0 auto;
  display:flex;flex-direction:column;gap:22px;
}
.bfoot-brand{font-weight:800;font-size:clamp(1.6rem,7vw,2.6rem);letter-spacing:-.04em;line-height:1}
.bfoot-brand sup{font-size:.25em;vertical-align:super;color:var(--acid)}
.bfoot-links{display:flex;flex-direction:column;gap:9px}
.bfoot-links a{
  font-size:.9rem;align-self:flex-start;
  border-bottom:1px solid transparent;transition:border-color .3s var(--ease);
}
.bfoot-links a:hover{border-color:var(--acid)}
.bfoot-base{
  margin-top:22px;padding-top:18px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
  font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);
}
@media (min-width:760px){
  .bfoot-in{flex-direction:row;justify-content:space-between;align-items:flex-start}
  .bfoot-links{flex-direction:row;gap:26px}
}
