/* «Лясъра» — Кабината v1: будковият интерфейс (дялано дърво, брас, бакелит,
   лампено сияние). Портнато от test/radio-lyasara/prototype/kabina-v1.html (одобрен мокъп).
   Глобалните reset / body / html / button / input правила идват от base.css — не се повтарят.
   Токените --ivory / --ivory70 / --ivory50 / --night / --amber / --font-* идват от tokens.css. */

/* ---------- будкова палитра + фон (скоупирани) ---------- */
#screen-lyasara{
  --air-red:#e2502f;
  --pine-hi:#4a3216;
  --pine:#33220f;
  --pine-low:#231708;
  --seam:#160d05;
  --brass:#b88a3e;
  --brass-hi:#e8c277;
  --brass-low:#6e4f20;
  --bakelite:#141009;
  --bakelite-hi:#2a2014;
  --baize:#1d3a2a;
  --baize-hi:#27543a;
  --baize-low:#122418;
  --paper:#e6d9b6;
  --paper-old:#cebc8e;
  --ink-paper:#43301a;
  --ivory28:rgba(248,245,232,.28);
  --ember:#f08a2e;

  /* боровите дъски: вертикален обков + осветление от лампата */
  background:
    radial-gradient(130% 22% at 50% 0%, rgba(255,201,126,.16), transparent 60%),
    radial-gradient(80% 26% at 50% 60%, rgba(240,138,46,.13), transparent 66%),
    radial-gradient(70% 18% at 50% 60%, rgba(226,80,47,.07), transparent 62%),
    radial-gradient(60% 18% at 16% 22%, rgba(255,214,160,.05), transparent 64%),
    radial-gradient(60% 18% at 86% 40%, rgba(255,201,126,.045), transparent 64%),
    repeating-linear-gradient(90deg,
      rgba(0,0,0,.32) 0 1.5px, transparent 1.5px 3px,
      rgba(255,222,170,.035) 3px 4.5px, transparent 4.5px 41px),
    linear-gradient(180deg, #2c1d0f 0, #3a2714 30%, #2e1f10 60%, #1d130a 100%);
  box-shadow:0 0 90px 44px #050302;
}

/* ============================================================
   ТАВАНЪТ НА БУДКАТА
   ============================================================ */
#screen-lyasara .booth-head{position:relative;z-index:4;padding-top:18px;overflow:visible}
#screen-lyasara .cornice{position:absolute;left:-4%;right:-4%;top:0;height:18px;
  background:
    repeating-linear-gradient(90deg, rgba(0,0,0,.3) 0 2px, transparent 2px 30px),
    linear-gradient(180deg, #3c2914, #251806 70%, transparent);
  border-bottom:1.5px solid rgba(255,210,150,.14);
  box-shadow:0 6px 14px rgba(3,2,1,.5)}

#screen-lyasara .onair{position:relative;width:min(72%,300px);margin:6px auto 0;
  filter:drop-shadow(0 14px 22px rgba(3,2,1,.6));
  animation:onairSway 7s ease-in-out infinite;transform-origin:50% -22px}
@keyframes onairSway{0%,100%{transform:rotate(.5deg)}50%{transform:rotate(-.5deg)}}
#screen-lyasara .onair svg{display:block;width:100%;overflow:visible}
#screen-lyasara .onair .glass{transition:fill .3s ease}
#screen-lyasara .onair .halo{transform-box:fill-box;transform-origin:50% 50%;
  animation:onairFlick 5s ease-in-out infinite}
@keyframes onairFlick{0%,100%{opacity:.9}40%{opacity:.7}66%{opacity:.82}}
#screen-lyasara.recording .onair .glass{fill:var(--air-red)}
#screen-lyasara.recording .onair .halo{opacity:1;animation-duration:1.4s}

#screen-lyasara .signplate{position:relative;z-index:5;width:min(82%,360px);margin:16px auto 2px;text-align:center;
  padding:15px 24px 16px;
  background:
    radial-gradient(120% 100% at 50% 0%, rgba(255,255,255,.06), transparent 55%),
    linear-gradient(180deg, #15321f, #0e2417 75%, #0a1c12);
  border:3px solid var(--brass);outline:2px solid #0a1c12;
  border-radius:11px;
  box-shadow:0 12px 26px rgba(3,2,1,.55), inset 0 0 0 1px rgba(255,255,255,.04),
    inset 0 0 30px rgba(0,0,0,.5)}
#screen-lyasara .signplate::before,#screen-lyasara .signplate::after{content:'';position:absolute;top:-13px;width:2px;height:13px;
  background:linear-gradient(180deg,transparent,var(--brass))}
#screen-lyasara .signplate::before{left:24px}#screen-lyasara .signplate::after{right:24px}
#screen-lyasara .signplate .scr{position:absolute;width:7px;height:7px;border-radius:50%;
  background:radial-gradient(circle at 34% 30%, var(--brass-hi), var(--brass-low) 75%)}
#screen-lyasara .signplate .scr.a{left:9px;top:9px}#screen-lyasara .signplate .scr.b{right:9px;top:9px}
#screen-lyasara .signplate .scr.c{left:9px;bottom:9px}#screen-lyasara .signplate .scr.d{right:9px;bottom:9px}
#screen-lyasara .signplate h1{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:35px;
  letter-spacing:.01em;color:#f3ead2;
  text-shadow:0 1px 0 rgba(0,0,0,.5), 0 0 18px rgba(255,201,126,.28)}
#screen-lyasara .signplate p{margin-top:4px;font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,201,126,.62)}
#screen-lyasara .signplate .freq{display:inline-block;margin-top:8px;font-family:var(--font-ui);font-size:9px;
  letter-spacing:.18em;color:var(--ivory50)}

#screen-lyasara .cornprop{position:absolute;top:8px;z-index:6;filter:drop-shadow(0 6px 8px rgba(3,2,1,.5))}
#screen-lyasara .cornprop.phones{left:14px}
#screen-lyasara .cornprop.clock{right:14px}

/* ============================================================
   КАБИНКОВ НАДПИС НА СЕКЦИЯ
   ============================================================ */
#screen-lyasara .bsec{position:relative;z-index:3;padding:30px 22px 0}
#screen-lyasara .kick{font-size:9.5px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,201,126,.6)}
#screen-lyasara .kick::after{content:'';display:inline-block;vertical-align:middle;margin-left:12px;width:42px;height:1px;
  background:linear-gradient(90deg, rgba(255,201,126,.4), transparent)}
#screen-lyasara .bsec h2{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:25px;margin-top:5px;
  text-shadow:0 2px 12px rgba(0,0,0,.5)}
#screen-lyasara .how{margin-top:6px;font-size:12.5px;line-height:1.55;color:var(--ivory70);max-width:44ch}

#screen-lyasara .frieze{height:14px;margin:30px 22px 0;opacity:.5;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='14'%3E%3Ccircle cx='22' cy='7' r='3' fill='%23b88a3e'/%3E%3Ccircle cx='22' cy='7' r='1.2' fill='%23e8c277'/%3E%3Cpath d='M0 7 H16 M28 7 H44' stroke='%236e4f20' stroke-width='1.4'/%3E%3Ccircle cx='4' cy='7' r='1.4' fill='%236e4f20'/%3E%3Ccircle cx='40' cy='7' r='1.4' fill='%236e4f20'/%3E%3C/svg%3E") repeat-x center / 44px 14px;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent)}

/* ============================================================
   ПУЛТЪТ
   ============================================================ */
#screen-lyasara .deskwrap{position:relative;z-index:3;margin-top:14px}
#screen-lyasara .tubeglow{position:absolute;left:50%;top:8px;width:118%;height:330px;transform:translateX(-50%);
  pointer-events:none;z-index:0;
  background:radial-gradient(46% 42% at 50% 38%, rgba(240,138,46,.16), transparent 70%);
  animation:tube 5s ease-in-out infinite}
@keyframes tube{0%,100%{opacity:1}45%{opacity:.82}}
#screen-lyasara.recording .tubeglow{animation-duration:1.6s;
  background:radial-gradient(46% 42% at 50% 38%, rgba(240,138,46,.24), transparent 70%)}

/* ============================================================
   СТУДИЙНИЯТ КЪТ
   ============================================================ */
