/* ============================================================
   BREATHER.CSS — Frutiger Aero aquatic theme for breather.html.
   Glossy, watery, bubble-glass UI. Deliberately separate from
   the rest of the site's pink pixel aesthetic.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;600;700&display=swap');

*{box-sizing:border-box}

html,body{height:100%;margin:0}

body.breather-page{
  min-height:100vh;
  font-family:"Quicksand",sans-serif;
  color:#0a3550;
  background:url('https://izzytwinkle.neocities.org/pictures/serenity.jpg') center center / cover no-repeat fixed;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.breather-back{
  position:fixed;
  top:16px;
  left:16px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 18px;
  background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(200,235,255,.55));
  border:1px solid rgba(255,255,255,.8);
  border-radius:999px;
  color:#0a3550;
  font-weight:700;
  font-size:13px;
  text-decoration:none;
  backdrop-filter:blur(6px);
  box-shadow:0 4px 14px rgba(10,80,120,.25),inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .15s ease;
}
.breather-back:hover{transform:translateY(-2px);text-decoration:none;color:#0a3550}

.breather-wrap{
  position:relative;
  z-index:2;
  width:min(420px,100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
}

/* ---- scattered fish ---- */
.breather-fish-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.breather-fish{
  position:absolute;
  height:auto;
  filter:drop-shadow(0 4px 10px rgba(0,35,60,.4));
  animation-name:fish-bob;
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
}
@keyframes fish-bob{0%,100%{transform:translateY(0) scaleX(var(--flip,1))}50%{transform:translateY(-16px) scaleX(var(--flip,1))}}

.f1{top:7%;left:6%;width:62px;--flip:1;animation-duration:7s}
.f2{top:12%;right:7%;width:54px;--flip:-1;animation-duration:8.5s;animation-delay:.6s}
.f3{top:36%;left:3%;width:46px;--flip:1;animation-duration:6.5s;animation-delay:1.2s}
.f4{top:44%;right:4%;width:70px;--flip:-1;animation-duration:9s;animation-delay:.3s}
.f5{top:63%;left:8%;width:58px;--flip:1;animation-duration:7.5s;animation-delay:1.8s}
.f6{top:68%;right:9%;width:50px;--flip:-1;animation-duration:6.8s;animation-delay:.9s}
.f7{bottom:6%;left:18%;width:64px;--flip:1;animation-duration:8s;animation-delay:.2s}
.f8{bottom:9%;right:20%;width:56px;--flip:-1;animation-duration:7.2s;animation-delay:1.5s}
.f9{top:4%;left:44%;width:42px;--flip:1;animation-duration:6s;animation-delay:1s}
.f10{bottom:4%;right:44%;width:50px;--flip:-1;animation-duration:8.8s;animation-delay:.5s}

@media(max-width:640px){
  .f3,.f4,.f9,.f10{display:none}
  .breather-fish{filter:drop-shadow(0 3px 8px rgba(0,35,60,.4)) brightness(1)}
  .f1{width:48px}.f2{width:44px}.f5{width:46px}.f6{width:42px}.f7{width:50px}.f8{width:46px}
}

@media(prefers-reduced-motion:reduce){
  .breather-fish{animation:none}
}

/* ---- the glass player card ---- */
.aero-player{
  position:relative;
  width:100%;
  padding:26px 24px 22px;
  border-radius:32px;
  background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(190,230,250,.35) 55%,rgba(140,210,240,.4) 100%);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 20px 45px rgba(6,60,95,.35),inset 0 1px 0 rgba(255,255,255,.9),inset 0 -12px 30px rgba(120,200,235,.25);
  backdrop-filter:blur(14px);
  overflow:hidden;
}

/* glossy highlight streak across the top, classic aero shine */
.aero-player::before{
  content:"";
  position:absolute;
  top:-40%;
  left:-10%;
  width:120%;
  height:60%;
  background:linear-gradient(180deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,0) 100%);
  border-radius:50%;
  transform:rotate(-4deg);
  pointer-events:none;
}

