.v27-party-modal-open{overflow:hidden!important}.v27-party-modal[hidden]{display:none!important}.v27-party-modal{position:fixed;inset:0;z-index:10050;background:rgba(2,6,14,.78);backdrop-filter:blur(10px);display:grid;place-items:center;padding:18px;opacity:0;transition:.18s}.v27-party-modal.is-open{opacity:1}.v27-party-dialog{width:min(920px,100%);max-height:min(88vh,820px);overflow:auto;background:linear-gradient(145deg,#101722,#0a0f17 68%);border:1px solid rgba(255,255,255,.09);box-shadow:0 30px 90px rgba(0,0,0,.55);border-radius:24px;padding:20px;color:#eef4ff}.v27-party-dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.v27-party-dialog-head h3{margin:4px 0 5px;font-size:22px}.v27-party-dialog-head p{margin:0;color:#94a3b8;font-size:12px}.v27-party-kicker{font-size:10px;letter-spacing:.18em;color:#7dd3fc}.v27-party-close{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#111827;color:#fff;font-size:24px;cursor:pointer}.v27-party-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:16px}.v27-party-card{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.075);border-radius:18px;padding:16px}.v27-party-card h4{margin:0 0 12px;font-size:15px}.v27-party-selected{display:inline-flex;margin-bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(34,197,94,.1);color:#86efac;font-size:11px}.v27-party-fields{display:grid;grid-template-columns:1fr 120px;gap:10px}.v27-party-field{display:grid;gap:6px;margin-bottom:10px}.v27-party-field>span{font-size:11px;color:#94a3b8}.v27-party-field input,.v27-party-field select{width:100%;height:44px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#0a111b;color:#fff;padding:0 12px;font-family:inherit;outline:0}.v27-party-field input:focus,.v27-party-field select:focus{border-color:#38bdf8}.v27-party-visibility{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:2px 0 10px}.v27-party-visibility label{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#0b121c;cursor:pointer;font-size:12px}.v27-party-submit{width:100%;height:46px;border:0;border-radius:13px;background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff;font-family:inherit;font-weight:900;cursor:pointer}.v27-party-join-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:14px}.v27-party-join-form input{min-width:0;height:42px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:#0a111b;color:#fff;padding:0 10px;font-family:inherit}.v27-party-join-form button,.v27-party-room-enter{border:0;border-radius:10px;background:#1d4ed8;color:#fff;padding:0 13px;font-family:inherit;font-weight:800;cursor:pointer}.v27-party-public-head{display:flex;justify-content:space-between;align-items:center;margin:8px 0}.v27-party-public-head small{color:#64748b;font-size:10px}.v27-party-public-list{display:grid;gap:8px}.v27-party-room-card{width:100%;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;text-align:right;padding:11px;border-radius:13px;border:1px solid rgba(255,255,255,.07);background:#0c131d;color:#fff;font-family:inherit;cursor:pointer}.v27-party-room-card:hover{border-color:rgba(56,189,248,.45);transform:translateY(-1px)}.v27-party-room-main{display:grid;gap:3px}.v27-party-room-main b{font-size:12px}.v27-party-room-main small{font-size:10px;color:#94a3b8}.v27-party-room-stat{display:grid;text-align:center}.v27-party-room-stat strong{font-size:12px}.v27-party-room-stat small{font-size:9px;color:#64748b}.v27-party-room-enter{padding:7px 10px;font-size:10px}.v27-party-loading,.v27-party-public-empty{padding:14px;border-radius:12px;background:rgba(255,255,255,.03);color:#94a3b8;font-size:11px;text-align:center}.v27-party-note{margin-top:10px;color:#64748b;font-size:10px;line-height:1.9}
.v27-party-bar{position:absolute;z-index:18;top:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(125,211,252,.18);border-radius:14px;background:rgba(5,11,20,.78);backdrop-filter:blur(12px);color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.2)}.v27-party-bar[hidden]{display:none!important}.v27-party-bar-main{display:flex;align-items:center;gap:10px;min-width:0}.v27-party-live{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}.v27-party-bar-copy{display:grid;min-width:0}.v27-party-bar-copy strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v27-party-bar-copy small{font-size:9px;color:#94a3b8}.v27-party-bar-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.v27-party-bar-meta span{font-size:10px;color:#cbd5e1}.v27-party-bar button{height:32px;border-radius:9px;border:1px solid rgba(255,255,255,.09);background:#111827;color:#fff;padding:0 9px;font-family:inherit;font-size:10px;cursor:pointer}.v27-party-bar.is-host .v27-party-creator{color:#fde68a}.v27-party-gate{position:absolute;z-index:30;inset:0;display:grid;place-items:center;padding:18px;background:rgba(2,6,14,.88);backdrop-filter:blur(12px)}.v27-party-gate[hidden]{display:none!important}.v27-party-gate-card{width:min(420px,100%);padding:20px;border-radius:20px;border:1px solid rgba(255,255,255,.09);background:#0d1520;color:#fff;box-shadow:0 24px 60px rgba(0,0,0,.45);text-align:center}.v27-party-gate-card h3{margin:0 0 7px}.v27-party-gate-message{color:#94a3b8;font-size:11px;line-height:1.8}.v27-party-gate-form{display:grid;gap:9px;margin-top:14px}.v27-party-gate-form input{height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#080e16;color:#fff;padding:0 12px;text-align:center;font-family:inherit}.v27-party-gate-form button{height:44px;border:0;border-radius:12px;background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff;font-family:inherit;font-weight:900;cursor:pointer}
@media(max-width:760px){.v27-party-modal{padding:8px}.v27-party-dialog{border-radius:18px;padding:14px;max-height:94vh}.v27-party-grid{grid-template-columns:1fr}.v27-party-fields{grid-template-columns:1fr 100px}.v27-party-join-form{grid-template-columns:1fr 1fr}.v27-party-join-form button{grid-column:1/-1;height:42px}.v27-party-bar{top:8px;left:8px;right:8px;align-items:flex-start}.v27-party-bar-meta{gap:5px}.v27-party-creator{display:none}.v27-party-bar button{padding:0 7px}.v27-party-room-card{grid-template-columns:1fr auto}.v27-party-room-enter{display:none}}

/* Phase 5.1 chat/sync hotfix: keep party actions away from the player topbar. */
.v27-party-bar{
  top:auto;
  right:auto;
  left:14px;
  bottom:78px;
  width:min(620px,calc(100% - 28px));
  z-index:24;
  background:rgba(5,11,20,.72);
}
@media(max-width:760px){
  .v27-party-bar{
    top:auto;
    right:8px;
    left:8px;
    bottom:76px;
    width:auto;
    align-items:center;
  }
  .v27-party-bar-main{max-width:44%}
  .v27-party-bar-copy small{display:none}
  .v27-party-bar-meta{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .v27-party-bar-meta::-webkit-scrollbar{display:none}
}

/* ===== ArtPlayer 5.2 compact Watch Party dock ===== */
.v27-art-player .v27-party-bar{top:auto!important;right:auto!important;left:12px!important;bottom:max(70px,calc(58px + env(safe-area-inset-bottom)))!important;width:auto!important;max-width:min(680px,calc(100vw - 24px))!important;min-height:0!important;height:auto!important;padding:7px 9px!important;border-radius:14px!important;background:rgba(7,10,16,.78)!important;backdrop-filter:blur(14px)!important;box-shadow:0 12px 34px rgba(0,0,0,.32)!important;display:flex!important;align-items:center!important;gap:9px!important;overflow:visible!important}
.v27-art-player .v27-party-bar[hidden]{display:none!important}
.v27-art-player .v27-party-bar-main,.v27-art-player .v27-party-bar-meta{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important}
.v27-art-player .v27-party-bar-copy{min-width:0!important}.v27-art-player .v27-party-bar-copy strong{font-size:11px!important;white-space:nowrap!important}.v27-art-player .v27-party-bar-copy small{font-size:9px!important;white-space:nowrap!important;opacity:.72!important}
.v27-art-player .v27-party-online{font-size:10px!important;white-space:nowrap!important}
.v27-art-player .v27-party-bar button{min-height:32px!important;padding:5px 9px!important;border-radius:9px!important;font-size:10px!important;white-space:nowrap!important}
.v27-art-player.chat-open .v27-party-bar{opacity:0!important;pointer-events:none!important;transform:translateY(8px)!important}
@media(max-width:760px){
 .v27-art-player .v27-party-bar{left:8px!important;right:8px!important;bottom:max(55px,calc(47px + env(safe-area-inset-bottom)))!important;max-width:none!important;padding:5px 6px!important;gap:5px!important;border-radius:12px!important}
 .v27-art-player .v27-party-bar-copy,.v27-art-player .v27-party-copy,.v27-art-player .v27-party-leave{display:none!important}
 .v27-art-player .v27-party-bar-main{flex:0 0 auto!important}.v27-art-player .v27-party-bar-meta{flex:1!important;justify-content:flex-end!important}
 .v27-art-player .v27-party-online{font-size:9px!important}.v27-art-player .v27-party-chat-toggle{min-height:30px!important;padding:4px 8px!important}
}

/* ===== v27.5.3: independent playback room dock ===== */
@media(max-width:760px){
  .v27-art-player .v27-party-bar{right:auto!important;left:8px!important;bottom:max(56px,calc(49px + env(safe-area-inset-bottom)))!important;width:auto!important;max-width:150px!important;padding:5px 8px!important;background:rgba(7,10,16,.62)!important}
  .v27-art-player .v27-party-bar-main,.v27-art-player .v27-party-copy,.v27-art-player .v27-party-leave,.v27-art-player .v27-party-chat-toggle{display:none!important}
  .v27-art-player .v27-party-bar-meta{display:flex!important;flex:0 0 auto!important}
  .v27-art-player .v27-party-online{font-size:9px!important;white-space:nowrap!important}
}


/* ===== v27.5.4 — room dock removed from the player surface =====
   The bottom ArtPlayer Chat control is the single in-player entry point. */
.v27-art-player .v27-party-bar{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* ===== v27.5.4.7 — dedicated Watch Party subscription paywall ===== */
.v27-party-paywall{z-index:10080!important;background:rgba(2,6,14,.84)!important;backdrop-filter:blur(14px)!important}
.v27-party-paywall-card{position:relative;width:min(430px,100%);padding:30px 26px 24px;border-radius:26px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(150deg,rgba(17,24,39,.98),rgba(7,12,20,.98));box-shadow:0 32px 100px rgba(0,0,0,.62);color:#f8fafc;text-align:center;overflow:hidden}
.v27-party-paywall-card::before{content:"";position:absolute;width:250px;height:250px;left:50%;top:-185px;transform:translateX(-50%);border-radius:50%;background:rgba(244,63,94,.22);filter:blur(34px);pointer-events:none}
.v27-party-paywall-close{position:absolute;top:14px;left:14px;width:38px;height:38px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.045);color:#fff;font:700 24px/1 inherit;cursor:pointer}
.v27-party-paywall-close:hover{background:rgba(255,255,255,.09)}
.v27-party-paywall-icon{position:relative;margin:2px auto 15px;width:68px;height:68px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(244,63,94,.2),rgba(225,29,72,.08));border:1px solid rgba(251,113,133,.28);box-shadow:0 14px 36px rgba(225,29,72,.13)}
.v27-party-paywall-icon svg{width:32px;height:32px;fill:#fb7185}
.v27-party-paywall-kicker{display:inline-flex;position:relative;margin-bottom:7px;font-size:10px;font-weight:900;letter-spacing:.16em;color:#fb7185}
.v27-party-paywall-card h3{position:relative;margin:0 0 10px;font-size:21px;line-height:1.65}
.v27-party-paywall-message{position:relative;margin:0 auto;max-width:340px;color:#a9b4c5;font-size:12px;line-height:2}
.v27-party-paywall-actions{position:relative;display:grid;grid-template-columns:1fr;gap:9px;margin-top:22px}
.v27-party-paywall-buy,.v27-party-paywall-later{height:47px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:inherit;font-weight:900;text-decoration:none;cursor:pointer}
.v27-party-paywall-buy{border:0;background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff;box-shadow:0 12px 28px rgba(225,29,72,.24)}
.v27-party-paywall-buy:hover{filter:brightness(1.06);transform:translateY(-1px)}
.v27-party-paywall-later{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:#cbd5e1}
@media(max-width:560px){.v27-party-paywall{padding:14px!important}.v27-party-paywall-card{padding:27px 18px 19px;border-radius:22px}.v27-party-paywall-card h3{font-size:19px}.v27-party-paywall-message{font-size:11px}.v27-party-paywall-icon{width:60px;height:60px;border-radius:19px}.v27-party-paywall-buy,.v27-party-paywall-later{height:45px}}