#screen-lyasara .studio{position:relative;z-index:2;margin:8px 14px 0;padding:16px 0 0}
#screen-lyasara .foam{position:absolute;left:0;right:0;top:0;height:228px;z-index:0;border-radius:16px 16px 6px 6px;overflow:hidden;
  background:
    radial-gradient(58% 56% at 50% 36%, rgba(255,201,126,.12), transparent 70%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Crect width='30' height='30' fill='%231a120a'/%3E%3Cpath d='M0 0 L15 15 L0 30 Z' fill='%2322170d'/%3E%3Cpath d='M30 0 L15 15 L30 30 Z' fill='%2322170d'/%3E%3Cpath d='M0 0 L15 15 L30 0 Z' fill='%232e1f11'/%3E%3Cpath d='M0 30 L15 15 L30 30 Z' fill='%23130c05'/%3E%3C/svg%3E") repeat;
  box-shadow:inset 0 0 50px rgba(0,0,0,.6), inset 0 2px 0 rgba(255,210,150,.06);
  -webkit-mask-image:linear-gradient(180deg, #000 58%, transparent);
          mask-image:linear-gradient(180deg, #000 58%, transparent)}
#screen-lyasara .shelf{position:absolute;left:8px;right:8px;top:12px;height:52px;z-index:2}
#screen-lyasara .shelf .board{position:absolute;left:0;right:0;bottom:0;height:11px;
  background:linear-gradient(180deg, #3e2a14, #20130a);
  clip-path:polygon(1.5% 0, 98.5% 0, 100% 100%, 0 100%);
  box-shadow:0 8px 14px rgba(3,2,1,.55)}
#screen-lyasara .shelf .it{position:absolute;bottom:9px;filter:drop-shadow(0 5px 7px rgba(3,2,1,.5))}
#screen-lyasara .shelf .it.coil{left:4px}
#screen-lyasara .shelf .it.reel-a{left:60px}
#screen-lyasara .shelf .it.reel-b{right:58px}
#screen-lyasara .shelf .it.clock{right:2px}
#screen-lyasara .shelf .it svg{display:block}
#screen-lyasara .reel .reelspin{transform-box:fill-box;transform-origin:center;animation:spin 9s linear infinite}
#screen-lyasara .reel.b .reelspin{animation-duration:12s;animation-direction:reverse}
#screen-lyasara .pennant{position:absolute;left:50%;top:-4px;transform:translateX(-50%);z-index:3;
  filter:drop-shadow(0 4px 5px rgba(3,2,1,.5))}

/* самият пулт: зелено сукно с брас-кант върху бакелитена предница */
#screen-lyasara .console{position:relative;z-index:1;margin:-30px 14px 0;padding:42px 18px 20px;
  background:
    radial-gradient(92% 55% at 50% 14%, rgba(255,201,126,.10), transparent 60%),
    radial-gradient(60% 36% at 50% 90%, rgba(240,138,46,.06), transparent 70%),
    radial-gradient(70% 50% at 50% 30%, var(--baize-hi), transparent 64%),
    repeating-linear-gradient(90deg, rgba(0,0,0,.05) 0 1px, transparent 1px 3px),
    linear-gradient(180deg, var(--baize) 0, var(--baize-low) 100%);
  border:3px solid #0c1c12;
  border-radius:18px 18px 14px 14px;
  box-shadow:0 22px 40px rgba(3,2,1,.6), inset 0 1px 0 rgba(255,255,255,.05),
    inset 0 0 40px rgba(0,0,0,.5)}
#screen-lyasara .console::before{content:'';position:absolute;left:10px;right:10px;top:8px;height:3px;border-radius:2px;
  background:linear-gradient(90deg, var(--brass-low), var(--brass-hi) 50%, var(--brass-low))}
#screen-lyasara .console>.scr{position:absolute;width:8px;height:8px;border-radius:50%;z-index:4;
  background:radial-gradient(circle at 34% 30%, var(--brass-hi), var(--brass-low) 76%);
  box-shadow:0 1px 2px rgba(0,0,0,.6)}
#screen-lyasara .console>.scr.a{left:12px;top:12px}#screen-lyasara .console>.scr.b{right:12px;top:12px}
#screen-lyasara .console>.scr.c{left:12px;bottom:12px}#screen-lyasara .console>.scr.d{right:12px;bottom:12px}

#screen-lyasara .metersrow{display:flex;justify-content:center;align-items:flex-end;gap:14px;margin:0 0 6px}
#screen-lyasara .vu{width:96px}
#screen-lyasara .vu svg{display:block;width:100%}
#screen-lyasara .vu .needle{transform-box:fill-box;transform-origin:50% 100%;
  animation:vuIdle 4.5s ease-in-out infinite}
#screen-lyasara .vu.r .needle{animation-duration:5.3s;animation-delay:-1.2s}
@keyframes vuIdle{0%,100%{transform:rotate(-26deg)}
  30%{transform:rotate(-10deg)}48%{transform:rotate(-20deg)}70%{transform:rotate(-4deg)}}
#screen-lyasara.recording .vu .needle{animation:vuHot .5s ease-in-out infinite}
#screen-lyasara.recording .vu.r .needle{animation-delay:-.18s}
@keyframes vuHot{0%,100%{transform:rotate(-22deg)}50%{transform:rotate(10deg)}}
#screen-lyasara .knobs{display:flex;justify-content:center;gap:16px;margin-top:2px}
#screen-lyasara .knob{position:relative;width:26px;height:26px;border-radius:50%;
  background:radial-gradient(circle at 36% 30%, #2c2114, #0c0905 78%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 2px 4px rgba(0,0,0,.5),
    0 0 0 2px rgba(184,138,62,.22)}
#screen-lyasara .knob::after{content:'';position:absolute;left:50%;top:3px;width:2px;height:9px;margin-left:-1px;
  border-radius:1px;background:var(--brass-hi)}
#screen-lyasara .knob.k2::after{transform-origin:50% 10px;transform:rotate(40deg)}
#screen-lyasara .knob.k3::after{transform-origin:50% 10px;transform:rotate(-32deg)}
#screen-lyasara .controlstrip{display:flex;justify-content:center;align-items:flex-end;gap:26px;margin-top:4px}
#screen-lyasara .controlstrip .knobs{margin-top:0}
#screen-lyasara .faders{display:flex;gap:15px;align-items:flex-end}
#screen-lyasara .fader{position:relative;width:7px;height:42px;border-radius:4px;
  background:linear-gradient(90deg,#0a0604,#1a120a 50%,#0a0604);
  box-shadow:inset 0 0 0 1px rgba(184,138,62,.22), inset 0 0 6px rgba(0,0,0,.6)}
#screen-lyasara .fader i{position:absolute;left:-5px;width:17px;height:8px;border-radius:2px;
  background:linear-gradient(180deg,#3a2a18,#160d06);
  box-shadow:0 2px 3px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,210,150,.18)}
#screen-lyasara .fader.f1 i{top:9px}#screen-lyasara .fader.f2 i{top:22px}#screen-lyasara .fader.f3 i{top:15px}
#screen-lyasara .nameplate{width:max-content;max-width:90%;margin:12px auto 0;padding:5px 16px;
  font-family:var(--font-ui);font-size:9px;font-weight:700;letter-spacing:.24em;color:#241708;
  background:linear-gradient(180deg,#e6c279,#b58e44 52%,#8a6630);
  border:1px solid #6e4f20;border-radius:3px;
  text-shadow:0 1px 0 rgba(255,245,210,.45);
  box-shadow:0 2px 5px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,248,220,.55), inset 0 -1px 2px rgba(90,60,20,.5)}

/* ---------- позивната (портата за името) ---------- */
#screen-lyasara .callsign{position:relative;z-index:2;width:min(86%,330px);margin:0 auto 18px;
  padding:15px 16px 16px;text-align:center;
  background:linear-gradient(172deg, var(--paper), var(--paper-old));
  color:var(--ink-paper);
  clip-path:polygon(0 8%, 7% 0, 93% 0, 100% 8%, 100% 92%, 93% 100%, 7% 100%, 0 92%);
  filter:drop-shadow(0 12px 18px rgba(3,2,1,.6))}
#screen-lyasara .callsign::before{content:'';position:absolute;top:9px;left:50%;width:9px;height:9px;margin-left:-4.5px;
  border-radius:50%;background:#0c0905;box-shadow:inset 0 0 0 2px rgba(120,90,40,.5)}
