/* Arrify PartyQueue: shared neutral dark palette, type and spacing. */
.party-page{max-width:1200px;margin:0 auto}.party-title{display:flex;align-items:center;gap:20px;margin:24px 0 28px}.party-title h1,.party-guest-title h1{margin:4px 0 8px}.party-symbol{width:64px;height:64px;display:grid;place-items:center;background:#1d3727;color:#42df71;border-radius:16px;flex:none}.party-symbol svg{width:32px;height:32px}.party-host-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(280px,1.1fr);gap:24px;margin-bottom:28px}.party-invite,.party-session{padding:26px;background:#18231c;border:1px solid #2d3a31;border-radius:18px;min-width:0}.party-invite{text-align:center}.party-qr{width:min(100%,260px);height:auto;aspect-ratio:1;background:white;border-radius:12px;padding:8px}.party-invite h2{margin-top:18px}.party-buttons{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:inherit}.party-invite .party-buttons{justify-content:center}.party-buttons .chip{display:inline-flex;text-decoration:none;align-items:center;justify-content:center;min-height:44px}.party-tv-help{text-align:left;margin-top:20px}.party-tv-help summary,.party-end summary,.party-display-controls summary{cursor:pointer;min-height:44px;padding:12px 0}.party-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.party-settings-grid input{width:100%;min-width:0}.party-session form{margin-top:28px;padding-top:16px;border-top:1px solid #2e3931}.party-end{margin-top:24px;color:#b2bfb5}.party-message{color:#8febaa;min-height:1.5em;overflow-wrap:anywhere}.party-queue-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px}.party-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid #28332c;min-width:0}.party-row-number{color:#7ee29c;min-width:18px;text-align:center}.party-row-copy{flex:1;min-width:0}.party-row-copy strong{display:block;font-size:1rem;overflow-wrap:anywhere;line-height:1.4}.party-row-copy small{display:block;color:#9ba89f;line-height:1.5;margin-top:3px;overflow-wrap:anywhere}.party-row-actions{display:flex;align-items:center;gap:8px;flex:none}.party-row-actions button{display:grid;place-items:center;min-width:44px;min-height:44px;font-size:22px;border-radius:12px;background:#202c24}.party-live-label{font-size:.8rem;color:#70df93;flex:none}.party-host-search{margin-top:32px}.party-search-form{display:flex;gap:12px;margin:20px 0}.party-search-form input{flex:1;min-width:0;width:0}.party-search-form button{flex:none}.party-dialog{max-width:min(92vw,480px)}.party-dialog input{width:100%}.party-dialog label{display:block}.party-dialog .primary{margin-top:16px}.create-options{display:grid;gap:10px;margin-top:24px}.create-options button{display:flex;align-items:center;gap:16px;padding:20px;background:#1e2c23;border:1px solid #304136;border-radius:14px;text-align:left;min-height:88px}.create-options button:hover{background:#283c2e}.create-options svg{width:30px;height:30px;color:#49e57a;flex:none}.create-options button>span:first-of-type{flex:1}.create-options strong,.create-options small{display:block}.create-options small{color:#a0b0a5;margin-top:4px;font-size:.85rem}.playlist-filter-label input{width:100%;margin:10px 0 16px}.polished-playlist-list{max-height:min(52dvh,440px);overflow:auto;overscroll-behavior:contain}.polished-playlist-list .playlist-choice{display:flex;align-items:center;gap:14px;width:100%;padding:12px;border:0;border-radius:12px;background:transparent;text-align:left;min-height:76px}.polished-playlist-list .playlist-choice:hover{background:#243429}.playlist-choice-cover{display:grid;place-items:center;width:52px;height:52px;background:#273b2d;border-radius:8px;color:#52e781;flex:none;overflow:hidden}.playlist-choice-cover img{width:100%;height:100%;object-fit:cover}.playlist-choice-cover svg{width:26px;height:26px}.playlist-choice>span:nth-child(2){flex:1;min-width:0}.playlist-choice strong,.playlist-choice small{display:block;overflow-wrap:anywhere}.playlist-choice small{color:#9caea1;margin-top:5px}.playlist-choice-action{font-size:24px;color:#65e58c}.polished-playlist-list .playlist-choice[disabled]{opacity:.7}.playlist-privacy-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 16px}.playlist-privacy-options button{border:1px solid #3d5042;background:#1c2820;min-height:56px;border-radius:12px}.playlist-privacy-options button[aria-pressed=true]{border-color:#45df74;background:#223d2b;color:#75ec99}.party-public{min-height:100dvh;padding:0 max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#101211}.party-public-brand{display:flex;align-items:center;gap:12px;padding:28px 0;max-width:1100px;margin:auto}.party-public-brand img{width:40px;height:40px;border-radius:10px}.party-brand-caption{margin-left:auto;color:#99ad9f;font-size:.9rem}.party-public #party-app,.party-public #party-notice{max-width:760px;margin:0 auto}.party-guest-title{padding:18px 0 12px}.party-guest-title h1{font-size:clamp(1.8rem,5vw,3rem);overflow-wrap:anywhere}.party-public #party-join-form{max-width:420px;margin:20px 0 32px}.party-public #party-join-form label{display:block}.party-public #party-join-form input{width:100%;margin:10px 0 18px}.party-public #party-notice{position:sticky;bottom:12px;z-index:2;background:#1a3222;border-radius:12px;padding:12px 16px}.party-public #party-notice:empty{display:none}.party-public .party-row .chip{min-height:48px;min-width:64px}.party-find-missing{padding:16px 0}.party-display .party-public-brand{max-width:1400px}.party-display #party-app{max-width:1400px}.party-display-heading h1{font-size:clamp(2rem,4vw,4.5rem);margin:8px 0 28px;overflow-wrap:anywhere}.party-display-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1.5fr);gap:clamp(24px,5vw,80px);align-items:start}.party-tv-qr{text-align:center;padding:28px;background:#18251d;border-radius:24px}.party-tv-qr .party-qr{width:min(100%,420px);border-radius:16px}.party-tv-qr h2{font-size:clamp(1.3rem,2vw,2.5rem)}.party-tv-title{font-size:clamp(1.6rem,3vw,3.2rem);margin:8px 0}.party-tv-artist{color:#b2bfb6;font-size:clamp(1.1rem,2vw,2rem)}.party-tv-music .party-row-copy strong{font-size:clamp(1rem,1.6vw,1.6rem)}.party-display-controls{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.party-display-controls details{width:100%;max-width:700px}.party-print-url{display:none;overflow-wrap:anywhere}.party-display #party-live .party-row:first-of-type:has(.party-live-label){display:none}
@media(max-width:700px){.party-host-grid,.party-display-grid{grid-template-columns:1fr}.party-invite,.party-session{padding:20px}.party-row-actions{gap:5px}.party-row-actions button{min-width:44px}.party-row:has(.party-row-actions){flex-wrap:wrap}.party-row-actions{margin-left:auto}.party-title{gap:14px}.party-title h1{font-size:1.9rem}.party-page>.section-head{flex-wrap:wrap;gap:16px}.party-public-brand{padding:20px 0}.party-public{padding-top:env(safe-area-inset-top)}.party-tv-qr .party-qr{max-width:280px}.party-search-form{gap:8px}.party-search-form button{padding-inline:16px}}
@media(max-height:500px) and (orientation:landscape){.party-public-brand{padding:12px 0}.party-display-grid{grid-template-columns:minmax(220px,.8fr) 1.4fr}.party-display-heading h1{font-size:2rem;margin:0 0 16px}.party-tv-qr{padding:18px}.party-tv-qr .party-qr{max-width:240px}.party-tv-qr h2{font-size:1.2rem}.party-tv-qr p{font-size:.9rem}}
@media print{body.party-public{background:white!important;color:black!important;padding:0}.party-public-brand,.party-tv-music,.party-display-controls,#party-notice{display:none!important}.party-display #party-app{max-width:100%;text-align:center}.party-display-heading h1{color:black!important;font-size:32pt}.party-display-grid{display:block}.party-tv-qr{background:white!important;color:black!important;padding:0}.party-tv-qr .party-qr{width:105mm;max-width:80vw}.party-tv-qr h2{font-size:24pt;color:black!important}.party-tv-qr p{color:black!important;font-size:14pt}.party-print-url{display:block;font-size:10pt!important}.party-display-heading{padding-top:18mm}.party-public *{box-shadow:none!important}}
.home-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.home-create{flex:none;min-height:44px}.party-pending-heading{margin-top:28px}.party-public input{font-size:16px}#playlist-picker-dialog{width:min(92vw,480px)}#playlist-picker-dialog #picker-create{width:100%;margin-top:18px;min-height:48px}.party-search-form input{min-height:48px}.party-public .primary{min-height:48px}
.party-page input,.party-dialog input,.party-public input,#playlist-picker-search{background:#1c2921;color:#edf3ee;border:1px solid #3a4b40;border-radius:12px;padding:13px 15px;font:inherit;font-size:16px;line-height:1.4;box-sizing:border-box}.party-page input:focus,.party-dialog input:focus,.party-public input:focus,#playlist-picker-search:focus{outline:2px solid #48df77;outline-offset:2px}.party-settings-grid label{display:flex;flex-direction:column;gap:8px}.party-public button[disabled]{color:#a2b9aa;background:#1c2b21;opacity:.7}.party-host-search .party-search-form{align-items:stretch}
@media(min-width:701px) and (max-width:1100px){.party-host-grid{grid-template-columns:1fr}.party-invite{display:grid;grid-template-columns:180px 1fr;gap:12px 24px;text-align:left;align-items:center}.party-invite .party-qr{grid-row:1 / 5;align-self:start}.party-invite h2,.party-invite p{margin:0}.party-invite .party-buttons{justify-content:flex-start}.party-invite .party-tv-help{grid-column:2;margin-top:0}}
.playlist-picker-section{color:#a3b2a8;font-size:.8rem;font-family:inherit;text-transform:uppercase;letter-spacing:.08em;padding:12px 12px 4px;margin:0}.party-row-actions button:disabled{opacity:.35}.party-host-search h2{margin-top:24px}
@media(min-width:900px) and (min-height:501px) and (orientation:landscape){.party-display .party-public-brand{padding:12px 0;height:64px;box-sizing:border-box}.party-display-heading h1{font-size:clamp(1.8rem,3.5vw,3.4rem);margin:4px 0 18px}.party-display-heading .eyebrow{margin-top:10px}.party-display-grid{gap:40px;grid-template-columns:minmax(240px,.8fr) 1.2fr}.party-tv-qr{padding:20px}.party-tv-qr .party-qr{width:min(100%,calc(100dvh - 400px),380px)}.party-tv-qr h2{font-size:1.7rem;margin:14px 0 8px}.party-tv-qr p{margin:8px 0}.party-display-controls{margin:18px 0}.party-tv-music .party-queue-heading{margin-top:20px}}
@media(max-height:500px) and (orientation:landscape){.party-display .party-public-brand{padding:6px 0;height:36px}.party-display .party-public-brand img{width:28px;height:28px}.party-display-heading .eyebrow{display:none}.party-display-heading h1{font-size:24px;margin:0 0 8px}.party-tv-qr{padding:12px}.party-tv-qr .party-qr{max-width:calc(100dvh - 180px)}.party-tv-qr h2{font-size:16px;margin:8px 0 0}.party-tv-qr>p{display:none}.party-tv-music .party-queue-heading{margin-top:8px}.party-tv-title{font-size:22px;margin:4px 0}.party-tv-artist{margin:4px 0}.party-tv-music .party-row{padding:8px 0}.party-display-controls{margin:10px 0;gap:8px}.party-display-controls .chip{min-height:36px;padding:8px 12px}.party-display-controls details{font-size:.8rem}.party-display-controls summary{min-height:28px;padding:6px 0}}
/* Dedicated read-only television surface; independent from the audio player. */
html:has(body.party-tv){background:#000}
.party-tv{background:#000;color:#edf3ee;min-height:100dvh;margin:0;padding:3vh 3vw;box-sizing:border-box;font-size:clamp(16px,1.3vw,42px)}
.tv-header{display:flex;align-items:center;gap:2vw;margin-bottom:2.5vh}.tv-header .party-public-brand{margin:0;padding:0;gap:1vw;flex:none}.tv-header .party-public-brand img{width:3.5vw;height:3.5vw;min-width:36px;min-height:36px}.tv-header h1{flex:1;font-size:clamp(24px,2.4vw,92px);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-header #tv-connection{font-size:.8em;color:#80e79e;flex:none}
#tv-stage{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:4vw}#tv-stage[hidden],#tv-inactive[hidden]{display:none}.tv-now{min-width:0}.tv-now>img{display:block;max-height:44vh;width:auto;max-width:100%;aspect-ratio:1;object-fit:contain;border-radius:1vw;background:#19281e}.tv-track-copy h2{font-size:clamp(26px,2.8vw,110px);line-height:1.1;margin:1vh 0;overflow-wrap:anywhere}.tv-track-copy p{margin:.7vh 0}.tv-track-copy .eyebrow{margin-top:2vh}.tv-track-copy #tv-artist{font-size:1.3em}.tv-track-copy #tv-album{font-size:.9em}.tv-track-copy progress{display:block;width:100%;height:.7vh;min-height:5px;accent-color:#41e06f;margin-top:2.5vh}.tv-times{display:flex;justify-content:space-between;font-size:.8em;color:#b1c1b5;margin-top:.6vh}
.tv-side{min-width:0}.tv-join{display:flex;align-items:center;gap:2vw;padding:1.5vw;border-radius:1.3vw;background:#1b2d20}.tv-join .party-qr{width:clamp(150px,18vw,700px);flex:none;padding:.5vw;border-radius:.6vw}.tv-join h2{font-size:1.6em;margin:0}.tv-join p{line-height:1.5;color:#bdcdc1}.tv-join #tv-requests-status{font-size:.8em}.tv-upcoming .party-queue-heading{margin-top:2vh}.tv-upcoming h2{font-size:1.3em}.tv-upcoming #tv-queue-count{font-size:.8em;color:#b5c5ba}.tv-upcoming ol{list-style:none;padding:0;margin:0}.tv-upcoming li{display:flex;align-items:center;gap:1.3vw;padding:1.1vh 0;border-bottom:1px solid #304235}.tv-upcoming li>span{color:#70e893;min-width:1.2em}.tv-upcoming li>div{min-width:0}.tv-upcoming strong,.tv-upcoming small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-upcoming small{color:#b2c4b8;margin-top:.5vh}.tv-controls{display:flex;gap:1vw;align-items:center;margin-top:2vh;font-size:.7em;color:#94a99c}.tv-controls button{font-size:inherit}.tv-disconnected #tv-connection{color:#f0c779}.tv-disconnected .tv-join{opacity:.65}#tv-inactive{min-height:65vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}#tv-inactive h2{font-size:3em}#tv-inactive p{color:#b2c4b8}
@media(max-width:800px){.party-tv{padding:20px}.tv-header{flex-wrap:wrap}.tv-header h1{order:3;flex-basis:100%}#tv-stage{grid-template-columns:1fr}.tv-now{display:flex;gap:20px;align-items:center}.tv-now>img{width:32vw;max-height:32vw}.tv-track-copy{flex:1;min-width:0}.tv-join .party-qr{width:min(38vw,240px)}.tv-side{margin-top:20px}.tv-controls{flex-wrap:wrap}}
@media print{.party-tv{background:white!important;color:black!important}.tv-header #tv-connection,.tv-now,.tv-upcoming,.tv-controls{display:none!important}#tv-stage{display:block}.tv-header,.tv-join{display:block;text-align:center}.tv-header .party-public-brand{display:none}.tv-header h1{font-size:32pt}.tv-join{background:white!important}.tv-join .party-qr{width:105mm;max-width:80vw}.tv-join h2{font-size:24pt}.tv-join p{color:black!important}.tv-join .party-print-url{display:block;font-size:10pt;overflow-wrap:anywhere}}
/* A QR poster is one page, independent of the television viewport height. */
@media print{
 @page{size:A4 portrait;margin:0}
 html:has(body.party-tv),body.party-tv{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;background:white!important;color:black!important}
 body.party-tv{padding:14mm 12mm!important;font-size:14pt!important}
 .party-tv .tv-header{display:block!important;margin:0 0 12mm!important;break-inside:avoid}
 .party-tv .tv-header h1{white-space:normal!important;overflow:visible!important;font-size:28pt!important;line-height:1.2!important;margin:0!important}
 .party-tv #tv-stage{display:block!important;margin:0!important;padding:0!important}
 .party-tv .tv-side{margin:0!important;padding:0!important}
 .party-tv .tv-join{display:block!important;padding:0!important;margin:0!important;background:white!important;break-inside:avoid}
 .party-tv .tv-join .party-qr{display:block!important;width:105mm!important;height:105mm!important;max-width:100%!important;margin:0 auto 8mm!important;padding:0!important}
 .party-tv .tv-join h2{font-size:24pt!important;margin:0 0 4mm!important}
 .party-tv .tv-join p{font-size:14pt!important;margin:0!important;line-height:1.5!important}
 .party-tv .tv-join .party-print-url,.party-print-url,#tv-requests-status{display:none!important}
 .party-tv *{box-shadow:none!important}
}
@media print{.party-tv #tv-stage[hidden],.party-tv #tv-qr[hidden]{display:none!important}}
.tv-display-help{color:#d1ddcf;background:#203426;border:1px solid #3c5943;padding:12px 16px;border-radius:12px;margin-top:12px;font-size:clamp(14px,1vw,24px)}#tv-awake-status{max-width:42em}.tv-focus .tv-header .party-public-brand{display:none}.tv-focus .tv-header{margin-bottom:12px}.tv-focus .tv-controls>span:last-child{display:none}.tv-focus .tv-controls{margin-top:12px}
@media print{.tv-display-help{display:none!important}}
@media(max-width:800px),(max-height:500px){
 .party-tv.tv-focus #tv-stage{display:block}.party-tv.tv-focus .tv-now,.party-tv.tv-focus .tv-upcoming{display:none}.party-tv.tv-focus .tv-side{margin:0}.party-tv.tv-focus .tv-join{display:block;text-align:center;padding:12px}.party-tv.tv-focus .tv-join .party-qr{width:min(70vw,45dvh);max-width:420px;margin:0 auto 12px}.party-tv.tv-focus .tv-join h2{font-size:24px}.party-tv.tv-focus .tv-join p{margin:6px 0;font-size:14px}.party-tv.tv-focus .tv-header h1{font-size:24px}.party-tv.tv-focus .tv-controls{font-size:12px}
}
.party-search-input{position:relative;display:flex;flex:1;min-width:0}.party-search-form .party-search-input input{width:100%;padding-right:48px}.party-search-input [data-party-search-clear]{position:absolute;right:3px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;font-size:25px;color:#b5c5ba;background:transparent;border-radius:8px}.party-search-input [data-party-search-clear]:hover{color:#edf3ee}.party-search-input input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}

body.apple-player-expanded{overflow:hidden}.apple-mini-track{color:inherit;text-align:left;min-width:0}
.apple-mini button.apple-mini-track{padding:0;background:transparent;font:inherit;flex-shrink:1;width:100%}
/* Keep invitation actions in stable rows at every host-panel width. */
.party-invite .party-invite-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:480px;margin:20px auto 0;justify-content:stretch;align-items:stretch}
.party-invite-actions>.chip{width:100%;min-width:0;padding:12px 10px;line-height:1.4;white-space:normal;text-align:center;overflow-wrap:anywhere}
.party-invite-actions>.party-print-action{grid-column:1/-1}
.party-title>div:last-child{min-width:0}.party-title h1{overflow-wrap:anywhere}
.party-session>.party-buttons{gap:12px;justify-content:flex-start}.party-session>.party-buttons>button{min-height:48px}
.party-session form>label{display:flex;flex-direction:column;gap:8px;margin:16px 0}
.party-session form>label input{width:100%;min-width:0}
.party-settings-grid{gap:16px;margin:16px 0}.party-settings-grid label{margin:0;min-width:0}
.party-session form .profile-help{margin:12px 0 20px}
#party-settings-status{display:block;margin-top:12px;line-height:1.5}#party-settings-status:empty{display:none}
.party-end>button{min-height:44px;margin:4px 8px 4px 0}
.party-row-actions{gap:8px;flex-shrink:0}.party-row-actions button{min-height:44px;min-width:44px}
.party-live-label{line-height:1.5;text-align:right}
.party-dialog .dialog-close,.profile-dialog .dialog-close{width:44px;height:44px;display:grid;place-items:center;padding:0;top:8px;right:8px}
.party-dialog>h2,.profile-dialog>h2{margin:0 36px 24px 0;line-height:1.2}
.party-dialog label{margin:16px 0}.party-dialog .profile-help{margin:12px 0 20px}
.profile-dialog .profile-photo-actions{margin:8px 0 20px;gap:8px 20px}
.profile-dialog #profile-form>label{display:flex;flex-direction:column;gap:8px;margin:20px 0 8px}
.profile-dialog #profile-form input,.profile-dialog #profile-form select{margin-top:0;min-height:48px;min-width:0}
.profile-dialog #profile-form>.profile-help{margin:8px 0 20px}
.profile-dialog #profile-save{min-height:48px;margin-top:4px}
.profile-dialog #profile-message:empty,.profile-dialog #apple-profile-status:empty{display:none}
.profile-dialog .profile-settings,.profile-dialog #apple-music-profile{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.profile-dialog #apple-music-profile h3{margin:0 0 12px}.profile-dialog #apple-music-profile .profile-help{margin:0 0 16px}
.profile-dialog #apple-music-profile .party-buttons{gap:12px;align-items:center}
.profile-dialog #apple-music-profile .party-buttons>button{min-height:44px;padding:10px 12px}
.profile-dialog .profile-settings .profile-accounts,.profile-dialog .profile-settings .install-app{padding-inline:12px}
.profile-dialog .profile-bottom{margin-top:24px;padding-top:12px;border-top:1px solid var(--border)}
@media(max-width:700px){.party-row:has(.party-row-actions)>.party-row-actions{flex-basis:100%;justify-content:flex-end}.party-invite,.party-session{padding:20px}.party-settings-grid{gap:12px}.party-title{align-items:flex-start}.party-title .party-symbol{width:48px;height:48px}}
@media(min-width:701px) and (max-width:1100px){.party-invite .party-invite-actions{margin:8px 0}.party-invite .party-qr{grid-row:1/5}}
.party-management{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.party-management h3{margin:0 0 8px;font-size:var(--read-body)}.party-management .profile-help{margin:0 0 16px}.party-management-actions{display:flex;flex-wrap:wrap;gap:12px}.party-management-actions>button{min-height:44px}
dialog.party-confirm-dialog{width:min(460px,calc(100vw - 32px));padding:28px;border-radius:20px;background:var(--panel);color:var(--text,#edf3ee)}
.party-confirm-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#ffffff09;color:#c3d3c8;margin-bottom:20px}.party-confirm-icon svg{width:25px;height:25px}
.party-confirm-dialog>h2{margin:0 32px 12px 0;font-size:28px;line-height:1.2;letter-spacing:-.03em}.party-confirm-name{margin:0 0 12px;font-weight:600;overflow-wrap:anywhere}.party-confirm-dialog #party-confirm-description{margin:0;color:var(--muted);font-size:var(--read-body);line-height:1.6}.party-confirm-error{margin:16px 0 0;color:#ffb2a8;line-height:1.5;overflow-wrap:anywhere}
.party-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.party-confirm-actions>button{width:100%;min-width:0;min-height:48px;margin:0!important;padding:12px;border-radius:12px;line-height:1.4;white-space:normal}.party-confirm-actions>.danger-button{background:#e76d60;color:#161916}
@media(max-width:380px){dialog.party-confirm-dialog{padding:24px}.party-confirm-actions{gap:10px}}
/* Wi-Fi is a secondary utility, visually distinct from song requests. */
.wifi-panel{margin:20px 0;padding:16px;border:1px solid var(--border,#344138);border-radius:12px;background:#ffffff03}.wifi-panel summary{cursor:pointer;min-height:44px;line-height:1.5;padding:10px 0;color:#b9cabc;overflow-wrap:anywhere}.wifi-share-content{display:flex;align-items:center;gap:20px;text-align:left;min-width:0}.wifi-share-content>img{width:112px;height:112px;flex:none;background:white;border-radius:8px;padding:5px}.wifi-share-content>div{min-width:0}.wifi-share-content strong{font-size:16px}.wifi-share-content p{font-size:14px;margin:6px 0;overflow-wrap:anywhere}.wifi-share-content small{font-size:12px;color:#a3b6a7;line-height:1.5}.wifi-panel[open] .wifi-share-content{margin-top:12px}.wifi-password code{overflow-wrap:anywhere;white-space:pre-wrap}
.wifi-settings-link{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:18px 0;min-height:64px;text-align:left;border-top:1px solid var(--border);margin-top:24px}.wifi-settings-link strong,.wifi-settings-link small{display:block}.wifi-settings-link small{margin-top:6px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.wifi-settings-link>span:last-child{font-size:24px;flex:none}
.wifi-dialog{width:min(480px,calc(100vw - 32px))}.wifi-dialog label{display:grid;gap:8px;margin:18px 0}.wifi-dialog input,.wifi-dialog select{width:100%;min-width:0;min-height:48px;margin:0;font:inherit}.wifi-dialog .wifi-check{min-height:44px;display:flex;align-items:center;gap:12px;line-height:1.5}.wifi-dialog .wifi-check input{width:22px;height:22px;min-height:22px;flex:none;accent-color:var(--green)}.wifi-password-input{position:relative;display:flex;align-items:center}.wifi-password-input input{padding-right:68px}.wifi-password-input button{position:absolute;right:4px;min-width:56px;min-height:44px;font-size:13px}.wifi-delete-actions{margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.wifi-delete-actions button{min-height:44px}.wifi-delete-actions p{line-height:1.6}.wifi-dialog #wifi-settings-message:empty{display:none}.wifi-dialog #wifi-settings-message{line-height:1.5;overflow-wrap:anywhere}.wifi-dialog [data-wifi-delete-confirm]{padding:12px 0}.wifi-dialog .party-management-actions{gap:12px}.wifi-dialog .primary{min-height:48px}.wifi-dialog .wifi-panel{margin-bottom:0}
.party-tv #tv-wifi .wifi-panel{margin:0;padding:14px;background:#ffffff03;border-color:#ffffff16}.party-tv #tv-wifi .wifi-share-content{gap:16px}.party-tv #tv-wifi img{width:88px;height:88px}.party-tv #tv-wifi .wifi-share-content strong{font-size:clamp(15px,1.2vw,24px)}.party-tv #tv-wifi .wifi-share-content p{font-size:clamp(13px,1vw,20px)}.party-tv #tv-wifi small{font-size:clamp(11px,.85vw,16px)}
@media(max-width:380px){.wifi-share-content{gap:12px;align-items:flex-start}.wifi-share-content>img{width:88px;height:88px}}
@media print{
 .party-tv #tv-wifi{display:none!important}.party-tv #tv-wifi:has(.wifi-print-enabled){display:block!important;margin-top:9mm!important;break-inside:avoid}
 .party-tv #tv-wifi .wifi-panel{padding:5mm!important;border:1px solid #bbb!important;border-radius:3mm!important;color:black!important;background:white!important}
 .party-tv #tv-wifi .wifi-share-content{display:flex!important;align-items:center!important;gap:6mm!important}
 .party-tv #tv-wifi img{width:32mm!important;height:32mm!important;padding:1mm!important;max-width:32mm!important}
 .party-tv #tv-wifi strong{font-size:13pt!important;color:black!important}.party-tv #tv-wifi p{font-size:11pt!important;color:black!important;margin:2mm 0!important}.party-tv #tv-wifi small{font-size:10pt!important;color:#444!important}
 .party-tv:has(.wifi-print-enabled) .tv-join .party-qr{width:90mm!important;height:90mm!important}
 .party-tv:has(.wifi-print-enabled) .tv-header{margin-bottom:8mm!important}
}
.party-tv #tv-wifi{margin-top:16px}.party-tv #tv-wifi img{width:clamp(88px,7vw,220px);height:clamp(88px,7vw,220px)}
@media(min-width:1200px){
 .party-tv:has(#tv-wifi:not([hidden])) .tv-join .party-qr{width:clamp(150px,12vw,460px)}
 .party-tv #tv-wifi img{width:clamp(88px,5vw,180px);height:clamp(88px,5vw,180px)}
 .party-tv:has(#tv-wifi:not([hidden])) .tv-upcoming li{padding:.35vh 0;font-size:.7em}
 .party-tv:has(#tv-wifi:not([hidden])) .tv-upcoming small{margin-top:.25vh}
 .party-tv:has(#tv-wifi:not([hidden])) .tv-upcoming .party-queue-heading{margin-top:1vh;margin-bottom:10px}
 .party-tv:has(#tv-wifi:not([hidden])) .tv-upcoming h2{margin:0}
}
@media(min-width:1200px){.party-tv:has(#tv-wifi:not([hidden])) #tv-stage{padding:0}}
@media(min-width:1200px){
 .party-tv:has(#tv-wifi:not([hidden])) .tv-join h2{font-size:clamp(24px,2vw,64px)}
 .party-tv:has(#tv-wifi:not([hidden])) .tv-join p{font-size:clamp(16px,1.15vw,36px)}
 .party-tv:has(#tv-wifi:not([hidden])) .tv-join{gap:1.5vw;padding:1vw}
}
.party-import-toolbar{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin:-4px 0 24px}.party-import-toolbar .chip{min-height:48px}.party-import-toolbar .profile-help{margin:0}
dialog.playlist-import-dialog{width:min(680px,calc(100vw - 32px));padding:28px}.playlist-import-dialog .eyebrow{font-size:11px;letter-spacing:.12em;color:var(--muted);margin:0 40px 10px 0}.playlist-import-dialog>h2{margin-bottom:12px}.import-tabs{display:flex;gap:8px;overflow:auto;margin:20px 0 16px;padding:2px 0 6px}.import-tabs button{flex:none;min-height:44px}.import-tabs button[aria-pressed=true]{background:var(--green);color:#122016}.import-search{position:relative;display:flex!important;margin:0 0 16px!important}.import-search input{width:100%;min-height:48px;margin:0;padding-right:48px;font:inherit}.import-search>button{position:absolute;right:2px;top:2px;width:44px;height:44px;font-size:24px}.import-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.playlist-import-list{max-height:min(43dvh,420px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.import-playlist-row{display:flex;align-items:center;gap:14px;padding:12px;width:100%;text-align:left;border-radius:12px;min-height:76px}.import-playlist-row:hover{background:#ffffff07}.import-playlist-art{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:10px;overflow:hidden;background:#26392d;font-size:24px;color:var(--green)}.import-playlist-art img{width:100%;height:100%;object-fit:cover}.import-playlist-row>span:nth-child(2){flex:1;min-width:0}.import-playlist-row strong,.import-playlist-row small{display:block;overflow-wrap:anywhere}.import-playlist-row small{margin-top:5px;color:var(--muted);font-size:var(--read-caption)}.import-playlist-row>span:last-child{font-size:24px;color:var(--muted)}.import-empty{padding:24px}.playlist-import-footer{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--border);padding-top:20px;margin-top:20px}.playlist-import-footer button{padding:12px;min-height:48px;margin:0!important;width:100%;line-height:1.4;white-space:normal;border-radius:12px}.playlist-import-footer:has([data-import-submit][hidden]){grid-template-columns:1fr}.playlist-import-dialog [data-import-status]{color:#c6dbcb;line-height:1.5;overflow-wrap:anywhere}.playlist-import-dialog [data-import-status]:empty{display:none}.import-back{min-height:44px;margin-bottom:8px}.import-preview-heading{display:flex;gap:14px;align-items:center;margin:8px 0 20px}.import-preview-heading h3{margin:0;overflow-wrap:anywhere}.import-preview-heading p{margin:6px 0 0;color:var(--muted)}.import-track,.import-select-all{display:flex!important;align-items:center;gap:14px;padding:12px 4px;margin:0!important;min-height:60px;border-bottom:1px solid var(--border)}.import-track input,.import-select-all input{width:22px;height:22px;flex:none;margin:0;accent-color:var(--green)}.import-track>span{min-width:0}.import-track strong,.import-track small{display:block;overflow-wrap:anywhere}.import-track small{margin-top:4px;color:var(--muted)}.import-track:has(input:disabled){opacity:.6}.import-success{text-align:center;padding:28px 12px}.import-success>span{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#24432d;color:var(--green);font-size:30px}.import-success p{color:var(--muted);line-height:1.5}
@media(max-width:760px){dialog.playlist-import-dialog{padding:24px}.playlist-import-list{max-height:38dvh}.import-playlist-row{padding-inline:4px}}
.import-playlist-art svg{width:26px;height:26px}
.import-track input,.import-select-all input{padding:0;min-width:22px;min-height:22px}

/* Display and printed poster preferences are independent. */
@media screen{.party-tv #tv-wifi.wifi-display-disabled{display:none!important}}
@media screen and (orientation:portrait) and (min-width:700px) and (min-height:1000px){
 .party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) #tv-stage{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);grid-template-areas:"now now" "join join" "wifi upcoming";gap:24px}
 .party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) .tv-side{display:contents}.party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) .tv-now{grid-area:now;display:flex;align-items:center;gap:24px}.party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) .tv-now>img{width:24vw;max-height:24vw}.party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) .tv-track-copy{flex:1;min-width:0}
 .party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) .tv-join{grid-area:join}.party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) .tv-join .party-qr{width:clamp(150px,22vw,240px)}
 .party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) #tv-wifi{grid-area:wifi;align-self:end;margin:0}.party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) .tv-upcoming{grid-area:upcoming}.party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) #tv-wifi .wifi-share-content{flex-direction:column;align-items:flex-start;gap:12px}
}

/* Keep import actions inside the viewport; only the picker/preview scrolls. */
dialog.playlist-import-dialog[open]{display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - var(--safe-top,0px) - var(--safe-bottom,0px) - 32px)}
.playlist-import-dialog>[data-import-body]{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.playlist-import-dialog>.eyebrow,.playlist-import-dialog>h2,.playlist-import-dialog>.profile-help,.playlist-import-dialog>[data-import-status],.playlist-import-dialog>.playlist-import-footer{flex:none}
.playlist-import-dialog .playlist-import-list{max-height:none;overflow:visible}
.playlist-import-dialog>.playlist-import-footer{margin-top:16px;padding-top:16px}
@media(max-height:500px){dialog.playlist-import-dialog{padding:12px 20px}.playlist-import-dialog>.eyebrow{margin-bottom:4px}.playlist-import-dialog>h2{font-size:20px;margin-bottom:4px}.playlist-import-dialog>.profile-help{font-size:13px;line-height:1.4;margin:4px 0 8px}.playlist-import-dialog>.playlist-import-footer{margin-top:8px;padding-top:8px}}

/* Guest Wi-Fi stays available without interrupting song search. */
.party-header-wifi{margin-left:auto;position:relative;flex:none}.party-public-brand:has(.party-header-wifi) .party-brand-caption{margin-left:0}.party-header-wifi .wifi-panel{margin:0;padding:0;border:0;background:none}.party-header-wifi summary{display:grid;place-items:center;width:48px;height:48px;min-height:48px;padding:0;border-radius:50%;color:#b9cabc;list-style:none}.party-header-wifi summary::-webkit-details-marker{display:none}.party-header-wifi summary svg{width:25px;height:25px}.party-header-wifi summary:hover,.party-header-wifi details[open] summary{background:#ffffff0b;color:#42df71}.party-header-wifi summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}.party-header-wifi .wifi-share-content{position:absolute;z-index:20;top:58px;right:0;width:min(360px,calc(100vw - 48px));padding:20px;background:#18231c;border:1px solid #344138;border-radius:16px;box-shadow:0 12px 36px #0006;margin:0!important;font-weight:400}.party-header-wifi .wifi-share-content strong{color:#eef5ef}.party-header-wifi .wifi-share-content img{width:96px;height:96px}@media(max-width:480px){.party-header-wifi .wifi-share-content{right:-100px}}

/* Presentation chrome appears only while interacting, not on the party display. */
@media screen{.tv-presentation .tv-controls{position:fixed;z-index:30;left:max(16px,3vw);right:max(16px,3vw);bottom:max(16px,env(safe-area-inset-bottom));margin:0;padding:14px 18px;border:1px solid #34463a;border-radius:14px;background:#142019f5;box-shadow:0 8px 32px #0006;flex-wrap:wrap;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s ease}.tv-presentation.tv-controls-visible .tv-controls{visibility:visible;opacity:1;pointer-events:auto}.tv-presentation #tv-display-help{display:none}.tv-presentation:not(.tv-controls-visible){cursor:none}}

/* Consistent field spacing and compact footer for party creation. */
dialog#party-create-dialog{width:min(480px,calc(100vw - 32px));max-width:none;padding:28px;box-sizing:border-box}#party-create-dialog h2{font-size:24px;line-height:1.25;margin:4px 44px 12px 0}#party-create-dialog>p{margin:0 0 26px;line-height:1.6}#party-create-form{display:grid;gap:20px;margin:0}#party-create-form label{display:grid;gap:10px;margin:0;line-height:1.4}#party-create-form input,#party-create-form select{box-sizing:border-box;width:100%;min-height:50px;margin:0;padding:12px 14px;font:inherit;border:1px solid #3a4b40;border-radius:12px;background:#1c2921;color:#edf3ee}#party-create-form .profile-help{margin:0;line-height:1.6}#party-source-connection:empty{display:none}#party-source-connection{display:grid;gap:12px;padding:16px;background:#ffffff04;border:1px solid #ffffff0c;border-radius:12px}#party-source-connection button{justify-self:start;margin:0;min-height:44px}#party-create-form>.primary{margin:4px 0 0;min-height:50px;width:100%}#party-create-form>.party-message{margin:0;min-height:0}#party-create-form>.party-message:empty{display:none}@media(max-width:480px){dialog#party-create-dialog{padding:24px}#party-create-dialog h2{font-size:22px}}

#party-create-form label{gap:12px}#party-create-form .party-field-label{display:block;margin:0;line-height:1.4}#party-create-form input,#party-create-form select{height:52px;min-height:52px;line-height:1.4}#party-create-form select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23b7c8bc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}#party-create-form input:focus,#party-create-form select:focus{outline:2px solid var(--green);outline-offset:-2px}

/* On iPad landscape displays, Wi-Fi sits beneath the now-playing details. */
@media screen and (orientation:landscape) and (min-width:801px) and (max-width:1366px) and (min-height:600px){
 .party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) #tv-stage{grid-template-areas:"now join" "now upcoming" "wifi upcoming";row-gap:24px}
 .party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) .tv-now>img{max-height:32vh}
 .party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) .tv-side{display:contents}.party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) .tv-now{grid-area:now}.party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) .tv-join{grid-area:join}.party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) .tv-upcoming{grid-area:upcoming}.party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) #tv-wifi{grid-area:wifi;align-self:start;margin:0}.party-tv:has(#tv-wifi:not([hidden]):not(.wifi-display-disabled)) .tv-upcoming .party-queue-heading{margin-top:0}
}
dialog#guest-wifi-dialog{width:min(480px,calc(100vw - 32px));padding:28px;box-sizing:border-box}#guest-wifi-dialog h2{font-size:24px;line-height:1.3;margin:4px 48px 14px 0}#guest-wifi-dialog>.profile-help{margin:0 0 24px;line-height:1.65}#guest-wifi-form,#guest-wifi-form [data-wifi-fields]{display:grid;gap:20px}#guest-wifi-form label{margin:0;gap:12px;line-height:1.4}#guest-wifi-form .wifi-field-label{display:block;margin:0}#guest-wifi-form input:not([type=checkbox]),#guest-wifi-form select{height:52px;min-height:52px;box-sizing:border-box;padding:12px 14px;line-height:1.4;border:1px solid #3a4b40;border-radius:12px;background-color:#1c2921;color:#edf3ee}#guest-wifi-form select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23b7c8bc' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}#guest-wifi-form input:not([type=checkbox]):focus,#guest-wifi-form select:focus{outline:2px solid var(--green);outline-offset:-2px}#guest-wifi-form .wifi-password-input input{padding-right:76px}#guest-wifi-form .wifi-password-input button{top:4px;bottom:4px;right:6px;min-height:44px;margin:0}#guest-wifi-form .wifi-check{gap:12px;min-height:44px;padding:2px 0}#guest-wifi-form .wifi-check input{margin:0;width:22px;height:22px;min-height:22px}#guest-wifi-form .profile-help{margin:0;line-height:1.6}#guest-wifi-form>.primary{width:100%;min-height:50px;margin:0}#guest-wifi-dialog [hidden]{display:none!important}#wifi-settings-preview:not(:empty){margin-top:24px}#wifi-settings-preview .wifi-panel{margin:0}#wifi-settings-message:not(:empty){margin:12px 0 0;font-size:14px;color:#b8d4bf}#guest-wifi-dialog .wifi-delete-actions{margin-top:24px;padding-top:16px}#guest-wifi-dialog .wifi-delete-actions>button{padding:10px 4px}#guest-wifi-dialog .dialog-close{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#ffffff05}@media(max-width:480px){dialog#guest-wifi-dialog{padding:24px}#guest-wifi-dialog h2{font-size:22px}}

/* Shared host controls: give actions, supporting text, and settings clear separation. */
.party-session>.party-buttons{gap:12px;align-items:center}.party-session>.party-buttons>button{min-height:48px;margin:0;padding:12px 20px;line-height:1.4}.party-session>.party-buttons+.profile-help{margin:18px 0 0;line-height:1.65;max-width:58ch}.party-session>[id$="-party-status"]{margin:12px 0 0;line-height:1.65;overflow-wrap:anywhere}.party-session>[id$="-party-status"]:empty{display:none}#party-settings-form{display:grid;gap:20px;margin-top:28px;padding-top:24px}#party-settings-form h2{margin:0;font-size:24px;line-height:1.3}#party-settings-form label{display:grid;gap:10px;margin:0;line-height:1.5}#party-settings-form .party-settings-grid{gap:16px;margin:0;align-items:stretch}#party-settings-form .party-settings-grid label{grid-template-rows:1fr auto}#party-settings-form input{min-height:52px;margin:0}#party-settings-form>.profile-help{margin:0;line-height:1.65}#party-settings-form>button{justify-self:start;min-height:46px;margin:0}#party-settings-status:empty{display:none}.party-session .wifi-settings-link{margin-top:24px;padding:20px 0}.party-session .party-management{margin-top:24px;padding-top:24px}.party-session .party-management h3{margin:0 0 10px;line-height:1.4}.party-session .party-management>.profile-help{margin:0 0 18px;line-height:1.65}.party-session .party-management-actions{gap:12px;align-items:center}.party-session .party-management-actions button{min-height:46px;margin:0;line-height:1.4}@media(max-width:480px){.party-session>.party-buttons>button{padding-inline:16px}#party-settings-form h2{font-size:22px}#party-settings-form .party-settings-grid{gap:12px}}

/* Neutral PartyQueue surfaces match dialogs across music services. */
@media screen{
 .party-invite,.party-session,.party-header-wifi .wifi-share-content,.tv-join{background:var(--surface-popup,#000);border-color:var(--border-ui,#ffffff24);color:var(--text,#f5f5f5)}
 .party-page input,.party-dialog input,.party-public input,#playlist-picker-search,#party-create-form input,#party-create-form select,#guest-wifi-form input:not([type=checkbox]),#guest-wifi-form select{background-color:var(--surface-control,#191919);border-color:var(--border-control,#464646);color:var(--text,#f5f5f5)}
 .party-symbol,.party-row-actions button,.playlist-choice-cover,.import-playlist-art,.import-success>span{background:var(--surface-control,#191919)}
 .create-options button,.tv-display-help{background:var(--surface-raised,#111);border-color:var(--border-ui,#ffffff24)}
 .create-options button:hover,.polished-playlist-list .playlist-choice:hover{background:var(--surface-hover,#252525)}
 .party-session form,.party-management{border-color:var(--border-ui,#ffffff24)}
 .tv-presentation .tv-controls{background:#000f;border-color:var(--border-ui,#ffffff24)}
}

/* Print the prepared host invitation without replacing the playback document. */
#party-print-poster{display:none}
    @media print{
     html:has(body.party-printing),body.party-printing{height:auto!important;min-height:0!important;overflow:visible!important;background:white!important;color:black!important;margin:0!important;padding:0!important}
     body.party-printing> :not(#party-print-poster){display:none!important}
     body.party-printing>#party-print-poster{display:block!important;position:static!important;width:auto!important;max-width:170mm;margin:0 auto;padding:8mm;color:black!important;background:white!important;text-align:center;font:14pt/1.4 sans-serif;break-inside:avoid}
     #party-print-poster h1{font:700 26pt/1.2 sans-serif;margin:0 0 6mm;overflow-wrap:anywhere;color:black!important}
     #party-print-poster h2{font:700 22pt/1.2 sans-serif;margin:6mm 0 3mm;color:black!important}
     #party-print-poster p{margin:3mm 0;color:black!important}
     #party-print-poster>.party-print-join{display:block;width:100mm;height:100mm;max-width:100%;margin:auto;padding:3mm;background:white!important;border-radius:0}
     #party-print-poster .wifi-panel{margin:8mm 0 0;padding:4mm;border:1px solid #aaa;border-radius:3mm;background:white!important;color:black!important;break-inside:avoid}
     #party-print-poster .wifi-share-content{display:flex;align-items:center;gap:6mm;text-align:left}
     #party-print-poster .wifi-share-content img{width:30mm;height:30mm;flex:none;background:white!important;padding:1mm}
     #party-print-poster .wifi-share-content strong{font-size:13pt;color:black!important}
     #party-print-poster .wifi-share-content p{font-size:11pt;overflow-wrap:anywhere}
     #party-print-poster .wifi-share-content small{font-size:10pt;color:#444!important}
    }
