/* PT_GLACI_UI_V1 | PlayTube custom glass interface | no financial/runtime changes */
:root{--glaci-ink:#f8fafc;--glaci-muted:#cbd5e1;--glaci-accent:#73e4e0;--glaci-glass:rgba(20,23,38,.55);--glaci-border:rgba(255,255,255,.19)}
.pt_shorts_page,.pt_shorts_page *,.pt-mobile-nav,.pt-shorts-switch{box-sizing:border-box}
.pt_shorts_page{background:#05070d!important;color:var(--glaci-ink)!important}
.pt_shorts_page .pt_shorts_swipe{background:radial-gradient(circle at 50% 25%,#182034 0%,#030408 75%)!important}
.pt_shorts_page .swiper-slide{background:#05070d!important}
.pt_shorts_page video{background:#05070d!important}
.pt_shorts_page .swiper-slide:after{content:"";position:absolute;inset:48% 0 0;pointer-events:none;background:linear-gradient(transparent,rgba(0,0,0,.14) 28%,rgba(0,0,0,.58));z-index:3}
.pt_shorts_page .shorts_events{position:relative;z-index:15!important;color:#fff}
.pt_shorts_page .shorts_events button,.pt_shorts_page .shorts_events a,.pt_shorts_page .shorts_events [role=button]{-webkit-tap-highlight-color:transparent}
.pt_shorts_page .shorts_events .btn,.pt_shorts_page .shorts_events button{border-radius:18px;transition:background .2s ease,transform .2s ease}
.pt_shorts_page .shorts_events .btn:active,.pt_shorts_page .shorts_events button:active{transform:scale(.96)}
.pt_shorts_page .pt-playback-status{background:rgba(9,13,25,.7)!important;border:1px solid var(--glaci-border);border-radius:13px!important;backdrop-filter:blur(15px)}
.pt-shorts-switch{position:fixed!important;z-index:2147482001!important;top:max(14px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 112px);padding:7px 9px!important;gap:4px!important;border:1px solid var(--glaci-border);border-radius:999px;background:var(--glaci-glass)!important;backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);box-shadow:0 12px 32px rgba(0,0,0,.2)}
.pt-shorts-switch a{font-size:13px;color:var(--glaci-muted)!important;padding:7px 13px!important;border:0!important;border-radius:999px;text-decoration:none;white-space:nowrap}
.pt-shorts-switch a.active{background:rgba(255,255,255,.18);color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.pt-shorts-search-btn{top:max(18px,env(safe-area-inset-top))!important;right:12px!important;border:1px solid var(--glaci-border)!important;background:var(--glaci-glass)!important;backdrop-filter:blur(16px);border-radius:16px!important;font-size:20px!important}
.pt-mobile-nav{background:rgba(8,11,22,.82)!important;border:1px solid rgba(255,255,255,.14)!important;backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%);box-shadow:0 -8px 28px rgba(0,0,0,.2);border-radius:17px 17px 0 0!important;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
.pt-mobile-nav a{font-weight:600;opacity:.88;min-width:0;flex:1;font-size:10px!important;gap:2px!important}
.pt-mobile-nav a span{font-size:23px!important;line-height:26px}
.pt-mobile-nav a[href*="upload-video"] span{display:grid;place-items:center;background:linear-gradient(135deg,#6ddedb,#c0a3ff);color:#10101b;width:38px;height:32px;border-radius:11px;box-shadow:0 4px 18px rgba(115,228,224,.25);font-size:27px!important}
#shorts_comments_modal .modal-content,#shorts_comments_modal .modal-dialog .modal-content{background:rgba(18,22,35,.97)!important;color:#fff;border-radius:20px!important;border:1px solid rgba(255,255,255,.15)!important}
#shorts_comments_modal input,#shorts_comments_modal textarea{border-radius:14px!important}
@media (min-width:768px){.pt_shorts_page{max-width:540px!important;margin:0 auto!important}.pt_shorts_page .pt_shorts_swipe{border-radius:22px!important;box-shadow:0 15px 80px rgba(0,0,0,.45)}.pt-mobile-nav{display:none!important}}
@media (max-width:767px){.pt_shorts_page .pt_shorts_swipe{border-radius:0!important}.pt_shorts_page .swiper-slide:after{inset:50% 0 0}.pt-shorts-switch{top:max(12px,env(safe-area-inset-top))}}
@media (prefers-reduced-motion:reduce){.pt_shorts_page *, .pt-mobile-nav *{transition:none!important;animation-duration:.01ms!important}}
/* Upload templates keep all their original JS handlers and form fields */
body:has(.pt_upload_vdo) .container-home{max-width:900px;margin:0 auto}
body:has(.pt_upload_vdo){background:linear-gradient(130deg,#0b1120,#17172b 50%,#111827)!important;color:#f3f5ff}
body:has(.pt_upload_vdo) .pt_page_headr,body:has(.pt_upload_vdo) .pt_upload_vdo{color:#f3f5ff}
body:has(.pt_upload_vdo) .pt_upload_vdo .pt_upvid_one .upload{border:1.5px dashed rgba(115,228,224,.6)!important;border-radius:23px!important;background:rgba(255,255,255,.06)!important;backdrop-filter:blur(10px);padding:25px!important}
body:has(.pt_upload_vdo) .pt_upload_vdo .pt_upvid_one .upload h4{color:#fff!important}
body:has(.pt_upload_vdo) .pt_upload_vdo .btn-main{background:linear-gradient(120deg,#1a9e9c,#6754ca)!important;border:0!important;border-radius:12px!important;color:white!important}
body:has(.pt_upload_vdo) .pt_upload_vdo .form-control{border-radius:12px;min-height:41px}

/* TIKTOK DISK & MUSIC TICKER */
.pt-tiktok-disc-container {position: relative; margin-top: 14px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;}
.pt-tiktok-disc {width: 40px; height: 40px; border-radius: 50%; background: #121212; border: 4px solid #282828; display: flex; align-items: center; justify-content: center; overflow: hidden; box-shadow: 0 0 12px rgba(0,0,0,0.85);}
.pt-tiktok-disc img {width: 22px; height: 22px; border-radius: 50%; object-fit: cover;}
.pt-tiktok-disc.rotating {animation: pt_disc_spin 4s linear infinite;}
@keyframes pt_disc_spin {0% {transform: rotate(0deg);} 100% {transform: rotate(360deg);}}
.pt-music-note {position: absolute; color: #fff; font-size: 15px; opacity: 0; pointer-events: none;}
.pt-music-note.note1 {animation: pt_float_note 2.6s ease-out infinite; left: 2px; top: 0;}
.pt-music-note.note2 {animation: pt_float_note 2.6s ease-out infinite 1.3s; right: 2px; top: 4px;}
@keyframes pt_float_note {
  0% {transform: translate(0, 0) scale(0.6); opacity: 0;}
  30% {opacity: 0.95;}
  100% {transform: translate(-28px, -48px) scale(1.15) rotate(-28deg); opacity: 0;}
}

.pt-short-sound {display: flex; align-items: center; gap: 6px; font-size: 13px; color: #fff; margin-top: 7px; opacity: 0.92; max-width: 270px; overflow: hidden; white-space: nowrap;}
.pt-sound-marquee {display: inline-block; animation: pt_marquee 10s linear infinite;}
@keyframes pt_marquee {0% {transform: translateX(10%);} 100% {transform: translateX(-100%);}}

/* TIKTOK BOOST MODAL & CONTROLS */
#pt_boost_modal .modal-content {background: #12131d !important; color: #fff !important; border-radius: 22px !important; border: 1px solid rgba(255,255,255,0.18) !important; box-shadow: 0 25px 70px rgba(0,0,0,0.85) !important;}
.pt-boost-tabs {display: flex; gap: 8px; margin-bottom: 18px;}
.pt-boost-tab {flex: 1; padding: 11px 6px; border-radius: 12px; background: #1a1b28; border: 1.5px solid transparent; color: #aaa; font-weight: 600; font-size: 12px; text-align: center; cursor: pointer; transition: all 0.2s;}
.pt-boost-tab.active {background: rgba(254,44,85,0.18); border-color: #fe2c55; color: #fff;}
.pt-boost-packages {display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px;}
.pt-boost-pkg {padding: 12px 8px; border-radius: 12px; background: #181926; border: 1.5px solid #2c2e42; cursor: pointer; text-align: center; transition: all 0.2s;}
.pt-boost-pkg:hover, .pt-boost-pkg.active {border-color: #fe2c55; background: rgba(254,44,85,0.14);}
.pt-boost-pkg .pkg-target {font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 3px;}
.pt-boost-pkg .pkg-price {font-size: 13px; color: #fe2c55; font-weight: 600;}
.pt-boost-wallet-info {background: #181926; padding: 11px 15px; border-radius: 12px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; font-size: 13px;}
.pt-boost-btn {width: 100%; padding: 14px; border-radius: 13px; background: linear-gradient(135deg, #fe2c55, #ff758c); color: #fff; font-size: 15px; font-weight: 700; border: none; cursor: pointer; box-shadow: 0 8px 24px rgba(254,44,85,0.35); transition: opacity 0.2s;}
.pt-boost-btn:hover {opacity: 0.95;}
.pt-boost-notice {font-size: 11.5px; color: #8e8e9e; margin-top: 12px; text-align: center; line-height: 1.45;}

/* PURE MOBILE TIKTOK APP FEELING */
@media screen and (max-width: 767px) {
  header.navbar-fixed-top {display: none !important;}
  #pt-body {padding-top: 0 !important; background: #000 !important; margin: 0 !important; overflow: hidden !important;}
  #main-container {padding: 0 !important; margin: 0 !important; width: 100vw !important; max-width: 100vw !important;}
  .pt_shorts_page {margin: 0 !important; width: 100vw !important; max-width: 100vw !important; height: 100dvh !important; padding: 0 !important;}
  .pt_shorts_page .pt_shorts_swipe {height: calc(100dvh - 56px) !important; width: 100vw !important; border-radius: 0 !important;}
  .pt_shorts_page_title {display: none !important;}
  .pt-mobile-nav {position: fixed !important; bottom: 0 !important; left: 0 !important; right: 0 !important; height: 56px !important; z-index: 2147483640 !important;}
  .pt-shorts-switch {top: max(10px, env(safe-area-inset-top)) !important;}
}

/* === TIKTOK STRICT FIX V3 === */
body .pt_shorts_swipe .swiper-button-prev,
body .pt_shorts_swipe .swiper-button-next,
.swiper-button-prev, .swiper-button-next,
.pt_shorts_page_title { display: none !important; }
.pt-tiktok-avatar { position: relative !important; width: 48px !important; height: 48px !important; min-width: 48px !important; max-width: 48px !important; margin: 0 auto 10px !important; display: block !important; padding: 0 !important; }
.pt-tiktok-avatar a { display: block !important; width: 48px !important; height: 48px !important; }
.pt-tiktok-avatar img, .pt_shorts_swipe .swiper-wrapper .user_avatar img, .user_avatar.pt-tiktok-avatar img, .shorts_events .pt-tiktok-avatar img { width: 48px !important; height: 48px !important; min-width: 48px !important; max-width: 48px !important; min-height: 48px !important; max-height: 48px !important; border-radius: 50% !important; border: 2px solid #fff !important; object-fit: cover !important; box-shadow: 0 4px 12px rgba(0,0,0,0.45) !important; display: block !important; margin: 0 auto !important; }
.pt-tiktok-rail { position: absolute !important; right: 12px !important; bottom: 26px !important; width: 56px !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 14px !important; z-index: 40 !important; pointer-events: auto !important; }
.pt-short-caption { position: absolute !important; left: 16px !important; bottom: 22px !important; max-width: calc(100% - 85px) !important; color: #fff !important; z-index: 35 !important; text-shadow: 0 1px 4px rgba(0,0,0,0.85) !important; text-align: left !important; pointer-events: auto !important; }
@media (min-width: 768px) {
  .pt_shorts_page { width: 100% !important; max-width: 460px !important; margin: 15px auto !important; padding: 0 !important; float: none !important; }
  .pt_shorts_page .pt_shorts_swipe { height: calc(100vh - 90px) !important; max-height: 760px !important; width: 100% !important; border-radius: 16px !important; box-shadow: 0 15px 50px rgba(0,0,0,0.7) !important; background: #000 !important; overflow: hidden !important; }
  .pt_shorts_page video { width: 100% !important; height: 100% !important; object-fit: cover !important; background: #000 !important; }
  .pt-shorts-search-btn { display: none !important; }
}
@media (max-width: 767px) {
  header.navbar-fixed-top, nav.pt_header_nav { display: none !important; }
  #pt-body { padding-top: 0 !important; background: #000 !important; margin: 0 !important; overflow: hidden !important; }
  #main-container, .container { padding: 0 !important; margin: 0 !important; width: 100vw !important; max-width: 100vw !important; }
  .pt_shorts_page { position: fixed !important; inset: 0 !important; width: 100vw !important; max-width: 100vw !important; height: 100dvh !important; padding: 0 !important; margin: 0 !important; z-index: 100 !important; background: #000 !important; }
  .pt_shorts_page .pt_shorts_swipe { height: calc(100dvh - 56px) !important; width: 100vw !important; border-radius: 0 !important; }
  .pt_shorts_page video { width: 100vw !important; height: 100% !important; object-fit: cover !important; }
  .pt-mobile-nav { position: fixed !important; bottom: 0 !important; left: 0 !important; right: 0 !important; height: 56px !important; z-index: 2147483640 !important; background: #000 !important; border-top: 1px solid rgba(255,255,255,0.12) !important; }
  .pt-shorts-switch { top: max(10px, env(safe-area-inset-top)) !important; }
}
