* { box-sizing: border-box; }
p { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #faf7f2; color: #2c2748; font-family: 'Mulish', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
input, select, button, textarea { font-family: inherit; }
::selection { background: #e3d4ef; color: #2c2748; }
@keyframes floaty { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }
.bss-nav-link { position: relative; transition: color .2s; }
.bss-nav-link:hover { color: #2c2748; }
.bss-btn { transition: transform .15s ease, box-shadow .25s ease, background .2s; }
.bss-btn:hover { transform: translateY(-2px); }
.bss-card { transition: transform .2s ease, box-shadow .25s ease, border-color .2s; }
.bss-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(74,63,116,.16); }
.bss-thumb img { transition: transform .5s ease; }
.bss-card:hover .bss-thumb img { transform: scale(1.06); }
.bss-field:focus { outline: none; border-color: #9a6fb8; box-shadow: 0 0 0 3px rgba(154,111,184,.14); }
.bss-social:hover { background: #efe7f4; color: #4a3f74; border-color: rgba(124,108,176,.4); }
.bss-totop:hover { color: #4a3f74; background: #ffffff; border-color: rgba(124,108,176,.5); transform: translateY(-3px) !important; }
@keyframes spin { to { transform: rotate(360deg); } }
.bss-spin { animation: spin .8s linear infinite; }
.bss-sum::-webkit-scrollbar { width: 6px; }
.bss-sum::-webkit-scrollbar-thumb { background: rgba(185,168,230,.3); border-radius: 99px; }
@media (max-width: 760px) { .bss-player-grid { grid-template-columns: 1fr !important; } }
.bss-lib-filter { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:32px; }
.bss-lib-chip { padding:9px 17px; border-radius:999px; border:1px solid rgba(124,108,176,.28); background:rgba(255,255,255,.6); color:#6f6790; font:700 12.5px/1 'Mulish',sans-serif; cursor:pointer; transition:background .2s,border-color .2s,color .2s; }
.bss-lib-chip:hover { border-color:#9a6fb8; color:#4a3f74; }
.bss-lib-chip.active { background:#4a3f74; border-color:#4a3f74; color:#f6f2fb; }
.bss-lib-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.bss-lib-card { display:flex; flex-direction:column; padding:30px; border-radius:22px; background:rgba(255,255,255,.78); border:1px solid rgba(124,108,176,.18); box-shadow:0 18px 46px rgba(74,63,116,.09); }
.bss-lib-cover { aspect-ratio:2/3; width:min(150px,60%); margin-bottom:24px; border-radius:6px 13px 13px 6px; padding:20px 16px; display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(145deg,#332957,#514376); color:#f6f2fb; box-shadow:-6px 7px 0 #d8cce5,0 14px 30px rgba(44,39,72,.22); border-left:6px solid #2b2349; }
@media (max-width: 860px) { .bss-lib-grid { grid-template-columns:1fr 1fr; } }
@media (max-width: 560px) { .bss-lib-grid { grid-template-columns:1fr; } .bss-lib-card { padding:26px; } }
.centers-controls { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.centers-controls input, .centers-controls select { padding:12px 15px; border:1px solid rgba(124,108,176,.24); border-radius:12px; background:rgba(255,255,255,.9); color:#2c2748; font:500 14px/1 'Mulish',sans-serif; cursor:pointer; }
.centers-controls input { flex:1 1 240px; min-width:180px; cursor:text; }
.centers-controls input:focus, .centers-controls select:focus { outline:none; border-color:#9a6fb8; box-shadow:0 0 0 3px rgba(154,111,184,.15); }
.centers-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(248px,1fr)); gap:16px; }
.center-card { display:flex; flex-direction:column; padding:22px; border-radius:16px; background:rgba(255,255,255,.82); border:1px solid rgba(124,108,176,.16); box-shadow:0 10px 30px rgba(74,63,116,.06); }
.center-region { font:700 9.5px/1 'Mulish',sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#9a6fb8; margin-bottom:11px; }
.center-country { margin:0; font:500 18px/1.25 'Spectral',serif; color:#2c2748; display:flex; align-items:baseline; gap:9px; flex-wrap:wrap; }
.center-acr { font:700 9.5px/1 'Mulish',sans-serif; letter-spacing:.06em; color:#674f85; background:#ede4f4; padding:4px 8px; border-radius:999px; }
.center-name { margin-top:7px; font:400 12.8px/1.5 'Mulish',sans-serif; color:#6f6790; }
.center-meta { margin-top:5px; font:600 11px/1.4 'Mulish',sans-serif; color:#9a92b2; }
.center-link { margin-top:auto; padding-top:15px; display:inline-flex; align-items:center; gap:6px; color:#4a3f74; font:700 12.5px/1 'Mulish',sans-serif; }
#nav-links { display:flex; align-items:center; gap:17px; }
#nav-hamburger { display:none; flex-direction:column; justify-content:center; gap:5px; width:38px; height:38px; padding:6px; border:none; background:transparent; cursor:pointer; flex-shrink:0; }
#nav-hamburger span { display:block; width:22px; height:2px; background:#4a3f74; border-radius:2px; transition:transform .25s, opacity .2s; }
#nav-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
#nav-hamburger.open span:nth-child(2) { opacity:0; }
#nav-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
@media (max-width:1120px) {
  #nav-links { display:none; flex-direction:column; align-items:flex-start; gap:0; position:absolute; top:100%; left:0; right:0; background:rgba(250,247,242,.97); backdrop-filter:blur(12px); border-bottom:1px solid rgba(124,108,176,.14); padding:8px 0 16px; z-index:49; }
  #nav-links.open { display:flex; }
  #nav-links a, #nav-links div { width:100%; }
  #nav-links a { padding:14px 28px; font-size:15px !important; }
  #nav-links .bss-btn { margin:10px 28px 4px; width:calc(100% - 56px) !important; text-align:center; justify-content:center; }
  #nav-links > div { padding:10px 28px 4px; }
  #nav-hamburger { display:flex; }
  #bss-nav { padding:14px 20px; }
}