/* a couple of drifting bubbles for atmosphere */
.aero-player::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(circle 5px at 14% 82%, rgba(255,255,255,.75), rgba(255,255,255,0) 70%),
    radial-gradient(circle 3px at 82% 24%, rgba(255,255,255,.7), rgba(255,255,255,0) 70%),
    radial-gradient(circle 4px at 70% 88%, rgba(255,255,255,.6), rgba(255,255,255,0) 70%);
}

.aero-title{
  position:relative;
  text-align:center;
  font-weight:700;
  font-size:15px;
  letter-spacing:.5px;
  color:#08415f;
  margin-bottom:14px;
  text-shadow:0 1px 0 rgba(255,255,255,.8);
}

.aero-track-info{
  position:relative;
  text-align:center;
  padding:10px 12px;
  margin-bottom:14px;
  background:rgba(255,255,255,.4);
  border:1px solid rgba(255,255,255,.7);
  border-radius:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.aero-track-name{font-weight:600;font-size:13.5px;color:#0a3550;overflow-wrap:anywhere}

.aero-seek{
  position:relative;
  display:grid;
  grid-template-columns:32px 1fr 32px;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
}
.aero-time{font-size:10.5px;font-weight:600;text-align:center;color:#0a3550}

input[type="range"]{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:8px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(150,210,235,.6));
  box-shadow:inset 0 1px 3px rgba(10,60,90,.35),inset 0 1px 0 rgba(255,255,255,.8);
  cursor:pointer;
}
input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:18px;height:18px;
  border-radius:50%;
  background:radial-gradient(circle at 32% 28%, #ffffff 0%, #bfe9ff 45%, #4fb6e6 100%);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 2px 6px rgba(10,60,90,.4);
}
input[type="range"]::-moz-range-thumb{
  width:18px;height:18px;border-radius:50%;
  background:radial-gradient(circle at 32% 28%, #ffffff 0%, #bfe9ff 45%, #4fb6e6 100%);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 2px 6px rgba(10,60,90,.4);
}

.aero-buttons{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-bottom:16px;
}
.aero-btn{
  position:relative;
  width:46px;height:46px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.85);
  background:linear-gradient(180deg,#ffffff 0%,#cdeeff 45%,#6fc3ea 100%);
  box-shadow:0 5px 12px rgba(10,70,105,.4),inset 0 1px 0 rgba(255,255,255,.9);
  color:#0a3550;
  font-size:15px;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .12s ease;
}
.aero-btn:hover{transform:translateY(-2px)}
.aero-btn:active{transform:translateY(0);box-shadow:0 2px 6px rgba(10,70,105,.4),inset 0 1px 0 rgba(255,255,255,.9)}
.aero-btn-main{width:58px;height:58px;font-size:19px}

.aero-volume{
  position:relative;
  display:grid;
  grid-template-columns:22px 1fr;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
}
.aero-volume span{text-align:center;font-size:14px}

.aero-playlist{
  position:relative;
  max-height:120px;
  overflow-y:auto;
  border-top:1px solid rgba(255,255,255,.6);
  padding-top:10px;
}
.aero-playlist::-webkit-scrollbar{width:6px}
.aero-playlist::-webkit-scrollbar-track{background:rgba(255,255,255,.2)}
.aero-playlist::-webkit-scrollbar-thumb{background:#6fc3ea;border-radius:4px}
.aero-playlist-item{
  padding:7px 10px;
  margin-bottom:4px;
  border-radius:10px;
  font-size:11.5px;
  font-weight:600;
  color:#0a3550;
  cursor:pointer;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:background .15s ease;
}
.aero-playlist-item:hover{background:rgba(255,255,255,.4)}
.aero-playlist-item.active{background:rgba(255,255,255,.65);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}

.breather-caption{
  color:#fff;
  font-weight:600;
  font-size:13px;
  text-align:center;
  text-shadow:0 1px 6px rgba(0,40,70,.6);
  margin:0;
}

#aeroAudio{display:none}

@media(max-width:480px){
  .aero-player{padding:22px 18px 18px;border-radius:26px}
  .aero-btn{width:42px;height:42px}
  .aero-btn-main{width:52px;height:52px}
}