#screen-lyasara .callsign .cs-k{font-size:9px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:#9a763f;margin-top:6px}
#screen-lyasara .callsign p{font-family:var(--font-hand);font-size:17px;line-height:1.25;margin-top:3px}
#screen-lyasara .callsign input{display:block;width:100%;margin-top:10px;padding:9px 10px;text-align:center;
  font-family:var(--font-hand);font-size:18px;color:var(--ink-paper);
  background:rgba(255,255,255,.32);border:0;border-bottom:1.8px solid rgba(120,90,40,.55);
  border-radius:6px 6px 0 0;outline:none}
#screen-lyasara .callsign input::placeholder{color:#a98a55}
#screen-lyasara .callsign input.shake{animation:csShake .45s ease}
@keyframes csShake{0%,100%{transform:none}25%{transform:translateX(5px)}55%{transform:translateX(-4px)}80%{transform:translateX(2px)}}
#screen-lyasara .callsign .cs-go{margin-top:12px;padding:9px 22px;font-family:var(--font-ui);font-size:11.5px;font-weight:700;
  letter-spacing:.08em;color:var(--ivory);
  background:linear-gradient(176deg, #2c1c0c, #160d05);
  border-radius:9px;box-shadow:0 4px 10px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,210,150,.14)}
#screen-lyasara .cs-chip{display:inline-flex;align-items:center;gap:7px;margin:0 auto 16px;padding:9px 15px;
  font-size:12px;color:var(--ivory70);
  background:rgba(8,18,11,.5);border:1px solid var(--hairline);border-radius:999px}
#screen-lyasara .cs-chip b{font-family:var(--font-display);font-style:italic;color:var(--ivory)}
#screen-lyasara .cs-chip span{color:rgba(255,201,126,.7)}
#screen-lyasara .cs-wrap{text-align:center}

/* ---------- превключвателят глас / писмо ---------- */
#screen-lyasara .modeswitch{display:flex;justify-content:center;gap:10px;margin:2px auto 16px;width:min(92%,360px)}
#screen-lyasara .modeswitch button{flex:1;position:relative;padding:11px 8px 12px;border-radius:12px;
  font-family:var(--font-ui);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ivory50);
  background:linear-gradient(180deg, rgba(10,22,15,.7), rgba(6,14,9,.7));
  border:1px solid var(--hairline);transition:color .22s ease, box-shadow .22s ease}
#screen-lyasara .modeswitch button .mi{display:block;font-size:17px;margin-bottom:3px;filter:grayscale(.4) opacity(.7)}
#screen-lyasara .modeswitch button.on{color:var(--ivory);
  background:
    radial-gradient(120% 100% at 50% 0%, rgba(255,201,126,.16), transparent 60%),
    linear-gradient(180deg, #1c130a, #120b05);
  border-color:rgba(184,138,62,.5);
  box-shadow:0 0 0 1px rgba(184,138,62,.3), 0 6px 16px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,210,150,.12)}
#screen-lyasara .modeswitch button.on .mi{filter:none}
#screen-lyasara .modeswitch button.on::after{content:'';position:absolute;left:18%;right:18%;bottom:6px;height:2px;border-radius:1px;
  background:linear-gradient(90deg,transparent,var(--amber),transparent)}

/* ---------- гласът: говорителният ключ + нивото ---------- */
#screen-lyasara .lya-voice{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:6px}
#screen-lyasara .talkkey{position:relative;width:148px;height:148px;border-radius:50%;touch-action:none;user-select:none;
  -webkit-user-select:none;display:grid;place-items:center;text-align:center}
#screen-lyasara .talkkey .ring{position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(var(--air-red) calc(var(--p,0)*1%), rgba(184,138,62,.24) 0);
  -webkit-mask:radial-gradient(farthest-side, transparent 59px, #000 61px);
          mask:radial-gradient(farthest-side, transparent 59px, #000 61px);
  opacity:.95}
#screen-lyasara .talkkey::before{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:repeating-conic-gradient(rgba(8,16,8,.5) 0 1.2deg, transparent 1.2deg 18deg);
  -webkit-mask:radial-gradient(farthest-side, transparent 59px, #000 61px, #000 67px, transparent 68px);
          mask:radial-gradient(farthest-side, transparent 59px, #000 61px, #000 67px, transparent 68px)}
#screen-lyasara .talkkey .core{position:relative;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;
  background:
    radial-gradient(circle at 38% 30%, #3a2a18, #140d06 76%);
  box-shadow:0 8px 20px rgba(0,0,0,.5), inset 0 2px 4px rgba(255,210,150,.12),
    inset 0 -6px 14px rgba(0,0,0,.6), 0 0 0 3px rgba(184,138,62,.3)}
#screen-lyasara .talkkey .core .lbl{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--ivory70);line-height:1.3}
#screen-lyasara .talkkey .core .lbl b{display:block;font-family:var(--font-display);font-style:italic;font-weight:800;
  font-size:18px;color:var(--ivory);margin-bottom:2px}
#screen-lyasara .talkkey .core .mic-ic{font-size:24px;margin-bottom:3px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
#screen-lyasara .talkkey.live .core{background:radial-gradient(circle at 38% 30%, #5a2418, #1c0a05 78%);
  box-shadow:0 0 26px rgba(226,80,47,.5), inset 0 2px 6px rgba(255,160,120,.2), 0 0 0 3px rgba(226,80,47,.55)}
#screen-lyasara .talkkey:active .core{transform:scale(.97)}
#screen-lyasara .recmeter{font-family:var(--font-ui);font-size:13px;letter-spacing:.04em;color:var(--amber);min-height:18px;
  font-variant-numeric:tabular-nums}
#screen-lyasara .recmeter b{font-weight:700}

#screen-lyasara .tapebar{display:none;align-items:center;gap:11px;width:min(94%,360px);margin:0 auto;
  padding:10px 14px;border-radius:13px;
  background:linear-gradient(180deg, rgba(12,26,17,.8), rgba(6,14,9,.8));border:1px solid var(--hairline)}
#screen-lyasara .tapebar.show{display:flex}
#screen-lyasara .tapebar .tplay{flex:0 0 auto;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 34% 28%, #fffef4, #efe7cb 78%)}
#screen-lyasara .tapebar .tplay i{width:0;height:0;border-left:12px solid var(--baize-low);
  border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:2px}
#screen-lyasara .tapebar .wave{flex:1;display:flex;align-items:center;gap:2px;height:26px;overflow:hidden}
#screen-lyasara .tapebar .wave i{flex:1;background:linear-gradient(180deg, var(--amber), var(--ember));border-radius:1px;opacity:.7}
#screen-lyasara .tapebar .tlen{flex:0 0 auto;font-size:12px;color:var(--ivory50);font-variant-numeric:tabular-nums}
#screen-lyasara .tapebar .tredo{flex:0 0 auto;font-size:11px;color:rgba(255,201,126,.8);
  border:1px solid var(--hairline);border-radius:9px;padding:6px 10px}
#screen-lyasara #lyaPreview{display:none}

/* ---------- писмото ---------- */
#screen-lyasara .lya-text{position:relative;width:min(94%,360px);margin:0 auto}
#screen-lyasara .lya-text textarea{display:block;width:100%;min-height:92px;padding:13px 15px;resize:none;line-height:1.5;
  font-size:16px;color:var(--ink-paper);border:0;outline:none;
  background:
    repeating-linear-gradient(180deg, transparent 0 27px, rgba(120,90,40,.16) 27px 28px),
    linear-gradient(172deg, var(--paper), var(--paper-old));
  clip-path:polygon(0 2%, 99% 0, 100% 98%, 1% 100%);
  box-shadow:0 10px 18px rgba(3,2,1,.5)}
#screen-lyasara .lya-text textarea::placeholder{color:#9a763f;font-family:var(--font-hand);font-size:16px}
#screen-lyasara .lya-count{display:block;width:min(94%,360px);margin:6px auto 0;text-align:right;font-size:11px;color:var(--ivory50)}

/* ---------- «за кого» + песента ---------- */
#screen-lyasara .deskfields{width:min(94%,360px);margin:16px auto 0;display:flex;flex-direction:column;gap:13px}
#screen-lyasara .fld-k{font-size:9px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,201,126,.6);
  margin-bottom:7px;display:block}
