/* ═══════════════════════════════════════════════════════════════
   NowssB — LIQUID GLASS PLAYER  (mockup layout)
   NowssB → glass waveform panel → word title → progress → ‹‹ ⏸ ››
   6 cosmic themes rotate per word.
═══════════════════════════════════════════════════════════════ */

.lgp {
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center;
  padding: max(env(safe-area-inset-top,14px),14px) 24px calc(env(safe-area-inset-bottom,16px) + 18px);
  overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch;
  box-sizing:border-box; font-family:'DM Sans',sans-serif; color:#fff;
  background: var(--lg-bg, linear-gradient(160deg,#06323e,#1ba0b5)) center/cover no-repeat;
  background-attachment:fixed;
  transition: background .9s ease;
}
.lgp::-webkit-scrollbar { display:none; }
.lgp * { box-sizing:border-box; }

/* themes */
.lgp.lg-t1 { --lg-bg:linear-gradient(160deg,#06323e 0%,#0e6f81 50%,#1ba6bb 100%); --lg-accent:#5ff0e0; }
.lgp.lg-t2 { --lg-bg:linear-gradient(160deg,#1a0033 0%,#34106a 50%,#5a23a6 100%); --lg-accent:#bd7bff; }
.lgp.lg-t3 { --lg-bg:linear-gradient(160deg,#0a1a3a 0%,#244a86 50%,#3f7bd2 100%); --lg-accent:#a6dcff; }
.lgp.lg-t4 { --lg-bg:url('assets/player/t-cosmic.jpg');   --lg-accent:#9bb8ff; }
.lgp.lg-t5 { --lg-bg:url('assets/player/t-mountain.jpg'); --lg-accent:#cfdcff; }
.lgp.lg-t6 { --lg-bg:url('assets/player/t-wave.jpg');     --lg-accent:#7fe9da; }

.lgp .lgp-scrim {
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(120% 70% at 50% 0%, rgba(255,255,255,.10), transparent 55%),
    linear-gradient(180deg, rgba(6,10,25,.28) 0%, rgba(6,10,25,.40) 55%, rgba(6,10,25,.62) 100%);
}
.lgp .lgp-orbs {
  position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.55;
  background-image:
    radial-gradient(circle 5px at 16% 26%, rgba(255,255,255,.7), transparent 60%),
    radial-gradient(circle 3px at 78% 18%, rgba(255,255,255,.6), transparent 60%),
    radial-gradient(circle 4px at 86% 60%, rgba(255,255,255,.5), transparent 60%),
    radial-gradient(circle 2px at 24% 74%, rgba(255,255,255,.6), transparent 60%);
}
.lgp > *:not(.lgp-bg):not(.lgp-scrim):not(.lgp-orbs) { position:relative; z-index:2; }

/* top bar */
.lgp .lgp-top { width:100%; display:flex; align-items:center; justify-content:space-between; }
.lgp .lgp-back, .lgp .lgp-settings {
  width:42px; height:42px; border:none; border-radius:50% !important; cursor:pointer;
  background:rgba(255,255,255,.14); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 6px 18px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.4);
  display:flex; align-items:center; justify-content:center;
}
.lgp .lgp-brand {
  margin-top:8px; font-size:26px; font-weight:800; letter-spacing:-.5px;
  text-shadow:0 2px 20px rgba(0,0,0,.4), 0 0 26px var(--lg-accent);
}
.lgp .lgp-ritual {
  margin-top:4px; font-size:10px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase;
  color:rgba(255,255,255,.7);
}

/* central glass waveform panel */
.lgp .lgp-visual {
  width:100%; max-width:312px; margin:12px 0 2px; aspect-ratio:1/.62; flex-shrink:0;
  border-radius:30px !important; overflow:hidden; position:relative;
  background:rgba(255,255,255,.10);
  -webkit-backdrop-filter:blur(20px) saturate(1.5); backdrop-filter:blur(20px) saturate(1.5);
  border:1px solid rgba(255,255,255,.3);
  box-shadow:0 26px 70px rgba(0,0,0,.45), 0 0 70px -12px var(--lg-accent),
             inset 0 2px 1px rgba(255,255,255,.5), inset 0 -14px 36px rgba(0,0,0,.22);
  display:flex; align-items:center; justify-content:center;
}
.lgp .lgp-video {
  width:100%; height:100%; object-fit:cover; display:block; border-radius:30px !important;
}
.lgp .lgp-wave-svg { width:88%; height:62%; overflow:visible; }
.lgp .lgp-wp { fill:url(#lgpGrad); opacity:.92; filter:drop-shadow(0 0 14px var(--lg-accent)); }
.lgp .lgp-wp2 { opacity:.55; transform:scaleY(.7); transform-origin:center; }
.lgp .lgp-wp3 { fill:none; stroke:#fff; stroke-width:2.5; opacity:.85; }
.lgp .lgp-wp1 { animation:lgpWaveA 3.2s ease-in-out infinite; }
.lgp .lgp-wp2 { animation:lgpWaveB 3.8s ease-in-out infinite; }
.lgp .lgp-wp3 { animation:lgpWaveC 2.6s ease-in-out infinite; }
.lgp.playing .lgp-wp1 { animation-duration:1.0s; }
.lgp.playing .lgp-wp2 { animation-duration:1.3s; }
.lgp.playing .lgp-wp3 { animation-duration:.8s; }
@keyframes lgpWaveA { 0%,100%{ transform:scaleY(1) } 50%{ transform:scaleY(1.45) } }
@keyframes lgpWaveB { 0%,100%{ transform:scaleY(.7) } 50%{ transform:scaleY(1.05) } }
@keyframes lgpWaveC { 0%,100%{ transform:translateY(0) scaleY(1) } 50%{ transform:translateY(-6px) scaleY(1.3) } }

/* title / syllables / organ */
.lgp .lgp-title {
  margin-top:12px; font-size:34px; font-weight:800; letter-spacing:.5px; text-align:center; line-height:1.05;
  text-shadow:0 2px 26px rgba(0,0,0,.45), 0 0 32px var(--lg-accent);
}
.lgp .lgp-syls { margin-top:12px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:center; }
.lgp .lgp-syl {
  padding:6px 13px; border-radius:12px !important; font-size:14px; font-weight:600;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.34);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  box-shadow:0 5px 16px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.45);
}
.lgp .lgp-syl.active { background:rgba(255,255,255,.5); color:#10202e; box-shadow:0 0 22px var(--lg-accent); }
.lgp .lgp-syl-dot { opacity:.55; }
.lgp .lgp-organ {
  margin-top:10px; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  color:rgba(255,255,255,.72);
}

/* progress */
.lgp .lgp-progress {
  width:100%; max-width:312px; height:5px; margin:14px 0 2px; border-radius:999px !important;
  background:rgba(255,255,255,.2); overflow:hidden;
}
.lgp .lgp-progress-fill {
  height:100%; border-radius:999px !important;
  background:linear-gradient(90deg, var(--lg-accent), #fff);
  box-shadow:0 0 14px var(--lg-accent); transition:width .3s ease;
}

/* phase / controls */
.lgp .lgp-phase { width:100%; margin-top:14px; padding-top:6px; display:flex; flex-direction:column; align-items:center; }
.lgp .lgp-status { font-size:11px; font-weight:600; letter-spacing:1px; color:rgba(255,255,255,.78); }
.lgp .lgp-status.recording { color:#ff8a8a; }
.lgp .lgp-controls { display:flex; align-items:center; justify-content:center; gap:26px; margin-top:6px; }
.lgp .lgp-ctrl {
  width:54px; height:54px; border:none; border-radius:50% !important; cursor:pointer;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3);
  -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
  box-shadow:0 10px 28px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.4);
  display:flex; align-items:center; justify-content:center;
}
.lgp .lgp-ctrl:disabled { opacity:.35; }
.lgp .lgp-ctrl:active { transform:scale(.92); }
.lgp .lgp-play {
  width:76px; height:76px; border:none; border-radius:50% !important; cursor:pointer;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.4);
  -webkit-backdrop-filter:blur(22px) saturate(1.5); backdrop-filter:blur(22px) saturate(1.5);
  box-shadow:0 18px 48px rgba(0,0,0,.45), 0 0 60px -6px var(--lg-accent),
             inset 0 2px 1px rgba(255,255,255,.6), inset 0 -8px 22px rgba(0,0,0,.25);
  display:flex; align-items:center; justify-content:center;
}
.lgp .lgp-play:active { transform:scale(.95); }
.lgp .lgp-mic, .lgp .lgp-cta {
  margin-top:14px; border:none; cursor:pointer; font-family:'DM Sans',sans-serif; font-weight:700;
  padding:13px 26px; border-radius:16px !important; color:#fff; font-size:14px; letter-spacing:.5px;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.32);
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  box-shadow:0 10px 28px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.4);
}
.lgp .lgp-cta { background:linear-gradient(135deg, var(--lg-accent), #fff); color:#10202e; }

/* recording waveform bars */
.lgp .sp-rec-waveform { display:flex; align-items:center; gap:3px; height:46px; }
.lgp .sp-rec-bar {
  width:4px; border-radius:6px !important; background:linear-gradient(to top, var(--lg-accent), #fff);
  box-shadow:0 0 8px var(--lg-accent); transition:height .08s ease;
}

/* curved liquid-glass dock (Settings · Replay · Library) */
.lgp .lgp-dock {
  width:100%; max-width:340px; margin-top:18px; display:flex; align-items:center; justify-content:space-around; gap:10px;
  padding:14px 22px calc(env(safe-area-inset-bottom,8px) + 10px);
  border-radius:34px 34px 0 0 !important;
  background:rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(22px) saturate(1.5); backdrop-filter:blur(22px) saturate(1.5);
  border:1px solid rgba(255,255,255,.28); border-bottom:none;
  box-shadow:0 -10px 34px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.45);
}
.lgp .lgp-dock-btn {
  border:none; cursor:pointer; background:none; color:#fff;
  display:flex; flex-direction:column; align-items:center; gap:4px;
  font-family:'DM Sans',sans-serif; font-size:10px; font-weight:700; letter-spacing:.5px;
  opacity:.92;
}
.lgp .lgp-dock-btn:active { transform:scale(.92); }
.lgp .lgp-dock-btn img { width:24px; height:24px; object-fit:contain; filter:brightness(0) invert(1); opacity:.92; }
.lgp .lgp-dock-btn span { text-transform:uppercase; }

/* curved liquid-glass ARC — slides up from Settings */
.lgp-arc { position:fixed; inset:0; z-index:200; pointer-events:none; font-family:'DM Sans',sans-serif; }
.lgp-arc.open { pointer-events:auto; }
.lgp-arc-back { position:absolute; inset:0; background:rgba(6,10,25,.45); opacity:0; transition:opacity .3s; }
.lgp-arc.open .lgp-arc-back { opacity:1; }
.lgp-arc-sheet {
  position:absolute; left:0; right:0; bottom:0; transform:translateY(105%);
  transition:transform .38s cubic-bezier(.16,1,.3,1);
  border-radius:42px 42px 0 0 !important;
  background:rgba(255,255,255,.13);
  -webkit-backdrop-filter:blur(30px) saturate(1.6); backdrop-filter:blur(30px) saturate(1.6);
  border:1px solid rgba(255,255,255,.3); border-bottom:none;
  box-shadow:0 -16px 54px rgba(0,0,0,.45), inset 0 2px 0 rgba(255,255,255,.45);
  padding:14px 24px calc(env(safe-area-inset-bottom,16px) + 22px); color:#fff;
}
.lgp-arc.open .lgp-arc-sheet { transform:translateY(0); }
.lgp-arc-handle { width:44px; height:5px; border-radius:3px !important; background:rgba(255,255,255,.45); margin:0 auto 18px; }
.lgp-arc-row { display:flex; align-items:center; justify-content:space-between; padding:14px 6px; border-bottom:1px solid rgba(255,255,255,.12); cursor:pointer; font-size:15px; }
.lgp-arc-row span { font-weight:600; }
.lgp-arc-row b { color:#fff; font-weight:700; }
.lgp-arc-seg { display:flex; gap:8px; }
.lgp-arc-seg button { border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.1); color:#fff; padding:8px 16px; border-radius:12px !important; font-weight:700; font-size:13px; cursor:pointer; }
.lgp-arc-seg button.on { background:rgba(255,255,255,.85); color:#10202e; }
.lgp-arc-actions { display:flex; gap:14px; margin-top:18px; }
.lgp-arc-actions button { flex:1; display:flex; flex-direction:column; align-items:center; gap:7px; padding:16px; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.1); border-radius:20px !important; color:#fff; font-weight:700; font-size:12px; letter-spacing:.5px; cursor:pointer; text-transform:uppercase; }
.lgp-arc-actions button:active { transform:scale(.96); }
