*{box-sizing:border-box}
:root{
  --kb-bg:#041b10;
  --kb-card:#0a2f1b;
  --kb-card2:#0d3720;
  --kb-gold:#f6c36a;
  --kb-gold2:#c7963e;
  --kb-text:#fff3d2;
  --kb-muted:rgba(255,243,210,.70);
  --kb-border:rgba(246,195,106,.26);
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
html,body{min-height:100%;margin:0}
body{
  font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
  color:var(--kb-text);
  background:
    radial-gradient(circle at 50% 0%, rgba(246,195,106,.16), transparent 34%),
    linear-gradient(180deg,#0c3f24 0%, var(--kb-bg) 54%, #020805 100%);
}
.kb-voices-page{
  width:min(720px,100%);
  min-height:100vh;
  margin:0 auto;
  padding:calc(14px + var(--safe-top)) 14px calc(22px + var(--safe-bottom));
}
.kb-voices-header{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid var(--kb-border);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(12,63,36,.92),rgba(3,20,11,.88));
  box-shadow:0 16px 38px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
}
.kb-back-btn{
  width:44px;height:44px;flex:0 0 auto;
  border:none;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  color:#3b1e05;
  font-size:32px;font-weight:900;line-height:1;
  background:linear-gradient(145deg,#ffe09a,#e5a74a);
  box-shadow:0 10px 22px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.45);
}
.kb-back-btn:active{transform:scale(.96)}
.kb-voices-header h1{margin:0 0 4px;font-size:20px;line-height:1.15;color:#fff3d2}
.kb-voices-header p{margin:0;color:var(--kb-muted);font-size:13px;line-height:1.35}
.kb-voices-tools{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  margin:14px 0;
}
.kb-voice-search{
  width:100%;
  min-height:44px;
  border-radius:18px;
  border:1px solid var(--kb-border);
  outline:none;
  padding:0 14px;
  color:var(--kb-text);
  background:rgba(0,0,0,.28);
  font-size:14px;
}
.kb-voice-search::placeholder{color:rgba(255,243,210,.50)}
.kb-voices-total{
  min-width:86px;
  min-height:44px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid rgba(246,195,106,.32);
  background:linear-gradient(180deg,rgba(246,195,106,.15),rgba(0,0,0,.30));
  color:#ffe8b6;
  font-weight:900;
  font-size:13px;
}
.kb-voice-section{
  margin-top:12px;
  padding:12px;
  border-radius:22px;
  border:1px solid var(--kb-border);
  background:linear-gradient(180deg,rgba(10,47,27,.86),rgba(3,20,11,.82));
  box-shadow:0 14px 28px rgba(0,0,0,.24);
}
.kb-voice-section-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-bottom:10px;
}
.kb-voice-section h2{margin:0;color:#ffe8b6;font-size:15px;text-transform:uppercase;letter-spacing:.4px}
.kb-voice-count{
  min-width:34px;
  border-radius:999px;
  padding:5px 9px;
  text-align:center;
  color:#3b1e05;
  background:linear-gradient(145deg,#ffe09a,#e5a74a);
  font-size:12px;font-weight:900;
}
.kb-voice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kb-voice-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  padding:10px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.22);
}
.kb-voice-name{font-size:14px;font-weight:900;color:#fff3d2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-voice-file{margin-top:3px;font-size:11px;color:rgba(255,243,210,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-voice-play{
  width:34px;height:34px;border:0;border-radius:999px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:#3b1e05;font-size:15px;font-weight:900;
  background:linear-gradient(145deg,#ffe09a,#e5a74a);
  box-shadow:0 6px 14px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.35);
}
.kb-voice-play:active{transform:scale(.95)}
.kb-voice-empty{
  display:none;
  padding:12px;
  border-radius:16px;
  color:rgba(255,243,210,.62);
  background:rgba(0,0,0,.18);
  font-size:13px;
}
.kb-voice-section.is-empty .kb-voice-empty{display:block}
.kb-voice-section.is-empty .kb-voice-list{display:none}
@media(max-width:520px){
  .kb-voice-list{grid-template-columns:1fr}
  .kb-voices-page{padding-left:10px;padding-right:10px}
}