#screen-lyasara .txtfield{width:100%;padding:12px 15px;border-radius:12px;font-size:16px;color:var(--ivory);
  background:rgba(7,18,11,.55);border:1px solid var(--hairline);outline:none;transition:border-color .2s, box-shadow .2s}
#screen-lyasara .txtfield::placeholder{color:var(--ivory50);font-style:italic;font-family:var(--font-display)}
#screen-lyasara .txtfield:focus{border-color:rgba(184,138,62,.55);box-shadow:0 0 0 1px rgba(184,138,62,.3)}

#screen-lyasara .turntable{display:flex;gap:14px;align-items:center}
#screen-lyasara .turntable .deck{flex:0 0 96px;width:96px}
#screen-lyasara .turntable .deck svg{display:block;width:100%;overflow:visible;filter:drop-shadow(0 8px 12px rgba(3,2,1,.5))}
#screen-lyasara .turntable .deck .platter{transform-box:fill-box;transform-origin:center}
#screen-lyasara .turntable.spinning .deck .platter{animation:spin 3.6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#screen-lyasara .turntable .tt-right{flex:1;min-width:0}
#screen-lyasara .lya-song-list{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;margin-top:8px}
#screen-lyasara .lya-song-list button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;
  padding:11px 14px;border:1px solid var(--hairline);border-top:0;background:rgba(7,18,11,.72);
  color:var(--ivory70);font-size:13.5px;line-height:1.25}
#screen-lyasara .lya-song-list button:first-child{border-top:1px solid var(--hairline)}
#screen-lyasara .lya-song-list button:active{color:var(--ivory);background:rgba(12,26,17,.85)}
#screen-lyasara .lya-song-list button::before{content:'';flex:0 0 auto;width:14px;height:14px;border-radius:50%;
  background:radial-gradient(circle, #1a1209 30%, #050302 32% 60%, #1a1209 62%);
  box-shadow:0 0 0 1px rgba(184,138,62,.3)}
#screen-lyasara .lya-song-pick{margin-top:9px;display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--amber)}
#screen-lyasara .lya-song-pick .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#screen-lyasara .lya-song-pick button{flex:0 0 auto;padding:5px 11px;border-radius:9px;
  border:1px solid var(--hairline);color:var(--ivory50);font-size:12px}

/* ---------- лостът «прати» + бележката ---------- */
#screen-lyasara .sendrow{width:min(94%,360px);margin:20px auto 4px}
#screen-lyasara .lya-send{width:100%;padding:15px 18px;border-radius:14px;border:0;cursor:pointer;
  font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--baize-low);
  background:radial-gradient(circle at 38% 26%, #fffef4, #f0e7c9 80%);
  box-shadow:0 8px 22px rgba(255,170,80,calc(.2 + .35*var(--ready,0))),
    0 4px 10px rgba(0,0,0,.4), inset 0 -2px 5px rgba(140,120,70,.3);
  transition:box-shadow .3s ease, transform .12s ease}
#screen-lyasara .lya-send:active{transform:scale(.98)}
#screen-lyasara .lya-send:disabled{opacity:.42;cursor:default;box-shadow:0 4px 10px rgba(0,0,0,.35)}
#screen-lyasara .lya-note{margin-top:12px;text-align:center;font-family:var(--font-hand);font-size:15px;
  color:rgba(255,201,126,.85);line-height:1.4;min-height:18px}

/* ============================================================
   ДНЕВНИКЪТ НА СПОЙКАТА
   ============================================================ */
#screen-lyasara .airlog{position:relative;z-index:3;margin:18px 22px 0;padding:18px 16px 8px;
  background:
    repeating-linear-gradient(90deg, rgba(255,222,170,.03) 0 2px, transparent 2px 56px),
    linear-gradient(178deg, #271a0c, #1a1207 60%, #130c05);
  border:5px solid #100a04;outline:2px solid rgba(184,138,62,.16);
  border-radius:4px;
  box-shadow:0 16px 30px rgba(3,2,1,.6), inset 0 0 26px rgba(0,0,0,.5)}
#screen-lyasara .airlog::before{content:'';position:absolute;left:18px;right:18px;top:11px;height:3px;border-radius:2px;
  background:linear-gradient(90deg, var(--brass-low), var(--brass-hi) 50%, var(--brass-low));
  box-shadow:0 1px 3px rgba(0,0,0,.6)}
#screen-lyasara .airlog .log-k{position:relative;text-align:center;font-size:9px;font-weight:600;letter-spacing:.28em;
  text-transform:uppercase;color:rgba(255,201,126,.6);margin:6px 0 16px}
#screen-lyasara .airlog ul{list-style:none}
#screen-lyasara .airlog li{position:relative;margin:0 4px 16px;padding:22px 14px 12px;
  background:linear-gradient(172deg, var(--paper), var(--paper-old) 85%);
  color:var(--ink-paper);
  transform:rotate(var(--r,0deg));
  clip-path:polygon(0 4%, 100% 0, 100% 96%, 0 100%);
  filter:drop-shadow(0 8px 12px rgba(3,2,1,.5))}
#screen-lyasara .airlog li::before{content:'';position:absolute;top:7px;left:50%;width:8px;height:8px;margin-left:-4px;
  border-radius:50%;background:#0c0905;box-shadow:inset 0 0 0 1.6px rgba(184,138,62,.45)}
#screen-lyasara .airlog li .fmark{font-size:14px;margin-right:5px}
#screen-lyasara .airlog li .ftext{font-family:var(--font-hand);font-size:16px;line-height:1.3}
#screen-lyasara .airlog li .fsong{display:block;margin-top:3px;font-family:var(--font-hand);font-size:13.5px;color:#7a5a30}
#screen-lyasara .airlog li .fstatus{display:inline-block;margin-top:9px;font-family:var(--font-ui);font-size:8.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
#screen-lyasara .airlog li.pending  .fstatus{color:#7a5a30;background:rgba(120,90,40,.16);border:1px solid rgba(120,90,40,.4)}
#screen-lyasara .airlog li.approved .fstatus{color:#8a5a14;background:rgba(255,201,126,.2);border:1px solid rgba(184,138,62,.5)}
#screen-lyasara .airlog li.declined .fstatus{color:#7a4a3a;background:rgba(120,70,50,.16);border:1px solid rgba(120,70,50,.4)}
#screen-lyasara .airlog li.aired{clip-path:polygon(0 4%, 100% 0, 100% 80%, 90% 92%, 92% 100%, 0 100%)}
#screen-lyasara .airlog li.aired .singe{position:absolute;right:-2px;bottom:-2px;width:58%;height:54%;pointer-events:none;
  background:radial-gradient(circle at 108% 110%, rgba(12,6,2,.95) 12%, rgba(70,34,10,.6) 38%, rgba(150,80,30,.22) 52%, transparent 66%)}
#screen-lyasara .airlog li.aired .fstatus{color:#9c5a20;background:rgba(255,170,80,.18);border:1px solid rgba(240,138,46,.5)}
#screen-lyasara .airlog li.fresh{animation:fishIn .6s cubic-bezier(.3,1.4,.5,1)}
@keyframes fishIn{0%{opacity:0;transform:rotate(var(--r,0deg)) translateY(-10px) scale(.85)}100%{opacity:1}}
#screen-lyasara .airlog .logline{position:relative;text-align:center;font-family:var(--font-hand);font-size:14px;
  color:var(--ivory50);padding:4px 0 12px}

/* ---------- подписът на Лясъра ---------- */
#screen-lyasara .booth-sig{text-align:center;padding:24px 26px 6px}
#screen-lyasara .booth-sig p{font-family:var(--font-hand);font-size:15.5px;color:var(--ivory50);line-height:1.45}

/* ============================================================
   Лясъра образ — живият глиган на пулта (Phase F).
   Портнато от test/radio-lyasara/prototype/lyasara-rig.html.
   ============================================================ */

/* прожекторът върху Лясъра — съдържащ се ореол, не пипа фона на екрана */
#screen-lyasara .stagewrap{position:relative;width:min(340px,92vw);margin:6px auto 18px;z-index:1}
#screen-lyasara .stagewrap::before{content:'';position:absolute;left:50%;top:-30px;width:118%;height:80%;
  transform:translateX(-50%);pointer-events:none;z-index:0;
  background:radial-gradient(46% 44% at 50% 30%, rgba(255,201,126,.16), transparent 70%)}
