/* Грамофонът — заявки за ефир от Механата. Всичко е под .gramofon (за да не
   се бие с останалия сайт; в приложението има друг .cat). Обектът виси под
   прозореца; сандъчето/потвърждението/редицата/тостът са fixed на body ниво. */
.gramofon{ --cherga-red:#993526; }

/* ----- обектът ----- */
.gramofon .gramwrap{position:relative;margin-top:10px}
.gramofon .gram{width:100%;display:block;cursor:pointer;filter:drop-shadow(0 16px 22px rgba(3,2,1,.6));transition:transform .25s cubic-bezier(.34,1.56,.5,1)}
.gramofon .gram:active{transform:translateY(2px) scale(.99)}
.gramofon .gram .platter-rec{transform-box:fill-box;transform-origin:center;animation:gxspin 3.6s linear infinite}
.gramofon .gram.playing .platter-rec{animation-duration:1.9s}
@keyframes gxspin{to{transform:rotate(360deg)}}
.gramofon .gram .horn-glow{animation:gxhorn 5.5s ease-in-out infinite}
.gramofon .gram.playing .horn-glow{opacity:.85}
@keyframes gxhorn{0%,100%{opacity:.32}50%{opacity:.6}}
.gramofon .note{position:absolute;left:30%;top:6%;font-size:15px;color:var(--amber);opacity:0;pointer-events:none;text-shadow:0 2px 8px rgba(0,0,0,.5)}
@keyframes gxnote{0%{opacity:0;transform:translate(0,6px) rotate(-6deg)}20%{opacity:.9}100%{opacity:0;transform:translate(-16px,-34px) rotate(8deg)}}
.gramofon .note.go{animation:gxnote 2.6s ease-out forwards}
.gramofon .tapcue{margin-top:6px;text-align:center;font-family:var(--font-hand);font-size:13.5px;color:var(--ivory50);transition:opacity .4s;cursor:pointer}
.gramofon .tapcue b{color:var(--amber);font-family:var(--font-ui);font-weight:600;font-size:12px}
.gramofon .qbadge{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:3px 9px;border-radius:999px;
  background:rgba(255,201,126,.12);border:1px solid rgba(255,201,126,.25);font-size:10.5px;color:#ffe2b6;opacity:0;transition:opacity .3s;cursor:pointer}
.gramofon .qbadge.show{opacity:1}
.gramofon .qbadge::after{content:'›';margin-left:2px;opacity:.7}

/* ----- сандъчето с плочи (bottom sheet) ----- */
.gramofon .scrim{position:fixed;inset:0;z-index:1200;background:rgba(6,4,2,.62);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .3s}
.gramofon .scrim.show{opacity:1;pointer-events:auto}
.gramofon .crate{position:fixed;left:0;right:0;bottom:0;z-index:1201;max-width:520px;margin:0 auto;
  transform:translateY(102%);transition:transform .42s cubic-bezier(.32,.72,0,1);
  background:linear-gradient(180deg,#2a1a0c,#1d130a);border-radius:18px 18px 0 0;
  border-top:2px solid rgba(255,214,160,.14);box-shadow:0 -16px 40px rgba(0,0,0,.55);
  max-height:82vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}
.gramofon .crate.show{transform:translateY(0)}
.gramofon .crate .grab{display:block;width:100%;padding:10px 0 5px;background:none;border:0;cursor:pointer}
.gramofon .crate .grip{width:44px;height:4px;border-radius:99px;background:rgba(255,214,160,.35);margin:0 auto;display:block}
.gramofon .crate .chd{position:relative;padding:4px 18px 10px}
.gramofon .cclose{position:absolute;top:-2px;right:14px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:17px;line-height:1;color:var(--ivory70);background:rgba(255,255,255,.06);border:1px solid rgba(255,214,160,.2);cursor:pointer}
.gramofon .cclose:active{background:rgba(255,255,255,.15);color:var(--ivory)}
.gramofon .crate .ck{font-size:9.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--amber)}
.gramofon .crate h2{margin:3px 0 0;font-family:var(--font-display);font-style:italic;font-weight:800;font-size:22px;color:var(--ivory)}
.gramofon .crate .csub{font-size:11.5px;color:var(--ivory70);margin-top:2px}
.gramofon .search{margin:8px 18px 6px;display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.28);border:1px solid rgba(255,214,160,.16);border-radius:12px;padding:9px 12px}
.gramofon .search svg{flex:0 0 auto;opacity:.6}
.gramofon .search input{flex:1;background:none;border:0;outline:0;color:var(--ivory);font:inherit;font-size:14px}
.gramofon .search input::placeholder{color:var(--ivory50)}
.gramofon .cats{display:flex;gap:7px;flex:0 0 auto;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:2px 18px 10px;scrollbar-width:none}
.gramofon .cats::-webkit-scrollbar{display:none}
.gramofon .cat{flex:0 0 auto;font:inherit;font-size:12px;font-weight:600;color:var(--ivory70);background:rgba(255,255,255,.05);
  border:1px solid rgba(255,214,160,.16);border-radius:999px;padding:6px 13px;cursor:pointer;white-space:nowrap}
.gramofon .cat b{font-weight:600;opacity:.55;margin-left:2px}
.gramofon .cat.on{background:linear-gradient(180deg,#ffd591,#f2b45c);color:#2a1c0c;border-color:transparent}
.gramofon .cat.on b{opacity:.75}
.gramofon .list{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 12px 16px}
.gramofon .rec{display:flex;align-items:center;gap:12px;padding:8px 8px;border-radius:12px;cursor:pointer;transition:background .15s;
  opacity:0;transform:translateY(8px);animation:gxrecin .4s ease forwards}
@keyframes gxrecin{to{opacity:1;transform:none}}
.gramofon .rec:active{background:rgba(255,214,160,.08)}
.gramofon .disc{flex:0 0 auto;position:relative;width:46px;height:46px;border-radius:50%;
  background:radial-gradient(circle at 50% 50%, #2a2a2c 0 16%, #111 17%, #1c1c1e 30%, #0c0c0d 31%, #1a1a1c 46%, #090909 47%, #181819 62%, #060606 63%);
  box-shadow:0 3px 7px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.04)}
.gramofon .disc i{position:absolute;inset:34%;border-radius:50%;background-size:cover;background-position:center;
  background-color:var(--cherga-red);box-shadow:0 0 0 1px rgba(0,0,0,.4)}
.gramofon .rec .meta{flex:1;min-width:0}
.gramofon .rec .rt{font-family:var(--font-display);font-weight:700;font-size:14.5px;line-height:1.2;color:var(--ivory);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gramofon .rec .ra{font-size:11.5px;color:var(--ivory70);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.gramofon .rec .pick{flex:0 0 auto;font-size:18px;color:var(--amber);opacity:.5}
.gramofon .rec:active .pick{opacity:1}
.gramofon .lstate{padding:26px;text-align:center;color:var(--ivory50);font-family:var(--font-hand);font-size:15px}

/* ----- потвърждение ----- */
.gramofon .confirm{position:fixed;left:0;right:0;bottom:0;z-index:1203;max-width:520px;margin:0 auto;
  transform:translateY(102%);transition:transform .4s cubic-bezier(.32,.72,0,1);
  background:linear-gradient(180deg,#33210f,#20140a);border-radius:18px 18px 0 0;border-top:2px solid rgba(255,201,126,.22);
  box-shadow:0 -16px 40px rgba(0,0,0,.6);padding:16px 18px calc(env(safe-area-inset-bottom) + 16px);max-height:90vh;overflow-y:auto}
.gramofon .confirm.show{transform:translateY(0)}
.gramofon .confirm .cf-row{display:flex;align-items:center;gap:13px}
.gramofon .confirm .cf-disc{flex:0 0 auto;width:56px;height:56px;border-radius:50%;
  background:radial-gradient(circle at 50% 50%, #222 0 16%, #111 17%, #1b1b1d 46%, #090909 47%, #171718 63%, #050505 64%);
  box-shadow:0 4px 10px rgba(0,0,0,.5);position:relative;animation:gxspin 1.9s linear infinite}
.gramofon .confirm .cf-disc i{position:absolute;inset:35%;border-radius:50%;background-size:cover;background-position:center;background-color:var(--cherga-red)}
.gramofon .confirm .cf-k{font-size:9.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--amber)}
.gramofon .confirm .cf-t{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:17px;color:var(--ivory);line-height:1.2;margin-top:2px}
.gramofon .confirm .cf-a{font-size:12px;color:var(--ivory70);margin-top:2px}
.gramofon .confirm .cf-btns{display:flex;gap:10px;margin-top:14px}
.gramofon .btn{flex:1;font:inherit;font-weight:600;font-size:14px;border:0;border-radius:12px;padding:12px;cursor:pointer}
.gramofon .btn.play{color:#2a1c0c;background:linear-gradient(180deg,#ffd591,#f2b45c);box-shadow:0 3px 0 rgba(120,70,20,.4)}
.gramofon .btn.play:active{transform:translateY(2px);box-shadow:none}
.gramofon .btn.play[disabled]{opacity:.55;box-shadow:none}
.gramofon .btn.cancel{color:var(--ivory70);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}

/* «кажи нещо на Лясъра» */
.gramofon .cf-name{margin-top:12px}
.gramofon .cf-name input{width:100%;font:inherit;font-size:14px;color:var(--ivory);background:rgba(0,0,0,.28);border:1px solid rgba(255,214,160,.16);border-radius:12px;padding:10px 12px;outline:0}
.gramofon .cf-name input::placeholder{color:var(--ivory50)}
.gramofon .cf-add{width:100%;margin-top:12px;display:flex;align-items:center;justify-content:space-between;
  font:inherit;font-size:13px;font-weight:600;color:#ffe2b6;background:rgba(255,201,126,.08);
  border:1px solid rgba(255,201,126,.22);border-radius:12px;padding:11px 14px;cursor:pointer}
.gramofon .cf-add .chev{transition:transform .2s}
.gramofon .cf-add.open .chev{transform:rotate(180deg)}
.gramofon .cf-greet{margin-top:10px;display:none;flex-direction:column;gap:9px}
.gramofon .cf-greet.open{display:flex}
.gramofon .cf-povod{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gramofon .cf-povod .pl{font-size:11px;color:var(--ivory50);margin-right:2px}
.gramofon .pv{font:inherit;font-size:12px;font-weight:600;color:var(--ivory70);background:rgba(255,255,255,.05);
  border:1px solid rgba(255,214,160,.16);border-radius:999px;padding:6px 11px;cursor:pointer}
.gramofon .pv.on{background:linear-gradient(180deg,#ffd591,#f2b45c);color:#2a1c0c;border-color:transparent}
.gramofon .cf-greet textarea,.gramofon .cf-greet input{width:100%;font:inherit;font-size:14px;color:var(--ivory);
  background:rgba(0,0,0,.28);border:1px solid rgba(255,214,160,.16);border-radius:12px;padding:10px 12px;outline:0}
.gramofon .cf-greet textarea{min-height:52px;resize:none}
.gramofon .cf-greet textarea::placeholder,.gramofon .cf-greet input::placeholder{color:var(--ivory50)}
.gramofon .cf-hint{font-size:11px;color:var(--ivory50)}
.gramofon .cf-mode{display:flex;gap:6px}
.gramofon .cm{flex:1;font:inherit;font-size:12.5px;font-weight:600;color:var(--ivory70);background:rgba(255,255,255,.05);
  border:1px solid rgba(255,214,160,.16);border-radius:10px;padding:8px;cursor:pointer}
.gramofon .cm.on{background:rgba(255,201,126,.16);color:#ffe6bf;border-color:rgba(255,201,126,.32)}
.gramofon .cf-voice{flex-direction:column;gap:8px;align-items:center;padding:8px 0 2px}
.gramofon .vrec{display:inline-flex;align-items:center;gap:9px;font:inherit;font-size:13.5px;font-weight:600;color:#2a1c0c;
  background:linear-gradient(180deg,#ffd591,#f2b45c);border:0;border-radius:999px;padding:12px 20px;cursor:pointer;user-select:none;touch-action:none}
.gramofon .vrec.rec{background:linear-gradient(180deg,#ef9560,#d8633a);color:#2a1206}
.gramofon .vring{width:12px;height:12px;border-radius:50%;background:#a82e1c}
.gramofon .vrec.rec .vring{animation:gxvpulse 1s ease-out infinite}
@keyframes gxvpulse{0%{box-shadow:0 0 0 0 rgba(216,99,58,.6)}100%{box-shadow:0 0 0 13px rgba(216,99,58,0)}}
.gramofon .vstate{font-size:11.5px;color:var(--ivory70);text-align:center}
.gramofon .vstate.done{color:#ffd591}

/* ----- редицата ----- */
.gramofon .qrow{display:flex;align-items:center;gap:11px;padding:8px}
.gramofon .qrow .qn{flex:0 0 auto;width:22px;text-align:center;font-family:var(--font-display);font-style:italic;font-weight:800;color:var(--ivory50)}
.gramofon .qrow .disc{flex:0 0 auto;width:40px;height:40px}
.gramofon .qrow .meta{flex:1;min-width:0}
.gramofon .qrow .qt{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--ivory);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gramofon .qrow .qw{font-size:11.5px;color:var(--ivory70);margin-top:1px}
.gramofon .qrow .qw b{color:#ffd591;font-weight:600}

/* ----- тост ----- */
.gramofon .toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 22px);transform:translateX(-50%) translateY(20px);
  z-index:1300;max-width:360px;width:calc(100% - 36px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;
  background:linear-gradient(180deg,rgba(36,22,9,.97),rgba(24,15,7,.97));border:1px solid rgba(255,201,126,.28);
  border-radius:14px;padding:13px 15px;box-shadow:0 14px 30px rgba(0,0,0,.5)}
.gramofon .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.gramofon .toast .tk{font-size:9.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--amber)}
.gramofon .toast .tt{margin-top:5px;font-family:var(--font-display);font-style:italic;font-size:15.5px;color:var(--ivory)}
.gramofon .toast .ts{margin-top:4px;font-size:11px;color:var(--ivory70)}
