:root{
  --bwp-bg:#f4f8f6;
  --bwp-surface:#ffffff;
  --bwp-text:#101b2c;
  --bwp-muted:#62716a;
  --bwp-primary:#10aa68;
  --bwp-primary-dark:#087a49;
  --bwp-secondary:#153b59;
  --bwp-border:#cfe0d8;
  --bwp-danger:#9a2525;
  --bwp-radius-sm:10px;
  --bwp-radius-md:15px;
  --bwp-radius-lg:20px;
  --bwp-shadow:0 22px 58px rgba(16,56,39,.11);
  --bwp-font:"Trebuchet MS","Aptos",sans-serif;
}

.bwp-public-page,
.bwp-player-page{
  color:var(--bwp-text);
  font-family:var(--bwp-font);
  -webkit-font-smoothing:antialiased;
}

.bwp-public-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 18% 12%,rgba(16,170,104,.08),transparent 32%),
    linear-gradient(145deg,#fbfdfc 0%,var(--bwp-bg) 100%);
}

.bwp-public-card{
  width:100%;
  border:1px solid var(--bwp-border)!important;
  border-radius:var(--bwp-radius-lg)!important;
  background:var(--bwp-surface)!important;
  box-shadow:var(--bwp-shadow)!important;
}

.bwp-public-page h1,
.bwp-player-page h1{
  margin:0 0 8px;
  color:var(--bwp-text);
  font-family:var(--bwp-font);
  font-size:clamp(28px,3vw,36px);
  font-weight:900;
  letter-spacing:-.035em;
  line-height:1.08;
}

.bwp-public-page h2,
.bwp-player-page h2{
  color:var(--bwp-text);
  font-family:var(--bwp-font);
  font-weight:900;
  letter-spacing:-.02em;
}

.bwp-public-page p,
.bwp-player-page p{
  color:var(--bwp-muted);
  font-size:15px;
  line-height:1.55;
}

.bwp-public-page label,
.bwp-player-page label{
  color:var(--bwp-text);
  font-family:var(--bwp-font);
  font-size:13px;
  font-weight:800;
  line-height:1.3;
}

.bwp-public-page input:not([type=checkbox]),
.bwp-public-page select,
.bwp-player-page input:not([type=checkbox]),
.bwp-player-page select{
  color:var(--bwp-text);
  font-family:var(--bwp-font);
  font-size:15px;
  font-weight:600;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}

.bwp-public-page input:not([type=checkbox]):focus,
.bwp-public-page select:focus,
.bwp-player-page input:not([type=checkbox]):focus,
.bwp-player-page select:focus{
  border-color:var(--bwp-primary)!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(16,170,104,.12)!important;
}

.bwp-button,
.bwp-public-page .submit,
.bwp-public-page .choice,
.bwp-player-page .btn{
  display:inline-flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:var(--bwp-radius-sm);
  background:var(--bwp-primary);
  color:#fff;
  font-family:var(--bwp-font);
  font-size:14px;
  font-weight:900;
  line-height:1;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(16,170,104,.16);
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.bwp-button:hover,
.bwp-public-page .submit:hover,
.bwp-public-page .choice:hover,
.bwp-player-page .btn:hover{
  background:var(--bwp-primary-dark);
  box-shadow:0 13px 28px rgba(8,122,73,.22);
  transform:translateY(-1px);
}

.bwp-public-page a:not(.submit):not(.choice),
.bwp-player-page a{
  color:var(--bwp-primary-dark);
  font-family:var(--bwp-font);
  font-weight:800;
  text-underline-offset:3px;
}

.bwp-player-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 85% 8%,rgba(21,59,89,.08),transparent 30%),
    var(--bwp-bg);
}

.bwp-player-page .top{
  background:linear-gradient(115deg,var(--bwp-primary-dark),var(--bwp-primary));
  box-shadow:0 10px 30px rgba(8,122,73,.18);
}

.bwp-player-page .panel{
  border:1px solid var(--bwp-border);
  border-radius:var(--bwp-radius-md);
  background:var(--bwp-surface);
  box-shadow:0 10px 30px rgba(16,56,39,.06);
}

@media(max-width:620px){
  .bwp-public-page h1,.bwp-player-page h1{font-size:27px}
  .bwp-public-card{border-radius:16px!important}
  .bwp-button,.bwp-public-page .submit,.bwp-public-page .choice{width:100%}
}