#screen-lyasara .portrait{position:relative;z-index:1;display:block;width:100%}
#screen-lyasara .portrait svg{display:block;width:100%;overflow:visible}
/* [mobile-flicker] сянката е СТАТИЧЕН слой отзад, а не filter върху анимирания SVG.
   filter:drop-shadow върху svg-то с движеща се глава караше mobile GPU да пречертава
   сянката всеки кадър → ръбовете (особено слушалките) трептяха. Десктопът не личеше. */
#screen-lyasara .portrait::after{content:'';position:absolute;z-index:-1;pointer-events:none;
  left:8%;right:8%;top:30%;bottom:-3%;
  background:radial-gradient(56% 60% at 50% 66%, rgba(3,2,1,.55), rgba(3,2,1,.24) 48%, transparent 74%);
  filter:blur(9px)}

/* ---------- живият слой (атмосфера, винаги върви) ---------- */
@keyframes lyaBreath{0%,100%{transform:translateY(0)}25%{transform:translateY(-2px)}
  50%{transform:translateY(-3.4px)}75%{transform:translateY(-1.6px)}}
@keyframes lyaHeadIdle{
  /* [mobile-flicker] БЕЗ rotate: непрекъснатото въртене на тънките щрихи на
     слушалките прави anti-alias shimmer на mobile GPU (на десктоп не личи).
     Главата диша само вертикално; накланянето остава за погледа (gaze). */
  0%{transform:translateY(0)}
  25%{transform:translateY(-2px)}
  50%{transform:translateY(-3.4px)}
  75%{transform:translateY(-1.6px)}
  100%{transform:translateY(0)}}
#lya-body-breath{animation:lyaBreath 5.4s ease-in-out infinite}
#lya-head-bob{animation:lyaHeadIdle 5.4s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 96%}

@keyframes lyaSmoke{0%{transform:translate(0,0)}30%{transform:translate(2.2px,-3px)}
  60%{transform:translate(-1.6px,-1.6px)}100%{transform:translate(0,0)}}
#lya-smoke{animation:lyaSmoke 6.5s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}

@keyframes lyaEmber{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.32)}}
#lya-ember{animation:lyaEmber 2.3s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 50%}

@keyframes lyaSheen{
  0%,70%,100%{transform:translateX(-12px) skewX(-20deg);opacity:0}
  78%{opacity:.9}
  86%{transform:translateX(34px) skewX(-20deg);opacity:0}}
.lya-sheen{animation:lyaSheen 4.8s ease-in-out infinite;transform-box:fill-box}

@keyframes lyaEyeLamp{0%,100%{opacity:1}30%{opacity:.32}55%{opacity:.8}}
.lya-catchlight{animation:lyaEyeLamp 5s ease-in-out infinite;transform-box:fill-box}

/* ---------- ставите на рига ---------- */
#lya{transform-box:fill-box;transform-origin:50% 100%}
#lya-head-tilt{transform-box:fill-box;transform-origin:50% 92%;
  transition:transform .65s cubic-bezier(.4,0,.2,1)}
#lya-ear-l,#lya-ear-r{transform-box:fill-box;transform-origin:50% 100%}
#lya-brows{transform-box:fill-box;transform-origin:50% 100%}
#lya-eye-l,#lya-eye-r{transform-box:fill-box;transform-origin:50% 50%}
#lya-lid-l,#lya-lid-r{transform-box:fill-box;transform-origin:50% 0%;transform:scaleY(0)}
#lya-snout{transform-box:fill-box;transform-origin:50% 50%}
#lya-mouth{transform-box:fill-box;transform-origin:50% 30%}
#lya-twig{transform-box:fill-box;transform-origin:0% 50%}

/* ---------- волеви жестове (one-shot .act-*) ---------- */
@keyframes lyaBlink{0%,100%{transform:scaleY(0)}50%{transform:scaleY(1)}}
.act-blink #lya-lid-l,.act-blink #lya-lid-r{animation:lyaBlink .26s ease}
@keyframes lyaEarL{0%,100%{transform:rotate(0)}30%{transform:rotate(-12deg)}62%{transform:rotate(-4deg)}}
@keyframes lyaEarR{0%,100%{transform:rotate(0)}30%{transform:rotate(12deg)}62%{transform:rotate(4deg)}}
.act-ear-l #lya-ear-l{animation:lyaEarL .5s ease}
.act-ear-r #lya-ear-r{animation:lyaEarR .5s ease}
@keyframes lyaSniff{0%,100%{transform:translateY(0) scaleX(1)}40%{transform:translateY(1.6px) scaleX(1.05)}}
@keyframes lyaTwigDip{0%,100%{transform:rotate(0)}40%{transform:rotate(5deg)}}
.act-sniff #lya-snout{animation:lyaSniff .6s ease}
.act-sniff #lya-twig{animation:lyaTwigDip .6s ease}
@keyframes lyaSnort{0%,100%{transform:scale(1,1)}25%{transform:scale(1.08,1.04)}55%{transform:scale(.98,1)}}
@keyframes lyaTwigJig{0%,100%{transform:rotate(0)}25%{transform:rotate(-6deg)}60%{transform:rotate(3deg)}}
.act-snort #lya-snout{animation:lyaSnort .45s ease}
.act-snort #lya-twig{animation:lyaTwigJig .45s ease}
@keyframes lyaWinkLid{0%,100%{transform:scaleY(0)}25%,60%{transform:scaleY(1)}}
@keyframes lyaBrowRaise{0%,100%{transform:translateY(0)}35%{transform:translateY(-2.5px)}}
.act-wink #lya-lid-r{animation:lyaWinkLid .55s ease}
.act-wink #lya-brows{animation:lyaBrowRaise .55s ease}
@keyframes lyaLean{0%,100%{transform:rotate(0) translateY(0)}40%{transform:rotate(-2deg) translateY(2px)}72%{transform:rotate(-1.3deg) translateY(1.3px)}}
#lya.act-lean{animation:lyaLean 1.6s ease-in-out}

/* ---------- приказливият пласт ---------- */
@keyframes lyaBubble{
  0%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.92)}
  14%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}
  76%{opacity:1;transform:translateX(-50%) translateY(-7px)}
  100%{opacity:0;transform:translateX(-50%) translateY(-15px)}}
#screen-lyasara .lya-bubble{position:absolute;left:50%;top:3%;z-index:6;pointer-events:none;
  font-family:var(--font-hand);font-size:17px;color:#2a1a0e;white-space:nowrap;
  padding:6px 14px;border-radius:13px;
  background:linear-gradient(172deg,#efe3c1,#d8c69c);
  box-shadow:0 7px 16px rgba(3,2,1,.5), inset 0 1px 0 rgba(255,255,255,.4);
  animation:lyaBubble 2.4s ease forwards}
#screen-lyasara .lya-bubble::after{content:'';position:absolute;left:50%;bottom:-7px;margin-left:-6px;
  border:7px solid transparent;border-top-color:#d8c69c;border-bottom:0}
@keyframes lyaTalk{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.9)}}
.act-mutter #lya-mouth{animation:lyaTalk .26s ease-in-out 3}
@keyframes lyaSip{0%,100%{transform:rotate(0) translate(0,0)}34%,60%{transform:rotate(3deg) translate(3px,4px)}}
@keyframes lyaSmack{0%,100%{transform:scaleX(1) scaleY(1)}50%{transform:scaleX(.78) scaleY(1.6)}}
#lya.act-sip{animation:lyaSip 1.5s ease-in-out}
.act-sip #lya-mouth{animation:lyaSmack .5s ease 2}
@keyframes lyaPuff{0%,100%{transform:rotate(0) translate(0,0)}30%,55%{transform:rotate(-3deg) translate(-3px,3px)}}
@keyframes lyaEarPerk{0%,100%{transform:translateY(0)}45%{transform:translateY(-2.5px)}}
#lya.act-puff{animation:lyaPuff 1.6s ease-in-out}
.act-puff #lya-ear-l,.act-puff #lya-ear-r{animation:lyaEarPerk .9s ease}
@keyframes lyaEmberFlare{0%,100%{opacity:.7;transform:scale(1)}40%{opacity:1;transform:scale(1.7)}}
#lya-ember.prop-flare{animation:lyaEmberFlare 1.2s ease}
#lya-puffcloud{transform-box:fill-box;transform-origin:50% 100%}
@keyframes lyaPuffCloud{0%{opacity:0;transform:scale(.4) translateY(0)}
  25%{opacity:.55;transform:scale(.9) translateY(-4px)}
  100%{opacity:0;transform:scale(1.9) translateY(-24px)}}
