:root{
  --gk-accent:#e11d48;
  --gk-accent-hover:#f32b58;
  --gk-glass:rgba(8,9,12,.72);
  --gk-line:rgba(255,255,255,.15);
  --gk-muted:#a3a7b0;
}
.gk-player{
  position:relative;
  width:100%;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  background:#000;
  box-shadow:0 24px 80px rgba(0,0,0,.38);
  outline:none;
  user-select:none;
  -webkit-user-select:none;
  touch-action:manipulation;
}
.gk-player:focus-visible{box-shadow:0 0 0 3px rgba(225,29,72,.25),0 24px 80px rgba(0,0,0,.38)}
.gk-stage{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.gk-video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.gk-shade{
  position:absolute;inset:0;pointer-events:none;opacity:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 24%,transparent 55%,rgba(0,0,0,.78));
  transition:opacity .18s ease
}
.gk-player.is-controls-visible .gk-shade{opacity:1}
.gk-topbar{
  position:absolute;z-index:4;top:0;left:0;right:0;
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:20px 22px;
  opacity:0;transform:translateY(-8px);pointer-events:none;
  transition:opacity .18s ease,transform .18s ease
}
.gk-player.is-controls-visible .gk-topbar{opacity:1;transform:none}
.gk-title{display:grid;gap:2px;min-width:0}
.gk-title small{color:#aeb2bc;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.gk-title strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.gk-live-source{
  flex:0 0 auto;padding:5px 8px;border:1px solid rgba(255,255,255,.11);
  border-radius:999px;background:rgba(0,0,0,.28);color:#d6d8dd;
  font-size:9px;font-weight:850;letter-spacing:.11em
}
.gk-center-controls{
  position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);
  display:flex;align-items:center;gap:20px;
  opacity:0;pointer-events:none;transition:opacity .16s ease
}
.gk-player.is-controls-visible .gk-center-controls{opacity:1;pointer-events:auto}
.gk-round{
  display:grid;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:50%;
  background:rgba(8,9,12,.68);color:#fff;backdrop-filter:blur(12px);cursor:pointer;
  transition:transform .15s ease,background .15s ease
}
.gk-round:hover{background:rgba(24,26,31,.82);transform:scale(1.04)}
.gk-main-play{width:66px;height:66px;background:rgba(225,29,72,.92);border-color:rgba(255,255,255,.18);font-size:23px}
.gk-main-play:hover{background:var(--gk-accent-hover)}
.gk-main-play span{transform:translateX(1px)}
.gk-skip{width:48px;height:48px;display:flex;align-items:center;justify-content:center;gap:1px}
.gk-skip span{font-size:20px}.gk-skip small{font-size:9px;font-weight:800}
.gk-controls{
  position:absolute;z-index:6;left:0;right:0;bottom:0;
  padding:0 18px 14px;
  opacity:0;transform:translateY(10px);pointer-events:none;
  transition:opacity .18s ease,transform .18s ease
}
.gk-player.is-controls-visible .gk-controls{opacity:1;transform:none;pointer-events:auto}
.gk-timeline-wrap{position:relative;height:32px;display:flex;align-items:center}
.gk-timeline-wrap::before{
  content:"";position:absolute;left:0;right:0;top:50%;height:3px;transform:translateY(-50%);
  border-radius:999px;background:rgba(255,255,255,.18)
}
.gk-buffered{
  position:absolute;z-index:1;left:0;top:50%;height:3px;transform:translateY(-50%);
  border-radius:999px;background:rgba(255,255,255,.32);pointer-events:none
}
.gk-timeline{
  --played:0%;
  position:relative;z-index:2;width:100%;height:32px;margin:0;appearance:none;-webkit-appearance:none;
  background:transparent;cursor:pointer;outline:none
}
.gk-timeline::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,var(--gk-accent) 0 var(--played),transparent var(--played) 100%)}
.gk-timeline::-moz-range-track{height:3px;background:rgba(255,255,255,.18)}
.gk-timeline::-moz-range-progress{height:3px;background:var(--gk-accent)}
.gk-timeline::-webkit-slider-thumb{
  width:14px;height:14px;margin-top:-5.5px;appearance:none;-webkit-appearance:none;border:0;border-radius:50%;
  background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.35);transform:scale(.78);transition:transform .12s ease
}
.gk-timeline:hover::-webkit-slider-thumb,.gk-timeline:active::-webkit-slider-thumb{transform:scale(1)}
.gk-timeline::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#fff}
.gk-seek-tip{
  position:absolute;z-index:5;bottom:30px;transform:translateX(-50%);
  padding:6px 8px;border-radius:8px;background:rgba(5,6,8,.92);color:#fff;font-size:10px;white-space:nowrap
}
.gk-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:34px}
.gk-controls-left,.gk-controls-right{display:flex;align-items:center;gap:8px}
.gk-icon,.gk-text-button{
  min-width:34px;height:34px;display:grid;place-items:center;padding:0 8px;border:0;border-radius:9px;
  background:transparent;color:#fff;cursor:pointer;font-size:14px
}
.gk-icon:hover,.gk-text-button:hover{background:rgba(255,255,255,.09)}
.gk-text-button{font-size:11px;font-weight:800}
.gk-volume{position:relative;display:flex;align-items:center;gap:2px}
.gk-volume-panel{display:flex;align-items:center;gap:7px}
.gk-volume-panel input{width:84px;accent-color:var(--gk-accent);cursor:pointer}
.gk-volume-value{min-width:32px;color:#d4d6db;font-size:9px;font-variant-numeric:tabular-nums;text-align:right}
.gk-volume-mute-action{display:none;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#fff;cursor:pointer;font-size:14px}
.gk-volume-mute-action:hover{background:rgba(255,255,255,.09)}
.gk-time{display:flex;gap:4px;color:#d4d6db;font-size:10px;font-variant-numeric:tabular-nums}
.gk-settings{
  position:absolute;z-index:10;right:16px;bottom:62px;width:min(260px,calc(100% - 32px));
  padding:14px;border:1px solid rgba(255,255,255,.11);border-radius:15px;
  background:rgba(15,17,21,.95);box-shadow:0 20px 55px rgba(0,0,0,.36);backdrop-filter:blur(18px)
}
.gk-settings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.gk-settings-head strong{font-size:12px}
.gk-settings-head button{
  width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#aeb2bb;cursor:pointer;font-size:18px
}
.gk-speed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.gk-speed-grid button{
  min-height:36px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#111318;color:#d8dae0;
  font-size:11px;cursor:pointer
}
.gk-speed-grid button:hover,.gk-speed-grid button.is-active{border-color:var(--gk-accent);background:rgba(225,29,72,.13);color:#fff}
.gk-loading{
  position:absolute;z-index:8;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;
  border:3px solid rgba(255,255,255,.22);border-top-color:#fff;border-radius:50%;
  animation:gk-spin .75s linear infinite
}
@keyframes gk-spin{to{transform:rotate(360deg)}}
.gk-gesture-feedback{
  position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);
  min-width:74px;max-width:min(520px,82%);padding:11px 16px;border-radius:18px;background:rgba(7,8,11,.84);color:#fff;
  font-size:12px;font-weight:800;line-height:1.35;text-align:center;backdrop-filter:blur(10px)
}
.gk-gesture-feedback.is-pop{animation:gk-pop .55s ease}
@keyframes gk-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.82)}35%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(.96)}}
.gk-resume,.gk-error{
  position:absolute;z-index:15;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(360px,calc(100% - 34px));display:grid;gap:7px;padding:18px;
  border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(12,14,18,.94);
  box-shadow:0 20px 60px rgba(0,0,0,.4);backdrop-filter:blur(18px)
}
.gk-resume[hidden],.gk-error[hidden]{display:none}
.gk-resume strong,.gk-error strong{font-size:15px}
.gk-resume span,.gk-error span{color:var(--gk-muted);font-size:11px;line-height:1.45}
.gk-resume>div{display:flex;gap:8px;margin-top:5px}
.gk-resume button,.gk-error button{
  min-height:38px;padding:0 12px;border:1px solid rgba(255,255,255,.09);border-radius:10px;
  background:#1a1d23;color:#fff;font-size:11px;font-weight:750;cursor:pointer
}
.gk-resume button:first-child,.gk-error button{border-color:var(--gk-accent);background:var(--gk-accent)}
.gk-player-help{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 2px 0;color:#747985;font-size:9px}
.gk-body-lock{overflow:hidden}
.gk-player.is-pseudo-fullscreen{
  position:fixed;z-index:1000;inset:0;width:100vw;height:100dvh;border:0;border-radius:0;background:#000
}
.gk-player.is-pseudo-fullscreen .gk-stage{width:100%;height:100%;aspect-ratio:auto}
.gk-player:fullscreen{border:0;border-radius:0}
.gk-player:fullscreen .gk-stage{width:100vw;height:100vh;aspect-ratio:auto}

@media(pointer:coarse){
  .gk-player{touch-action:manipulation}
  .gk-center-controls{gap:22px}
  .gk-main-play{width:64px;height:64px}
  .gk-skip{width:52px;height:52px}
  .gk-controls{padding-inline:14px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .gk-timeline-wrap{height:42px}
  .gk-timeline{height:42px}
  .gk-timeline-wrap::before,.gk-buffered{height:4px}
  .gk-volume-panel{
    position:absolute;left:0;bottom:48px;display:none;align-items:center;gap:8px;width:220px;
    padding:10px 11px;border:1px solid rgba(255,255,255,.11);border-radius:13px;
    background:rgba(15,17,21,.96);box-shadow:0 16px 45px rgba(0,0,0,.4);backdrop-filter:blur(16px)
  }
  .gk-volume.is-open .gk-volume-panel{display:flex}
  .gk-volume-panel input{display:block;flex:1;width:auto;min-width:0;height:32px}
  .gk-volume-mute-action{display:grid;place-items:center;flex:0 0 34px}
  .gk-volume-value{flex:0 0 34px;font-size:10px}
  .gk-time{font-size:10px}
  .gk-icon,.gk-text-button{min-width:40px;height:40px}
}
@media(max-width:640px){
  .gk-player{margin-inline:-12px;width:calc(100% + 24px);border-left:0;border-right:0;border-radius:0}
  .gk-topbar{padding:13px 14px}
  .gk-title strong{font-size:12px}.gk-title small{font-size:8px}
  .gk-live-source{font-size:8px}
  .gk-center-controls{gap:16px}
  .gk-main-play{width:58px;height:58px;font-size:20px}
  .gk-skip{width:46px;height:46px}
  .gk-controls{padding:0 11px 8px}
  .gk-bottom-row{gap:5px}
  .gk-controls-left,.gk-controls-right{gap:1px}
  .gk-volume{display:flex}
  .gk-controls-left>[data-gk-play-bottom]{display:none}
  .gk-time{font-size:9px}
  .gk-settings{right:10px;bottom:58px;width:min(280px,calc(100% - 20px))}
  .gk-player-help{display:none}
}
@media(max-height:520px) and (orientation:landscape){
  .gk-topbar{padding:10px 16px}
  .gk-controls{padding-bottom:max(7px,env(safe-area-inset-bottom))}
  .gk-timeline-wrap{height:30px}
  .gk-center-controls{gap:24px}
  .gk-main-play{width:58px;height:58px}
}
@media(prefers-reduced-motion:reduce){
  .gk-shade,.gk-topbar,.gk-center-controls,.gk-controls{transition:none}
  .gk-loading{animation-duration:1.4s}
}

/* Source-only build: settings contain playback speed only. */
@media(max-width:640px){
  .gk-settings{right:8px;bottom:58px;width:min(310px,calc(100% - 16px));max-height:min(58vh,420px);padding:12px}
}
