:root{
  color-scheme:dark;
  --bg:#041126;
  --bg-deep:#020817;
  --panel:rgba(10,31,63,.58);
  --panel-strong:rgba(10,35,76,.76);
  --panel-soft:rgba(255,255,255,.055);
  --line:rgba(188,220,255,.16);
  --line-strong:rgba(197,226,255,.28);
  --text:#f4f9ff;
  --muted:#9db5d1;
  --accent:#4ca7ff;
  --accent-strong:#238dff;
  --accent-soft:rgba(76,167,255,.18);
  --blue:#70bcff;
  --success:#65e4bd;
  --danger:#ff8399;
  --warning:#ffd37d;
  --shadow:0 26px 80px rgba(0,6,22,.46);
  --glass-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 24px 80px rgba(0,8,30,.34);
  --radius:26px;
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg-deep);scroll-behavior:smooth}
body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:linear-gradient(145deg,#020817 0%,#061a38 48%,#031127 100%);overflow-x:hidden;padding-bottom:94px}
button,input,select,textarea{font:inherit}
button,a,input,select{ -webkit-tap-highlight-color:transparent }
button{color:inherit}
[hidden]{display:none!important}
.liquid-bg{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-2}
.orb{position:absolute;border-radius:50%;filter:blur(72px);opacity:.55;animation:float-orb 16s ease-in-out infinite alternate}
.orb-a{width:420px;height:420px;background:rgba(32,139,255,.54);left:-170px;top:-110px}
.orb-b{width:480px;height:480px;background:rgba(50,95,255,.32);right:-190px;top:23%;animation-delay:-5s}
.orb-c{width:360px;height:360px;background:rgba(54,211,255,.22);left:32%;bottom:-180px;animation-delay:-9s}
.mesh{position:absolute;inset:0;background-image:linear-gradient(rgba(159,207,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(159,207,255,.025) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 88%)}
@keyframes float-orb{to{transform:translate3d(30px,22px,0) scale(1.08)}}
.glass,.glass-bar{background:linear-gradient(145deg,rgba(15,48,92,.66),rgba(5,24,55,.5));border:1px solid var(--line);box-shadow:var(--glass-shadow);backdrop-filter:blur(28px) saturate(155%);-webkit-backdrop-filter:blur(28px) saturate(155%)}
.glass{border-radius:var(--radius)}
.topbar{position:sticky;top:0;z-index:40;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - 1280px)/2));border-width:0 0 1px;background:rgba(3,15,35,.62)}
.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none}
.brand-mark,.profile-avatar{display:grid;place-items:center;background:linear-gradient(145deg,#8dd1ff,#248fff 64%,#1766db);color:#03152e;font-weight:950;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 10px 30px rgba(25,130,255,.35)}
.brand-mark{width:40px;height:40px;border-radius:14px;font-size:20px}
.brand-copy strong,.brand-copy small{display:block}.brand-copy strong{font-size:16px;letter-spacing:.01em}.brand-copy small{margin-top:1px;color:var(--muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.top-actions{display:flex;align-items:center;gap:10px}.service-pill,.soft-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.055);border-radius:999px;color:#c8dcf4;font-size:12px;font-weight:800;padding:8px 11px}.service-pill i{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 16px var(--success)}
.shell{width:min(1280px,calc(100% - 30px));margin:0 auto;padding:42px 0 70px}
.auth-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(370px,.72fr);gap:22px;align-items:stretch;min-height:calc(100vh - 186px)}
.intro-card,.auth-card{padding:clamp(24px,4vw,46px)}
.intro-card{display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;isolation:isolate}
.intro-card:after{content:"";position:absolute;right:-80px;top:-90px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(105,190,255,.27),transparent 68%);z-index:-1}
.eyebrow,.section-label{font-size:11px;line-height:1.2;font-weight:900;letter-spacing:.18em;color:#7fc6ff;text-transform:uppercase}
.intro-card h1{max-width:760px;margin:15px 0 14px;font-size:clamp(2.2rem,5vw,4.8rem);line-height:1.02;letter-spacing:-.055em}
.intro-card>p{max-width:660px;margin:0;color:#b5c9e2;font-size:clamp(1rem,1.7vw,1.18rem);line-height:1.72}
.intro-preview{width:min(590px,100%);margin-top:34px;padding:14px;border:1px solid rgba(183,220,255,.14);border-radius:22px;background:rgba(3,17,39,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.preview-address,.preview-mail{display:flex;align-items:center;gap:12px;border:1px solid rgba(184,221,255,.11);background:rgba(255,255,255,.045);border-radius:16px;padding:14px 15px}.preview-address{justify-content:space-between;margin-bottom:9px}.preview-address span{font-weight:850;overflow:hidden;text-overflow:ellipsis}.preview-address b{font-size:11px;color:var(--success);background:rgba(101,228,189,.1);padding:6px 9px;border-radius:999px}.preview-mail+.preview-mail{margin-top:8px}.preview-mail i{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px rgba(76,167,255,.7)}.preview-mail div{display:grid;gap:4px;flex:1}.preview-mail strong{font-size:14px}.preview-mail small{color:var(--muted)}.preview-mail>span{font-size:24px;color:#8cb9e7}.muted-preview{opacity:.7}
.auth-card{align-self:center}.card-heading{display:flex;align-items:center;gap:13px;margin-bottom:22px}.card-heading h2{margin:0;font-size:1.6rem;letter-spacing:-.025em}.card-heading p{margin:5px 0 0;color:var(--muted)}.icon-bubble{width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:var(--accent-soft);border:1px solid rgba(124,194,255,.25);color:#9dd6ff;font-size:19px}
.provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.provider-button{min-height:52px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.055);display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-weight:850;transition:.22s ease}.provider-button:hover{transform:translateY(-1px);border-color:var(--line-strong);background:rgba(255,255,255,.085)}.provider-button span{font-size:18px}.panel-provider{background:linear-gradient(135deg,rgba(53,149,255,.2),rgba(255,255,255,.045))}.google-g{font-family:Arial,sans-serif;font-weight:900;color:#fff}
.divider{display:flex;align-items:center;gap:12px;margin:22px 0 15px;color:#7993b2;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}
.tabs,.mode-tabs{display:flex;gap:6px;padding:5px;border:1px solid var(--line);background:rgba(0,10,28,.25);border-radius:15px}.tab,.mode-tab{flex:1;border:0;border-radius:11px;background:transparent;color:var(--muted);font-weight:850;padding:10px 12px;cursor:pointer}.tab.active,.mode-tab.active{background:linear-gradient(135deg,rgba(79,170,255,.29),rgba(63,134,255,.17));color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.13)}
.form-stack{display:grid;gap:13px;margin-top:15px}label{display:grid;gap:7px}label>span{font-size:12px;color:#a9bed8;font-weight:800}input,select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:14px;background:rgba(2,15,36,.54);color:var(--text);padding:0 14px;outline:none;transition:.2s ease}input::placeholder{color:#6e87a5}input:focus,select:focus{border-color:rgba(82,173,255,.64);box-shadow:0 0 0 4px rgba(53,149,255,.1)}
.button,.ghost,.primary{border:1px solid transparent;border-radius:14px;min-height:45px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,opacity .18s ease;text-decoration:none}.button:hover,.ghost:hover,.primary:hover{transform:translateY(-1px)}.button:disabled,.ghost:disabled,.primary:disabled{opacity:.46;cursor:not-allowed;transform:none}.button.primary,.primary{background:linear-gradient(135deg,#65bdff,#258fff 62%,#2075ef);border-color:rgba(174,221,255,.42);color:#03162f;box-shadow:0 13px 30px rgba(34,137,255,.25),inset 0 1px 0 rgba(255,255,255,.52)}.button.secondary,.ghost{background:rgba(255,255,255,.055);border-color:var(--line);color:#d9eaff}.button.danger,.ghost.danger{background:rgba(255,91,121,.105);border-color:rgba(255,131,153,.25);color:#ffafbd}.wide{width:100%}.compact{min-height:38px;padding:0 12px;border-radius:12px;font-size:12px}
.turnstile-box{min-height:0;display:flex;justify-content:center}.compact-turnstile{margin:2px 0}.legal{display:flex;justify-content:center;gap:8px;margin:17px 0 0;color:#7590b0;font-size:12px}.legal a{color:#a8d5ff;text-decoration:none}
.dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;margin-bottom:16px}.profile-head{display:flex;align-items:center;gap:14px}.profile-avatar{width:52px;height:52px;border-radius:18px;font-size:23px}.dashboard-head h1{margin:4px 0 3px;font-size:clamp(1.45rem,3vw,2.1rem);letter-spacing:-.03em}.dashboard-head p{margin:0;color:var(--muted)}.quota-card{min-width:145px;text-align:right}.quota-card b{display:block;font-size:1.6rem}.quota-card span{color:var(--muted);font-size:12px}.mode-tabs{width:min(390px,100%);margin:0 auto 16px;padding:5px}
.dashboard-grid{display:grid;grid-template-columns:350px minmax(0,1fr);gap:16px}.mailbox-panel,.inbox-panel,.api-card,.admin-card,.admin-inbox,.admin-hero{padding:20px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.section-head h2{margin:5px 0 0;font-size:1.2rem;letter-spacing:-.018em}.section-head p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.icon-button{width:39px;height:39px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.055);color:#cfe6ff;cursor:pointer;font-size:18px}.custom-wrap{margin:16px 0 11px}.domain-suffix{margin-top:7px;color:#7fb7ec;font-size:12px}.mailbox-list{display:grid;gap:9px;margin-top:14px;max-height:455px;overflow:auto;padding-right:2px}.mailbox-item,.message-item,.admin-item{border:1px solid rgba(183,220,255,.11);border-radius:16px;background:rgba(255,255,255,.035);padding:13px;cursor:pointer;transition:.18s ease}.mailbox-item:hover,.message-item:hover,.admin-item.clickable:hover{border-color:rgba(109,187,255,.38);background:rgba(70,157,255,.09)}.mailbox-item.active,.message-item.active{border-color:rgba(91,180,255,.58);background:linear-gradient(135deg,rgba(50,149,255,.2),rgba(255,255,255,.04));box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.mailbox-item strong{display:block;overflow:hidden;text-overflow:ellipsis}.mailbox-item small{display:flex;justify-content:space-between;gap:8px;color:var(--muted);margin-top:7px;font-size:11px}
.inbox-head{min-height:70px}.inline-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.inbox-layout{display:grid;grid-template-columns:minmax(235px,.38fr) minmax(0,.62fr);gap:12px;margin-top:16px;min-height:530px}.message-list,.message-viewer{border:1px solid rgba(183,220,255,.11);background:rgba(0,11,29,.24);border-radius:18px;overflow:auto}.message-list{padding:9px}.message-item{display:grid;gap:5px}.message-item+.message-item{margin-top:7px}.message-item b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-item span,.message-item small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-viewer{padding:18px}.empty,.empty-state{height:100%;min-height:160px;display:grid;place-items:center;align-content:center;text-align:center;color:#7893b3}.empty-state span{font-size:27px;margin-bottom:7px;color:#70baff}.empty-state p{margin:0}.message-meta{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.message-meta h3{margin:0 0 10px;font-size:1.25rem}.message-meta p{margin:4px 0;color:var(--muted);font-size:12px}.message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;color:#dbeaff}.message-frame{width:100%;min-height:430px;border:0;border-radius:12px;background:#fff}
.api-card{margin-top:16px}.cost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.cost-grid>div,.admin-stats>div{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04);padding:14px}.cost-grid b,.cost-grid span{display:block}.cost-grid b{font-size:1.15rem}.cost-grid span{margin-top:4px;color:var(--muted);font-size:11px}pre{margin:10px 0 0;padding:15px;border:1px solid var(--line);border-radius:16px;background:rgba(1,10,27,.62);overflow:auto;color:#bfe0ff;font-size:12px;line-height:1.65}
.admin-panel{display:grid;gap:16px}.admin-hero{display:flex;justify-content:space-between;align-items:center;gap:18px}.admin-hero h2{margin:5px 0}.admin-hero p{margin:0;color:var(--muted)}.admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.admin-stats b,.admin-stats span{display:block}.admin-stats b{font-size:1.5rem}.admin-stats span{color:var(--muted);font-size:11px;margin-top:4px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-search{max-width:190px}.admin-list{display:grid;gap:9px;max-height:520px;overflow:auto;margin-top:14px}.admin-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-item-main{min-width:0;display:grid;gap:4px}.admin-item-main strong{overflow:hidden;text-overflow:ellipsis}.admin-item-main span,.admin-item-main small{color:var(--muted);font-size:11px}.admin-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.admin-actions .ghost{min-height:35px;padding:0 10px;font-size:11px}.admin-filters{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:8px;margin-top:13px}.admin-inbox{scroll-margin-top:90px}
.toast{position:fixed;left:50%;bottom:92px;z-index:120;transform:translateX(-50%);max-width:min(460px,calc(100vw - 30px));padding:12px 16px;border:1px solid rgba(156,208,255,.28);border-radius:14px;background:rgba(5,27,60,.9);backdrop-filter:blur(20px);box-shadow:0 16px 50px rgba(0,4,18,.45);color:#eef8ff;font-weight:800;font-size:13px;text-align:center}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(126,182,238,.25);border-radius:999px}
@media(max-width:980px){.auth-layout{grid-template-columns:1fr;min-height:0}.intro-card{min-height:420px}.dashboard-grid,.admin-grid{grid-template-columns:1fr}.mailbox-list{max-height:280px}.admin-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){body{padding-bottom:86px}.shell{width:min(100% - 20px,1280px);padding-top:20px}.topbar{height:64px}.brand-copy{display:none}.service-pill span{display:none}.auth-layout{gap:12px}.intro-card,.auth-card{padding:22px}.intro-card{min-height:360px}.intro-card h1{font-size:2.3rem}.intro-preview{margin-top:24px}.provider-grid{grid-template-columns:1fr}.dashboard-head{align-items:flex-start;padding:18px}.quota-card{min-width:auto}.profile-avatar{display:none}.inbox-layout{grid-template-columns:1fr;min-height:0}.message-list{max-height:280px;min-height:190px}.message-viewer{min-height:420px}.inbox-head,.admin-hero{flex-direction:column;align-items:stretch}.inline-actions{justify-content:flex-start}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-filters{grid-template-columns:1fr}.admin-search{max-width:none}.admin-item{align-items:flex-start;flex-direction:column}.admin-actions{justify-content:flex-start}.cost-grid{grid-template-columns:1fr}.top-actions{gap:6px}}
.music-fab {
  position: fixed;
  left: 50%;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%) translateY(0);
  z-index: 20;
  min-width: min(300px, calc(100vw - 28px));
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255,255,255,0.22);
  transition: transform 0.34s ease, opacity 0.24s ease, box-shadow 0.24s ease;
  will-change: transform, opacity;
}
.music-fab.is-hidden-down {
  transform: translateX(-50%) translateY(calc(100% + 34px));
  opacity: 0;
  pointer-events: none;
}
.music-fab:hover,
.music-fab:focus-visible {
  transform: translateX(-50%) translateY(-1px);
}
.music-fab.is-hidden-down:hover,
.music-fab.is-hidden-down:focus-visible {
  transform: translateX(-50%) translateY(calc(100% + 34px));
}
.music-shell {
  position: fixed;
  inset: 0;
  z-index: 95;
  padding: 18px;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at top, rgba(255, 220, 180, 0.14), transparent 50%), rgba(6, 10, 18, 0.55);
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.26s ease, visibility 0.26s ease;
}
.music-shell.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.music-sheet {
  transform: translateY(34px) scale(0.985);
  opacity: 0.94;
  transition: transform 0.32s ease, opacity 0.24s ease;
  width: min(1140px, 100%);
  max-height: min(90vh, 940px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 18px;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,0.16);
  background:
    linear-gradient(135deg, rgba(255,255,255,0.14), rgba(255,255,255,0.04)),
    rgba(18, 12, 22, 0.46);
}
.music-shell.is-open .music-sheet {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.music-sheet-head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  padding-right: 54px;
}
.music-sheet-title {
  margin: 0;
  font-size: 1.12rem;
  font-weight: 800;
}
.music-sheet-copy {
  margin: 6px 0 0;
  font-size: 0.86rem;
  color: var(--muted);
}
.music-close-button {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  line-height: 1;
  font-size: 1.15rem;
}
.music-close-button span {
  display: block;
  transform: translateY(-1px);
}
.music-layout {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: 16px;
  align-items: stretch;
}
.music-main,
.music-side {
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  padding: 16px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
  min-height: 0;
}
.music-main {
  overflow: auto;
}
.music-side {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.music-current-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.music-chip-cover {
  width: 62px;
  height: 62px;
  border-radius: 18px;
  object-fit: cover;
  background: rgba(255,255,255,0.06);
}
.music-chip-label {
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}
.music-chip-name {
  margin-top: 4px;
  font-size: 1rem;
  font-weight: 700;
}
.music-cover-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 28px;
  overflow: hidden;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
}
.music-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.music-chip-cover.music-switching,
.music-cover.music-switching {
  animation: musicCoverSwap 0.56s ease;
}
@keyframes musicCoverSwap {
  0% { opacity: 0.18; transform: scale(0.96); }
  50% { opacity: 1; transform: scale(1.015); }
  100% { opacity: 1; transform: scale(1); }
}
.music-meta {
  margin-top: 14px;
}
.music-title-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.music-quality-toggle {
  appearance: none;
  border: 0;
  flex: 0 0 auto;
  min-width: 26px;
  height: 26px;
  padding: 0 8px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1;
  transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}
.music-quality-toggle:hover {
  transform: translateY(-1px);
}
.music-quality-toggle.quality-normal {
  color: #dff1ff;
  background: rgba(86, 170, 255, 0.24);
  box-shadow: inset 0 0 0 1px rgba(130, 195, 255, 0.24);
}
.music-quality-toggle.quality-lossless {
  color: #eafff4;
  background: rgba(82, 210, 153, 0.22);
  box-shadow: inset 0 0 0 1px rgba(124, 232, 181, 0.22);
}
.music-quality-toggle:not(.is-switchable) {
  opacity: 0.88;
}
.music-title {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 1.12rem;
  line-height: 1.45;
}
.music-artist {
  margin: 6px 0 0;
  color: var(--muted);
}
.music-progress {
  margin-top: 14px;
}
.music-progress-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.84rem;
  color: var(--muted);
  margin-bottom: 8px;
}
.music-range {
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
  height: 10px;
  border-radius: 999px;
  outline: none;
  background:
    linear-gradient(90deg, rgba(255, 198, 138, 1) 0 var(--music-progress, 0%), rgba(255,255,255,0.08) var(--music-progress, 0%) 100%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.08),
    0 0 12px rgba(255, 194, 122, 0.18),
    0 0 22px rgba(255, 194, 122, 0.08);
}
.music-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.95);
  background: #ffca92;
  box-shadow: 0 0 0 4px rgba(255, 202, 146, 0.16), 0 0 12px rgba(255, 202, 146, 0.32);
}
.music-range::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.95);
  background: #ffca92;
  box-shadow: 0 0 0 4px rgba(255, 202, 146, 0.16), 0 0 12px rgba(255, 202, 146, 0.32);
}
.music-controls {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
}
.music-icon-button {
  position: relative;
  width: 50px;
  height: 50px;
  padding: 0;
  border-radius: 16px;
  font-size: 1.08rem;
  overflow: hidden;
}
.music-icon-track {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  pointer-events: none;
}
.music-icon-inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25em;
  line-height: 1;
  color: inherit;
  transform: translate3d(0, 0, 0);
  will-change: transform, opacity;
}
.music-icon-inner svg {
  width: 1.08em;
  height: 1.08em;
  display: block;
  fill: currentColor;
}
.music-icon-button::after {
  content: '';
  position: absolute;
  left: 11px;
  right: 11px;
  bottom: 7px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 198, 138, 0.96), rgba(255, 230, 205, 0.96));
  opacity: 0;
  transform: scaleX(0.4);
  transition: opacity 0.22s ease, transform 0.22s ease;
}
.music-icon-button.is-active {
  box-shadow: 0 0 0 1px rgba(255, 198, 138, 0.22), 0 10px 24px rgba(255, 198, 138, 0.16);
}
.music-icon-button.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}
.music-icon-button.music-anim-download .music-icon-inner {
  animation: musicIconDropCycle 0.46s cubic-bezier(0.22, 1, 0.36, 1);
}
.music-icon-button.music-anim-slide-left .music-icon-inner {
  animation: musicIconSlideLeftCycle 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}
.music-icon-button.music-anim-slide-right .music-icon-inner {
  animation: musicIconSlideRightCycle 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}
.music-icon-button.music-anim-spin .music-icon-inner {
  animation: musicIconSpin 0.5s ease;
}
.music-icon-button.music-anim-swap .music-icon-inner {
  animation: musicIconSwap 0.32s ease;
}
@keyframes musicIconDropCycle {
  0% { transform: translateY(0); opacity: 1; }
  28% { transform: translateY(55%); opacity: 1; }
  49% { transform: translateY(130%); opacity: 0; }
  50% { transform: translateY(-130%); opacity: 0; }
  74% { transform: translateY(-55%); opacity: 1; }
  100% { transform: translateY(0); opacity: 1; }
}
@keyframes musicIconSlideLeftCycle {
  0% { transform: translateX(0); opacity: 1; }
  28% { transform: translateX(-55%); opacity: 1; }
  49% { transform: translateX(-130%); opacity: 0; }
  50% { transform: translateX(130%); opacity: 0; }
  74% { transform: translateX(55%); opacity: 1; }
  100% { transform: translateX(0); opacity: 1; }
}
@keyframes musicIconSlideRightCycle {
  0% { transform: translateX(0); opacity: 1; }
  28% { transform: translateX(55%); opacity: 1; }
  49% { transform: translateX(130%); opacity: 0; }
  50% { transform: translateX(-130%); opacity: 0; }
  74% { transform: translateX(-55%); opacity: 1; }
  100% { transform: translateX(0); opacity: 1; }
}
@keyframes musicIconSpin {
  0% { transform: rotate(0deg) scale(0.95); }
  60% { transform: rotate(200deg) scale(1.06); }
  100% { transform: rotate(360deg) scale(1); }
}
@keyframes musicIconSwap {
  0% { transform: scale(1); opacity: 1; }
  28% { transform: scale(0.72); opacity: 0; }
  52% { transform: scale(0.72); opacity: 0; }
  76% { transform: scale(1.12); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes musicRangeGlow {
  0% { background-position: 0 0, 0 0; box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 0 12px rgba(255, 194, 122, 0.2), 0 0 22px rgba(255, 194, 122, 0.1); }
  50% { box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 0 16px rgba(255, 206, 150, 0.3), 0 0 28px rgba(255, 206, 150, 0.16); }
  100% { background-position: 48px 0, 0 0; box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 0 12px rgba(255, 194, 122, 0.2), 0 0 22px rgba(255, 194, 122, 0.1); }
}
.music-title,
.music-artist,
.music-chip-label,
.music-chip-name {
  will-change: transform, opacity, filter;
  transform-origin: left center;
}
.music-text-dust-out {
  animation: musicDustOut 0.28s ease forwards;
}
.music-text-dust-in {
  animation: musicDustIn 0.42s ease forwards;
}
@keyframes musicDustOut {
  0% { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0) scale(1); letter-spacing: 0; }
  55% { opacity: 0.62; filter: blur(2px); }
  100% { opacity: 0; filter: blur(7px); transform: translate3d(0, -4px, 0) scale(1.03); letter-spacing: 0.12em; text-shadow: 0 0 10px rgba(255, 198, 138, 0.22); }
}
@keyframes musicDustIn {
  0% { opacity: 0; filter: blur(7px); transform: translate3d(0, 4px, 0) scale(0.97); letter-spacing: 0.12em; text-shadow: 0 0 10px rgba(255, 198, 138, 0.18); }
  65% { opacity: 0.82; }
  100% { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0) scale(1); letter-spacing: 0; text-shadow: none; }
}
.music-side-head {
  flex: 0 0 auto;
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
}
.music-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.music-tab {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.05);
  color: var(--text);
  font-size: 0.85rem;
  font-weight: 700;
}
.music-tab.active {
  color: #2b1606;
  background: linear-gradient(135deg, var(--accent), var(--accent-soft));
  box-shadow: 0 8px 18px rgba(255, 191, 120, 0.18);
}
.music-search-wrap {
  display: grid;
}
.music-search-input {
  width: 100%;
  min-height: 44px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: var(--text);
  padding: 0 14px;
  font: inherit;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
}
.music-search-input::placeholder {
  color: rgba(255,255,255,0.48);
}
.music-search-input:focus {
  border-color: rgba(255, 198, 138, 0.32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 0 0 3px rgba(255, 198, 138, 0.08);
}
.music-support {
  flex: 1 1 auto;
  min-height: 0;
  max-height: min(56vh, 540px);
  overflow: auto;
  display: grid;
  gap: 10px;
  padding-right: 2px;
  align-content: start;
}
.music-list-item {
  width: 100%;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  color: var(--text);
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}
.music-list-item img {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  object-fit: cover;
  background: rgba(255,255,255,0.05);
}
.music-list-item strong {
  display: block;
  line-height: 1.35;
}
.music-list-copy {
  min-width: 0;
}
.music-list-title-text {
  display: inline-block;
  min-width: 0;
  max-width: 100%;
}
.music-title-line {
  display: block;
  min-width: 0;
  line-height: 1.35;
}
.music-title-line .music-list-title-text {
  display: inline;
  min-width: 0;
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
}
.music-title-line .music-inline-badge {
  margin-top: 0;
  margin-left: 3px;
  width: auto;
  vertical-align: baseline;
  position: relative;
  top: -1px;
}
.music-inline-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 16px;
  padding: 0 5px;
  border-radius: 999px;
  font-size: 0.64rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}
.music-inline-badge.is-quality {
  min-width: 18px;
  padding: 0 5px;
  font-weight: 800;
}
.music-inline-badge.is-quality-normal {
  color: #dff1ff;
  background: rgba(86, 170, 255, 0.24);
  box-shadow: inset 0 0 0 1px rgba(130, 195, 255, 0.24);
}
.music-inline-badge.is-quality-lossless {
  color: #eafff4;
  background: rgba(82, 210, 153, 0.22);
  box-shadow: inset 0 0 0 1px rgba(124, 232, 181, 0.22);
}
.music-inline-badge.is-muted {
  color: rgba(255,255,255,0.72);
  background: rgba(255,255,255,0.08);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
}
.music-list-item .music-list-subtext {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.82rem;
}
.music-list-item small {
  color: var(--muted);
  font-size: 0.8rem;
}
.music-list-item.active {
  border-color: rgba(255, 194, 122, 0.28);
  background: rgba(255, 194, 122, 0.08);
}
.music-lyrics {
  min-height: 0;
  max-height: 100%;
  height: 100%;
  overflow: auto;
  padding: 14px 12px 14px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.62;
  color: rgba(255,255,255,0.92);
  box-sizing: border-box;
  overscroll-behavior: contain;
  scroll-behavior: smooth;
}
.music-lyrics.music-lyrics-synced {
  display: grid;
  gap: 2px;
  align-content: start;
  white-space: normal;
}
.music-lyric-line {
  padding: 5px 8px;
  border-radius: 12px;
  line-height: 1.42;
  color: rgba(255,255,255,0.46);
  cursor: pointer;
  transition: color 0.22s ease, background 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease, text-shadow 0.22s ease, opacity 0.22s ease;
}
.music-lyric-line.is-past {
  color: rgba(255,255,255,0.68);
}
.music-lyric-line.is-empty {
  min-height: 1.1em;
  opacity: 0.28;
}
.music-lyric-line.is-active {
  color: #ffc98a;
  font-weight: 600;
  background: rgba(255, 198, 138, 0.06);
  -webkit-text-fill-color: currentColor;
  box-shadow: inset 0 0 0 1px rgba(255, 198, 138, 0.08);
  text-shadow: 0 0 8px rgba(255, 198, 138, 0.46), 0 0 18px rgba(255, 198, 138, 0.22);
  transform: none;
}
.music-lyric-loading {
  color: var(--muted);
  text-align: center;
  padding: 14px 8px;
}
.music-support.music-support-lyrics {
  overflow: hidden;
}
.music-support.music-support-lyrics .music-lyrics {
  min-height: min(32vh, 280px);
}
.music-empty {
  padding: 18px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  color: var(--muted);
  text-align: center;
}
@media (max-width: 960px) {
  .music-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .music-shell {
    padding: 10px;
    place-items: center;
  }
  .music-sheet {
    width: 100%;
    max-height: min(92vh, 1000px);
    padding: 14px;
    border-radius: 24px 24px 18px 18px;
    margin: 0 auto;
  }
  .music-sheet-head {
    align-items: flex-start;
    flex-direction: column;
    padding-right: 50px;
  }
  .music-current-top {
    align-items: center;
    flex-direction: row;
    gap: 10px;
    margin-bottom: 0;
  }
  .music-chip-cover {
    width: 48px;
    height: 48px;
    border-radius: 14px;
  }
  .music-chip-label {
    font-size: 0.66rem;
  }
  .music-chip-name {
    margin-top: 2px;
    font-size: 0.84rem;
  }
  .music-cover-wrap {
    grid-area: cover;
    width: 88px;
    border-radius: 20px;
  }
  .music-main,
  .music-side {
    padding: 14px;
    border-radius: 22px;
  }
  .music-main {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    grid-template-areas:
      "top top"
      "cover meta"
      "progress progress"
      "controls controls";
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
  }
  .music-current-top {
    grid-area: top;
  }
  .music-meta {
    grid-area: meta;
    margin-top: 0;
    align-self: center;
  }
  .music-progress {
    grid-area: progress;
    margin-top: 0;
  }
  .music-controls {
    grid-area: controls;
    margin-top: 0;
    justify-content: center;
  }
  .music-support {
    max-height: min(38vh, 360px);
  }
  .music-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .music-tab {
    width: 100%;
    min-height: 40px;
    padding: 0 8px;
    font-size: 0.8rem;
  }
  .music-fab {
    min-width: calc(100vw - 22px);
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%) translateY(0);
  }
}
@media (max-width: 480px) {
  .music-main {
    grid-template-columns: 76px minmax(0, 1fr);
    column-gap: 10px;
    row-gap: 10px;
  }
  .music-lyrics {
    padding: 12px 10px 12px 12px;
  }
  .music-lyrics.music-lyrics-synced {
    gap: 1px;
  }
  .music-lyric-line {
    padding: 4px 6px;
    line-height: 1.36;
  }
  .music-current-top {
    gap: 8px;
  }
  .music-chip-cover {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }
  .music-chip-label {
    font-size: 0.6rem;
  }
  .music-chip-name {
    font-size: 0.76rem;
  }
  .music-cover-wrap {
    width: 76px;
    border-radius: 18px;
  }
  .music-title-row {
    gap: 8px;
  }
  .music-quality-toggle {
    min-width: 24px;
    height: 22px;
    padding: 0 7px;
    font-size: 0.7rem;
  }
  .music-title {
    font-size: 1rem;
    line-height: 1.35;
  }
  .music-inline-badge {
    min-height: 15px;
    padding: 0 5px;
    font-size: 0.6rem;
  }
  .music-inline-badge.is-quality {
    min-width: 16px;
    padding: 0 4px;
  }
  .music-artist {
    margin-top: 4px;
    font-size: 0.88rem;
  }
  .music-controls {
    gap: 8px;
  }
  .music-icon-button {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    font-size: 1rem;
  }
  .music-close-button {
    width: 36px;
    height: 36px;
    min-height: 36px;
    font-size: 1rem;
  }
  .music-list-item {
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 10px;
    padding: 10px;
  }
  .music-list-item img {
    width: 48px;
    height: 48px;
    border-radius: 12px;
  }
  .music-list-item small {
    font-size: 0.74rem;
  }
}
.legal-page{width:min(760px,calc(100% - 28px));margin:60px auto;padding:28px;line-height:1.75}.legal-page h1{margin-top:0}.legal-page p{color:#bfd0e5}.legal-page a{color:#8acbff;font-weight:850;text-decoration:none}
/* Base visual tokens copied from the Panel Bot player so the media player remains identical. */
.music-shell{--line:rgba(255,235,214,.14);--line-strong:rgba(255,235,214,.24);--text:#fff4e5;--muted:#d7b48f;--accent:#ff9f43;--accent-soft:#ffc27a;--danger:#ff6f61;--success:#52d299;--shadow:0 22px 58px rgba(0,0,0,.34)}
.music-shell .glass{background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.05));border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.music-shell .button,#musicToggleButton{appearance:none;border:0;cursor:pointer;border-radius:16px;font-weight:700;font-size:.94rem;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;min-height:46px;padding:0 16px;color:#2b1606;background:linear-gradient(135deg,#ff9f43,#ffc27a);box-shadow:0 14px 26px rgba(255,159,67,.22)}
.music-shell .button.secondary,#musicToggleButton.secondary{color:#fff4e5;background:rgba(255,255,255,.07);box-shadow:none;border:1px solid rgba(255,255,255,.10)}
.music-shell .button:hover,#musicToggleButton:hover{transform:translateY(-1px)}


/* V6 Guest username/password authentication */
.guest-auth-tabs{margin-top:2px}
.guest-form{margin-top:13px}
.form-helper{margin:-2px 0 2px;color:var(--muted);font-size:12.5px;line-height:1.6}
.mailbox-item.system-mailbox{border-color:rgba(89,177,255,.5);background:linear-gradient(135deg,rgba(40,123,231,.2),rgba(17,66,142,.14))}
.mailbox-item strong em{display:inline-flex;margin-left:8px;padding:3px 7px;border-radius:999px;background:rgba(73,157,255,.2);border:1px solid rgba(130,199,255,.34);color:#bfe3ff;font-size:9px;font-style:normal;letter-spacing:.08em;vertical-align:middle}