#lya-puffcloud.prop-puff{animation:lyaPuffCloud 1.6s ease-out}

/* ---------- „на ефир" ---------- */
@keyframes lyaPerk{0%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}
#lya.act-perk{animation:lyaPerk .6s ease}
.act-perk #lya-ear-l,.act-perk #lya-ear-r{animation:lyaEarPerk .6s ease}
#lya-talkmouth{transform-box:fill-box;transform-origin:50% 0%}
@keyframes lyaTalkFlap{0%,100%{transform:scaleY(.25);opacity:.5}50%{transform:scaleY(1);opacity:.92}}
@keyframes lyaJaw{0%,100%{transform:translateY(0)}50%{transform:translateY(1.2px)}}
.talking #lya-talkmouth{animation:lyaTalkFlap .2s ease-in-out infinite}
.talking #lya-snout{animation:lyaJaw .2s ease-in-out infinite}
.onair #lya-ear-l{transform:translateY(-3px) rotate(-7deg)}
.onair #lya-ear-r{transform:translateY(-3px) rotate(7deg)}
.onair #lya-eye-l,.onair #lya-eye-r{transform:scale(1.12)}
.onair .lya-catchlight{opacity:1!important;animation:none}
#screen-lyasara .stagewrap.onair::after{content:'';position:absolute;inset:-7% -5%;z-index:0;pointer-events:none;
  border-radius:32px;background:radial-gradient(58% 50% at 50% 42%, rgba(226,80,47,.18), transparent 70%);
  animation:lyaAirPulse 1.6s ease-in-out infinite}
@keyframes lyaAirPulse{0%,100%{opacity:.65}50%{opacity:1}}
#lya-nameplate{transition:filter .3s ease}
#lya-plate-bg{transition:fill .3s ease}
#lya-name-idle,#lya-name-live{transition:opacity .3s ease}
#lya-name-live{opacity:0}
#screen-lyasara .stagewrap.onair #lya-name-idle{opacity:0}
#screen-lyasara .stagewrap.onair #lya-name-live{opacity:1}
#screen-lyasara .stagewrap.onair #lya-plate-bg{fill:#3a0e08}
#screen-lyasara .stagewrap.onair #lya-nameplate{filter:drop-shadow(0 0 5px rgba(226,80,47,.55))}
#screen-lyasara .stagewrap.onair #lya-name-live circle{animation:lyaAirPulse 1.2s ease-in-out infinite}

@media (prefers-reduced-motion:reduce){
  #lya-body-breath,#lya-head-bob,#lya-smoke,#lya-ember,.lya-sheen,.lya-catchlight,
  #screen-lyasara .onair,#screen-lyasara .tubeglow,#screen-lyasara .vu .needle,
  #screen-lyasara .onair .halo,#screen-lyasara .turntable.spinning .deck .platter{animation:none}
}

/* ---------- композиция: Лясъра на микрофона в студиото ---------- */
#screen-lyasara .studio{padding-top:64px}              /* въздух за лавицата над главата */
#screen-lyasara .studio .stagewrap{margin:8px auto 0;width:min(300px,86%);z-index:2}
/* микрофонът стои пред него, върху ръба на пулта */
#screen-lyasara .boothmic{position:relative;z-index:3;width:80px;margin:-130px auto 118px;
  filter:drop-shadow(0 14px 18px rgba(3,2,1,.55))}
#screen-lyasara .boothmic svg{display:block;width:100%;overflow:visible}
/* тали-лампата на микрофона пламва при запис, в синхрон с „НА ЕФИР" */
#screen-lyasara.recording .boothmic .mic-tally{fill:var(--air-red);filter:drop-shadow(0 0 6px var(--air-red))}

/* ============================================================
   ПОПРАВКИ — жив eyeball цикъл (2026-06-13)
   ============================================================ */
/* 1) [hidden] ТРЯБВА да бие експлицитния display на будковите елементи
   (.lya-voice/.lya-count/.lya-song-pick…), иначе режимът глас/писмо не се
   крие, формата се струпва и бутонът „прати" изглежда счупен. Скоупнато. */
#screen-lyasara [hidden]{display:none!important}

/* 2) затворена будка: WebGL поляната не бива да наднича иззад нея */
body[data-tab="lyasara"] #scene{display:none}

/* 3) акустичната стена слиза до масичката на Лясъра, не спира зад главата */
#screen-lyasara .foam{height:auto;bottom:0;
  -webkit-mask-image:linear-gradient(180deg, #000 86%, transparent);
          mask-image:linear-gradient(180deg, #000 86%, transparent)}

/* 4) главното поле „твоят поздрав" личи над опционалните (за кого/песен),
   та окото да не отива първо в тях. По-едър и по-светъл от .fld-k. */
#screen-lyasara .msg-k{display:block;width:min(92%,360px);margin:4px auto 9px;text-align:center;
  font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,201,126,.85)}

/* 5) подсказка точно при бутона, когато няма поздрав (скрива се щом е готов) */
#screen-lyasara .sendhint{margin:0 auto 9px;text-align:center;font-family:var(--font-hand);
  font-size:14px;line-height:1.35;color:rgba(255,201,126,.78)}

/* 6) изборът на DJ (само за писмо) — кой да прочете поздрава */
#screen-lyasara .lya-dj{margin-top:10px}
#screen-lyasara .djpick{display:flex;gap:8px;margin-top:6px}
#screen-lyasara .dj-b{flex:1;padding:8px 10px;border-radius:10px;border:1px solid var(--line,#5b4a36);
  background:transparent;color:inherit;cursor:pointer;font:inherit}
#screen-lyasara .dj-b.on{background:var(--ember,#c8772e);color:#1a120a;border-color:transparent}

/* ============================================================
   ПОЗДРАВ ДО ЕФИРА — целоекранният модал + крошнята (на body ниво).
   Будковите токени (--paper/--brass…) са скоупнати под #screen-lyasara,
   а тези overlay-и живеят на body (заради transform на .screen), та ги
   преобявяваме тук. Портнато от prototype/pozdrav-modal-v1.html.
   ============================================================ */

/* входната точка в кабината */
#screen-lyasara .compose-open{display:flex;align-items:center;gap:12px;width:min(94%,360px);margin:0 auto;
  padding:15px 17px;border-radius:13px;cursor:pointer;border:1px solid rgba(184,138,62,.5);
  background:
    radial-gradient(130% 150% at 16% 50%, rgba(255,201,126,.13), transparent 58%),
    rgba(7,18,11,.55);
  color:var(--ivory);font-family:var(--font-hand);font-size:17.5px;text-align:left;
  animation:composeGlow 3.6s ease-in-out infinite;transition:transform .12s ease}
#screen-lyasara .compose-open:active{transform:scale(.99)}
#screen-lyasara .compose-open .ic{flex:0 0 auto;font-size:18px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
@keyframes composeGlow{
  0%,100%{box-shadow:inset 0 1px 0 rgba(255,210,150,.08), 0 0 0 0 rgba(240,138,46,0), 0 6px 16px rgba(0,0,0,.3)}
  50%{box-shadow:inset 0 1px 0 rgba(255,210,150,.13), 0 0 20px 1px rgba(240,138,46,.30), 0 6px 16px rgba(0,0,0,.35)}}
#screen-lyasara .voice-open{display:block;margin:12px auto 0;background:none;border:0;cursor:pointer;
  color:rgba(255,201,126,.74);font-family:var(--font-ui);font-size:12px;letter-spacing:.02em}
#screen-lyasara .voice-open b{font-family:var(--font-display);font-style:italic}
#screen-lyasara .lya-voice{margin-top:14px}
#screen-lyasara .voice-send{width:min(94%,360px);margin:14px auto 0}
#screen-lyasara .lya-send:not(:disabled){box-shadow:0 10px 26px rgba(255,170,80,.5), 0 4px 10px rgba(0,0,0,.4), inset 0 -2px 5px rgba(140,120,70,.3)}

/* палитрата за overlay-ите (body ниво) */
#lyaCompose, #lyaPicker{
  --paper:#e9ddbb; --paper-old:#d3c294; --ink-paper:#43301a; --ink-faint:#9a763f;
  --brass:#b88a3e; --brass-hi:#e8c277; --brass-low:#6e4f20;
  --baize-low:#122418; --ember:#f08a2e; --pine:#2c1d0f; --pine-low:#1d130a;
}

/* ---- модалът ---- */
#lyaCompose{position:fixed;left:0;right:0;top:0;height:100dvh;z-index:200;opacity:0;pointer-events:none;transition:opacity .26s ease}
#lyaCompose.open{opacity:1;pointer-events:auto}
#lyaCompose[hidden]{display:none}
#lyaCompose .lya-sheet{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden;
  transform:translateY(7%);transition:transform .34s cubic-bezier(.2,.82,.24,1);
  background:
    radial-gradient(130% 16% at 50% 0%, rgba(255,201,126,.16), transparent 62%),
    repeating-linear-gradient(90deg, rgba(0,0,0,.30) 0 1.5px, transparent 1.5px 3px, rgba(255,222,170,.03) 3px 4.5px, transparent 4.5px 41px),
    linear-gradient(180deg, #34230f 0, var(--pine) 42%, var(--pine-low) 100%)}
#lyaCompose.open .lya-sheet{transform:none}
#lyaCompose .lc-head{flex:0 0 auto;position:relative;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;
  gap:12px;padding:calc(14px + env(safe-area-inset-top)) 20px 13px;
  background:linear-gradient(180deg, rgba(20,12,5,.6), transparent);border-bottom:1px solid rgba(184,138,62,.22)}
#lyaCompose .lc-head::after{content:'';position:absolute;left:20px;right:20px;bottom:-1px;height:2px;
  background:linear-gradient(90deg, transparent, var(--brass-low), var(--brass-hi) 50%, var(--brass-low), transparent)}
#lyaCompose .lc-head h3{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:23px;line-height:1.05;
  text-shadow:0 1px 0 rgba(0,0,0,.5), 0 0 16px rgba(255,201,126,.22)}
#lyaCompose .lc-head p{margin-top:3px;font-size:11px;letter-spacing:.04em;color:var(--ivory50)}
#lyaCompose .lc-head p b{font-family:var(--font-hand);font-size:15px;color:rgba(255,201,126,.9)}
#lyaCompose .lc-x{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--hairline);
  border-radius:50%;background:rgba(7,18,11,.5);color:var(--ivory70);font-size:17px;cursor:pointer}
#lyaCompose .lc-x:active{transform:scale(.94)}
#lyaCompose .lc-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px 20px 8px}
#lyaCompose .lc-col{width:100%;max-width:560px;margin-inline:auto}
#lyaCompose .letter{position:relative;padding:18px 18px 14px;border-radius:3px;color:var(--ink-paper);
  background:
    repeating-linear-gradient(180deg, transparent 0 31px, rgba(120,90,40,.16) 31px 32px),
    linear-gradient(172deg, var(--paper), var(--paper-old));
  clip-path:polygon(0 1.4%, 99.4% 0, 100% 98.6%, .6% 100%);
  box-shadow:0 16px 30px rgba(3,2,1,.5), inset 0 0 0 1px rgba(120,90,40,.14)}
#lyaCompose .letterhead{display:flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--font-ui);font-size:8.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:#9a763f}
#lyaCompose .letterhead::before, #lyaCompose .letterhead::after{content:'';width:26px;height:1px;background:rgba(120,90,40,.45)}
#lyaCompose .to-line{display:flex;align-items:baseline;gap:8px;margin-top:12px;font-family:var(--font-hand);font-size:18px;color:var(--ink-paper)}
#lyaCompose .to-line span{flex:0 0 auto;color:#7a5a30}
#lyaCompose .to-line input{flex:1;min-width:0;font-family:var(--font-hand);font-size:18px;color:var(--ink-paper);
  background:transparent;border:0;border-bottom:1.6px dashed rgba(120,90,40,.45);outline:none;padding:1px 2px 3px}
#lyaCompose .to-line input::placeholder{color:var(--ink-faint)}
#lyaCompose .to-line input:focus{border-bottom-style:solid;border-bottom-color:rgba(120,90,40,.8)}
#lyaCompose .letter textarea{display:block;width:100%;margin-top:6px;min-height:150px;max-height:40dvh;resize:none;
  font-family:var(--font-hand);font-size:19px;line-height:32px;color:var(--ink-paper);background:transparent;border:0;outline:none}
#lyaCompose .letter textarea::placeholder{color:var(--ink-faint)}
#lyaCompose .letter-foot{display:flex;justify-content:flex-end;margin-top:8px}
#lyaCompose .lc-count{font-family:var(--font-ui);font-size:10.5px;letter-spacing:.04em;color:#9a763f;font-variant-numeric:tabular-nums}
#lyaCompose .lc-opt{margin-top:22px}
#lyaCompose .lc-lbl{display:flex;align-items:center;gap:9px;font-size:9.5px;font-weight:600;letter-spacing:.24em;
  text-transform:uppercase;color:rgba(255,201,126,.62);margin-bottom:10px}
#lyaCompose .lc-lbl i{font-style:normal;font-weight:500;letter-spacing:.06em;text-transform:none;font-size:11px;color:var(--ivory50)}
#lyaCompose .lc-lbl::after{content:'';flex:1;height:1px;background:linear-gradient(90deg, rgba(255,201,126,.22), transparent)}
#lyaCompose .song-open{display:flex;align-items:center;gap:11px;width:100%;padding:14px 15px;border-radius:12px;cursor:pointer;
  border:1px dashed rgba(184,138,62,.42);background:rgba(7,18,11,.5);color:var(--ivory70);
  font-family:var(--font-display);font-style:italic;font-size:15.5px;text-align:left}
#lyaCompose .song-open[hidden]{display:none}
#lyaCompose .song-open:active{transform:scale(.99)}
#lyaCompose .song-open .ic{flex:0 0 auto;color:rgba(255,201,126,.75);font-size:16px}
#lyaCompose .song-pick{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:12px;
  background:rgba(12,26,17,.7);border:1px solid rgba(184,138,62,.34)}
#lyaCompose .song-pick[hidden]{display:none}
#lyaCompose .song-pick .vinyl{flex:0 0 auto;width:38px;height:38px;border-radius:50%;
  background:radial-gradient(circle, var(--ember) 0 14%, #1a1209 16%, #050302 18% 64%, #241708 66%);
  box-shadow:0 0 0 1px rgba(184,138,62,.4);animation:lcSpin 3.4s linear infinite}
@keyframes lcSpin{to{transform:rotate(360deg)}}
#lyaCompose .song-pick .pt{flex:1;min-width:0;font-family:var(--font-display);font-size:14.5px;color:var(--amber);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#lyaCompose .song-pick .drop{flex:0 0 auto;padding:7px 11px;border-radius:9px;border:1px solid var(--hairline);
  background:transparent;color:var(--ivory50);font-size:12px;cursor:pointer}
#lyaCompose .djrow{display:flex;gap:11px}
#lyaCompose .seal{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px 11px;border-radius:13px;
  background:linear-gradient(180deg, rgba(10,22,15,.55), rgba(6,14,9,.55));border:1px solid var(--hairline);
  cursor:pointer;color:var(--ivory50);transition:border-color .2s, box-shadow .2s, background .2s}
#lyaCompose .seal .wax{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;color:#1a0e05;
  background:radial-gradient(circle at 38% 30%, #3a2c1a, #16100a 78%);
  box-shadow:inset 0 1px 0 rgba(255,210,150,.1), inset 0 -5px 10px rgba(0,0,0,.6), 0 2px 5px rgba(0,0,0,.45);
  transition:background .2s, box-shadow .2s, color .2s}
#lyaCompose .seal .wax svg{width:26px;height:26px;display:block}
#lyaCompose .seal .nm{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:14px;color:var(--ivory70)}
#lyaCompose .seal .role{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:transparent;min-height:11px}
#lyaCompose .seal:active{transform:scale(.97)}
#lyaCompose .seal.on{border-color:transparent;background:linear-gradient(180deg, rgba(34,22,10,.9), rgba(18,11,5,.9));
  box-shadow:0 0 0 1px rgba(184,138,62,.45), 0 8px 18px rgba(0,0,0,.45)}
#lyaCompose .seal.on .nm{color:var(--ivory)}
#lyaCompose .seal.on .role{color:rgba(255,201,126,.8)}
#lyaCompose .seal.on .wax{color:#2a1606;
  box-shadow:inset 0 2px 5px rgba(255,210,150,.35), inset 0 -5px 11px rgba(120,50,10,.55), 0 0 0 2px rgba(184,138,62,.55), 0 0 16px rgba(240,138,46,.3)}
#lyaCompose .seal[data-dj="lyasar"].on .wax{background:radial-gradient(circle at 38% 30%, #f4ad53, #c2761f 78%)}
#lyaCompose .seal[data-dj="maria"].on  .wax{background:radial-gradient(circle at 38% 30%, #d98aa0, #a14f63 78%)}
#lyaCompose .seal[data-dj="duo"].on    .wax{background:linear-gradient(108deg, #f4ad53 0 50%, #d98aa0 50% 100%)}
#lyaCompose .lc-foot{flex:0 0 auto;position:relative;z-index:3;padding:11px 20px calc(15px + env(safe-area-inset-bottom));
  background:linear-gradient(0deg, rgba(20,12,5,.72), transparent);border-top:1px solid rgba(184,138,62,.18)}
#lyaCompose .lc-hint{text-align:center;font-family:var(--font-hand);font-size:14.5px;color:rgba(255,201,126,.78);margin-bottom:9px;min-height:18px}
#lyaCompose .lc-hint[hidden]{display:none}
#lyaCompose .lya-send{display:block;width:100%;max-width:560px;margin-inline:auto;padding:16px 18px;border-radius:14px;border:0;cursor:pointer;
  font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--baize-low);
  background:radial-gradient(circle at 38% 26%, #fffef4, #f0e7c9 80%);
  box-shadow:0 8px 22px rgba(255,170,80,.18), 0 4px 10px rgba(0,0,0,.4), inset 0 -2px 5px rgba(140,120,70,.3);
  transition:box-shadow .3s ease, transform .12s ease, opacity .2s}
#lyaCompose .lya-send:not(:disabled){box-shadow:0 10px 26px rgba(255,170,80,.5), 0 4px 10px rgba(0,0,0,.4), inset 0 -2px 5px rgba(140,120,70,.3)}
#lyaCompose .lya-send:active{transform:scale(.985)}
#lyaCompose .lya-send:disabled{opacity:.42;cursor:default;box-shadow:0 4px 10px rgba(0,0,0,.35)}
#lyaCompose .lc-note{margin-top:10px;text-align:center;font-family:var(--font-hand);font-size:14px;color:rgba(255,201,126,.85);min-height:16px}
#lyaCompose .lc-note[hidden]{display:none}
#lyaCompose .lc-done{position:absolute;inset:0;z-index:5;display:none;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;text-align:center;padding:34px 30px calc(34px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg, #34230f 0, var(--pine) 45%, var(--pine-low) 100%)}
#lyaCompose .lya-sheet.sent .lc-done{display:flex;animation:lcFade .3s ease}
@keyframes lcFade{from{opacity:0}to{opacity:1}}
#lyaCompose .lc-stamp{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;margin-bottom:8px;color:#2a1606;
  background:radial-gradient(circle at 38% 30%, #f4ad53, #c2761f 78%);
  box-shadow:inset 0 2px 6px rgba(255,210,150,.4), 0 0 26px rgba(240,138,46,.4), 0 0 0 3px rgba(184,138,62,.55);
  transform:rotate(-8deg);animation:lcThud .4s cubic-bezier(.3,1.5,.5,1)}
@keyframes lcThud{0%{transform:rotate(-8deg) scale(2.4);opacity:0}60%{opacity:1}100%{transform:rotate(-8deg) scale(1)}}
#lyaCompose .lc-stamp svg{width:46px;height:46px}
#lyaCompose .lc-done h4{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:24px;color:var(--ivory)}
#lyaCompose .lc-done p{font-family:var(--font-hand);font-size:17px;color:var(--ivory70);max-width:30ch;line-height:1.4}
#lyaCompose .lc-acts{display:flex;gap:11px;margin-top:20px}
#lyaCompose .lc-acts button{padding:12px 18px;border-radius:11px;font-family:var(--font-ui);font-size:12.5px;font-weight:600;cursor:pointer}
#lyaCompose .lc-acts .again{border:0;color:var(--baize-low);background:radial-gradient(circle at 38% 26%, #fffef4, #f0e7c9 80%)}
#lyaCompose .lc-acts .shut{border:1px solid var(--hairline);background:rgba(7,18,11,.5);color:var(--ivory70)}

/* ---- крошнята ---- */
#lyaPicker{position:fixed;left:0;right:0;top:0;height:100dvh;z-index:210;display:flex;flex-direction:column;overflow:hidden;
  transform:translateX(7%);opacity:0;pointer-events:none;transition:transform .26s cubic-bezier(.2,.82,.24,1), opacity .2s ease;
  background:
    radial-gradient(130% 16% at 50% 0%, rgba(255,201,126,.16), transparent 62%),
    repeating-linear-gradient(90deg, rgba(0,0,0,.30) 0 1.5px, transparent 1.5px 3px, rgba(255,222,170,.03) 3px 4.5px, transparent 4.5px 41px),
    linear-gradient(180deg, #34230f 0, var(--pine) 42%, var(--pine-low) 100%)}
#lyaPicker.open{transform:none;opacity:1;pointer-events:auto}
#lyaPicker[hidden]{display:none}
#lyaPicker .lp-head{flex:0 0 auto;display:flex;align-items:center;gap:11px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;
  background:linear-gradient(180deg, rgba(20,12,5,.7), transparent);border-bottom:1px solid rgba(184,138,62,.22)}
#lyaPicker .lp-back{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--hairline);border-radius:50%;
  background:rgba(7,18,11,.5);color:var(--ivory);font-size:20px;cursor:pointer}
#lyaPicker .lp-back:active{transform:scale(.94)}
#lyaPicker .lp-search{position:relative;flex:1;min-width:0}
#lyaPicker .lp-search::before{content:'♪';position:absolute;left:14px;top:50%;transform:translateY(-50%);color:rgba(255,201,126,.6);font-size:15px;pointer-events:none}
#lyaPicker .lp-search input{width:100%;padding:13px 14px 13px 36px;border-radius:11px;font-size:16px;font-family:var(--font-display);font-style:italic;
  color:var(--ivory);background:rgba(7,18,11,.65);border:1px solid var(--hairline);outline:none}
#lyaPicker .lp-search input::placeholder{color:var(--ivory50)}
#lyaPicker .lp-search input:focus{border-color:rgba(184,138,62,.55);box-shadow:0 0 0 1px rgba(184,138,62,.3)}
#lyaPicker .lp-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  padding:4px 0 calc(14px + env(safe-area-inset-bottom))}
#lyaPicker .lp-body .pick-cap{padding:13px 18px 9px;font-family:var(--font-hand);font-size:14.5px;color:var(--ivory50)}
#lyaPicker .lp-body .song-empty{padding:16px 18px;font-family:var(--font-hand);font-size:15px;color:var(--ivory50)}
#lyaPicker .lp-body button{display:flex;align-items:center;gap:13px;width:100%;text-align:left;min-height:62px;padding:11px 18px;
  border:0;border-bottom:1px solid var(--hairline);background:transparent;color:var(--ivory70);cursor:pointer}
#lyaPicker .lp-body button:active{background:rgba(12,26,17,.88)}
#lyaPicker .lp-body .disc{flex:0 0 auto;width:30px;height:30px;border-radius:50%;
  background:radial-gradient(circle, #1a1209 28%, #050302 30% 56%, #241708 58%);box-shadow:0 0 0 1px rgba(184,138,62,.32), inset 0 0 0 5px rgba(0,0,0,.5)}
#lyaPicker .lp-body .meta{min-width:0}
#lyaPicker .lp-body .t{display:block;font-family:var(--font-display);font-size:16px;color:var(--ivory);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#lyaPicker .lp-body .a{display:block;font-size:12px;color:var(--ivory50);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media (prefers-reduced-motion:reduce){
  #lyaCompose, #lyaCompose .lya-sheet, #lyaPicker, #lyaCompose .song-pick .vinyl, #lyaCompose .lc-stamp{transition:none;animation:none}
  #screen-lyasara .compose-open{animation:none}
}
