/* QuizzMe 2026 visual redesign: calm Quizmaster, colourful show surfaces. */
:root {
    --qm-blue: #0071e3;
    --qm-blue-hover: #0077ed;
    --qm-ink: #1d1d1f;
    --qm-muted: #6e6e73;
    --qm-page: #f5f5f7;
    --qm-surface: rgba(255, 255, 255, .86);
    --qm-line: rgba(29, 29, 31, .1);
}

/* Admin workspace v2: same QuizzMe identity, clearer operational hierarchy. */
.screen-admin.bootstrap-site { min-width: 0; margin: 0; background: #f3f4f9; }
.admin-v2 {
    --admin-navy: #0b0c35;
    --admin-navy-soft: #17154d;
    --admin-purple: #4a2aa5;
    --admin-pink: #eb1f78;
    --admin-teal: #10bbb5;
    --admin-yellow: #ffd44a;
    --admin-ink: #181a35;
    --admin-muted: #686d82;
    --admin-line: #e3e5ef;
    min-width: 0;
    color: var(--admin-ink);
}

.admin-v2 .admin-brand { display: inline-flex; min-width: 0; align-items: center; gap: .7rem; color: #fff; text-decoration: none; }
.admin-v2 .admin-brand-logo { display: grid; width: 146px; height: 104px; flex: 0 0 146px; place-items: center; }
.admin-v2 .admin-brand-logo img { display: block; width: 146px; height: 146px; max-width: none; object-fit: contain; }
.admin-auth-shell.admin-v2 { position: relative; display: grid; min-height: 100dvh; grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; background: radial-gradient(circle at 72% 46%,rgba(91,48,189,.52),transparent 34%),radial-gradient(circle at 12% 90%,rgba(235,31,120,.16),transparent 27%),linear-gradient(135deg,#07082b 0%,#101047 55%,#231364 100%); color: #fff; }
.admin-auth-shell.admin-v2::before { position: absolute; inset: 0; background-image: radial-gradient(circle,#ed287b 0 3px,transparent 4px),radial-gradient(circle,#16bfc0 0 2px,transparent 3px),radial-gradient(circle,#5a40be 0 3px,transparent 4px); background-position: 5vw 9vh,22vw 20vh,86vw 12vh; background-size: 320px 280px,370px 340px,420px 310px; content: ''; opacity: .3; pointer-events: none; }
.admin-auth-shell.admin-v2 > * { position: relative; z-index: 1; }
.admin-auth-shell.admin-v2 .admin-auth-topbar { min-height: 108px; padding: .2rem clamp(1.1rem,4vw,4rem); border: 0; background: rgba(4,5,28,.24); box-shadow: inset 0 -1px rgba(255,255,255,.08); }
.admin-v2 .admin-back-home { display: inline-flex; min-height: 42px; align-items: center; gap: .45rem; padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; color: rgba(255,255,255,.8); font-size: .76rem; font-weight: 800; text-decoration: none; }
.admin-v2 .admin-back-home:hover { border-color: rgba(255,255,255,.48); color: #fff; }
.admin-auth-shell.admin-v2 .admin-auth-main { display: grid; width: min(1160px,100%); grid-template-columns: minmax(0,1.08fr) minmax(380px,.72fr); align-items: center; gap: clamp(2rem,7vw,7rem); margin: auto; padding: clamp(2rem,5vw,4.5rem); }
.admin-auth-shell.admin-v2 .admin-auth-intro { color: #fff; }
.admin-auth-shell.admin-v2 .admin-auth-intro h1 { max-width: 10ch; margin: 1rem 0 1.15rem; color: #fff; font-size: clamp(3.4rem,6vw,5.9rem); line-height: .91; letter-spacing: -.065em; }
.admin-auth-shell.admin-v2 .admin-auth-intro > p { max-width: 56ch; margin: 0; color: rgba(255,255,255,.7); font-size: 1.02rem; line-height: 1.65; }
.admin-auth-shell.admin-v2 .admin-auth-card { padding: clamp(1.55rem,3vw,2.35rem); border: 1px solid rgba(255,255,255,.54); border-radius: 24px; background: #fff; color: var(--admin-ink); box-shadow: 0 35px 100px rgba(0,0,0,.34); }
.admin-v2 .admin-auth-card-heading { display: flex; align-items: center; gap: .85rem; margin-bottom: .75rem; }
.admin-auth-shell.admin-v2 .admin-auth-card .section-label { margin: 0 0 .1rem; color: var(--admin-pink); }
.admin-auth-shell.admin-v2 .admin-auth-card h2 { margin: 0; color: var(--admin-ink); font-size: clamp(2rem,3.5vw,2.65rem); letter-spacing: -.05em; }
.admin-auth-shell.admin-v2 .admin-auth-card > p { margin: 0 0 1.35rem; color: var(--admin-muted); }
.admin-auth-shell.admin-v2 .admin-login-form { gap: .85rem; }
.admin-auth-shell.admin-v2 .admin-login-form .field { gap: .4rem; color: #393d55; font-size: .76rem; }
.admin-auth-shell.admin-v2 .admin-login-form input { min-height: 52px; border: 1px solid #d5d8e4; border-radius: 11px; background: #f8f9fc; color: var(--admin-ink); }
.admin-auth-shell.admin-v2 .admin-login-form input:focus { border-color: var(--admin-purple); background: #fff; box-shadow: 0 0 0 4px rgba(74,42,165,.1); }
.admin-auth-shell.admin-v2 .admin-login-form .button-primary { display: flex; min-height: 52px; justify-content: space-between; padding-inline: 1rem; border: 2px solid #111 !important; border-radius: 11px; background: var(--admin-yellow) !important; color: #111 !important; box-shadow: 0 5px 0 #111; font-weight: 900; }
.admin-auth-shell.admin-v2 .admin-login-form .button-primary:hover { transform: translateY(-1px); background: #ffe275 !important; box-shadow: 0 6px 0 #111; }
.admin-auth-shell.admin-v2 .admin-login-form .button-outline { min-height: 49px; border: 1px solid #d4d6e0; border-radius: 11px; background: #fff !important; color: #24263b !important; }
.admin-auth-shell.admin-v2 .admin-login-divider { margin-block: .25rem; }
.admin-auth-shell.admin-v2 .admin-auth-help { display: flex; align-items: center; justify-content: center; gap: .35rem; color: #7d8193; }
.admin-app.admin-v2 { display: grid; height: 100dvh; min-height: 720px; grid-template-columns: 248px minmax(0,1fr); overflow: hidden; background: #f3f4f9; }
.admin-v2 .admin-sidebar { position: relative; z-index: 30; display: grid; min-width: 0; grid-template-rows: auto minmax(0,1fr) auto; padding: 1rem .85rem; background: radial-gradient(circle at 20% 10%,rgba(80,45,177,.58),transparent 30%),linear-gradient(180deg,#0a0b34,#121044 62%,#211258); color: #fff; box-shadow: 12px 0 36px rgba(14,14,49,.12); }
.admin-v2 .admin-sidebar > div:first-child { padding: 0 .25rem .85rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.admin-v2 .admin-sidebar .admin-brand { gap: .35rem; }
.admin-v2 .admin-sidebar .admin-brand-logo { width: 150px; height: 108px; flex-basis: 150px; }
.admin-v2 .admin-sidebar .admin-brand-logo img { width: 150px; height: 150px; }
.admin-v2 .admin-sidebar nav { display: grid; align-content: start; gap: .45rem; padding-top: 1.1rem; }
.admin-v2 .admin-sidebar nav a { display: grid; min-width: 0; grid-template-columns: 34px minmax(0,1fr); grid-template-rows: auto auto; align-items: center; column-gap: .65rem; padding: .72rem .75rem; border: 1px solid transparent; border-radius: 13px; color: rgba(255,255,255,.68); text-decoration: none; }
.admin-v2 .admin-sidebar nav a > span { display: grid; width: 32px; height: 32px; grid-row: 1 / 3; place-items: center; border-radius: 10px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.76); }
.admin-v2 .admin-sidebar nav a strong { color: inherit; font-size: .79rem; }
.admin-v2 .admin-sidebar nav a small { color: rgba(255,255,255,.4); font-size: .62rem; }
.admin-v2 .admin-sidebar nav a:hover { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.06); color: #fff; }
.admin-v2 .admin-sidebar nav a.active { border-color: rgba(255,255,255,.16); background: linear-gradient(135deg,rgba(235,31,120,.25),rgba(81,46,174,.4)); color: #fff; box-shadow: inset 3px 0 var(--admin-pink); }
.admin-v2 .admin-sidebar nav a.active > span { background: var(--admin-pink); color: #fff; }
.admin-v2 .admin-sidebar > footer { display: grid; gap: .7rem; padding: .85rem .25rem 0; border-top: 1px solid rgba(255,255,255,.1); }
.admin-v2 .admin-staff-card { display: grid; min-width: 0; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: .6rem; }
.admin-v2 .admin-staff-card > span { display: grid; width: 36px; height: 36px; place-items: center; border: 2px solid rgba(255,255,255,.32); border-radius: 50%; background: #3d2b8d; color: #fff; font-size: .7rem; font-weight: 900; }
.admin-v2 .admin-staff-card > div { display: grid; min-width: 0; }
.admin-v2 .admin-staff-card small { color: rgba(255,255,255,.44); font-size: .58rem; }
.admin-v2 .admin-staff-card strong { overflow: hidden; color: #fff; font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-v2 .admin-sidebar #adminLogout { display: flex; width: 100%; min-height: 38px; align-items: center; justify-content: flex-start; gap: .5rem; padding: .45rem .6rem; border-radius: 9px; color: rgba(255,255,255,.62); font-size: .7rem; text-decoration: none; }
.admin-v2 .admin-sidebar #adminLogout:hover { background: rgba(255,255,255,.07); color: #fff; }

.admin-v2 .admin-main { display: grid; min-width: 0; min-height: 0; grid-template-rows: 66px minmax(0,1fr); }
.admin-v2 .admin-commandbar { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem clamp(1rem,2.5vw,2.2rem); border-bottom: 1px solid var(--admin-line); background: rgba(255,255,255,.92); box-shadow: 0 5px 18px rgba(25,28,67,.04); backdrop-filter: blur(14px); }
.admin-v2 .admin-commandbar > div { display: flex; min-width: 0; align-items: center; gap: .65rem; }
.admin-v2 .admin-commandbar > div > div { display: grid; }
.admin-v2 .admin-commandbar small { color: #85899c; font-size: .6rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.admin-v2 .admin-commandbar strong { color: var(--admin-ink); font-size: .82rem; }
.admin-v2 .admin-command-pulse { width: 9px; height: 9px; border-radius: 50%; background: var(--admin-teal); box-shadow: 0 0 0 5px rgba(16,187,181,.12); }
.admin-v2 .admin-view-site { display: inline-flex; min-height: 38px; align-items: center; gap: .4rem; padding: .45rem .7rem; border: 1px solid #dadde8; border-radius: 9px; color: #4e5267; font-size: .7rem; font-weight: 800; text-decoration: none; }
.admin-v2 .admin-view-site:hover { border-color: var(--admin-purple); color: var(--admin-purple); }
.admin-v2 .admin-workspace { width: 100%; max-width: none; min-width: 0; margin: 0; padding: clamp(1.1rem,2.5vw,2.25rem); overflow: auto; }
.admin-v2 .admin-page-heading { align-items: center; margin-bottom: 1.25rem; }
.admin-v2 .admin-page-heading .section-label { color: var(--admin-purple); }
.admin-v2 .admin-page-heading h1 { margin: .15rem 0 .35rem; color: var(--admin-ink); font-size: clamp(2.15rem,4vw,3.65rem); line-height: .98; letter-spacing: -.055em; }
.admin-v2 .admin-page-heading p { color: var(--admin-muted); }
.admin-v2 .admin-staff-name { display: inline-flex; align-items: center; gap: .5rem; padding: .55rem .75rem; border: 1px solid #dce8e6; background: #f4fffc; color: #35706b; }
.admin-v2 .admin-staff-name i { width: 7px; height: 7px; border-radius: 50%; background: var(--admin-teal); box-shadow: 0 0 0 4px rgba(16,187,181,.12); }

.admin-v2 .admin-fact-strip { grid-template-columns: repeat(6,minmax(0,1fr)); gap: .65rem; margin-bottom: 1.15rem; }
.admin-v2 .admin-fact-strip > div { position: relative; min-height: 104px; grid-template-columns: auto 1fr; grid-template-rows: 1fr auto; align-items: start; gap: .25rem .6rem; padding: .85rem; overflow: hidden; border-color: var(--admin-line); border-radius: 15px; box-shadow: 0 8px 24px rgba(28,29,70,.045); }
.admin-v2 .admin-fact-strip > div::after { position: absolute; right: -24px; bottom: -30px; width: 72px; height: 72px; border-radius: 50%; background: currentColor; content: ''; opacity: .055; }
.admin-v2 .admin-stat-icon { display: grid; width: 29px; height: 29px; grid-column: 1; grid-row: 1; place-items: center; border-radius: 9px; background: var(--admin-stat-tone); color: #fff; font-size: .7rem; }
.admin-v2 .admin-fact-strip strong { grid-column: 2; grid-row: 1; align-self: center; justify-self: end; color: var(--admin-ink); font-size: 1.65rem; }
.admin-v2 .admin-fact-strip > div > span:last-child { grid-column: 1 / -1; grid-row: 2; color: #777b8f; font-size: .64rem; }
.admin-v2 .admin-fact-strip [data-tone="purple"] { --admin-stat-tone: #6748d6; color: #6748d6; }
.admin-v2 .admin-fact-strip [data-tone="yellow"] { --admin-stat-tone: #c19000; color: #c19000; }
.admin-v2 .admin-fact-strip [data-tone="pink"] { --admin-stat-tone: var(--admin-pink); color: var(--admin-pink); }
.admin-v2 .admin-fact-strip [data-tone="teal"] { --admin-stat-tone: #06938e; color: #06938e; }
.admin-v2 .admin-fact-strip [data-tone="blue"] { --admin-stat-tone: #3677cd; color: #3677cd; }
.admin-v2 .admin-fact-strip [data-tone="navy"] { --admin-stat-tone: #37395e; color: #37395e; }

.admin-v2 .admin-account-layout { display: grid; min-width: 0; grid-template-columns: minmax(280px,310px) minmax(0,1fr); align-items: start; gap: 1rem; }
.admin-v2 .admin-account-list { position: sticky; top: 0; min-width: 0; border-color: var(--admin-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(28,29,70,.06); }
.admin-v2 .admin-account-list > header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 1rem .75rem; }
.admin-v2 .admin-account-list > header .section-label { color: var(--admin-purple); }
.admin-v2 .admin-account-list > header h2 { margin: .1rem 0 0; color: var(--admin-ink); font-size: 1.35rem; }
.admin-v2 .admin-account-list > header > strong { display: grid; min-width: 30px; height: 30px; place-items: center; border-radius: 9px; background: #efedfb; color: var(--admin-purple); font-size: .72rem; }
.admin-v2 .admin-account-list form { position: relative; display: grid; grid-template-columns: 26px minmax(0,1fr) auto; align-items: center; gap: .25rem; padding: .7rem .8rem; border-top: 1px solid #f0f1f6; }
.admin-v2 .admin-account-list form > span { grid-column: 1; grid-row: 1; color: #9296a8; font-size: 1rem; text-align: center; }
.admin-v2 .admin-account-list form input { grid-column: 2; grid-row: 1; min-height: 42px; padding-left: .3rem; border: 0; background: transparent; box-shadow: none; font-size: .76rem; }
.admin-v2 .admin-account-list form input:focus { box-shadow: none; }
.admin-v2 .admin-account-list form .button { grid-column: 3; grid-row: 1; min-height: 37px; padding: .45rem .65rem; border: 0; border-radius: 8px; background: var(--admin-navy); font-size: .68rem; }
.admin-v2 .admin-account-results { max-height: calc(100dvh - 315px); border-top: 1px solid var(--admin-line); }
.admin-v2 .admin-account-results > button { display: grid; min-width: 0; grid-template-columns: 38px minmax(0,1fr) auto 12px; align-items: center; gap: .6rem; padding: .75rem .8rem; border-left: 3px solid transparent; background: #fff; }
.admin-v2 .admin-account-results > button:hover { background: #f8f7fd; }
.admin-v2 .admin-account-results > button.selected { border-left-color: var(--admin-pink); background: linear-gradient(90deg,#fff3f8,#f8f5ff); }
.admin-v2 .admin-directory-avatar { display: grid !important; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: #e9e6f8; color: #4c369d; font-size: .68rem; font-weight: 900; }
.admin-v2 .admin-account-results > button.selected .admin-directory-avatar { background: var(--admin-purple); color: #fff; }
.admin-v2 .admin-directory-copy { display: grid; min-width: 0; gap: .08rem; }
.admin-v2 .admin-directory-copy strong { color: #292b41; font-size: .77rem; }
.admin-v2 .admin-directory-copy small { color: #838799; font-size: .65rem; }
.admin-v2 .admin-account-results b { padding: .32rem .48rem; font-size: .57rem; }
.admin-v2 .admin-account-results > button > i { color: #a5a8b6; font-size: 1.1rem; font-style: normal; }

.admin-v2 .admin-empty-detail { display: grid; min-height: 360px; place-items: center; align-content: center; gap: .4rem; padding: 2rem; border-color: var(--admin-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(28,29,70,.06); }
.admin-v2 .admin-empty-detail > span { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 17px; background: #efedfb; color: var(--admin-purple); font-size: 1.45rem; }
.admin-v2 .admin-empty-detail p { max-width: 44ch; margin: 0; }
.admin-v2 .admin-account-detail { min-width: 0; padding: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.admin-v2 .admin-account-hero { display: grid; min-width: 0; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: .85rem; margin-bottom: .7rem; padding: 1rem 1.1rem; border: 1px solid var(--admin-line); border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(28,29,70,.05); }
.admin-v2 .admin-account-avatar { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 17px; background: linear-gradient(145deg,var(--admin-purple),#7355d2); color: #fff; font-size: .85rem; font-weight: 900; box-shadow: 0 9px 20px rgba(74,42,165,.18); }
.admin-v2 .admin-account-title { min-width: 0; }
.admin-v2 .admin-account-title .section-label { color: var(--admin-purple); }
.admin-v2 .admin-account-title h2 { margin: .05rem 0; color: var(--admin-ink); font-size: clamp(1.5rem,2.4vw,2rem); letter-spacing: -.04em; }
.admin-v2 .admin-account-title a { display: block; overflow: hidden; color: #71758a; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-v2 .admin-account-badges { display: flex; align-items: center; gap: .4rem; }
.admin-v2 .admin-staff-badge { padding: .35rem .52rem; border-radius: 999px; background: #e8f8f5; color: #187b74; font-size: .58rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.admin-v2 .admin-section-nav { display: flex; min-width: 0; gap: .3rem; margin-bottom: .7rem; padding: .35rem; overflow-x: auto; border: 1px solid var(--admin-line); border-radius: 12px; background: #fff; }
.admin-v2 .admin-section-nav a { flex: 1 0 auto; padding: .48rem .65rem; border-radius: 8px; color: #696d81; font-size: .67rem; font-weight: 850; text-align: center; text-decoration: none; }
.admin-v2 .admin-section-nav a:hover { background: #f1effb; color: var(--admin-purple); }
.admin-v2 .admin-detail-columns { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) minmax(290px,340px); align-items: start; gap: .8rem; }
.admin-v2 .admin-detail-main,
.admin-v2 .admin-detail-side { display: grid; min-width: 0; gap: .8rem; }
.admin-v2 .admin-panel { min-width: 0; margin: 0; padding: 1rem; border: 1px solid var(--admin-line); border-radius: 17px; background: #fff; box-shadow: 0 10px 28px rgba(28,29,70,.045); }
.admin-v2 .admin-panel-heading { display: flex; min-width: 0; align-items: start; justify-content: space-between; gap: .75rem; margin-bottom: .9rem; }
.admin-v2 .admin-panel-heading > div { min-width: 0; }
.admin-v2 .admin-panel-heading .section-label { color: var(--admin-purple); }
.admin-v2 .admin-panel-heading h3 { margin: .08rem 0 0; color: var(--admin-ink); font-size: 1.12rem; letter-spacing: -.025em; }
.admin-v2 .admin-panel-heading p { margin: .25rem 0 0; color: var(--admin-muted); font-size: .72rem; line-height: 1.45; }
.admin-v2 .admin-panel-heading > small { color: #8a8d9f; font-size: .62rem; text-align: right; }
.admin-v2 .admin-panel-count { flex: 0 0 auto; padding: .35rem .55rem; border-radius: 999px; background: #efedfb; color: var(--admin-purple); font-size: .6rem; text-transform: uppercase; }
.admin-v2 .admin-account-facts { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; margin: 0 0 .65rem; }
.admin-v2 .admin-account-facts div { padding: .7rem; border: 1px solid #ececf3; border-radius: 11px; background: #f8f9fc; }
.admin-v2 .admin-account-facts dt { font-size: .58rem; }
.admin-v2 .admin-account-facts dd { margin-top: .2rem; color: #36394f; font-size: .72rem; text-transform: capitalize; }
.admin-v2 .admin-usage-grid { gap: .5rem; grid-template-columns: repeat(4,minmax(0,1fr)); }
.admin-v2 .admin-usage-grid div { padding: .7rem; border-radius: 11px; background: #fff; }
.admin-v2 .admin-usage-grid strong { color: var(--admin-purple); font-size: 1.25rem; }
.admin-v2 .admin-usage-grid span { font-size: .62rem; }
.admin-v2 .admin-room-fact { margin-top: .7rem; padding: .85rem; border-radius: 13px; background: linear-gradient(135deg,var(--admin-navy),#24155e); }
.admin-v2 .admin-room-fact > div { display: flex; align-items: center; gap: .45rem; }
.admin-v2 .admin-room-fact .section-label { color: #9ba8d4; }
.admin-v2 .admin-room-pulse { width: 7px; height: 7px; border-radius: 50%; background: #8086a5; }
.admin-v2 .admin-room-fact.is-open .admin-room-pulse { background: #45dfb7; box-shadow: 0 0 0 4px rgba(69,223,183,.13); }
.admin-v2 .admin-room-fact strong { margin-top: .35rem; font-size: .92rem; }
.admin-v2 .admin-room-fact p { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: .25rem 0; color: #c3c9e4; font-size: .68rem; }
.admin-v2 .admin-room-fact p > span { padding: .2rem .38rem; border-radius: 999px; background: rgba(255,255,255,.1); color: #fff; font-size: .58rem; font-weight: 800; }
.admin-v2 .admin-room-fact small { font-size: .6rem; }

.admin-v2 .admin-stripe-payment-panel { border-top: 3px solid #9a8fbf; }
.admin-v2 .admin-stripe-payment-panel.is-paid { border-top-color: #25a67a; }
.admin-v2 .admin-stripe-payment-panel.is-failed { border-top-color: #d44962; }
.admin-v2 .admin-stripe-payment-state { flex: 0 0 auto; padding: .36rem .58rem; border-radius: 999px; background: #eeecf7; color: #625b78; font-size: .6rem; font-weight: 900; text-transform: uppercase; }
.admin-v2 .admin-stripe-payment-panel.is-paid .admin-stripe-payment-state { background: #e4f7f0; color: #187a5b; }
.admin-v2 .admin-stripe-payment-panel.is-failed .admin-stripe-payment-state { background: #fff0f3; color: #b92543; }
.admin-v2 .admin-stripe-payment-grid { display: grid; min-width: 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; margin: 0; }
.admin-v2 .admin-stripe-payment-grid > div { display: grid; min-width: 0; gap: .2rem; padding: .65rem .7rem; border: 1px solid #ececf3; border-radius: 10px; background: #f8f9fc; }
.admin-v2 .admin-stripe-payment-grid dt { color: #8a8e9f; font-size: .53rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.admin-v2 .admin-stripe-payment-grid dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: #35384d; font-size: .67rem; font-weight: 800; }
.admin-v2 .admin-stripe-payment-grid code { padding: 0; background: transparent; color: #4d3b99; font-size: .61rem; white-space: normal; }
.admin-v2 .admin-stripe-privacy-note { display: block; margin-top: .65rem; color: #818597; font-size: .6rem; line-height: 1.45; }

.admin-v2 .admin-display-devices { display: grid; gap: .75rem; }
.admin-v2 .admin-display-devices > .admin-panel-heading { margin-bottom: 0; }
.admin-v2 .admin-device-heading-actions { display: flex; flex: 0 0 auto; align-items: center; gap: .45rem; }
.admin-v2 .admin-device-heading-actions button { min-height: 30px; padding: .35rem .55rem; border: 1px solid #d9d5ee; border-radius: 8px; background: #f2efff; color: #4e3ca4; cursor: pointer; font: inherit; font-size: .6rem; font-weight: 900; }
.admin-v2 .admin-device-heading-actions button:disabled { cursor: wait; opacity: .6; }
.admin-v2 .admin-display-device-list { gap: .55rem; }
.admin-v2 .admin-display-device-list article { padding: .7rem; border-radius: 11px; }
.admin-v2 .admin-display-device-list code { width: fit-content; margin-top: .08rem; padding: .18rem .4rem; border-radius: 5px; background: #eeecfa; color: #493a93; font-size: .72rem; font-weight: 850; letter-spacing: .1em; }
.admin-v2 .admin-display-device-list .plain-action { color: #b92543; font-size: .65rem; }
.admin-v2 .admin-managed-device { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr); align-items: stretch; gap: .65rem; }
.admin-v2 .admin-managed-device-heading { display: grid; min-width: 0; grid-template-columns: 9px minmax(0,1fr) auto; align-items: center; gap: .65rem; }
.admin-v2 .admin-managed-device-heading > div { display: grid; min-width: 0; gap: .08rem; }
.admin-v2 .admin-managed-device-heading > div strong { overflow: hidden; color: #292b41; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-v2 .admin-managed-device-heading > div span { color: #85899b; font-size: .62rem; }
.admin-v2 .admin-managed-device-heading .admin-device-primary-id { font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: .86rem; letter-spacing: .09em; }
.admin-v2 .admin-device-id-label { color: #898d9e; font-size: .52rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.admin-v2 .admin-device-status.offline { background: #9ca1b0; box-shadow: 0 0 0 4px rgba(156,161,176,.14); }
.admin-v2 .admin-device-status.disabled { background: #d04d64; box-shadow: 0 0 0 4px rgba(208,77,100,.13); }
.admin-v2 .admin-device-live-facts { display: grid; min-width: 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .45rem; margin: 0; }
.admin-v2 .admin-device-live-facts > div { display: grid; min-width: 0; gap: .16rem; padding: .55rem .6rem; border: 1px solid #ececf3; border-radius: 9px; background: #fff; }
.admin-v2 .admin-device-live-facts dt,
.admin-v2 .admin-device-system-facts dt { color: #8a8e9f; font-size: .54rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.admin-v2 .admin-device-live-facts dd,
.admin-v2 .admin-device-system-facts dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: #3d4055; font-size: .66rem; font-weight: 800; }
.admin-v2 .admin-device-offline-facts { margin: 0; }
.admin-v2 .admin-device-offline-facts > div { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; padding: .65rem .7rem; border: 1px solid #dfe1e8; border-radius: 9px; background: #fff; }
.admin-v2 .admin-device-offline-facts dt { color: #777c8d; font-size: .56rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.admin-v2 .admin-device-offline-facts dd { margin: 0; color: #3e4253; font-size: .68rem; font-weight: 850; text-align: right; }
.admin-v2 .admin-device-hotspot-access { display: grid; gap: .35rem; padding: .65rem .7rem; border: 1px solid #e2d39d; border-radius: 9px; background: #fff9e8; }
.admin-v2 .admin-device-hotspot-access > span { color: #8d6c13; font-size: .54rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.admin-v2 .admin-device-hotspot-access > strong { color: #4e421f; font-size: .72rem; }
.admin-v2 .admin-device-hotspot-access dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .4rem; margin: 0; }
.admin-v2 .admin-device-hotspot-access dl > div { min-width: 0; }
.admin-v2 .admin-device-hotspot-access dt { color: #8a7b50; font-size: .52rem; font-weight: 850; }
.admin-v2 .admin-device-hotspot-access dd { margin: .12rem 0 0; }
.admin-v2 .admin-device-hotspot-access code { max-width: 100%; overflow-wrap: anywhere; background: rgba(255,255,255,.8); color: #493a31; font-size: .61rem; letter-spacing: .03em; white-space: normal; }
.admin-v2 .admin-device-hotspot-access small { color: #786b49; font-size: .59rem; line-height: 1.4; }
.admin-v2 .admin-device-details { border-top: 1px solid #e6e7ef; }
.admin-v2 .admin-device-details summary { padding: .65rem 0 .1rem; color: var(--admin-purple); cursor: pointer; font-size: .66rem; font-weight: 900; }
.admin-v2 .admin-device-system-facts { display: grid; min-width: 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; margin: .6rem 0; }
.admin-v2 .admin-device-system-facts > div { display: grid; min-width: 0; gap: .16rem; padding: .55rem .6rem; border-radius: 9px; background: #f1f2f7; }
.admin-v2 .admin-device-system-facts code { max-width: 100%; padding: 0; overflow-wrap: anywhere; background: transparent; color: #493a93; font-size: .61rem; letter-spacing: .03em; white-space: normal; }
.admin-v2 .admin-device-controls { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .4rem; }
.admin-v2 .admin-device-controls button { min-height: 36px; padding: .45rem .5rem; border: 1px solid #d9d5ee; border-radius: 8px; background: #f2efff; color: #4e3ca4; cursor: pointer; font: inherit; font-size: .61rem; font-weight: 900; }
.admin-v2 .admin-device-controls button:not(:disabled):hover { border-color: #bdb4e7; background: #e9e4ff; }
.admin-v2 .admin-device-controls button:disabled { cursor: not-allowed; filter: grayscale(.35); opacity: .58; }
.admin-v2 .admin-device-controls button.is-warning { border-color: #ead29d; background: #fff7e3; color: #8b5a13; }
.admin-v2 .admin-device-controls button.is-danger { border-color: #ebc4cc; background: #fff0f3; color: #b92543; }
.admin-v2 .admin-device-command-note { display: block; margin-top: .45rem; color: #85899b; font-size: .59rem; line-height: 1.45; }
.admin-v2 .admin-device-last-command { display: grid; gap: .08rem; margin-top: .55rem; padding: .55rem .6rem; border-left: 3px solid #7762d0; border-radius: 7px; background: #f1effb; }
.admin-v2 .admin-device-last-command span { color: #807b95; font-size: .52rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.admin-v2 .admin-device-last-command strong { color: #413678; font-size: .64rem; }
.admin-v2 .admin-device-last-command small,
.admin-v2 .admin-device-legacy-note { margin: 0; color: #7f8395; font-size: .6rem; line-height: 1.45; }
.admin-v2 .admin-device-lifecycle-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.admin-v2 .admin-device-lifecycle-actions .admin-device-revoke { color: #8f1730; font-weight: 900; }
.admin-v2 .admin-device-lifecycle-actions .admin-device-destroy { padding: .35rem .55rem; border-radius: 7px; background: #a70f2e; color: #fff; font-weight: 900; }
.admin-v2 .admin-device-unlink { justify-self: end; }
.admin-v2 .admin-device-revoked-note { margin: 0; padding: .55rem .6rem; border: 1px solid #efcbd2; border-radius: 8px; background: #fff3f5; color: #8f2f42; font-size: .61rem; line-height: 1.45; }
.admin-v2 .admin-device-destroyed-note { margin: 0; padding: .55rem .6rem; border: 1px solid #d4d5dc; border-radius: 8px; background: #f1f2f5; color: #555966; font-size: .61rem; line-height: 1.45; }
.admin-v2 .admin-device-empty { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: .05rem .65rem; padding: .75rem; }
.admin-v2 .admin-device-empty > span { display: grid; width: 38px; height: 38px; grid-row: 1 / 3; place-items: center; border-radius: 10px; background: #eae8f8; color: var(--admin-purple); }
.admin-v2 .admin-device-empty strong { color: #46495d; font-size: .75rem; }
.admin-v2 .admin-device-empty small { color: #85889a; font-size: .65rem; }
.admin-v2 .admin-device-link-form { grid-template-columns: minmax(135px,.75fr) minmax(160px,1fr) auto; gap: .6rem; padding-top: .8rem; }
.admin-v2 .admin-device-link-form .field { display: grid; gap: .3rem; color: #4a4e62; font-size: .65rem; font-weight: 850; }
.admin-v2 .admin-device-link-form input { min-height: 43px; border-color: #dcdfea; border-radius: 9px; background: #fafafe; font-size: .72rem; }
.admin-v2 .admin-device-link-form .admin-pairing-field input { color: var(--admin-purple); font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: .92rem; font-weight: 900; letter-spacing: .11em; }
.admin-v2 .admin-device-link-form .button { min-height: 43px; align-self: end; justify-self: stretch; padding-inline: .75rem; border-radius: 9px; background: var(--admin-navy); font-size: .68rem; }
.admin-v2 .admin-device-link-form .button:disabled { border-color: #d8dae4; background: #e8e9ef; color: #8a8d9c; }
.admin-v2 .admin-device-plus-note { grid-column: 1 / -1; color: #8b6518; font-size: .64rem; }
.admin-v2 .admin-account-display-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.admin-v2 .admin-account-display-summary h3 { margin: .1rem 0; }
.admin-v2 .admin-account-display-summary p { margin: .2rem 0 0; color: #707488; font-size: .72rem; }
.admin-v2 .admin-account-display-summary .button { flex: 0 0 auto; }

.admin-v2 .admin-override-form { display: grid; grid-template-columns: 1fr; gap: .7rem; border-color: #dcd7f4; background: linear-gradient(145deg,#f8f6ff,#fff); }
.admin-v2 .admin-override-form > *,
.admin-v2 .admin-override-form > div,
.admin-v2 .admin-override-form label:last-of-type { grid-column: auto; }
.admin-v2 .admin-override-heading h3 { margin: .08rem 0 .2rem; color: var(--admin-ink); font-size: 1.12rem; }
.admin-v2 .admin-override-heading p { color: var(--admin-muted); font-size: .7rem; }
.admin-v2 .admin-override-current { display: grid; gap: .08rem; padding: .7rem; border: 1px solid #ded9f4; border-radius: 10px; background: #fff; }
.admin-v2 .admin-override-current small { color: #858199; font-size: .56rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.admin-v2 .admin-override-current strong { color: #4e3ca4; font-size: .72rem; }
.admin-v2 .admin-override-form .field { display: grid; gap: .3rem; margin: 0; color: #4a4e62; font-size: .65rem; font-weight: 850; }
.admin-v2 .admin-override-form :is(input,select,textarea) { min-height: 42px; border-color: #dcd9ea; border-radius: 9px; background: #fff; font-size: .7rem; }
.admin-v2 .admin-override-expiry { display: grid; min-width: 0; grid-template-columns: 1fr; gap: .55rem; }
.admin-v2 .admin-never-expire-option { grid-template-columns: 40px minmax(0,1fr); padding: .6rem; }
.admin-v2 .admin-override-form .button { width: 100%; min-height: 43px; justify-self: stretch; border: 0; border-radius: 9px; background: linear-gradient(135deg,var(--admin-purple),#704acb); box-shadow: 0 8px 18px rgba(74,42,165,.17); font-size: .7rem; }
.admin-v2 .admin-audit-list { margin: 0; }
.admin-v2 .admin-audit-entries { display: grid; }
.admin-v2 .admin-audit-list article { display: grid; grid-template-columns: 9px minmax(0,1fr); gap: .6rem; padding: .65rem 0; }
.admin-v2 .admin-audit-list article:first-child { border-top: 0; padding-top: 0; }
.admin-v2 .admin-audit-list article > div { display: grid; gap: .1rem; }
.admin-v2 .admin-audit-marker { width: 8px; height: 8px; margin-top: .25rem; border-radius: 50%; background: var(--admin-teal); box-shadow: 0 0 0 4px rgba(16,187,181,.1); }
.admin-v2 .admin-audit-list article strong { color: #36394d; font-size: .68rem; }
.admin-v2 .admin-audit-list article span { color: #696d80; font-size: .64rem; }
.admin-v2 .admin-audit-list article small { font-size: .58rem; }
.admin-v2 .admin-audit-empty { margin: 0; padding: .7rem; border-radius: 10px; background: #f7f8fb; color: #838799; font-size: .67rem; text-align: center; }
.admin-v2 .admin-danger-zone { display: grid; gap: .7rem; border-color: #f0ccd3; background: #fff8fa; }
.admin-v2 .admin-danger-zone h3 { margin: .08rem 0 .2rem; color: #8c2539; font-size: 1rem; }
.admin-v2 .admin-danger-zone p { color: #775b62; font-size: .66rem; }
.admin-v2 .admin-danger-zone form { grid-template-columns: 1fr; gap: .55rem; }
.admin-v2 .admin-danger-zone .field { font-size: .64rem; }
.admin-v2 .admin-danger-zone :is(input,textarea) { min-height: 41px; border-radius: 9px; font-size: .68rem; }
.admin-v2 .admin-delete-account-button { width: 100%; min-height: 42px; grid-column: auto; font-size: .68rem; }
.admin-v2 .admin-protected-account,
.admin-v2 .admin-billing-blocked-account { font-size: .66rem; }

@media (max-width: 1280px) {
    .admin-app.admin-v2 { grid-template-columns: 218px minmax(0,1fr); }
    .admin-v2 .admin-sidebar nav a { padding-inline: .55rem; }
    .admin-v2 .admin-fact-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .admin-v2 .admin-fact-strip > div { min-height: 84px; }
    .admin-v2 .admin-account-layout { grid-template-columns: minmax(250px,285px) minmax(0,1fr); }
    .admin-v2 .admin-detail-columns { grid-template-columns: 1fr; }
    .admin-v2 .admin-detail-side { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
    .admin-v2 .admin-detail-side .admin-danger-zone { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
    .admin-app.admin-v2 { height: auto; min-height: 100dvh; grid-template-columns: 1fr; overflow: visible; }
    .admin-v2 .admin-sidebar { position: sticky; top: 0; z-index: 50; display: flex; min-height: 68px; align-items: center; gap: .7rem; padding: .35rem .75rem; box-shadow: 0 8px 24px rgba(12,12,48,.18); }
    .admin-v2 .admin-sidebar > div:first-child { flex: 0 0 auto; padding: 0; border: 0; }
    .admin-v2 .admin-sidebar nav { display: flex; flex: 1; justify-content: center; gap: .3rem; padding: 0; }
    .admin-v2 .admin-sidebar nav a { width: auto; grid-template-columns: 30px auto; grid-template-rows: auto; gap: .35rem; padding: .4rem .55rem; }
    .admin-v2 .admin-sidebar nav a > span { width: 30px; height: 30px; grid-row: auto; }
    .admin-v2 .admin-sidebar nav a small { display: none; }
    .admin-v2 .admin-sidebar > footer { display: flex; align-items: center; gap: .35rem; padding: 0; border: 0; }
    .admin-v2 .admin-staff-card > div { display: none; }
    .admin-v2 .admin-sidebar #adminLogout { width: 38px; min-height: 38px; justify-content: center; padding: 0; overflow: hidden; color: transparent; }
    .admin-v2 .admin-sidebar #adminLogout > span { color: rgba(255,255,255,.7); }
    .admin-v2 .admin-main { display: block; }
    .admin-v2 .admin-commandbar { display: none; }
    .admin-v2 .admin-workspace { overflow: visible; }
    .admin-v2 .admin-account-layout { grid-template-columns: 1fr; }
    .admin-v2 .admin-account-list { position: static; }
    .admin-v2 .admin-account-results { max-height: 320px; }
    .admin-v2 .admin-account-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-v2 .admin-account-results > button { border-right: 1px solid #eceef5; }
}

@media (max-width: 760px) {
    .admin-auth-shell.admin-v2 { overflow-y: auto; }
    .admin-auth-shell.admin-v2 .admin-auth-topbar { min-height: 84px; padding: .15rem .8rem; }
    .admin-v2 .admin-back-home { min-height: 38px; font-size: .65rem; }
    .admin-auth-shell.admin-v2 .admin-auth-main { grid-template-columns: 1fr; gap: 1.25rem; padding: 1.1rem; }
    .admin-auth-shell.admin-v2 .admin-auth-intro h1 { max-width: 14ch; margin: .65rem 0; font-size: clamp(2.25rem,10vw,3.5rem); }
    .admin-auth-shell.admin-v2 .admin-auth-intro > p { font-size: .86rem; }
    .admin-auth-shell.admin-v2 .admin-auth-card { width: min(100%,520px); justify-self: center; padding: 1.25rem; border-radius: 18px; }
    .admin-v2 .admin-page-heading { align-items: flex-start; }
    .admin-v2 .admin-fact-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-v2 .admin-detail-side { grid-template-columns: 1fr; }
    .admin-v2 .admin-detail-side .admin-danger-zone { grid-column: auto; }
    .admin-v2 .admin-account-facts { grid-template-columns: 1fr; }
    .admin-v2 .admin-usage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-v2 .admin-stripe-payment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-v2 .admin-device-link-form { grid-template-columns: 1fr 1fr; }
    .admin-v2 .admin-device-link-form .button { grid-column: 1 / -1; }
}

@media (max-width: 540px) {
    .admin-v2 .admin-brand-logo { width: 88px; height: 62px; flex-basis: 88px; }
    .admin-v2 .admin-brand-logo img { width: 88px; height: 88px; }
    .admin-v2 .admin-sidebar { gap: .25rem; padding-inline: .45rem; }
    .admin-v2 .admin-sidebar nav { justify-content: flex-end; }
    .admin-v2 .admin-sidebar nav a { grid-template-columns: 29px; padding: .35rem; }
    .admin-v2 .admin-sidebar nav a strong { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .admin-v2 .admin-staff-card { display: none; }
    .admin-v2 .admin-workspace { padding: .85rem .65rem 1.5rem; }
    .admin-v2 .admin-page-heading h1 { font-size: 2rem; }
    .admin-v2 .admin-staff-name { display: none; }
    .admin-v2 .admin-fact-strip { gap: .45rem; }
    .admin-v2 .admin-fact-strip > div { min-height: 78px; padding: .65rem; }
    .admin-v2 .admin-account-results { grid-template-columns: 1fr; }
    .admin-v2 .admin-account-hero { grid-template-columns: 46px minmax(0,1fr); padding: .8rem; }
    .admin-v2 .admin-account-avatar { width: 46px; height: 46px; border-radius: 14px; }
    .admin-v2 .admin-account-badges { grid-column: 2; justify-self: start; }
    .admin-v2 .admin-section-nav { position: sticky; z-index: 15; top: 68px; }
    .admin-v2 .admin-panel { padding: .85rem; border-radius: 14px; }
    .admin-v2 .admin-panel-heading { flex-direction: column; }
    .admin-v2 .admin-panel-heading > small { text-align: left; }
    .admin-v2 .admin-device-link-form { grid-template-columns: 1fr; }
    .admin-v2 .admin-device-link-form .button { grid-column: auto; }
    .admin-v2 .admin-room-fact p { align-items: flex-start; flex-direction: column; }
}
body.bootstrap-site { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif; letter-spacing: -.012em; }

/* Quizmaster: one calm workspace, not a dashboard mosaic. */
.bootstrap-site .quizzme-redesign { min-height: 100dvh; color: var(--qm-ink); background: var(--qm-page); }
.bootstrap-site .quizzme-redesign .host-workspace { min-height: 100dvh; }
.bootstrap-site .quizzme-redesign .host-topbar { z-index: 60; min-height: 54px; padding: 0 clamp(1rem, 3vw, 2rem); border: 0; border-bottom: 1px solid var(--qm-line); background: rgba(250,250,252,.96); box-shadow: none; backdrop-filter: none; }
.bootstrap-site .quizzme-redesign .host-header-utilities { min-width: 0; display: flex; align-items: center; gap: .55rem; margin-left: auto; }
.bootstrap-site .quizzme-redesign .legacy-display-link,
.bootstrap-site .quizzme-redesign .legacy-pin-value { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important; white-space: nowrap !important; border: 0 !important; }
.bootstrap-site .quizzme-redesign .host-display-control { position: static; flex: 0 0 auto; border: 0; background: transparent; }
.bootstrap-site .quizzme-redesign .host-display-control > summary.host-pin-card {
    width: auto; min-height: 42px; display: flex; align-items: center; gap: .55rem;
    padding: .35rem .65rem; margin: 0; border: 1px solid rgba(0,0,0,.07); border-radius: 999px;
    background: #fff; box-shadow: 0 1px 5px rgba(0,0,0,.08);
}
.bootstrap-site .quizzme-redesign .host-display-control > summary::after { display: none; }
.bootstrap-site .quizzme-redesign .host-display-control .display-control-icon { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: #ececff; color: #075cac; font-size: .8rem; }
.bootstrap-site .quizzme-redesign .host-display-control .display-control-copy { display: grid; gap: 0; line-height: 1.05; }
.bootstrap-site .quizzme-redesign .host-display-control .display-control-copy strong { color: var(--qm-ink); font-size: .78rem; font-weight: 650; letter-spacing: 0; }
.bootstrap-site .quizzme-redesign .host-display-control .display-control-copy small { color: var(--qm-muted); font-size: .62rem; font-weight: 600; white-space: nowrap; }
.bootstrap-site .quizzme-redesign .host-display-control .display-control-state { width: 7px; height: 7px; border-radius: 50%; background: #ff9f0a; }
.bootstrap-site .quizzme-redesign .host-display-control .display-control-state.ready { background: #30d158; }
@media (min-width: 768px) {
    .bootstrap-site .quizzme-redesign .host-display-control { display: block; position: static; width: auto; max-width: none; max-height: none; padding: 0; margin: 0; overflow: visible; border: 0; box-shadow: none; }
    .bootstrap-site .quizzme-redesign .host-display-control > summary { display: flex; }
    .bootstrap-site .quizzme-redesign .host-display-control[open]::before { display: block; }
    .bootstrap-site .quizzme-redesign .host-display-control .host-presentation-bar {
        position: fixed; top: 50%; right: auto; left: 50%; z-index: 1001; width: min(44rem,calc(100vw - 2rem));
        max-height: calc(100dvh - 2rem); padding: clamp(1rem,2vw,1.5rem); overflow-y: auto;
        border: 1px solid var(--bs-border-color); border-radius: 1rem; background: #fff;
        box-shadow: 0 1.5rem 5rem rgba(18,23,45,.28); transform: translate(-50%,-50%);
    }
    .bootstrap-site .quizzme-redesign .tablet-drawer-backdrop.open { z-index: 1000; pointer-events: none; }
    .bootstrap-site .quizzme-redesign .display-control-header { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; }
    .bootstrap-site .quizzme-redesign .display-control-header > div { min-width: 0; padding-right: 4rem; }
    .bootstrap-site .quizzme-redesign .display-control-header #tabletCloseRoomTools { position: absolute; top: 0; right: 0; z-index: 2; }
}
.bootstrap-site .quizzme-redesign .host-display-control[open]::before { display: block; position: fixed; inset: 0; z-index: 5000; background: rgba(10,14,38,.58); backdrop-filter: blur(4px); }
.bootstrap-site .quizzme-redesign .host-display-control .host-presentation-bar { position: fixed; top: 50%; right: auto; left: 50%; z-index: 5001; width: min(44rem,calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow-y: auto; transform: translate(-50%,-50%); }
.bootstrap-site .quizzme-redesign .host-modal-backdrop { position: fixed; inset: 0; z-index: 5100; display: grid; padding: 1rem; place-items: center; background: rgba(10,14,38,.62); backdrop-filter: blur(5px); }
.bootstrap-site .quizzme-redesign .host-confirm-modal { width: min(430px,calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); padding: clamp(1.35rem,4vw,2rem); overflow-y: auto; border: 1px solid rgba(87,72,180,.22); border-radius: 18px; background: #fff; box-shadow: 0 1.5rem 5rem rgba(18,23,61,.3); text-align: center; }
.bootstrap-site .quizzme-redesign .host-confirm-icon { display: grid; width: 48px; height: 48px; margin: 0 auto .9rem; place-items: center; border-radius: 50%; color: #5140d7; background: #efedff; font-size: 1.35rem; font-weight: 850; }
.bootstrap-site .quizzme-redesign .host-logout-close-modal .host-confirm-icon.danger { background: #c81e1e; color: #fff; }
.bootstrap-site .quizzme-redesign .host-confirm-modal h2 { margin: .25rem 0 .65rem; color: #17192a; font-size: clamp(1.55rem,5vw,2rem); }
.bootstrap-site .quizzme-redesign .host-confirm-modal > p:not(.section-label) { margin: 0 auto 1.35rem; color: #6e7180; line-height: 1.5; }
.bootstrap-site .quizzme-redesign .host-confirm-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.bootstrap-site .answer-confirm-backdrop { align-items: center; place-items: center; }
.bootstrap-site .answer-confirm-modal { border-radius: 16px; box-shadow: 0 18px 50px rgba(12,17,38,.28); }
.bootstrap-site .quizzme-redesign .host-brand svg { width: 118px; }
.bootstrap-site .quizzme-redesign .host-session-status small { color: var(--qm-muted); }
.bootstrap-site .quizzme-redesign .host-status-control { position: relative; min-width: 0; }
.bootstrap-site .quizzme-redesign .host-status-control > summary { min-height: 42px; padding: .35rem .55rem; border: 1px solid transparent; border-radius: 12px; cursor: pointer; list-style: none; transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
.bootstrap-site .quizzme-redesign .host-status-control > summary::-webkit-details-marker { display: none; }
.bootstrap-site .quizzme-redesign .host-status-control > summary:hover,
.bootstrap-site .quizzme-redesign .host-status-control > summary:focus-visible,
.bootstrap-site .quizzme-redesign .host-status-control[open] > summary { border-color: #d9d3ff; background: #f5f2ff; box-shadow: 0 0 0 3px rgba(111,82,237,.1); outline: none; }
.bootstrap-site .quizzme-redesign .host-session-status-copy { display: grid; min-width: 0; line-height: 1.2; }
.bootstrap-site .quizzme-redesign .status-menu-chevron { margin-left: .15rem; color: #77758a; font-size: 1rem; transition: transform .18s ease; }
.bootstrap-site .quizzme-redesign .host-status-control[open] .status-menu-chevron { transform: rotate(180deg); }
.bootstrap-site .quizzme-redesign .host-status-menu { position: absolute; z-index: 120; top: calc(100% + .55rem); left: 0; width: min(19rem,calc(100vw - 1rem)); padding: .55rem; border: 1px solid #dedbea; border-radius: 16px; background: rgba(255,255,255,.98); box-shadow: 0 18px 48px rgba(18,20,45,.2); backdrop-filter: blur(16px); }
.bootstrap-site .quizzme-redesign .host-status-menu > header { display: flex; align-items: center; gap: .65rem; margin: 0 .25rem .4rem; padding: .45rem .35rem .65rem; border-bottom: 1px solid #eceaf2; }
.bootstrap-site .quizzme-redesign .host-status-menu > header > span:last-child { display: grid; line-height: 1.15; }
.bootstrap-site .quizzme-redesign .host-status-menu > header small { color: #77758a; font-size: .65rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.bootstrap-site .quizzme-redesign .host-status-menu > header strong { color: var(--qm-ink); font-size: .9rem; }
.bootstrap-site .quizzme-redesign .host-status-menu > button { display: grid; width: 100%; grid-template-columns: 2rem minmax(0,1fr); gap: .65rem; align-items: center; padding: .65rem; border: 0; border-radius: 11px; background: transparent; color: var(--qm-ink); text-align: left; }
.bootstrap-site .quizzme-redesign .host-status-menu > button:not(:disabled):hover,
.bootstrap-site .quizzme-redesign .host-status-menu > button:not(:disabled):focus-visible { background: #f1efff; outline: none; }
.bootstrap-site .quizzme-redesign .host-status-menu > button:disabled { cursor: not-allowed; opacity: .43; }
.bootstrap-site .quizzme-redesign .host-status-menu > button > span:last-child { display: grid; line-height: 1.18; }
.bootstrap-site .quizzme-redesign .host-status-menu > button strong { font-size: .82rem; }
.bootstrap-site .quizzme-redesign .host-status-menu > button small { margin-top: .12rem; color: #77758a; font-size: .68rem; }
.bootstrap-site .quizzme-redesign .status-action-icon { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 9px; background: #ebe7ff; color: #5c43d2; font-size: .72rem; font-weight: 900; }
.bootstrap-site .quizzme-redesign .status-action-icon.pause { background: #e5f6f2; color: #187b69; }
.bootstrap-site .quizzme-redesign .status-action-icon.end { background: #ffebed; color: #c0394b; }
.bootstrap-site .quizzme-redesign .host-status-menu > button.danger:not(:disabled):hover,
.bootstrap-site .quizzme-redesign .host-status-menu > button.danger:not(:disabled):focus-visible { background: #fff0f1; }
.bootstrap-site .quizzme-redesign .host-top-actions .button { min-height: 34px; padding: .4rem .8rem; border: 0; border-radius: 999px; background: #e8e8ed; color: var(--qm-ink); box-shadow: none; }
.bootstrap-site .quizzme-redesign .host-primary-nav { width: min(520px, calc(100% - 2rem)); margin: .75rem auto 0; padding: 4px; gap: 2px; overflow: visible; border: 0; border-radius: 999px; background: #e8e8ed; box-shadow: inset 0 0 0 1px rgba(0,0,0,.025); }
.bootstrap-site .quizzme-redesign .host-primary-nav .nav-link { min-height: 38px; padding: .45rem .85rem; border: 0; border-radius: 999px; color: #515154; font-size: .8rem; font-weight: 600; }
.bootstrap-site .quizzme-redesign .host-primary-nav .nav-link.active { background: #fff; color: var(--qm-ink); box-shadow: 0 1px 4px rgba(0,0,0,.12); }
.bootstrap-site .quizzme-redesign .host-content { width: min(1100px, 100%); padding: clamp(1rem, 3vw, 2rem); }
.bootstrap-site .quizzme-redesign .workspace-heading { padding: .25rem 0 1.25rem; border: 0; background: transparent; box-shadow: none; }
.bootstrap-site .quizzme-redesign .workspace-heading h1 { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif; font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 650; letter-spacing: -.04em; }
.bootstrap-site .quizzme-redesign .section-label { color: var(--qm-blue); font-weight: 650; letter-spacing: -.01em; text-transform: none; }
.bootstrap-site .quizzme-redesign .workspace-card,
.bootstrap-site .quizzme-redesign .host-invite-card,
.bootstrap-site .quizzme-redesign .quiz-source-chooser,
.bootstrap-site .quizzme-redesign .saved-quiz-library,
.bootstrap-site .quizzme-redesign .round-editor,
.bootstrap-site .quizzme-redesign .setup-step-card { border: 0; border-radius: 18px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 14px 36px rgba(0,0,0,.055); }
.bootstrap-site .quizzme-redesign .button { min-height: 44px; border-radius: 999px; font-weight: 600; }
.bootstrap-site .quizzme-redesign .button-primary { border-color: var(--qm-blue); background: var(--qm-blue); color: #fff; box-shadow: none; }
.bootstrap-site .quizzme-redesign .button-primary:hover { border-color: var(--qm-blue-hover); background: var(--qm-blue-hover); }
.bootstrap-site .quizzme-redesign .button-outline { border-color: rgba(0,0,0,.15); background: rgba(255,255,255,.72); color: var(--qm-ink); box-shadow: none; }
.bootstrap-site .quizzme-redesign input,
.bootstrap-site .quizzme-redesign textarea,
.bootstrap-site .quizzme-redesign select { min-height: 48px; border: 1px solid rgba(0,0,0,.14); border-radius: 12px; background: #fff; box-shadow: none; }
.bootstrap-site .quizzme-redesign input:focus,
.bootstrap-site .quizzme-redesign textarea:focus,
.bootstrap-site .quizzme-redesign select:focus { border-color: var(--qm-blue); box-shadow: 0 0 0 4px rgba(0,113,227,.12); }
.bootstrap-site .quizzme-redesign .quizmaster-run-status { border: 0; border-radius: 18px; background: rgba(255,255,255,.92); box-shadow: 0 12px 34px rgba(0,0,0,.08); }
.bootstrap-site .quizzme-redesign .run-live-dot { background: #30d158; box-shadow: 0 0 0 .28rem rgba(48,209,88,.12); }
.bootstrap-site .quizzme-redesign .run-status-main strong { font-weight: 650; }
.bootstrap-site .quizzme-redesign .run-status-progress i b { background: var(--qm-blue); }
.bootstrap-site .quizzme-redesign .host-pin-card { border: 0; border-radius: 14px; background: #fff; box-shadow: 0 8px 28px rgba(0,0,0,.06); }
.bootstrap-site .quizzme-redesign .host-pin-card > span { color: var(--qm-blue); }
.bootstrap-site .quizzme-redesign .setup-progress .active b,
.bootstrap-site .quizzme-redesign .setup-progress .complete b { background: var(--qm-blue); }
.bootstrap-site .quizzme-redesign .setup-progress .complete::before,
.bootstrap-site .quizzme-redesign .setup-progress .active::before { background: var(--qm-blue); }
.bootstrap-site .quizzme-redesign .setup-quiz-options button { border: 0; border-radius: 16px; background: #f5f5f7; box-shadow: none; }
.bootstrap-site .quizzme-redesign .setup-quiz-options button.recommended { border: 2px solid var(--qm-blue); background: #eef6ff; }
.bootstrap-site .quizzme-redesign .setup-quiz-options button em,
.bootstrap-site .quizzme-redesign .mode-option em { background: var(--qm-blue); }
.bootstrap-site .quizzme-redesign .mode-option { border: 1px solid var(--qm-line); border-radius: 14px; background: #fff; }
.bootstrap-site .quizzme-redesign .mode-option.selected { border-color: var(--qm-blue); background: #eef6ff; box-shadow: 0 0 0 3px rgba(0,113,227,.08); }
.bootstrap-site .quizzme-redesign .setup-next-help,
.bootstrap-site .quizzme-redesign .setup-ready-checks span { border-radius: 14px; background: #edfaf2; }
.bootstrap-site .quizzme-redesign .round-header,
.bootstrap-site .quizzme-redesign .question-editor[open] > .question-editor-summary { border-left: 0; background: #f5f5f7; }
.bootstrap-site .quizzme-redesign .global-approval-queue { border: 0; border-radius: 18px; background: #fff; box-shadow: 0 20px 60px rgba(0,0,0,.16); }
.bootstrap-site .quizzme-redesign .global-approval-queue .approval-row { border: 1px solid #e4e5eb; border-radius: 14px; background: #fff; }
.bootstrap-site .quizzme-redesign .global-approval-queue .approval-actions { flex-wrap: nowrap; }
.bootstrap-site .quizzme-redesign .approval-moderation-action,
.bootstrap-site .quizzme-redesign .approval-decision-action {
    min-height: 44px;
    border: 0;
    font: inherit;
    cursor: pointer;
}
.bootstrap-site .quizzme-redesign .approval-moderation-action {
    padding: .62rem .8rem;
    border-radius: 999px;
    background: #f0f1f5;
    color: #333642;
    font-size: .74rem;
    font-weight: 700;
    white-space: nowrap;
}
.bootstrap-site .quizzme-redesign .approval-moderation-action:hover,
.bootstrap-site .quizzme-redesign .approval-moderation-action:focus-visible { background: #e6e7ed; outline: 3px solid rgba(74,80,102,.14); outline-offset: 2px; }
.bootstrap-site .quizzme-redesign .approval-moderation-action:disabled { cursor: not-allowed; opacity: .42; }
.bootstrap-site .quizzme-redesign .approval-decision-action {
    min-width: 54px;
    display: grid;
    justify-items: center;
    gap: .15rem;
    padding: .32rem .5rem;
    border-radius: 13px;
    color: #fff;
    box-shadow: 0 5px 13px rgba(21,24,38,.13);
}
.bootstrap-site .quizzme-redesign .approval-decision-action > span { font-size: 1.25rem; font-weight: 900; line-height: .8; }
.bootstrap-site .quizzme-redesign .approval-decision-action > small { color: inherit; font-size: .58rem; font-weight: 850; line-height: 1; }
.bootstrap-site .quizzme-redesign .approval-decision-action.kick { background: #d92d3f; }
.bootstrap-site .quizzme-redesign .approval-decision-action.accept { background: #168a50; }
.bootstrap-site .quizzme-redesign .approval-decision-action.kick:hover,
.bootstrap-site .quizzme-redesign .approval-decision-action.kick:focus-visible { background: #be1f31; outline: 3px solid rgba(217,45,63,.2); outline-offset: 2px; }
.bootstrap-site .quizzme-redesign .approval-decision-action.accept:hover,
.bootstrap-site .quizzme-redesign .approval-decision-action.accept:focus-visible { background: #087642; outline: 3px solid rgba(22,138,80,.2); outline-offset: 2px; }
.bootstrap-site .quizzme-redesign .tablet-approval-backdrop { z-index: 5200; padding: clamp(.65rem,2vw,1.25rem); }
.bootstrap-site .quizzme-redesign .tablet-approval-backdrop .global-approval-queue.tablet-open {
    position: relative;
    inset: auto;
    z-index: 1;
    width: min(760px,100%);
    max-width: 760px;
    max-height: min(760px,calc(100dvh - 2rem));
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
    gap: .85rem;
    margin: 0;
    padding: clamp(1rem,2.4vw,1.4rem);
    overflow: hidden;
    border: 1px solid rgba(87,72,180,.18);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 1.75rem 6rem rgba(9,13,38,.36);
}
.bootstrap-site .quizzme-redesign .tablet-approval-backdrop .global-approval-queue > header { position: relative; min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .2rem .8rem; padding: 0 0 .8rem; border-bottom: 1px solid #e5e6ed; }
.bootstrap-site .quizzme-redesign .tablet-approval-backdrop .global-approval-queue > header > div { min-width: 0; display: flex; align-items: center; gap: .55rem; }
.bootstrap-site .quizzme-redesign .tablet-approval-backdrop .global-approval-queue > header > div strong { color: #202235; font-size: clamp(1.05rem,2.5vw,1.35rem); }
.bootstrap-site .quizzme-redesign .tablet-approval-backdrop .global-approval-queue > header > span { grid-column: 1; color: #6c7182; font-size: .75rem; }
.bootstrap-site .quizzme-redesign .tablet-approval-backdrop .tablet-drawer-close { grid-column: 2; grid-row: 1 / span 2; align-self: center; min-width: 82px; min-height: 46px; padding: .55rem .8rem; border: 1px solid #d8d9e2; border-radius: 999px; background: #f4f4f7; color: #303242; font-size: .76rem; font-weight: 850; }
.bootstrap-site .quizzme-redesign .tablet-approval-backdrop .approval-list { min-height: 0; display: grid; align-content: start; gap: .7rem; padding: 2px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.bootstrap-site .quizzme-redesign .tablet-approval-backdrop .approval-row { grid-template-columns: 54px minmax(130px,1fr) minmax(320px,auto); align-items: center; gap: .75rem; padding: .8rem; }
.bootstrap-site .quizzme-redesign .tablet-approval-backdrop .approval-actions { grid-column: auto; display: grid; grid-template-columns: repeat(2,minmax(92px,1fr)) repeat(2,64px); gap: .42rem; }
.bootstrap-site .quizzme-redesign .tablet-approval-backdrop .approval-moderation-action { min-width: 0; padding-inline: .6rem; white-space: normal; }
@media (max-width: 700px) {
    .bootstrap-site .quizzme-redesign .tablet-approval-backdrop .global-approval-queue.tablet-open { max-height: calc(100dvh - 1.3rem); border-radius: 18px; }
    .bootstrap-site .quizzme-redesign .tablet-approval-backdrop .approval-row { grid-template-columns: 48px minmax(0,1fr); }
    .bootstrap-site .quizzme-redesign .tablet-approval-backdrop .approval-actions { grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .quizzme-redesign .tablet-approval-backdrop .approval-decision-action { min-width: 0; }
}
@media (max-width: 767.98px) {
    .bootstrap-site .quizzme-redesign .global-approval-queue .approval-row { grid-template-columns: 48px minmax(0,1fr); }
    .bootstrap-site .quizzme-redesign .global-approval-queue .approval-actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .quizzme-redesign .approval-moderation-action,
    .bootstrap-site .quizzme-redesign .approval-decision-action { width: 100%; }
}
.bootstrap-site .quizzme-redesign .setup-wizard { gap: 1rem; }
.bootstrap-site .quizzme-redesign .setup-wizard-heading { padding-bottom: .25rem; }
.bootstrap-site .quizzme-redesign .setup-step-card { padding: clamp(1.25rem,3vw,2rem); }
.bootstrap-site .quizzme-redesign .live-layout { grid-template-columns: minmax(0,1fr); }
.bootstrap-site .quizzme-redesign .live-control-card { width: 100%; }
.bootstrap-site .quizzme-redesign .live-more-controls { margin-top: .8rem; border-top: 1px solid var(--qm-line); }
.bootstrap-site .quizzme-redesign .live-more-controls > summary { width: fit-content; margin-top: .75rem; padding: .45rem .75rem; border-radius: 999px; color: var(--qm-muted); cursor: pointer; font-size: .82rem; font-weight: 650; list-style: none; }
.bootstrap-site .quizzme-redesign .live-more-controls > summary::-webkit-details-marker,
.bootstrap-site .quizzme-redesign .live-tools-drawer > summary::-webkit-details-marker { display: none; }
.bootstrap-site .quizzme-redesign .live-more-controls > summary::after { content: ' · Pause, time, end'; font-weight: 400; }
.bootstrap-site .quizzme-redesign .live-more-controls[open] > summary { background: #f5f5f7; color: var(--qm-ink); }
.bootstrap-site .quizzme-redesign .live-side { display: block; }
.bootstrap-site .quizzme-redesign .live-tools-drawer { padding: 0; overflow: hidden; }
.bootstrap-site .quizzme-redesign .live-tools-drawer > summary { display: flex; align-items: center; justify-content: space-between; min-height: 68px; padding: .85rem 1.1rem; cursor: pointer; list-style: none; }
.bootstrap-site .quizzme-redesign .live-tools-drawer > summary span { display: grid; gap: .1rem; }
.bootstrap-site .quizzme-redesign .live-tools-drawer > summary small { color: var(--qm-blue); font-weight: 650; }
.bootstrap-site .quizzme-redesign .live-tools-drawer > summary b { color: var(--qm-blue); font-size: .8rem; }
.bootstrap-site .quizzme-redesign .live-tools-drawer[open] > summary { border-bottom: 1px solid var(--qm-line); }
.bootstrap-site .quizzme-redesign .live-tools-drawer[open] > summary b { font-size: 0; }
.bootstrap-site .quizzme-redesign .live-tools-drawer[open] > summary b::after { content: 'Close'; font-size: .8rem; }
.bootstrap-site .quizzme-redesign .live-tools-drawer > section { padding: 1rem; }
.bootstrap-site .quizzme-redesign .live-announcement-tool { border-top: 1px solid var(--qm-line); }

/* TV/show design: colourful daylight, electric night. */
.bootstrap-site .display-redesign {
    --show-accent: #6c5ce7;
    --show-pink: #ff4d8d;
    --show-cyan: #00cfe8;
    --show-yellow: #ffd43b;
    isolation: isolate;
    background: radial-gradient(circle at 12% 8%, rgba(108,92,231,.22), transparent 36%), radial-gradient(circle at 88% 82%, rgba(0,207,232,.2), transparent 34%), linear-gradient(145deg, #fff8fb, #eef8ff 52%, #f6f2ff);
    grid-template-rows: auto minmax(0, 1fr);
}
.bootstrap-site .display-redesign.has-join-overlays { grid-template-rows: auto minmax(0, 1fr) auto; }
.bootstrap-site .display-redesign::before { content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none; background: radial-gradient(circle at 80% 12%, rgba(255,77,141,.12), transparent 24%), radial-gradient(circle at 20% 88%, rgba(255,212,59,.16), transparent 26%); }
.bootstrap-site .display-redesign .tv-top-rail {
    position: relative;
    z-index: 30;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .75rem 1rem 0;
}
.bootstrap-site .display-redesign .tv-announcement {
    position: static;
    width: fit-content;
    max-width: min(960px,100%);
    min-width: 0;
    display: grid;
    grid-template-columns: clamp(1.75rem,2.2vw,2.25rem) auto minmax(0,1fr);
    column-gap: clamp(.5rem,.8vw,.8rem);
    align-items: center;
    justify-self: center;
    padding: clamp(.42rem,.6vw,.58rem) clamp(.8rem,1.2vw,1.1rem) clamp(.42rem,.6vw,.58rem) clamp(.42rem,.6vw,.58rem);
    border: 1px solid rgba(255,255,255,.46);
    border-radius: 999px;
    background: radial-gradient(circle at 8% 0,rgba(82,231,255,.18),transparent 34%),linear-gradient(135deg,rgba(17,24,56,.96),rgba(75,54,169,.96));
    color: #fff;
    box-shadow: 0 12px 30px rgba(37,27,92,.2),inset 0 1px rgba(255,255,255,.16);
    backdrop-filter: blur(18px);
    text-align: left;
    transform: none;
    overflow-wrap: anywhere;
}
.bootstrap-site .display-redesign .tv-announcement.is-entering { animation: tvAnnouncementIn 260ms cubic-bezier(.2,.8,.2,1) both; }
.bootstrap-site .display-redesign .tv-announcement-icon { width: clamp(1.75rem,2.2vw,2.25rem); height: clamp(1.75rem,2.2vw,2.25rem); display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg,#ff5b9b,#f02d7e); color: #fff; box-shadow: 0 5px 13px rgba(240,45,126,.28); font-size: clamp(.72rem,.9vw,.9rem); font-weight: 950; }
.bootstrap-site .display-redesign .tv-announcement-label { align-self: stretch; display: flex; align-items: center; padding-right: clamp(.55rem,.9vw,.85rem); border-right: 1px solid rgba(255,255,255,.2); color: #c9c2ff; font-size: clamp(.56rem,.64vw,.68rem); font-weight: 950; letter-spacing: .09em; line-height: 1.1; text-transform: uppercase; white-space: nowrap; }
.bootstrap-site .display-redesign .tv-announcement strong { min-width: 0; color: #fff; font-size: clamp(.92rem,1.2vw,1.18rem); font-weight: 780; letter-spacing: -.008em; line-height: 1.2; }
.bootstrap-site .display-redesign.audience-night .tv-announcement { border-color: rgba(99,243,255,.25); background: radial-gradient(circle at 8% 0,rgba(56,248,255,.16),transparent 34%),linear-gradient(135deg,rgba(8,12,35,.96),rgba(48,31,112,.96)); box-shadow: 0 0 26px rgba(56,248,255,.09),0 14px 34px rgba(0,0,0,.3); }
.bootstrap-site .display-redesign.audience-night .tv-announcement-label { color: #bdeff7; }
@keyframes tvAnnouncementIn { from { opacity: 0; transform: translateY(-.4rem); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .bootstrap-site .display-redesign .tv-announcement.is-entering { animation: none; } }
.bootstrap-site .display-redesign .tv-content { position: relative; z-index: 1; min-width: 0; min-height: 0; background: transparent; }
.bootstrap-site .qr-code-graphic { display: block; width: 100%; aspect-ratio: 1; overflow: hidden; background: #fff; color: #50576a; }
.bootstrap-site .qr-code-graphic > svg { display: block; width: 100%; height: 100%; }
.bootstrap-site .qr-code-graphic > span { display: grid; width: 100%; height: 100%; place-items: center; padding: .5rem; box-sizing: border-box; color: #50576a !important; font-size: .68rem !important; font-weight: 800; line-height: 1.25; text-align: center; text-transform: none !important; }
.bootstrap-site .display-redesign .tv-show-controls { position: static; z-index: auto; }
.bootstrap-site .display-redesign .tv-join-overlays {
    position: static;
    grid-row: 3;
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 0;
    justify-content: flex-end;
    gap: .75rem;
    padding: .65rem 1rem 1rem;
    box-sizing: border-box;
    animation: none;
}
.bootstrap-site .display-redesign .sound-toggle { min-height: 42px; padding: .55rem .8rem; border: 1px solid rgba(29,29,31,.12); border-radius: 999px; background: rgba(255,255,255,.72); color: #1d1d1f; box-shadow: 0 8px 28px rgba(0,0,0,.1); backdrop-filter: blur(18px); }
.bootstrap-site .display-redesign .tv-top-rail > .sound-toggle { grid-column: 2; justify-self: end; }
.bootstrap-site .display-redesign .sound-toggle i { background: #30d158; box-shadow: 0 0 0 .25rem rgba(48,209,88,.13); }
.bootstrap-site .display-redesign .sound-toggle:not(.is-on) i { background: #8b94a5; box-shadow: none; }
.bootstrap-site .display-redesign .sound-toggle.needs-activation i { background: #ff9f0a; box-shadow: 0 0 0 .25rem rgba(255,159,10,.16); animation: sound-activation-pulse 1.5s ease-in-out infinite; }
@keyframes sound-activation-pulse { 0%,100% { transform: scale(.85); opacity: .7; } 50% { transform: scale(1.12); opacity: 1; } }
.bootstrap-site .display-redesign .tv-lobby,
.bootstrap-site .display-redesign .tv-question,
.bootstrap-site .display-redesign .tv-reveal,
.bootstrap-site .display-redesign .tv-break-layout,
.bootstrap-site .display-redesign .tv-leaderboard-layout { padding: clamp(2rem, 5vw, 5rem); }
.bootstrap-site .display-redesign .pin-display,
.bootstrap-site .display-redesign .tv-qr,
.bootstrap-site .display-redesign .joiner-rail > div,
.bootstrap-site .display-redesign .tv-answer,
.bootstrap-site .display-redesign .answer-results > div,
.bootstrap-site .display-redesign .tv-leaderboard-rows > div { border: 1px solid rgba(255,255,255,.72); border-radius: 22px; background: rgba(255,255,255,.74); box-shadow: 0 20px 60px rgba(67,51,120,.13); backdrop-filter: blur(22px); }
.bootstrap-site .display-redesign .pin-display span,
.bootstrap-site .display-redesign .tv-kicker { color: #5b44da; }
.bootstrap-site .display-redesign .pin-display strong { color: #1d1d1f; letter-spacing: .08em; }
.bootstrap-site .display-redesign .tv-answer { border: 0; color: #fff; box-shadow: 0 16px 35px rgba(0,0,0,.14); }
.bootstrap-site .display-redesign .tv-answer.answer-0 { background: linear-gradient(145deg,#168cff,#0066e6); }
.bootstrap-site .display-redesign .tv-answer.answer-1 { background: linear-gradient(145deg,#15d6c0,#009c91); }
.bootstrap-site .display-redesign .tv-answer.answer-2 { background: linear-gradient(145deg,#ff6175,#df2748); }
.bootstrap-site .display-redesign .tv-answer.answer-3 { background: linear-gradient(145deg,#ffe85c,#ffc929); color: #201a00; }
.bootstrap-site .display-redesign .tv-timer { border: 0; border-radius: 22px; background: #1d1d1f; color: #fff; box-shadow: 0 18px 45px rgba(0,0,0,.22); }
.bootstrap-site .display-redesign .tv-response-line i { background: linear-gradient(90deg,var(--show-pink),var(--show-accent),var(--show-cyan)); }
.bootstrap-site .display-redesign .tv-paused-screen { display: grid; width: 100%; height: 100%; min-width: 0; min-height: 0; grid-template-columns: minmax(0,.82fr) minmax(22rem,1.18fr); gap: clamp(1.5rem,5vw,5rem); align-items: center; padding: clamp(1.25rem,5vh,4rem) clamp(1.5rem,7vw,7rem); overflow: hidden; }
.bootstrap-site .display-redesign .tv-paused-message { min-width: 0; }
.bootstrap-site .display-redesign .tv-paused-message h1 { max-width: 10ch; margin: .3rem 0 1rem; font-size: clamp(2.4rem,5vw,5.6rem); line-height: .96; }
.bootstrap-site .display-redesign .tv-paused-message > p { max-width: 32rem; font-size: clamp(1rem,1.7vw,1.55rem); line-height: 1.45; }
.bootstrap-site .display-redesign .tv-pause-symbol { display: flex; width: 78px; height: 78px; align-items: center; justify-content: center; gap: 10px; margin-bottom: 1.25rem; border-radius: 24px; background: linear-gradient(145deg,var(--show-accent),#8b55ff); box-shadow: 0 16px 40px rgba(108,72,230,.3),0 0 0 10px rgba(108,72,230,.1); }
.bootstrap-site .display-redesign .tv-pause-symbol i { width: 10px; height: 38px; border-radius: 999px; background: #fff; }
.bootstrap-site .display-redesign .tv-paused-wait { display: inline-flex; align-items: center; gap: .65rem; margin-top: 1.1rem; padding: .65rem 1rem; border-radius: 999px; background: rgba(108,72,230,.12); color: var(--show-accent); font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.bootstrap-site .display-redesign .tv-paused-wait span { width: .75rem; height: .75rem; border-radius: 50%; background: var(--show-pink); box-shadow: 0 0 0 0 rgba(239,43,131,.45); animation: paused-wait-pulse 1.5s ease-out infinite; }
.bootstrap-site .display-redesign .tv-paused-trivia { align-self: center; border-color: rgba(108,72,230,.24); box-shadow: 0 1.8rem 5rem rgba(67,51,120,.2),0 0 0 1px rgba(255,255,255,.6); }
.bootstrap-site .display-redesign .tv-paused-trivia.is-entering { animation: paused-trivia-in 450ms cubic-bezier(.2,.8,.25,1) both !important; }
.bootstrap-site .display-redesign .tv-paused-trivia h2 { font-size: clamp(1.8rem,3.4vw,4rem); }
.bootstrap-site .display-redesign.audience-night .tv-paused-wait { background: rgba(56,248,255,.12); color: var(--show-cyan); }
.bootstrap-site .display-redesign.audience-night .tv-paused-trivia { border-color: rgba(56,248,255,.28); background: rgba(10,10,34,.76); color: #fff; box-shadow: 0 0 34px rgba(56,248,255,.14),0 2rem 5rem rgba(0,0,0,.42); }
@keyframes paused-wait-pulse { 70% { box-shadow: 0 0 0 12px rgba(239,43,131,0); } 100% { box-shadow: 0 0 0 0 rgba(239,43,131,0); } }
@keyframes paused-trivia-in { from { opacity: 0; transform: translateY(1rem) scale(.985); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
    .bootstrap-site .display-redesign .tv-paused-wait span,
    .bootstrap-site .display-redesign .tv-paused-trivia.is-entering { animation: none !important; }
}
.bootstrap-site .display-redesign .tv-stopped-screen {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 0;
    padding: 0;
    overflow: hidden;
}
.bootstrap-site .display-redesign .tv-stopped-main { display: grid; min-width: 0; min-height: 0; grid-template-columns: minmax(0,.9fr) minmax(20rem,1.1fr); gap: clamp(1.5rem,5vw,5rem); align-items: center; padding: clamp(1.5rem,6vh,4.5rem) clamp(1.5rem,7vw,7rem); overflow: hidden; }
.bootstrap-site .display-redesign .tv-stopped-screen > .tv-stopped-overlays { grid-row: 2; flex: 0 0 auto; padding: .65rem 1rem 1rem; border-top: 1px solid rgba(94,83,154,.12); background: rgba(255,255,255,.18); }
.bootstrap-site .display-redesign.audience-night .tv-stopped-screen > .tv-stopped-overlays { border-top-color: rgba(56,248,255,.14); background: rgba(3,5,18,.22); }
.bootstrap-site .quizzme-redesign .display-control-settings .display-toggle-group { grid-template-columns: repeat(2,minmax(0,1fr)); }
.bootstrap-site .quizzme-redesign .host-presentation-bar .presentation-toggle.active { border-color: #5140d7; background: linear-gradient(135deg,#5140d7,#7048ff); color: #fff; box-shadow: 0 .45rem 1rem rgba(81,64,215,.18); }
.bootstrap-site .quizzme-redesign .host-presentation-bar .presentation-toggle.active > b { background: rgba(255,255,255,.14); color: #fff; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .presentation-toggle.active small { color: rgba(255,255,255,.76); }
.bootstrap-site .display-redesign .tv-stopped-message h1 { max-width: 12ch; margin: .25rem 0 1rem; font-size: clamp(2.6rem, 5.6vw, 6rem); line-height: .98; }
.bootstrap-site .display-redesign .tv-stopped-message > p:last-child { max-width: 34rem; font-size: clamp(1rem, 1.8vw, 1.7rem); line-height: 1.45; }
.bootstrap-site .display-redesign .tv-stopped-mark { display: flex; gap: .6rem; margin-bottom: 1.5rem; }
.bootstrap-site .display-redesign .tv-stopped-mark i { width: clamp(.7rem, 1.2vw, 1.2rem); aspect-ratio: 1; border-radius: 50%; background: var(--show-pink); animation: stopped-mark-pulse 1.5s ease-in-out infinite; }
.bootstrap-site .display-redesign .tv-stopped-mark i:nth-child(2) { animation-delay: .18s; background: var(--show-yellow); }
.bootstrap-site .display-redesign .tv-stopped-mark i:nth-child(3) { animation-delay: .36s; background: var(--show-cyan); }
.bootstrap-site .display-redesign .stopped-trivia-card {
    min-width: 0;
    padding: clamp(1.4rem, 3.5vw, 3.2rem);
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 1.6rem;
    background: rgba(255,255,255,.78);
    box-shadow: 0 1.8rem 5rem rgba(67,51,120,.16);
    backdrop-filter: blur(22px);
    transform-origin: center;
}
.bootstrap-site .display-redesign .stopped-trivia-card.is-entering { animation: stopped-trivia-cycle 30s ease-in-out both; }
.bootstrap-site .display-redesign .stopped-trivia-card > span { display: inline-block; padding: .4rem .7rem; border-radius: 999px; background: var(--show-yellow); color: #292000; font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.bootstrap-site .display-redesign .stopped-trivia-card > p { margin: 1.5rem 0 .3rem; color: var(--show-accent); font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.bootstrap-site .display-redesign .stopped-trivia-card h2 { margin: 0 0 1rem; font-size: clamp(2rem, 4vw, 4.5rem); line-height: 1.02; }
.bootstrap-site .display-redesign .stopped-trivia-card div { font-size: clamp(1.05rem, 1.8vw, 1.8rem); line-height: 1.45; }
.bootstrap-site .display-redesign .stopped-trivia-card small { display: block; margin-top: 1.5rem; opacity: .62; font-weight: 700; }
.bootstrap-site .display-redesign.audience-night .stopped-trivia-card { border-color: rgba(56,248,255,.28); background: rgba(10,10,34,.76); color: #fff; box-shadow: 0 0 34px rgba(56,248,255,.14), 0 2rem 5rem rgba(0,0,0,.42); }
.bootstrap-site .display-redesign.audience-night .stopped-trivia-card > p { color: var(--show-cyan); text-shadow: 0 0 16px rgba(56,248,255,.55); }
@keyframes stopped-trivia-cycle {
    0% { opacity: 0; transform: translateY(2rem) scale(.96); filter: blur(8px); }
    5%, 92% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
    100% { opacity: 0; transform: translateY(-1.5rem) scale(.98); filter: blur(6px); }
}
@keyframes stopped-mark-pulse { 0%, 70%, 100% { opacity: .35; transform: translateY(0); } 35% { opacity: 1; transform: translateY(-.45rem); } }

.bootstrap-site .display-redesign.audience-night {
    --show-accent: #7c5cff;
    --show-pink: #ff3df2;
    --show-cyan: #38f8ff;
    --show-yellow: #f7ff3c;
    background: radial-gradient(circle at 12% 8%, rgba(124,92,255,.28), transparent 34%), radial-gradient(circle at 88% 82%, rgba(56,248,255,.2), transparent 36%), linear-gradient(145deg,#03030a,#09051b 48%,#00141c) !important;
    color: #fff;
}
.bootstrap-site .display-redesign.audience-night::before { background: repeating-linear-gradient(90deg, transparent 0 79px, rgba(56,248,255,.025) 80px), repeating-linear-gradient(0deg, transparent 0 79px, rgba(255,61,242,.025) 80px); }
.bootstrap-site .display-redesign.audience-night .tv-content { background: transparent !important; }
.bootstrap-site .display-redesign.audience-night .sound-toggle { border-color: rgba(56,248,255,.28); background: rgba(5,7,22,.72); color: #fff; box-shadow: 0 0 28px rgba(56,248,255,.14); }
.bootstrap-site .display-redesign.audience-night .pin-display,
.bootstrap-site .display-redesign.audience-night .tv-qr,
.bootstrap-site .display-redesign.audience-night .joiner-rail > div,
.bootstrap-site .display-redesign.audience-night .answer-results > div,
.bootstrap-site .display-redesign.audience-night .tv-leaderboard-rows > div { border: 1px solid rgba(56,248,255,.28) !important; background: rgba(10,10,34,.72) !important; color: #fff !important; box-shadow: 0 0 28px rgba(56,248,255,.12), 0 22px 60px rgba(0,0,0,.4) !important; }
.bootstrap-site .display-redesign.audience-night .pin-display span,
.bootstrap-site .display-redesign.audience-night .tv-kicker { color: var(--show-cyan) !important; text-shadow: 0 0 18px rgba(56,248,255,.6); }
.bootstrap-site .display-redesign.audience-night .pin-display strong { color: #fff !important; text-shadow: 0 0 26px rgba(255,61,242,.55), 0 0 8px rgba(56,248,255,.6); }
.bootstrap-site .display-redesign.audience-night .tv-answer { border: 1px solid rgba(255,255,255,.18); box-shadow: 0 0 26px rgba(56,248,255,.12), 0 18px 40px rgba(0,0,0,.42); }
.bootstrap-site .display-redesign.audience-night .tv-answer.answer-0 { background: linear-gradient(145deg,#087cff,#003bd5) !important; box-shadow: 0 0 30px rgba(8,124,255,.3); }
.bootstrap-site .display-redesign.audience-night .tv-answer.answer-1 { background: linear-gradient(145deg,#00d7c0,#007b79) !important; box-shadow: 0 0 30px rgba(0,215,192,.28); }
.bootstrap-site .display-redesign.audience-night .tv-answer.answer-2 { background: linear-gradient(145deg,#ff416c,#b50042) !important; box-shadow: 0 0 30px rgba(255,65,108,.3); }
.bootstrap-site .display-redesign.audience-night .tv-answer.answer-3 { background: linear-gradient(145deg,#f9ef45,#d9a900) !important; color: #151000 !important; box-shadow: 0 0 30px rgba(249,239,69,.26); }

/* Player polish: keep the proven layout, make it feel tactile and joyful. */
.bootstrap-site .player-page { background: radial-gradient(circle at 10% 0, rgba(108,92,231,.12), transparent 34%), linear-gradient(180deg,#fff,#f4f7ff); }
.bootstrap-site .player-main,
.bootstrap-site .player-join,
.bootstrap-site .player-waiting,
.bootstrap-site .player-locked,
.bootstrap-site .player-result { border-radius: 22px; box-shadow: 0 16px 46px rgba(40,35,80,.1); }
.bootstrap-site .phone-answer { border-radius: 18px; box-shadow: 0 12px 24px rgba(0,0,0,.13); transform: translateZ(0); transition: transform .16s ease, filter .16s ease, box-shadow .16s ease; }
.bootstrap-site .phone-answer:active { transform: scale(.975); filter: saturate(1.12); }
.bootstrap-site .phone-answer.answer-0 { background: linear-gradient(145deg,#168cff,#0064df); }
.bootstrap-site .phone-answer.answer-1 { background: linear-gradient(145deg,#16d9c2,#008f88); }
.bootstrap-site .phone-answer.answer-2 { background: linear-gradient(145deg,#ff6376,#d9274a); }
.bootstrap-site .phone-answer.answer-3 { background: linear-gradient(145deg,#ffe85c,#ffc62c); }
.bootstrap-site .phone-question { flex: 0 0 auto; min-height: calc(100svh - 150px); grid-template-rows: auto auto auto; }
.bootstrap-site .phone-answer-grid { min-height: 0; grid-template-rows: repeat(2,minmax(150px,34svh)); }
.bootstrap-site .phone-answer { min-height: 150px; padding: clamp(.8rem,3vw,1.1rem); }
.bootstrap-site .phone-answer span { align-self: end; }
.bootstrap-site .audience-night.player-page { background: radial-gradient(circle at 50% 0,rgba(124,92,255,.22),transparent 38%),#040511 !important; }
.bootstrap-site .player-page.audience-day { background: radial-gradient(circle at 12% 8%,rgba(255,216,77,.2),transparent 28%),radial-gradient(circle at 88% 90%,rgba(36,94,234,.12),transparent 32%),linear-gradient(145deg,#f7fbff,#fffdf4 68%) !important; color: #101828; }
.bootstrap-site .audience-night .phone-answer { box-shadow: 0 0 24px rgba(56,248,255,.12), 0 12px 28px rgba(0,0,0,.45); }

@media (min-width: 768px) and (max-width: 1199.98px) {
    .bootstrap-site .quizzme-redesign .host-workspace { padding-left: 0; }
    .bootstrap-site .quizzme-redesign .host-primary-nav { position: static; inset: auto; width: min(500px,calc(100% - 2rem)); height: auto; flex-direction: row; padding: 4px; border: 0; background: #e8e8ed; }
    .bootstrap-site .quizzme-redesign .host-primary-nav .nav-link { min-height: 38px; flex-direction: row; padding: .45rem .6rem; color: #515154; }
    .bootstrap-site .quizzme-redesign .host-primary-nav .nav-link.active { background: #fff; color: var(--qm-ink); }
}
@media (max-width: 767.98px) {
    .bootstrap-site .quizzme-redesign .host-topbar { min-height: 52px; padding-inline: .8rem; }
    .bootstrap-site .quizzme-redesign .host-header-utilities { gap: .35rem; }
    .bootstrap-site .quizzme-redesign .host-display-control > summary.host-pin-card { min-height: 36px; padding: .3rem .55rem; }
    .bootstrap-site .quizzme-redesign .host-display-control .display-control-copy small { display: none; }
    .bootstrap-site .quizzme-redesign .host-display-control .display-control-state { display: none; }
    .bootstrap-site .quizzme-redesign .display-control-header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; }
    .bootstrap-site .quizzme-redesign .display-control-header > div p,
    .bootstrap-site .quizzme-redesign .display-control-header .display-status { display: none; }
    .bootstrap-site .quizzme-redesign .display-control-header > div { min-width: 0; padding-right: 3.5rem; }
    .bootstrap-site .quizzme-redesign .display-control-header #tabletCloseRoomTools { position: absolute; top: 1rem; right: 1rem; z-index: 2; }
    .bootstrap-site .quizzme-redesign .host-primary-nav { width: calc(100% - 1rem); margin-top: .5rem; }
    .bootstrap-site .quizzme-redesign .host-primary-nav .nav-link { min-width: 0; padding-inline: .35rem; font-size: .72rem; }
    .bootstrap-site .quizzme-redesign .host-content { padding: .8rem .8rem 6.5rem; }
    .bootstrap-site .quizzme-redesign .workspace-heading h1 { font-size: 2rem; }
    .bootstrap-site .display-redesign .tv-top-rail {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .4rem;
        padding: .4rem .5rem 0;
    }
    .bootstrap-site .display-redesign .tv-announcement {
        grid-template-columns: 1.7rem auto minmax(0,1fr);
        column-gap: .42rem;
        padding: .42rem .55rem;
        border-radius: 1rem;
    }
    .bootstrap-site .display-redesign .tv-announcement-icon { width: 1.7rem; height: 1.7rem; font-size: .75rem; }
    .bootstrap-site .display-redesign .tv-announcement-label { padding-right: .45rem; font-size: clamp(.48rem,1.9vw,.6rem); }
    .bootstrap-site .display-redesign .tv-announcement strong { font-size: clamp(.8rem,3vw,1rem); line-height: 1.18; }
    .bootstrap-site .display-redesign .sound-toggle {
        min-height: 38px;
        max-width: 7.4rem;
        padding: .4rem .55rem;
        font-size: .7rem;
    }
    .bootstrap-site .display-redesign .tv-join-overlays {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .4rem;
        padding: .4rem .5rem .5rem;
        min-height: 0;
        align-items: stretch;
        animation: none;
    }
    .bootstrap-site .display-redesign .tv-clock-overlay,
    .bootstrap-site .display-redesign .tv-pin-overlay,
    .bootstrap-site .display-redesign .tv-qr-overlay {
        width: 100%;
        min-width: 0;
        min-height: 0;
        height: 72px;
        padding: .4rem;
        box-sizing: border-box;
        overflow: hidden;
    }
    .bootstrap-site .display-redesign .tv-clock-overlay strong,
    .bootstrap-site .display-redesign .tv-pin-overlay strong { font-size: clamp(1.2rem, 7vw, 2rem); letter-spacing: .03em; }
    .bootstrap-site .display-redesign .tv-clock-overlay span,
    .bootstrap-site .display-redesign .tv-pin-overlay span,
    .bootstrap-site .display-redesign .tv-qr-overlay span { font-size: clamp(.48rem, 2.5vw, .7rem); letter-spacing: .04em; }
    .bootstrap-site .display-redesign .tv-qr-overlay .qr-code-graphic { width: min(12vw, 42px); height: auto; }
    .bootstrap-site .display-redesign .tv-stopped-screen { grid-template-columns: 1fr; grid-template-rows: minmax(0,1fr) auto; gap: 0; padding: 0; overflow: hidden; }
    .bootstrap-site .display-redesign .tv-stopped-main { grid-template-columns: 1fr; align-content: center; gap: 1rem; padding: 1rem; overflow-y: auto; }
    .bootstrap-site .display-redesign .tv-stopped-message { text-align: center; }
    .bootstrap-site .display-redesign .tv-stopped-message h1 { max-width: none; font-size: clamp(2rem, 10vw, 3rem); }
    .bootstrap-site .display-redesign .tv-stopped-message > p:last-child { margin-inline: auto; font-size: .95rem; }
    .bootstrap-site .display-redesign .tv-stopped-mark { justify-content: center; margin-bottom: .75rem; }
    .bootstrap-site .display-redesign .stopped-trivia-card { padding: 1rem; }
    .bootstrap-site .display-redesign .stopped-trivia-card > p { margin-top: .75rem; }
    .bootstrap-site .display-redesign .stopped-trivia-card h2 { font-size: clamp(1.5rem, 8vw, 2.3rem); }
    .bootstrap-site .display-redesign .stopped-trivia-card div { font-size: .95rem; }
    .bootstrap-site .display-redesign .stopped-trivia-card small { margin-top: .75rem; }
    .bootstrap-site .display-redesign .tv-show-controls { top: .5rem; right: .5rem; }
    .bootstrap-site .phone-question { min-height: auto; }
    .bootstrap-site .phone-answer-grid { grid-template-rows: repeat(2,minmax(132px,31svh)); }
}

/* Optional music, picture and movie rounds */
.bootstrap-site .media-round-settings {
    min-width: 0;
    border: 1px solid #dfe2eb;
    border-radius: 16px;
    margin: .75rem 0;
    padding: 1rem;
    background: linear-gradient(145deg,#fbfcff,#f7f5ff);
}
.bootstrap-site .settings-section > .media-round-settings { margin: 1.1rem 22px 0; }
.bootstrap-site .media-round-settings legend { float: none; width: auto; margin: 0; padding: 0 .4rem; color: #24283a; font-size: 1rem; font-weight: 850; }
.bootstrap-site .media-round-settings > p { max-width: 62ch; color: #697083; font-size: .78rem; line-height: 1.45; margin: .1rem 0 .85rem; }
.bootstrap-site .media-round-settings > div { display: grid; gap: .55rem; }
.bootstrap-site .media-round-option { min-width: 0; align-items: center; background: #fff; border: 1px solid #dce1eb; border-radius: 13px; cursor: pointer; display: grid; gap: .65rem; grid-template-columns: 22px 40px minmax(0,1fr); margin: 0; padding: .72rem; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.bootstrap-site .media-round-option:hover { border-color: #9d8cf0; box-shadow: 0 7px 18px rgba(57,43,124,.08); transform: translateY(-1px); }
.bootstrap-site .media-round-option:focus-within { border-color: #6547df; box-shadow: 0 0 0 3px rgba(101,71,223,.13); }
.bootstrap-site .media-round-option:has(input:checked) { background: #f2efff; border-color: #6547df; box-shadow: 0 0 0 2px rgb(101 71 223 / 10%); }
.bootstrap-site .host-app.reference-design .media-round-option > input.form-check-input { width: 20px !important; height: 20px !important; min-height: 20px !important; margin: 0 !important; padding: 0 !important; border: 1px solid #aeb5c4 !important; border-radius: 5px !important; background-color: #fff !important; box-shadow: none !important; accent-color: #6547df; appearance: auto !important; -webkit-appearance: checkbox !important; }
.bootstrap-site .host-app.reference-design .media-round-option > input.form-check-input:focus { outline: 2px solid rgba(101,71,223,.28); outline-offset: 2px; }
.bootstrap-site .media-round-option > span { align-items: center; background: linear-gradient(145deg,#171f3b,#29345b); border-radius: 11px; color: white; display: flex; font-size: 1.05rem; height: 40px; justify-content: center; width: 40px; }
.bootstrap-site .media-round-option b { min-width: 0; display: grid; font-weight: inherit; line-height: 1.25; }
.bootstrap-site .media-round-option strong { color: #252a3b; font-size: .82rem; }
.bootstrap-site .media-round-option small { color: #697083; font-size: .68rem; line-height: 1.35; margin-top: .14rem; overflow-wrap: anywhere; }
.bootstrap-site .media-round-settings.is-disabled { border-color: #dfe1e8; background: #f5f6f9; }
.bootstrap-site .media-round-settings.is-disabled > p { color: #5e6474; font-weight: 750; }
.bootstrap-site .media-round-settings.is-disabled .media-round-option { cursor: not-allowed; filter: grayscale(.75); opacity: .5; }
.bootstrap-site .manual-mode-settings-note { display: grid; gap: .25rem; padding: .9rem 1rem; border: 1px solid #cfc5fa; border-radius: 14px; background: #f3efff; color: #292044; }
.bootstrap-site .manual-mode-settings-note strong { color: #5134c4; font-size: .92rem; }
.bootstrap-site .manual-mode-settings-note span { color: #625d72; font-size: .78rem; line-height: 1.45; }

.bootstrap-site .display-redesign .tv-question.manual-question { grid-template-rows: minmax(0,1fr) auto; }
.bootstrap-site .display-redesign .tv-question.manual-question .tv-question-top { grid-template-columns: minmax(0,1fr); }

.bootstrap-site .media-round-intro,
.bootstrap-site .media-question-prelude { align-items: center; display: flex; flex-direction: column; height: 100%; justify-content: center; margin: auto; max-width: 980px; padding: clamp(1.25rem, 4vw, 4rem); text-align: center; }
.bootstrap-site .media-round-intro-icon { align-items: center; background: linear-gradient(145deg,#2c62ff,#6b36db); border-radius: 28px; box-shadow: 0 20px 45px rgb(44 98 255 / 24%); color: white; display: flex; font-size: clamp(2.8rem,7vw,6rem); height: clamp(92px,15vw,160px); justify-content: center; margin-bottom: 1.4rem; width: clamp(92px,15vw,160px); }
.bootstrap-site .media-round-intro h1,
.bootstrap-site .media-question-prelude h1 { font-size: clamp(2.1rem,5vw,5rem); letter-spacing: -.04em; margin: .2rem 0 .65rem; }
.bootstrap-site .media-round-intro > p:last-of-type,
.bootstrap-site .media-question-prelude header > p:last-child { color: var(--muted, #657087); font-size: clamp(1rem,2vw,1.5rem); line-height: 1.45; max-width: 800px; }
.bootstrap-site .media-round-stage-timer { align-items: baseline; background: #101a33; border-radius: 999px; color: white; display: flex; gap: .7rem; margin-top: 1.5rem; padding: .65rem 1.25rem; }
.bootstrap-site .media-round-stage-timer strong { font-size: clamp(1.8rem,4vw,3.2rem); font-variant-numeric: tabular-nums; line-height: 1; }
.bootstrap-site .media-round-stage-timer span { font-size: .85rem; font-weight: 700; }
.bootstrap-site .media-question-prelude .question-media { margin: 1.2rem auto 0; max-width: 720px; width: 100%; }
.bootstrap-site .media-question-prelude-phone { min-height: 70vh; padding: 1rem; }
.bootstrap-site .media-question-prelude-phone h1,
.bootstrap-site .media-round-intro-phone h1 { font-size: clamp(2rem,10vw,3.4rem); }
.bootstrap-site .media-question-prelude-phone header > p:last-child,
.bootstrap-site .media-round-intro-phone > p:last-of-type { font-size: 1rem; }
.bootstrap-site .sound-check { align-items: center; background: radial-gradient(circle at 50% 15%,rgb(74 181 255 / 22%),transparent 35%),linear-gradient(150deg,#111a36,#172a53 68%,#10172c); color: #fff; display: flex; flex-direction: column; height: 100%; justify-content: center; margin: auto; padding: clamp(1rem,4vw,4rem); text-align: center; width: 100%; }
.bootstrap-site .sound-check-icon { align-items: center; background: linear-gradient(145deg,#3bd9ff,#5375ff); border: 4px solid rgb(255 255 255 / 70%); border-radius: 50%; box-shadow: 0 18px 52px rgb(42 151 255 / 32%); display: flex; font-size: clamp(2.4rem,6vw,5rem); height: clamp(88px,13vw,144px); justify-content: center; margin-bottom: 1.1rem; width: clamp(88px,13vw,144px); }
.bootstrap-site .sound-check .tv-kicker,
.bootstrap-site .sound-check .section-label { color: #75e7ff; margin: 0; }
.bootstrap-site .sound-check h1 { color: #fff; font-size: clamp(2.35rem,5.7vw,5.7rem); letter-spacing: -.05em; line-height: .98; margin: .25rem 0 .75rem; max-width: 13ch; }
.bootstrap-site .sound-check > p:last-of-type { color: #d6e2fa; font-size: clamp(.95rem,1.8vw,1.35rem); line-height: 1.5; margin: 0; max-width: 700px; }
.bootstrap-site .sound-check-phone-cue { align-items: center; background: rgb(255 255 255 / 10%); border: 1px solid rgb(117 231 255 / 40%); border-radius: 16px; display: flex; gap: .65rem; margin-top: 1.25rem; padding: .7rem 1rem; }
.bootstrap-site .sound-check-phone-cue span { color: #75e7ff; font-size: 1.5rem; }
.bootstrap-site .sound-check-phone-cue strong { font-size: .85rem; }
.bootstrap-site .sound-check .media-round-stage-timer { background: #fff; color: #17264a; margin-top: 1.1rem; }
.bootstrap-site .sound-check-phone { min-height: 100%; padding: 1rem; }
.bootstrap-site .sound-check-phone .sound-check-icon { border-width: 3px; height: 78px; margin-bottom: .7rem; width: 78px; font-size: 2.15rem; }
.bootstrap-site .sound-check-phone h1 { font-size: clamp(2.25rem,11vw,3.55rem); margin-bottom: .6rem; }
.bootstrap-site .sound-check-phone > p:last-of-type { font-size: .9rem; max-width: 34ch; }
.bootstrap-site .sound-check-ready { align-items: center; background: #2bd683; border: 0; border-radius: 14px; box-shadow: 0 12px 28px rgb(43 214 131 / 20%); color: #103923; display: flex; font: inherit; font-size: .82rem; font-weight: 900; gap: .5rem; justify-content: center; margin-top: 1rem; min-height: 48px; padding: .65rem 1.1rem; }
.bootstrap-site .sound-check-ready span { align-items: center; background: rgb(255 255 255 / 60%); border-radius: 50%; display: flex; height: 23px; justify-content: center; width: 23px; }
.bootstrap-site .sound-check-ready.is-ready { background: #baf3d5; box-shadow: none; }
.bootstrap-site .sound-check-phone .media-round-stage-timer { margin-top: .75rem; padding: .55rem 1rem; }
.bootstrap-site .wipeout-round-intro { align-items: center; background: radial-gradient(circle at 50% 15%,rgb(255 194 41 / 22%),transparent 34%),linear-gradient(150deg,#170d2d,#2d1647 65%,#160c29); color: #fff; display: flex; flex-direction: column; height: 100%; justify-content: center; margin: auto; overflow: hidden; padding: clamp(1.1rem,3.5vw,3.5rem); text-align: center; width: 100%; }
.bootstrap-site .wipeout-round-intro-icon { align-items: center; background: linear-gradient(145deg,#ffce3b,#ff7b1c); border: 5px solid rgb(255 255 255 / 72%); border-radius: 28px; box-shadow: 0 18px 55px rgb(255 129 24 / 38%); display: flex; font-size: clamp(2.6rem,6vw,5rem); height: clamp(88px,12vw,138px); justify-content: center; margin-bottom: 1rem; transform: rotate(-3deg); width: clamp(88px,12vw,138px); }
.bootstrap-site .wipeout-round-intro .tv-kicker,
.bootstrap-site .wipeout-round-intro .section-label { color: #ffd95c; margin: 0; }
.bootstrap-site .wipeout-round-intro h1 { color: #fff; font-size: clamp(2.5rem,6vw,6rem); letter-spacing: -.055em; line-height: .95; margin: .25rem 0 .7rem; text-shadow: 0 5px 28px rgb(0 0 0 / 35%); }
.bootstrap-site .wipeout-round-intro-copy { color: #e8dff3; font-size: clamp(.95rem,1.7vw,1.35rem); line-height: 1.45; margin: 0; max-width: 720px; }
.bootstrap-site .wipeout-round-intro-rules { display: grid; gap: clamp(.45rem,1vw,.8rem); grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: clamp(1rem,2vw,1.7rem); max-width: 850px; width: 100%; }
.bootstrap-site .wipeout-round-intro-rules span { background: rgb(255 255 255 / 9%); border: 1px solid rgb(255 217 92 / 34%); border-radius: 16px; display: grid; gap: .16rem; padding: clamp(.65rem,1.3vw,1rem); }
.bootstrap-site .wipeout-round-intro-rules strong { color: #ffd95c; font-size: clamp(.86rem,1.5vw,1.1rem); }
.bootstrap-site .wipeout-round-intro-rules small { color: #dfd4ed; font-size: clamp(.66rem,1vw,.82rem); line-height: 1.3; }
.bootstrap-site .wipeout-round-intro .media-round-stage-timer { background: #ffbd29; color: #281134; margin-top: clamp(.85rem,1.8vw,1.35rem); }
.bootstrap-site .wipeout-round-intro-phone { min-height: 100%; padding: 1rem; }
.bootstrap-site .wipeout-round-intro-phone .wipeout-round-intro-icon { border-radius: 20px; border-width: 3px; height: 76px; width: 76px; font-size: 2.2rem; margin-bottom: .7rem; }
.bootstrap-site .wipeout-round-intro-phone h1 { font-size: clamp(2.4rem,12vw,3.8rem); }
.bootstrap-site .wipeout-round-intro-phone .wipeout-round-intro-copy { font-size: .9rem; max-width: 34ch; }
.bootstrap-site .wipeout-round-intro-phone .wipeout-round-intro-rules { gap: .4rem; grid-template-columns: 1fr; margin-top: .75rem; }
.bootstrap-site .wipeout-round-intro-phone .wipeout-round-intro-rules span { align-items: center; gap: .35rem; grid-template-columns: 1fr 1.4fr; padding: .48rem .7rem; text-align: left; }
.bootstrap-site .wipeout-round-intro-phone .wipeout-round-intro-rules strong { font-size: .78rem; text-align: right; }
.bootstrap-site .wipeout-round-intro-phone .wipeout-round-intro-rules small { font-size: .67rem; }
.bootstrap-site .wipeout-round-intro-phone .media-round-stage-timer { margin-top: .75rem; padding: .52rem 1rem; }
.bootstrap-site .media-picture-preview { margin: 1rem auto 0; max-width: 840px; width: 100%; }
.bootstrap-site .media-picture-preview > div { aspect-ratio: 16 / 9; background: #0d1324; border: 7px solid white; border-radius: 22px; box-shadow: 0 18px 48px rgb(10 18 40 / 25%); overflow: hidden; position: relative; }
.bootstrap-site .media-picture-preview img { max-width: none; object-fit: cover; position: absolute; }
.bootstrap-site .media-picture-preview figcaption { color: var(--muted, #657087); font-size: .85rem; font-weight: 700; margin-top: .5rem; }
.bootstrap-site [class*="media-picture-preview-phone"] > div { aspect-ratio: 16 / 9; border-width: 4px; border-radius: 16px; }
.bootstrap-site .media-question-prelude-tv.media-stage-viewing { gap: .3rem; padding: clamp(.55rem,1.4vw,1.1rem); }
.bootstrap-site .media-question-prelude-tv.media-stage-viewing header h1 { margin-block: .05rem .25rem; font-size: clamp(1.8rem,3.8vw,4rem); }
.bootstrap-site .media-question-prelude-tv.media-stage-viewing header > p:last-child { font-size: clamp(.82rem,1.45vw,1.15rem); }
.bootstrap-site .media-picture-preview-tv { width: min(760px,67vh); margin-block: .35rem 0; }
.bootstrap-site .media-picture-preview-tv > div { max-height: 42vh; }
.bootstrap-site .media-picture-preview-tv-answer { width: min(720px,64vw); margin: .15rem auto; align-self: center; }
.bootstrap-site .media-picture-preview-tv-answer > div { max-height: 27vh; border-width: 5px; border-radius: 16px; }
.bootstrap-site .media-picture-preview-tv-answer figcaption { margin-top: .25rem; font-size: .68rem; text-align: center; }
.bootstrap-site .phone-question .media-picture-preview-phone-answer { margin: 0 auto .6rem; }
.bootstrap-site .phone-question .media-picture-preview-phone-answer figcaption,
.bootstrap-site .player-locked .media-picture-preview-phone-locked figcaption,
.bootstrap-site .captain-vote .media-picture-preview-phone-answer figcaption { margin-top: .25rem; font-size: .62rem; text-align: center; }
.bootstrap-site .player-locked .media-picture-preview-phone-locked,
.bootstrap-site .captain-vote .media-picture-preview-phone-answer { width: min(100%,360px); margin: .65rem auto; }
.bootstrap-site .media-question-prelude-tv.media-stage-viewing .media-round-stage-timer { margin-top: .35rem; padding-block: .48rem; }
.bootstrap-site .media-round-stage-artwork { position: relative; display: grid; width: min(680px,72vw); min-height: clamp(180px,30vh,320px); place-content: center; gap: .35rem; margin: 1rem auto 0; overflow: hidden; border: 1px solid rgba(255,255,255,.45); border-radius: 28px; background: radial-gradient(circle at 18% 15%,rgba(255,255,255,.42),transparent 28%),linear-gradient(145deg,#5b43da,#27205c); color: #fff; box-shadow: 0 24px 70px rgba(36,25,101,.3); }
.bootstrap-site .media-round-stage-artwork > span { position: relative; z-index: 2; font-size: clamp(3rem,7vw,6.4rem); line-height: 1; }
.bootstrap-site .media-round-stage-artwork > small,
.bootstrap-site .media-round-stage-artwork > strong { position: relative; z-index: 2; }
.bootstrap-site .media-round-stage-artwork > small { color: rgba(255,255,255,.72); font-size: clamp(.75rem,1.25vw,1rem); font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.bootstrap-site .media-round-stage-artwork > strong { font-size: clamp(1.2rem,2.6vw,2rem); }
.bootstrap-site .media-round-stage-artwork > i { position: absolute; width: 44%; aspect-ratio: 1; border: clamp(10px,1.5vw,20px) solid rgba(255,255,255,.1); border-radius: 50%; }
.bootstrap-site .media-round-stage-artwork > i:nth-of-type(1) { top: -24%; left: -10%; }
.bootstrap-site .media-round-stage-artwork > i:nth-of-type(2) { right: -15%; bottom: -42%; }
.bootstrap-site .media-round-stage-artwork > i:nth-of-type(3) { top: 16%; right: 10%; width: 12%; }
.bootstrap-site .media-round-stage-artwork.media-type-movies { background: radial-gradient(circle at 18% 15%,rgba(255,255,255,.28),transparent 28%),linear-gradient(145deg,#e44675,#6d2149); }
.bootstrap-site .media-round-stage-artwork.media-type-picture { background: radial-gradient(circle at 18% 15%,rgba(255,255,255,.3),transparent 28%),linear-gradient(145deg,#087e8b,#153b65); }
.bootstrap-site .media-round-stage-artwork.media-type-music > i { animation: media-artwork-pulse 2.1s ease-in-out infinite; }
@keyframes media-artwork-pulse { 0%,100% { transform: scale(.92); opacity: .65; } 50% { transform: scale(1.04); opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
    .bootstrap-site .media-round-stage-artwork.media-type-music > i,
    .bootstrap-site .display-redesign .sound-toggle.needs-activation i { animation: none; }
}
.bootstrap-site .question-media-tv-answer [data-play-question-media],
.bootstrap-site .question-media-tv-reveal [data-play-question-media] { display: none; }
.bootstrap-site .tv-reveal .question-media-tv-reveal { margin-top: .9rem; }
.bootstrap-site .tv-reveal .question-media-clip.question-media-tv-reveal { width: 100%; padding: .65rem; }
.bootstrap-site .tv-reveal .question-media-tv-reveal video { width: min(100%,260px); max-height: 20vh; }
.bootstrap-site .tv-reveal .question-media-tv-reveal img { max-height: 28vh; object-fit: contain; }
.bootstrap-site .player-reveal .question-media-phone-reveal { margin-top: .8rem; }
.bootstrap-site .player-reveal .question-media-phone-reveal img { max-height: 30vh; object-fit: contain; }

@media (min-width: 900px) {
    .bootstrap-site .setup-toggle-rules .media-round-settings { grid-column: 1 / -1; }
    .bootstrap-site .setup-toggle-rules .media-round-settings > div { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 767.98px) {
    .bootstrap-site .settings-section > .media-round-settings { margin-right: 16px; margin-left: 16px; }
}

.bootstrap-site .host-confirm-icon.manual { background: #e9e4ff; color: #5334d3; }
.bootstrap-site .host-manual-start-note { display: grid; gap: .25rem; margin: 1rem 0; padding: 1rem; border: 1px solid #ddd5ff; border-radius: 14px; background: #f5f2ff; color: #292044; }
.bootstrap-site .host-manual-start-note strong { font-size: 1rem; }
.bootstrap-site .host-manual-start-note span { color: #665d7c; font-size: .86rem; line-height: 1.45; }
.bootstrap-site .tablet-run-mode-modal { width: min(570px,calc(100vw - 2rem)); }
.bootstrap-site .tablet-run-mode-options { display: grid; gap: .75rem; margin: 1rem 0; text-align: left; }
.bootstrap-site .tablet-run-mode-option { min-width: 0; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: .8rem; padding: .85rem; border: 1px solid #dce0e9; border-radius: 14px; background: #fff; color: #24283a; text-align: left; }
.bootstrap-site .tablet-run-mode-option > i { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 13px; background: #eef0f5; color: #5741c8; font-size: 1.35rem; font-style: normal; font-weight: 900; }
.bootstrap-site .tablet-run-mode-option > span { min-width: 0; display: grid; gap: .18rem; }
.bootstrap-site .tablet-run-mode-option > span strong { font-size: .98rem; }
.bootstrap-site .tablet-run-mode-option > span small { color: #6b7080; font-size: .77rem; line-height: 1.38; }
.bootstrap-site .tablet-run-mode-option > b { padding: .32rem .52rem; border-radius: 999px; background: #f0f1f5; color: #626878; font-size: .64rem; }
.bootstrap-site .tablet-run-mode-option.is-selected { border-color: #7256e7; background: #f4f1ff; box-shadow: 0 0 0 3px rgba(102,72,221,.1); }
.bootstrap-site .tablet-run-mode-option.is-selected > i { background: #6345dc; color: #fff; }
.bootstrap-site .tablet-run-mode-option.is-selected > b { background: #ded5ff; color: #4025ac; }
.bootstrap-site .tablet-run-mode-option:hover,
.bootstrap-site .tablet-run-mode-option:focus-visible { border-color: #795ee7; outline: 3px solid rgba(102,72,221,.13); outline-offset: 1px; }
.bootstrap-site .tablet-run-mode-footnote { margin: .8rem 0 1rem !important; padding: .7rem .8rem; border-radius: 11px; background: #f5f2ff; color: #5f5775 !important; font-size: .76rem; }
.bootstrap-site .host-confirm-icon.display-link { background: linear-gradient(145deg,#dff8f1,#e8edff); color: #126c58; }
.bootstrap-site .tablet-link-display-modal { width: min(650px,calc(100vw - 2rem)) !important; text-align: left !important; }
.bootstrap-site .tablet-link-display-modal > .host-confirm-icon,
.bootstrap-site .tablet-link-display-modal > .section-label,
.bootstrap-site .tablet-link-display-modal > h2,
.bootstrap-site .tablet-link-display-modal > p { justify-self: center; text-align: center; }
.bootstrap-site .tablet-link-display-modal > p:not(.section-label) { max-width: 560px; margin-bottom: 1rem !important; }
.bootstrap-site .tablet-link-display-modal > p strong { color: #4f36bd; overflow-wrap: anywhere; }
.bootstrap-site .tablet-display-link-code,
.bootstrap-site .tablet-display-short-link { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .8rem; padding: .9rem; border: 1px solid #dcdbea; border-radius: 15px; background: #f7f7fb; }
.bootstrap-site .tablet-display-link-code > span,
.bootstrap-site .tablet-display-short-link > span { min-width: 0; display: grid; gap: .24rem; }
.bootstrap-site .tablet-display-link-code small,
.bootstrap-site .tablet-display-short-link small { color: #71768a; font-size: .64rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.bootstrap-site .tablet-display-link-code strong,
.bootstrap-site .tablet-display-short-link strong { min-width: 0; color: #252840; font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size: .8rem; line-height: 1.35; overflow-wrap: anywhere; }
.bootstrap-site .tablet-display-link-code .button { min-width: 110px; }
.bootstrap-site .tablet-display-link-divider { position: relative; display: grid; height: 30px; place-items: center; color: #85899a; font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.bootstrap-site .tablet-display-link-divider::before { position: absolute; right: 0; left: 0; height: 1px; background: #e2e3eb; content: ''; }
.bootstrap-site .tablet-display-link-divider span { position: relative; padding: 0 .65rem; background: #fff; }
.bootstrap-site .tablet-display-short-link { grid-template-columns: 1fr; border-color: #cce9df; background: #f0faf6; }
.bootstrap-site .tablet-display-short-link > div { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.bootstrap-site .tablet-display-short-link .button { min-height: 48px; }
.bootstrap-site .tablet-display-link-note { display: flex; align-items: center; justify-content: center; gap: .45rem; margin: .85rem 0 !important; padding: .55rem .7rem; border-radius: 10px; background: #eff4ff; color: #536078 !important; font-size: .7rem; }
.bootstrap-site .tablet-display-link-note > span { color: #18865f; font-weight: 950; }
.bootstrap-site .tablet-link-display-modal > #closeTabletLinkDisplay { width: 100%; min-height: 48px; }
.bootstrap-site .host-confirm-icon.tablet-settings-icon { background: linear-gradient(145deg,#fff0c5,#fff8e7); color: #8a5a00; }
.bootstrap-site .host-confirm-icon.tablet-subscribers-icon { background: linear-gradient(145deg,#e9e4ff,#f7f5ff); color: #5a3bc2; }
.bootstrap-site .tablet-settings-modal { width: min(720px,calc(100vw - 2rem)) !important; max-height: calc(100dvh - 2rem); overflow-y: auto; text-align: left !important; overscroll-behavior: contain; }
.bootstrap-site .tablet-settings-modal > .host-confirm-icon,
.bootstrap-site .tablet-settings-modal > .section-label,
.bootstrap-site .tablet-settings-modal > h2,
.bootstrap-site .tablet-settings-modal > p { justify-self: center; text-align: center; }
.bootstrap-site .tablet-settings-modal > p:not(.section-label) { max-width: 570px; margin-bottom: 1rem !important; }
.bootstrap-site #tabletSettingsForm { width: 100%; display: grid; gap: .8rem; }
.bootstrap-site .tablet-settings-section { display: grid; gap: .75rem; padding: 1rem; border: 1px solid #dedfea; border-radius: 16px; background: #f8f8fb; }
.bootstrap-site .tablet-settings-section > header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.bootstrap-site .tablet-settings-section > header > span { display: grid; gap: .08rem; }
.bootstrap-site .tablet-settings-section > header small { color: #6d7190; font-size: .6rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.bootstrap-site .tablet-settings-section > header strong { color: #25273b; font-size: .9rem; }
.bootstrap-site .tablet-settings-section > header em { padding: .28rem .48rem; border-radius: 999px; background: #fff0a8; color: #6e5300; font-size: .58rem; font-style: normal; font-weight: 950; letter-spacing: .05em; text-transform: uppercase; }
.bootstrap-site .tablet-settings-section > header em.is-locked { background: #ececf2; color: #686b7b; }
.bootstrap-site .tablet-settings-subscribers > p { margin: 0; color: #6d7183; font-size: .68rem; line-height: 1.45; }
.bootstrap-site .tablet-settings-subscribers > header em { min-width: 30px; text-align: center; background: #e6f5ef; color: #176747; }
.bootstrap-site .tablet-subscriber-list { max-height: 230px; display: grid; align-content: start; gap: .42rem; padding-right: 2px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.bootstrap-site .tablet-subscriber-row { min-width: 0; display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: .62rem; padding: .58rem .65rem; border: 1px solid #e2e3ea; border-radius: 12px; background: #fff; }
.bootstrap-site .tablet-subscriber-row > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #eeeaff; color: #5d42c4; font-size: .72rem; font-weight: 950; }
.bootstrap-site .tablet-subscriber-row > div { min-width: 0; display: grid; gap: .1rem; }
.bootstrap-site .tablet-subscriber-row strong { overflow: hidden; color: #24273a; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .tablet-subscriber-row small { overflow: hidden; color: #75798b; font-size: .6rem; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .tablet-subscriber-state { min-height: 76px; display: grid; place-items: center; align-content: center; gap: .3rem; padding: .75rem; border: 1px dashed #d6d8e2; border-radius: 12px; background: #fff; color: #696e80; text-align: center; }
.bootstrap-site .tablet-subscriber-state > span { color: #684cd2; font-size: 1.1rem; }
.bootstrap-site .tablet-subscriber-state strong { color: #343749; font-size: .74rem; }
.bootstrap-site .tablet-subscriber-state small { max-width: 420px; font-size: .61rem; line-height: 1.4; }
.bootstrap-site .tablet-subscriber-state i { width: 20px; height: 20px; border: 3px solid #ddd8f4; border-top-color: #6348cf; border-radius: 50%; animation: spin .75s linear infinite; }
.bootstrap-site .tablet-subscriber-state.is-error strong { color: #a1283d; }
.bootstrap-site .tablet-subscriber-state .button { min-height: 38px; padding: .35rem .75rem; font-size: .66rem; }
.bootstrap-site .tablet-subscribers-modal { width: min(760px,calc(100vw - 2rem)) !important; max-height: calc(100dvh - 2rem); display: grid !important; grid-template-rows: auto auto auto auto minmax(150px,1fr) auto auto; gap: .7rem !important; padding: clamp(1rem,2.8vw,1.6rem) !important; overflow: hidden; text-align: left !important; }
.bootstrap-site .tablet-subscribers-modal > .host-confirm-icon,
.bootstrap-site .tablet-subscribers-modal > .section-label,
.bootstrap-site .tablet-subscribers-modal > h2,
.bootstrap-site .tablet-subscribers-modal > p:not(.tablet-subscriber-privacy) { justify-self: center; text-align: center; }
.bootstrap-site .tablet-subscribers-modal > p:not(.section-label):not(.tablet-subscriber-privacy) { max-width: 590px; margin: 0 0 .25rem !important; color: #64697a; font-size: .76rem; line-height: 1.48; }
.bootstrap-site .tablet-subscribers-summary { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .8rem; border: 1px solid #dcd9ed; border-radius: 14px; background: #f7f5ff; }
.bootstrap-site .tablet-subscribers-summary > span { display: grid; gap: .05rem; }
.bootstrap-site .tablet-subscribers-summary > span small { color: #72768a; font-size: .58rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.bootstrap-site .tablet-subscribers-summary > span strong { color: #35256f; font-size: 1.5rem; line-height: 1; }
.bootstrap-site .tablet-subscribers-summary > div { display: flex; gap: .5rem; }
.bootstrap-site .tablet-subscribers-summary .button { min-height: 44px; padding: .5rem .8rem; }
.bootstrap-site .tablet-subscriber-modal-list { max-height: none; min-height: 150px; padding: .15rem .3rem .15rem 0; }
.bootstrap-site .tablet-subscriber-modal-list .tablet-subscriber-row { min-height: 56px; }
.bootstrap-site .tablet-subscriber-privacy { display: flex; align-items: flex-start; gap: .45rem; margin: 0 !important; padding: .65rem .75rem; border-radius: 11px; background: #f3f7f6; color: #51645d; font-size: .62rem; line-height: 1.4; }
.bootstrap-site .tablet-subscriber-privacy > span { color: #177451; font-weight: 950; }
.bootstrap-site .tablet-subscribers-modal > #closeTabletSubscribers { width: 100%; min-height: 48px; }
@media (max-width: 580px) {
    .bootstrap-site .tablet-subscribers-modal { width: calc(100vw - 1rem) !important; max-height: calc(100dvh - 1rem); padding: .85rem !important; }
    .bootstrap-site .tablet-subscribers-summary { align-items: stretch; flex-direction: column; }
    .bootstrap-site .tablet-subscribers-summary > div { display: grid; grid-template-columns: 1fr 1fr; }
    .bootstrap-site .tablet-subscriber-row small { white-space: normal; }
}
.bootstrap-site .tablet-branding-editor { display: grid; grid-template-columns: 74px minmax(0,1fr) auto; align-items: center; gap: .8rem; }
.bootstrap-site .tablet-branding-preview { position: relative; width: 74px; height: 58px; display: grid; place-items: center; overflow: hidden; border: 1px dashed #bbb7d8; border-radius: 12px; background: #fff; }
.bootstrap-site .tablet-branding-preview img { width: 100%; height: 100%; padding: .35rem; object-fit: contain; }
.bootstrap-site .tablet-branding-preview > span { color: #7055db; font-size: 1.35rem; font-weight: 900; }
.bootstrap-site .tablet-branding-preview > i { position: absolute; inset: 0; background: rgba(255,255,255,.72); }
.bootstrap-site .tablet-branding-editor > span { min-width: 0; display: grid; gap: .16rem; }
.bootstrap-site .tablet-branding-editor > span strong { color: #292b3d; font-size: .8rem; }
.bootstrap-site .tablet-branding-editor > span small,
.bootstrap-site .tablet-settings-locked { margin: 0; color: #707487; font-size: .68rem; line-height: 1.4; }
.bootstrap-site .tablet-branding-editor > div:last-child { display: flex; align-items: center; gap: .45rem; }
.bootstrap-site .tablet-branding-editor .button { min-height: 42px; }
.bootstrap-site .tablet-permanent-qr-card { display: grid; grid-template-columns: minmax(190px,.56fr) minmax(0,1fr); gap: .85rem; padding: .85rem; border: 1px solid #cfc5f4; border-radius: 14px; background: linear-gradient(145deg,#f2efff,#fff); }
.bootstrap-site .tablet-permanent-qr-visual { display: grid; grid-template-columns: 88px minmax(0,1fr); align-items: center; gap: .7rem; padding: .65rem; border-radius: 12px; background: #21194f; color: #fff; }
.bootstrap-site .tablet-permanent-qr-image { width: 88px; padding: 5px; border-radius: 10px; background: #fff; }
.bootstrap-site .tablet-permanent-qr-visual > span { min-width: 0; display: grid; gap: .22rem; }
.bootstrap-site .tablet-permanent-qr-visual strong { font-size: .74rem; line-height: 1.25; }
.bootstrap-site .tablet-permanent-qr-visual small { color: #cfc9ee; font-size: .58rem; line-height: 1.35; }
.bootstrap-site .tablet-permanent-qr-copy { min-width: 0; display: grid; align-content: center; justify-items: start; gap: .4rem; }
.bootstrap-site .tablet-permanent-qr-copy > strong { color: #29233e; font-size: .84rem; }
.bootstrap-site .tablet-permanent-qr-copy > p { margin: 0; color: #65697d; font-size: .67rem; line-height: 1.48; }
.bootstrap-site .tablet-permanent-qr-copy > small { display: flex; align-items: flex-start; gap: .35rem; color: #3d725f; font-size: .61rem; font-weight: 750; line-height: 1.4; }
.bootstrap-site .tablet-permanent-qr-copy > small span { color: #18865f; font-weight: 950; }
.bootstrap-site .tablet-permanent-qr-copy .button { min-height: 42px; margin-top: .2rem; padding-inline: .8rem; font-size: .69rem; }
.bootstrap-site .tablet-permanent-message-heading { display: flex; margin-top: .15rem; padding-top: .75rem; border-top: 1px solid #dedfea; }
.bootstrap-site .tablet-permanent-message-heading > span { display: grid; gap: .08rem; }
.bootstrap-site .tablet-permanent-message-heading small { color: #6d7190; font-size: .58rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.bootstrap-site .tablet-permanent-message-heading strong { color: #303246; font-size: .78rem; }
.bootstrap-site .tablet-qr-message-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(165px,.55fr); gap: .85rem; }
.bootstrap-site .tablet-qr-message-grid > div { display: grid; gap: .55rem; }
.bootstrap-site .tablet-qr-message-grid label { display: grid; gap: .25rem; color: #464a61; font-size: .66rem; font-weight: 900; }
.bootstrap-site .tablet-qr-message-grid input,
.bootstrap-site .tablet-qr-message-grid textarea { min-height: 44px; padding: .65rem .75rem; border: 1px solid #d2d4e0; border-radius: 10px; background: #fff; color: #222538; font-size: .78rem; }
.bootstrap-site .tablet-qr-message-grid textarea { min-height: 82px; resize: vertical; line-height: 1.42; }
.bootstrap-site .tablet-qr-message-grid input:focus,
.bootstrap-site .tablet-qr-message-grid textarea:focus { border-color: #684bd7; outline: 3px solid rgba(104,75,215,.13); }
.bootstrap-site .tablet-qr-message-grid > div > small { color: #74788c; font-size: .62rem; }
.bootstrap-site .tablet-qr-message-grid aside { display: grid; align-content: center; justify-items: center; gap: .24rem; min-width: 0; padding: .75rem; border-radius: 13px; background: linear-gradient(145deg,#17143d,#272063); color: #fff; text-align: center; }
.bootstrap-site .tablet-qr-message-grid aside > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 10px; background: #fff; color: #30276f; font-size: 1.2rem; }
.bootstrap-site .tablet-qr-message-grid aside strong,
.bootstrap-site .tablet-qr-message-grid aside small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .tablet-qr-message-grid aside strong { font-size: .76rem; }
.bootstrap-site .tablet-qr-message-grid aside small { color: #c9c6e8; font-size: .59rem; }
.bootstrap-site #tabletPermanentWaitingMessagePreview { display: -webkit-box; max-height: 4.2em; line-height: 1.4; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.bootstrap-site .tablet-winner-message-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(165px,.55fr); gap: .85rem; }
.bootstrap-site .tablet-winner-message-grid > label { display: grid; gap: .3rem; color: #464a61; font-size: .66rem; font-weight: 900; }
.bootstrap-site .tablet-winner-message-grid textarea { width: 100%; min-height: 82px; padding: .7rem .75rem; resize: vertical; border: 1px solid #d2d4e0; border-radius: 10px; background: #fff; color: #222538; font: inherit; font-size: .78rem; line-height: 1.45; }
.bootstrap-site .tablet-winner-message-grid textarea:focus { border-color: #684bd7; outline: 3px solid rgba(104,75,215,.13); }
.bootstrap-site .tablet-winner-message-grid label > small { color: #74788c; font-size: .62rem; font-weight: 600; line-height: 1.4; }
.bootstrap-site .tablet-winner-message-grid aside { display: grid; align-content: center; justify-items: center; gap: .2rem; min-width: 0; padding: .75rem; border-radius: 13px; background: linear-gradient(145deg,#fff0af,#ffe37d); color: #493500; text-align: center; }
.bootstrap-site .tablet-winner-message-grid aside > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #fff; color: #a66a00; font-size: 1.05rem; }
.bootstrap-site .tablet-winner-message-grid aside > small { font-size: .58rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.bootstrap-site .tablet-winner-message-grid aside > strong { max-width: 100%; color: #493500; font-size: .7rem; line-height: 1.35; overflow-wrap: anywhere; }
.bootstrap-site .tablet-settings-actions { display: grid; grid-template-columns: 1fr 1.4fr; gap: .65rem; }
.bootstrap-site .tablet-settings-actions .button { min-height: 48px; }
@media (max-width: 620px) {
    .bootstrap-site .tablet-display-link-code { grid-template-columns: 1fr; }
    .bootstrap-site .tablet-display-link-code .button { width: 100%; }
    .bootstrap-site .tablet-display-short-link > div { grid-template-columns: 1fr; }
    .bootstrap-site .tablet-branding-editor,
    .bootstrap-site .tablet-permanent-qr-card,
    .bootstrap-site .tablet-qr-message-grid,
    .bootstrap-site .tablet-winner-message-grid { grid-template-columns: 1fr; }
    .bootstrap-site .tablet-branding-editor > div:last-child { grid-column: 1; }
}
.bootstrap-site .tablet-media-round-modal { width: min(620px,calc(100vw - 2rem)); }
.bootstrap-site .tablet-media-round-options { display: grid; max-height: min(390px,46dvh); grid-template-columns: 1fr; gap: .65rem; margin: 1rem 0; padding: 3px; overflow-y: auto; overscroll-behavior: contain; text-align: left; }
.bootstrap-site .tablet-media-round-option { position: relative; min-width: 0; min-height: 82px; display: grid; grid-template-columns: 54px minmax(0,1fr) 34px; align-items: center; gap: .85rem; padding: .8rem .9rem; border: 2px solid #dce0e9; border-radius: 16px; background: #fff; color: #24283a; cursor: pointer; touch-action: manipulation; transition: border-color 140ms ease,background 140ms ease,box-shadow 140ms ease; }
.bootstrap-site .tablet-media-round-option::after { display: grid; width: 30px; height: 30px; place-items: center; justify-self: end; border: 2px solid #b9bfd0; border-radius: 9px; background: #fff; color: transparent; content: '✓'; font-size: 1rem; font-weight: 950; }
.bootstrap-site .tablet-media-round-option > input.form-check-input { position: absolute !important; width: 1px !important; height: 1px !important; margin: 0 !important; padding: 0 !important; overflow: hidden; border: 0 !important; opacity: 0; pointer-events: none; }
.bootstrap-site .tablet-media-round-option > span { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 15px; background: #eeeaff; color: #573bd0; font-size: 1.55rem; font-weight: 900; }
.bootstrap-site .tablet-media-round-option > b { min-width: 0; display: grid; gap: .18rem; }
.bootstrap-site .tablet-media-round-option strong { font-size: 1.04rem; }
.bootstrap-site .tablet-media-round-option small { color: #606779; font-size: .78rem; line-height: 1.35; }
.bootstrap-site .tablet-media-round-option:has(input:checked) { border-color: #6748df; background: #f3f0ff; box-shadow: 0 0 0 3px rgba(102,72,221,.11); }
.bootstrap-site .tablet-media-round-option:has(input:checked) > span { background: #6345dc; color: #fff; }
.bootstrap-site .tablet-media-round-option:has(input:checked)::after { border-color: #15835e; background: #15835e; color: #fff; }
.bootstrap-site .tablet-media-round-option:hover { border-color: #8a76e4; }
.bootstrap-site .tablet-media-round-option:focus-within { outline: 3px solid rgba(102,72,221,.2); outline-offset: 2px; }
.bootstrap-site .tablet-media-round-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin-top: .9rem; }
.bootstrap-site .tablet-media-round-actions .button { min-height: 52px; }
@media (max-width: 620px) {
    .bootstrap-site .tablet-media-round-option { min-height: 76px; grid-template-columns: 46px minmax(0,1fr) 30px; padding: .65rem .7rem; }
    .bootstrap-site .tablet-media-round-option > span { width: 46px; height: 46px; }
    .bootstrap-site .tablet-media-round-option::after { width: 27px; height: 27px; }
    .bootstrap-site .tablet-media-round-actions { grid-template-columns: 1fr; }
}
.bootstrap-site .player-manual-mode { min-height: min(620px,75vh); display: grid; align-content: center; justify-items: center; gap: .55rem; padding: 1.5rem; text-align: center; }
.bootstrap-site .player-manual-mode > span { display: grid; width: 88px; height: 88px; place-items: center; margin-bottom: .5rem; border-radius: 25px; background: linear-gradient(145deg,#6242df,#896cf6); color: #fff; font-size: 2.8rem; box-shadow: 0 16px 35px rgba(73,47,184,.22); }
.bootstrap-site .player-manual-mode h1 { max-width: 520px; margin: 0; font-size: clamp(2rem,9vw,3.2rem); letter-spacing: -.04em; }
.bootstrap-site .player-manual-mode > p:last-child { max-width: 480px; color: #687083; line-height: 1.5; }
.bootstrap-site .tv-manual-instructions,
.bootstrap-site .tv-manual-question-complete { align-content: center; display: grid; height: 100%; justify-items: center; margin: auto; max-width: 980px; padding: clamp(2rem,6vw,6rem); text-align: center; }
.bootstrap-site .tv-manual-instructions > span,
.bootstrap-site .tv-manual-question-complete > span { display: grid; width: clamp(90px,13vw,150px); height: clamp(90px,13vw,150px); place-items: center; margin-bottom: 1.2rem; border-radius: 32px; background: linear-gradient(145deg,#6242df,#896cf6); color: #fff; font-size: clamp(2.8rem,6vw,5rem); box-shadow: 0 20px 48px rgb(73 47 184 / 25%); }
.bootstrap-site .tv-manual-instructions h1,
.bootstrap-site .tv-manual-question-complete h1 { margin: .2rem 0 .8rem; font-size: clamp(2.6rem,6vw,5.6rem); letter-spacing: -.045em; }
.bootstrap-site .tv-manual-instructions > p:last-of-type,
.bootstrap-site .tv-manual-question-complete > p:last-child { max-width: 820px; color: #626b80; font-size: clamp(1.05rem,2vw,1.5rem); line-height: 1.5; }
.bootstrap-site .tv-manual-answer-key { display: grid; grid-template-rows: auto minmax(0,1fr); gap: 1rem; height: 100%; min-height: 0; padding: clamp(1rem,2vw,2rem); }
.bootstrap-site .tv-manual-answer-key > header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.bootstrap-site .tv-manual-answer-key > header h1 { margin: 0; font-size: clamp(2.3rem,4vw,4.4rem); letter-spacing: -.04em; }
.bootstrap-site .tv-manual-answer-key > header > strong { padding: .55rem 1rem; border-radius: 999px; background: #101a33; color: #fff; }
.bootstrap-site .tv-manual-answer-key ol { align-content: start; display: grid; grid-auto-flow: column; grid-template-rows: repeat(10,minmax(0,1fr)); gap: .45rem 1rem; min-height: 0; margin: 0; padding: 0; overflow-x: auto; list-style: none; }
.bootstrap-site .tv-manual-answer-key li { align-items: center; display: grid; grid-template-columns: 34px minmax(150px,1fr); gap: .55rem; min-width: 230px; padding: .38rem .55rem; border: 1px solid rgb(46 54 82 / 12%); border-radius: 12px; background: rgb(255 255 255 / 72%); }
.bootstrap-site .tv-manual-answer-key li > b { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: #6445df; color: #fff; }
.bootstrap-site .tv-manual-answer-key li > span { display: grid; min-width: 0; }
.bootstrap-site .tv-manual-answer-key li small { color: #755ade; font-size: .52rem; font-weight: 900; text-transform: uppercase; }
.bootstrap-site .tv-manual-answer-key li strong { overflow: hidden; color: #171d31; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .tv-manual-answer-key li em { overflow: hidden; color: #72798b; font-size: .52rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
    .bootstrap-site .phone-answer { transition: none; }
    .bootstrap-site .display-redesign .stopped-trivia-card.is-entering { opacity: 1; animation: none !important; transform: none; filter: none; }
}

/* Reference-board implementation: shared indigo/purple show identity. */
:root {
    --ref-purple: #5b35e8;
    --ref-purple-bright: #7048ff;
    --ref-pink: #ef2b83;
    --ref-navy: #070b2d;
    --ref-navy-soft: #111442;
    --ref-green: #24bf68;
    --ref-blue: #1769ed;
    --ref-orange: #ffac23;
    --ref-paper: #f6f7fb;
    --ref-line: #e3e5ee;
    --ref-radius: 16px;
    --ref-shadow: 0 16px 42px rgba(15, 20, 55, .09);
}

/* Public home — visual structure from the supplied boards. */
body.screen-home { overflow: hidden; }
body.screen-display { overflow: hidden; background: #080a31; }
.bootstrap-site .display-launcher-page { position: relative; min-height: 100dvh; display: grid; place-items: center; padding: clamp(5.5rem,10vh,7.5rem) 1rem clamp(4.5rem,9vh,6rem); overflow: hidden; background: radial-gradient(circle at 15% 82%,rgba(239,43,131,.18),transparent 28%),radial-gradient(circle at 84% 14%,rgba(34,211,197,.17),transparent 26%),linear-gradient(145deg,#080a31,#141044 58%,#090b35); color: #fff; }
.bootstrap-site .display-launcher-page::before { position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(circle at 15% 20%,rgba(255,255,255,.5) 0 2px,transparent 3px),radial-gradient(circle at 85% 28%,rgba(255,255,255,.35) 0 2px,transparent 3px); background-size: 250px 220px,310px 280px; content: ''; opacity: .34; }
.bootstrap-site .display-launcher-brand { position: absolute; z-index: 2; top: clamp(1.2rem,3vw,2rem); left: clamp(1.2rem,3vw,2.5rem); display: block; width: 72px; height: 72px; }
.bootstrap-site .display-launcher-brand .wordmark,
.bootstrap-site .display-launcher-brand .wordmark-image { display: block; width: 100%; height: 100%; object-fit: contain; }
.bootstrap-site .display-launcher-card { position: relative; z-index: 1; width: min(610px,100%); display: grid; justify-items: center; padding: clamp(1.4rem,4vw,2.5rem); border: 1px solid rgba(255,255,255,.18); border-radius: 26px; background: rgba(255,255,255,.98); color: #17192a; box-shadow: 0 32px 90px rgba(0,0,0,.35); text-align: center; }
.bootstrap-site .display-launcher-icon { display: grid; width: 58px; height: 58px; place-items: center; margin-bottom: .8rem; border-radius: 17px; background: linear-gradient(145deg,#6647e5,#8b69f3); color: #fff; box-shadow: 0 12px 28px rgba(84,52,206,.28); font-size: 1.45rem; font-weight: 950; }
.bootstrap-site .display-launcher-card > .section-label { margin: 0; color: #654ad5; }
.bootstrap-site .display-launcher-card h1 { margin: .3rem 0 .55rem; color: #14162b; font-size: clamp(2rem,5vw,3.15rem); letter-spacing: -.05em; }
.bootstrap-site .display-launcher-card > p:not(.section-label) { max-width: 470px; margin: 0 0 1.3rem; color: #697084; line-height: 1.5; }
.bootstrap-site .display-launcher-card form { width: 100%; display: grid; gap: .5rem; text-align: left; }
.bootstrap-site .display-launcher-card form > label { color: #35394e; font-size: .8rem; font-weight: 900; }
.bootstrap-site .display-launcher-card form > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .65rem; }
.bootstrap-site .display-launcher-card input { width: 100%; min-width: 0; min-height: 56px; padding: .75rem .9rem; border: 2px solid #d8d9e7; border-radius: 12px; background: #f7f7fb; color: #24263a; font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size: clamp(.72rem,1.6vw,.94rem); letter-spacing: .015em; }
.bootstrap-site .display-launcher-card input:focus { border-color: #6b4de1; outline: 4px solid rgba(107,77,225,.13); background: #fff; }
.bootstrap-site .display-launcher-card input[aria-invalid="true"] { border-color: #d4364f; outline-color: rgba(212,54,79,.12); }
.bootstrap-site .display-launcher-card form .button { min-height: 56px; padding-inline: 1.2rem; border-radius: 12px; white-space: nowrap; }
.bootstrap-site .display-launcher-card form > small { color: #777d90; font-size: .7rem; }
.bootstrap-site .display-launcher-error { min-height: 1.05rem; color: #bd243d; font-size: .72rem; }
.bootstrap-site .display-launcher-card > aside { width: 100%; display: flex; align-items: center; gap: .7rem; margin-top: .75rem; padding: .75rem .85rem; border: 1px solid #dce9e5; border-radius: 13px; background: #f0faf6; text-align: left; }
.bootstrap-site .display-launcher-card > aside > span { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: #d9f3e8; color: #167553; font-weight: 950; }
.bootstrap-site .display-launcher-card > aside p { display: grid; gap: .08rem; margin: 0; }
.bootstrap-site .display-launcher-card > aside strong { color: #1d493b; font-size: .76rem; }
.bootstrap-site .display-launcher-card > aside small { color: #57736a; font-size: .68rem; line-height: 1.35; }
.bootstrap-site .display-launcher-page > footer { position: absolute; z-index: 2; right: 1rem; bottom: .9rem; left: 1rem; display: flex; justify-content: center; }
.bootstrap-site .display-launcher-page > footer .apexia-sponsor { color: rgba(255,255,255,.76); }
.bootstrap-site .display-launcher-page > footer .apexia-sponsor img { filter: brightness(0) invert(1); }
@media (max-width: 620px) {
    .bootstrap-site .display-launcher-brand { width: 58px; height: 58px; }
    .bootstrap-site .display-launcher-card { border-radius: 20px; }
    .bootstrap-site .display-launcher-card form > div { grid-template-columns: 1fr; }
    .bootstrap-site .display-launcher-card form .button { width: 100%; }
}
.bootstrap-site .home-page.reference-design { height: 100dvh; min-height: 0; padding: clamp(.65rem, 1.6vw, 1.3rem) !important; overflow: hidden; background: #fff; }
.bootstrap-site .home-page.reference-design .home-reference-hero { height: 100%; min-height: 0; overflow: hidden; border-radius: clamp(18px, 2.2vw, 30px); color: #fff; background:
    radial-gradient(circle at 78% 38%, rgba(112,72,255,.5), transparent 28%),
    radial-gradient(circle at 18% 84%, rgba(239,43,131,.18), transparent 24%),
    linear-gradient(135deg, #080a31 0%, #111044 46%, #090b35 100%);
    box-shadow: 0 25px 70px rgba(8,10,49,.18);
}
.bootstrap-site .home-page.reference-design .home-reference-hero::before { opacity: .18; background-image: radial-gradient(circle at 20% 28%, #ef2b83 0 4px, transparent 5px), radial-gradient(circle at 85% 18%, #16d0cf 0 3px, transparent 4px), radial-gradient(circle at 90% 62%, #ffac23 0 4px, transparent 5px), radial-gradient(circle at 62% 12%, #7048ff 0 3px, transparent 4px); background-size: 320px 280px, 370px 310px, 400px 350px, 290px 270px; }
.bootstrap-site .home-page.reference-design .home-header { width: min(1420px, 100%); min-height: 70px; margin: 0 auto; padding: 0 clamp(1.2rem, 4vw, 3.5rem); border: 0; }
.bootstrap-site .home-page.reference-design .brand-link svg { width: clamp(120px, 10vw, 155px); }
.bootstrap-site .home-page.reference-design .home-nav { gap: clamp(.8rem, 2vw, 2rem); }
.bootstrap-site .home-page.reference-design .home-nav a { font-size: .8rem; font-weight: 650; }
.bootstrap-site .home-page.reference-design .home-nav .button { min-height: 38px; padding: .45rem 1rem; border: 0; border-radius: 10px; background: var(--ref-pink); }
.bootstrap-site .home-page.reference-design .home-hero-inner { display: grid; width: min(1420px, 100%); min-height: min(680px, calc(100dvh - 175px)); margin: 0 auto; padding: clamp(2rem, 5vw, 5rem) clamp(1.2rem, 4vw, 3.5rem); grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); align-items: center; }
.bootstrap-site .home-page.reference-design .home-hero-inner > .home-copy,
.bootstrap-site .home-page.reference-design .home-hero-inner > .home-demo { width: 100%; max-width: none; }
.bootstrap-site .home-page.reference-design .home-copy { max-width: 660px; }
.bootstrap-site .home-page.reference-design .home-kicker { color: #aaaef8; font-size: .74rem; letter-spacing: .05em; }
.bootstrap-site .home-page.reference-design .home-copy h1 { color: #fff; font-size: clamp(3rem, 6vw, 6.1rem); font-weight: 750; line-height: .95; letter-spacing: -.065em; }
.bootstrap-site .home-page.reference-design .home-copy h1 em { color: #f23d9a; font-style: normal; }
.bootstrap-site .home-page.reference-design .home-intro { max-width: 500px; color: rgba(255,255,255,.82); font-size: clamp(.95rem, 1.3vw, 1.15rem); line-height: 1.55; }
.bootstrap-site .home-page.reference-design .hero-join { width: min(440px, 100%); padding: 1rem; border-radius: 14px; background: #fff; color: #25273b; box-shadow: 0 18px 45px rgba(0,0,0,.28); }
.bootstrap-site .home-page.reference-design .hero-join label { display: grid; gap: .15rem; margin-bottom: .65rem; color: #777b91; font-size: .72rem; text-align: center; }
.bootstrap-site .home-page.reference-design .hero-join label strong { color: #303247; font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; }
.bootstrap-site .home-page.reference-design .hero-join > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .5rem; }
.bootstrap-site .home-page.reference-design .hero-join input { min-width: 0; min-height: 50px; border-color: #d9dce7; border-radius: 9px; background: #f6f7fa; font-size: 1.25rem; font-weight: 750; letter-spacing: .26em; text-align: center; }
.bootstrap-site .home-page.reference-design .hero-join .button { min-width: 130px; border: 0; border-radius: 9px; background: linear-gradient(135deg, var(--ref-pink), #d91b70); }
.bootstrap-site .home-page.reference-design .home-primary-actions { margin-top: 1rem; }
.bootstrap-site .home-page.reference-design .home-primary-actions .button { min-height: 46px; border: 1px solid rgba(255,255,255,.35); border-radius: 9px; background: rgba(255,255,255,.04); color: #fff; }
.bootstrap-site .home-page.reference-design .home-demo { position: relative; min-height: 500px; border: 0; background: url('images/live-quiz-hero.png') 70% center / cover no-repeat; clip-path: polygon(15% 0,100% 0,100% 100%,0 100%); opacity: .96; }
.bootstrap-site .home-page.reference-design .home-demo > * { display: none; }
.bootstrap-site .home-page.reference-design .home-flow { position: relative; z-index: 2; width: min(1420px, calc(100% - 2rem)); margin: 0 auto 1rem; padding: 1rem 1.25rem; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .5rem; border: 1px solid rgba(255,255,255,.15); border-radius: 14px; background: rgba(6,8,35,.5); backdrop-filter: blur(12px); }
.bootstrap-site .home-page.reference-design .home-flow > div { min-width: 0; padding: .35rem .5rem; border: 0; background: transparent; }
.bootstrap-site .home-page.reference-design .home-flow > div > span { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: rgba(112,72,255,.18); color: #b8a7ff; }
.bootstrap-site .home-page.reference-design .home-flow strong { color: #fff; font-size: .78rem; }
.bootstrap-site .home-page.reference-design .home-flow small { color: rgba(255,255,255,.58); font-size: .68rem; }

/* Main entry page: joining is the product, marketing stays out of the bloody way. */
.bootstrap-site .home-page.reference-design .home-reference-hero { display: grid; grid-template-rows: auto 1fr; }
.bootstrap-site .home-page.reference-design .home-header { min-height: 64px; }
.bootstrap-site .home-page.reference-design .home-nav { gap: 0; }
.bootstrap-site .home-page.reference-design .home-nav a { color: rgba(255,255,255,.72); font-weight: 600; }
.bootstrap-site .home-page.reference-design .home-simple-inner { display: grid; width: min(720px,100%); min-height: 0; padding: clamp(2rem,5vw,4rem) 1.25rem clamp(4rem,10vh,7rem); grid-template-columns: 1fr; place-items: center; text-align: center; }
.bootstrap-site .home-page.reference-design .home-simple-copy { width: min(520px,100%); max-width: none; }
.bootstrap-site .home-page.reference-design .home-simple-copy h1 { margin: 0; font-size: clamp(3rem,7vw,5.6rem); line-height: .96; letter-spacing: -.055em; }
.bootstrap-site .home-page.reference-design .home-simple-copy .home-intro { margin: 1rem auto 1.6rem; color: rgba(255,255,255,.7); font-size: clamp(1rem,1.4vw,1.15rem); }
.bootstrap-site .home-page.reference-design .home-simple-copy .hero-join { width: min(480px,100%); margin: 0 auto; padding: 1.15rem; border-radius: 18px; box-shadow: 0 24px 70px rgba(0,0,0,.32); }
.bootstrap-site .home-page.reference-design .home-simple-copy .hero-join label { margin-bottom: .55rem; color: #343749; font-size: .82rem; font-weight: 750; text-align: left; }
.bootstrap-site .home-page.reference-design .home-simple-copy .hero-join input { min-height: 58px; font-size: 1.45rem; }
.bootstrap-site .home-page.reference-design .home-simple-copy .hero-join .button { min-width: 132px; min-height: 58px; color: #fff !important; }
.bootstrap-site .home-page.reference-design .home-legacy-logo-link { display: block; width: fit-content; margin: 0 auto clamp(.5rem,1.5vh,1rem); }
.bootstrap-site .home-page.reference-design .home-legacy-logo { display: block; width: clamp(132px,16vw,190px); height: auto; }
.bootstrap-site .home-page.reference-design .home-host-prompt { display: flex; margin: 1.25rem 0 0; align-items: center; justify-content: center; gap: .7rem; color: rgba(255,255,255,.72); font-size: .86rem; }
.bootstrap-site .home-page.reference-design .home-host-link { display: inline-flex; min-height: 44px; padding: .7rem 1rem; align-items: center; justify-content: center; border: 2px solid #111; border-radius: 10px; background: #ffd54a; box-shadow: 0 5px 0 #111; color: #000; font-weight: 850; text-decoration: none; }
.bootstrap-site .home-page.reference-design .home-host-link:hover { background: #ffe477; color: #000; transform: translateY(-1px); box-shadow: 0 6px 0 #111; }
.bootstrap-site .home-page.reference-design .home-host-link:active { transform: translateY(3px); box-shadow: 0 2px 0 #111; }

/* Requested full-bleed index: the hero is the viewport, not a card in it. */
.bootstrap-site .home-page.reference-design.home-full-bleed { padding: 0 !important; background: var(--ref-navy); }
.bootstrap-site .home-page.reference-design.home-full-bleed .home-reference-hero { width: 100%; height: 100dvh; border-radius: 0; box-shadow: none; }
.bootstrap-site .home-page.reference-design.home-full-bleed .home-simple-inner { position: absolute; inset: 0; display: grid; width: 100%; height: 100%; min-height: 0; padding: 0 1rem; place-items: center; }
.bootstrap-site .home-page.reference-design.home-full-bleed .home-simple-copy { width: min(520px,100%); align-self: center; justify-self: center; }

/* The homepage has a brand corner, not a decorative fake navbar. */
.bootstrap-site .home-page.reference-design .home-header {
    position: absolute;
    z-index: 4;
    top: clamp(1.2rem,2.4vw,2rem);
    left: clamp(1.2rem,3vw,2.75rem);
    display: block;
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}
.bootstrap-site .home-page.reference-design .home-header::before { display: none; }
.bootstrap-site .home-page.reference-design .home-brand { display: inline-flex; min-height: 42px; align-items: center; gap: .55rem; padding: .2rem; border-radius: 9px; color: #fff; }
.bootstrap-site .home-page.reference-design .home-brand:hover { background: rgba(255,255,255,.07); }
.bootstrap-site .home-page.reference-design .home-brand-mark { display: grid; width: 34px; height: 34px; place-items: center; border: 3px solid #22d3c5; border-radius: 50% 50% 50% 18%; color: #fff; font-size: 1rem; font-weight: 850; line-height: 1; transform: rotate(-7deg); }
.bootstrap-site .home-page.reference-design .home-brand-mark::first-letter { transform: rotate(7deg); }
.bootstrap-site .home-page.reference-design .home-brand-word { display: inline-flex; font-size: clamp(1.25rem,2vw,1.65rem); font-weight: 820; letter-spacing: -.055em; line-height: 1; }
.bootstrap-site .home-page.reference-design .home-brand-word span:first-child { color: #fff; }
.bootstrap-site .home-page.reference-design .home-brand-word span:last-child { color: #22d3c5; }

/* Account cards follow the clean white reference panels. */
.bootstrap-site .public-shell .public-header { border-bottom-color: var(--ref-line); background: #fff; }
.bootstrap-site .public-shell .auth-grid { min-height: calc(100dvh - 72px); padding: clamp(1rem,4vw,4rem); gap: clamp(1rem,3vw,2.5rem); background: var(--ref-paper); }
.bootstrap-site .public-shell .auth-grid > .auth-context,
.bootstrap-site .public-shell .auth-grid > .auth-form-wrap { width: 100%; max-width: none; }
.bootstrap-site .public-shell .auth-context,
.bootstrap-site .public-shell .auth-form-wrap { border: 1px solid var(--ref-line); border-radius: var(--ref-radius); background: #fff; box-shadow: var(--ref-shadow); }
.bootstrap-site .public-shell .auth-form { width: min(440px,100%); }
.bootstrap-site .public-shell .auth-form .button-primary { border: 0; background: linear-gradient(135deg,var(--ref-purple),var(--ref-purple-bright)); }
.bootstrap-site .public-shell .segmented .active { background: var(--ref-purple); color: #fff; }

/* Host account entry: one polished split composition rather than two floating dashboard cards. */
.bootstrap-site .host-auth-shell {
    position: relative;
    min-height: 100dvh;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 10% 84%,rgba(239,43,131,.18),transparent 26%),
        radial-gradient(circle at 88% 12%,rgba(34,211,197,.13),transparent 24%),
        linear-gradient(145deg,#080c34 0%,#121044 58%,#090d37 100%);
}
.bootstrap-site .host-auth-shell::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .32;
    background-image: radial-gradient(rgba(255,255,255,.18) 1px,transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(90deg,#000,transparent 72%);
}
.bootstrap-site .host-auth-shell .public-header {
    position: relative;
    z-index: 2;
    width: min(1440px,calc(100% - clamp(2rem,7vw,8rem)));
    min-height: 92px;
    padding: 0;
    border: 0;
    background: transparent;
}
.bootstrap-site .host-auth-shell .home-brand { display: inline-flex; align-items: center; gap: .55rem; color: #fff; text-decoration: none; }
.bootstrap-site .host-auth-shell .home-brand-mark { display: grid; width: 36px; height: 36px; place-items: center; border: 3px solid #22d3c5; border-radius: 50% 50% 50% 18%; color: #fff; font-size: 1rem; font-weight: 850; line-height: 1; transform: rotate(-7deg); }
.bootstrap-site .host-auth-shell .home-brand-word { display: inline-flex; font-size: 1.55rem; font-weight: 820; letter-spacing: -.055em; line-height: 1; }
.bootstrap-site .host-auth-shell .home-brand-word span:first-child { color: #fff; }
.bootstrap-site .host-auth-shell .home-brand-word span:last-child { color: #22d3c5; }
.bootstrap-site .host-auth-shell .auth-join-link { display: inline-flex; align-items: baseline; gap: .5rem; color: rgba(255,255,255,.62); text-decoration: none; font-size: .88rem; }
.bootstrap-site .host-auth-shell .auth-join-link strong { color: #fff; font-weight: 800; }
.bootstrap-site .host-auth-shell .auth-join-link strong::after { content: ' →'; color: #22d3c5; }
.bootstrap-site .host-auth-shell .auth-join-link:hover strong { color: #57e0d4; }
.bootstrap-site .public-shell .host-auth-polished { min-height: calc(100dvh - 72px); padding: clamp(1rem,3vw,2.5rem); grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); gap: 0; background: linear-gradient(135deg,#f4f2ff,#f8f9fd 52%,#edf9fb); }
.bootstrap-site .public-shell .host-auth-polished > .auth-context,
.bootstrap-site .public-shell .host-auth-polished > .auth-form-wrap { min-height: min(680px,calc(100dvh - 120px)); border: 0; }
.bootstrap-site .public-shell .host-auth-polished .auth-context { position: relative; overflow: hidden; padding: clamp(2rem,5vw,5rem); border-radius: 24px 0 0 24px; color: #fff; background: radial-gradient(circle at 15% 80%,rgba(239,43,131,.24),transparent 28%),radial-gradient(circle at 88% 18%,rgba(34,211,197,.18),transparent 24%),linear-gradient(145deg,#090d37,#15104f); box-shadow: 0 24px 70px rgba(13,16,55,.15); }
.bootstrap-site .public-shell .host-auth-polished .auth-context .section-label { color: #57e0d4; }
.bootstrap-site .public-shell .host-auth-polished .auth-context h1 { max-width: 650px; margin: .5rem 0 1rem; color: #fff; font-size: clamp(2.3rem,4.4vw,4.8rem); line-height: .98; letter-spacing: -.055em; }
.bootstrap-site .public-shell .host-auth-polished .auth-context-intro { max-width: 590px; color: rgba(255,255,255,.72); font-size: clamp(1rem,1.35vw,1.18rem); line-height: 1.55; }
.bootstrap-site .public-shell .host-auth-polished .auth-context-list { margin-top: clamp(1.5rem,4vh,3rem); }
.bootstrap-site .public-shell .host-auth-polished .auth-context-list > div { border-top-color: rgba(255,255,255,.15); }
.bootstrap-site .public-shell .host-auth-polished .auth-context-list span { color: #57e0d4; }
.bootstrap-site .public-shell .host-auth-polished .auth-context-list strong { color: #fff; }
.bootstrap-site .public-shell .host-auth-polished .auth-context-list small { color: rgba(255,255,255,.58); }
.bootstrap-site .public-shell .host-auth-polished .auth-form-wrap { display: grid; padding: clamp(1.5rem,4vw,4rem); place-items: center; border-radius: 0 24px 24px 0; background: #fff; box-shadow: 20px 24px 70px rgba(13,16,55,.1); }
.bootstrap-site .public-shell .host-auth-polished .auth-form { width: min(430px,100%); }
.bootstrap-site .public-shell .host-auth-polished .auth-form :is(h1, h2) { margin-bottom: 1.2rem; font-size: clamp(1.8rem,3vw,2.6rem); letter-spacing: -.04em; }

/* Auth is part of the same navy QuizzMe show surface as home and Quizmaster. */
.bootstrap-site .host-auth-shell .host-auth-polished {
    position: relative;
    z-index: 1;
    width: min(1440px,calc(100% - clamp(2rem,7vw,8rem)));
    min-height: calc(100dvh - 116px);
    margin: 0 auto;
    padding: clamp(.75rem,2vh,1.5rem) 0 clamp(2rem,5vh,4.5rem);
    grid-template-columns: minmax(0,1fr) minmax(400px,.78fr);
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}
.bootstrap-site .host-auth-shell .host-auth-polished > .auth-context,
.bootstrap-site .host-auth-shell .host-auth-polished > .auth-form-wrap { min-height: 0; box-shadow: none; }
.bootstrap-site .host-auth-shell .host-auth-polished .auth-context { overflow: visible; padding: clamp(1rem,5vw,5.5rem) clamp(2rem,6vw,6rem) clamp(1rem,5vw,5.5rem) 0; border-radius: 0; background: transparent; }
.bootstrap-site .host-auth-shell .host-auth-polished .auth-context h1 { max-width: 780px; font-size: clamp(3rem,5.4vw,6rem); }
.bootstrap-site .host-auth-shell .host-auth-polished .auth-context-intro { max-width: 650px; font-size: clamp(1rem,1.3vw,1.2rem); }
.bootstrap-site .host-auth-shell .host-auth-polished .auth-context-list { max-width: 650px; }
.bootstrap-site .host-auth-shell .host-auth-polished .auth-context-list > div { grid-template-columns: 44px 1fr; padding-block: 1rem; }
.bootstrap-site .host-auth-shell .host-auth-polished .auth-form-wrap { padding: clamp(1.5rem,3.5vw,3.5rem); border: 1px solid rgba(255,255,255,.13); border-radius: 24px; color: #16172d; background: rgba(255,255,255,.98); box-shadow: 0 30px 90px rgba(0,0,0,.28); }
.bootstrap-site .host-auth-shell .auth-form .section-label { color: #6554c0; }
.bootstrap-site .host-auth-shell .auth-form :is(h1, h2) { color: #111330; }
.bootstrap-site .host-auth-shell .auth-form .field { color: #34364a; font-size: .84rem; font-weight: 800; }
.bootstrap-site .host-auth-shell .auth-form input { min-height: 52px; margin-top: .45rem; border: 1px solid #d8d9e4; border-radius: 10px; background: #f8f8fb; }
.bootstrap-site .host-auth-shell .auth-form input:focus { border-color: #6f5bd3; background: #fff; box-shadow: 0 0 0 4px rgba(111,91,211,.12); }
.bootstrap-site .host-auth-shell .auth-form .segmented { border-color: #deddea; border-radius: 10px; background: #efeff5; }
.bootstrap-site .host-auth-shell .auth-form .segmented button { border-radius: 7px; }
.bootstrap-site .host-auth-shell .auth-form .segmented .active { background: #171344; box-shadow: 0 4px 12px rgba(23,19,68,.2); }
.bootstrap-site .host-auth-shell .auth-form .button-primary { min-height: 52px; border-radius: 10px; background: linear-gradient(135deg,#6f4ee8,#ef2b83); color: #fff !important; box-shadow: 0 12px 26px rgba(111,78,232,.22); }
.bootstrap-site .host-auth-shell .auth-form .button-primary:hover,
.bootstrap-site .host-auth-shell .auth-form .button-primary:focus-visible,
.bootstrap-site .host-auth-shell .auth-form .button-primary:active { color: #fff !important; }
.bootstrap-site .host-auth-shell .auth-remember-option { --site-switch-on: #6047d5; display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: center; gap: .75rem; margin: .15rem 0 .35rem; padding: .8rem; border: 1px solid #dedfea; border-radius: 11px; background: #f7f7fb; cursor: pointer; transition: border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.bootstrap-site .host-auth-shell .auth-remember-option:hover { border-color: #c9c3e9; background: #faf9ff; }
.bootstrap-site .host-auth-shell .auth-remember-option:has(> input:checked) { border-color: #c7bdf4; background: #f4f1ff; }
.bootstrap-site .host-auth-shell .auth-remember-option > span { display: grid; gap: .12rem; min-width: 0; }
.bootstrap-site .host-auth-shell .auth-remember-option strong { color: #24263c; font-size: .84rem; }
.bootstrap-site .host-auth-shell .auth-remember-option small { color: #6c7082; font-size: .72rem; line-height: 1.4; }
.bootstrap-site .host-auth-shell .auth-action-status { min-height: 1.2em; margin: .15rem 0 0; color: #21745d; font-size: .76rem; font-weight: 800; line-height: 1.4; text-align: center; }
.bootstrap-site .host-auth-shell .auth-form .button-primary:hover { transform: translateY(-1px); box-shadow: 0 16px 32px rgba(111,78,232,.3); }
.bootstrap-site .host-auth-shell .auth-note { margin: .55rem 0 0; color: #77798c; text-align: center; font-size: .78rem; }
.bootstrap-site .host-auth-shell #authPanel { display: grid; gap: clamp(.65rem,1.35dvh,.85rem); }
.bootstrap-site .host-auth-shell #authPanel > .field { width: 100%; margin: 0; gap: .38rem; align-items: stretch; text-align: left; }
.bootstrap-site .host-auth-shell #authPanel > .field > input { width: 100%; margin-top: 0; }
.bootstrap-site .host-auth-shell #authPanel > .button-primary { width: 100%; margin-top: .25rem; }
.bootstrap-site .host-auth-shell #authPanel > .auth-note { margin: .1rem 0 0; }

/* Keep account entry as a true single-screen task at every supported height. */
.bootstrap-site .host-auth-shell .public-header { height: clamp(58px,10dvh,76px); min-height: 58px; }
.bootstrap-site .host-auth-shell .host-auth-polished { height: calc(100dvh - clamp(58px,10dvh,76px)); min-height: 0; box-sizing: border-box; }
.bootstrap-site .host-auth-shell .host-auth-polished .auth-context { padding-block: clamp(.75rem,3dvh,2rem); }
.bootstrap-site .host-auth-shell .host-auth-polished .auth-context h1 { margin: .3rem 0 .65rem; font-size: clamp(2.6rem,5vw,4.8rem); }
.bootstrap-site .host-auth-shell .host-auth-polished .auth-context-list { margin-top: clamp(.75rem,2.5dvh,1.5rem); }
.bootstrap-site .host-auth-shell .host-auth-polished .auth-context-list > div { padding-block: clamp(.55rem,1.4dvh,.85rem); }
.bootstrap-site .host-auth-shell .host-auth-polished .auth-form-wrap { padding: clamp(1rem,2.6dvh,2rem) clamp(1.25rem,3vw,2.5rem); }
.bootstrap-site .host-auth-shell .host-auth-polished .auth-form { gap: clamp(.55rem,1.45dvh,.9rem); }
.bootstrap-site .host-auth-shell .host-auth-polished .auth-form :is(h1, h2) { margin-bottom: .25rem; font-size: clamp(1.65rem,2.7vw,2.25rem); }
.bootstrap-site .host-auth-shell .auth-form input { min-height: clamp(44px,7dvh,50px); margin-top: .25rem; }
.bootstrap-site .host-auth-shell .auth-form .button-primary { min-height: clamp(44px,7dvh,50px); }

/* Desktop Quizmaster sidebar and compact operations layout. */
.bootstrap-site .host-later-quiz-callout,
.bootstrap-site .builder-for-later-banner { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin-bottom: 1rem; padding: 1rem 1.15rem; border: 1px solid #dcd8f1; border-radius: 14px; background: linear-gradient(120deg,#f1efff,#fff 62%,#eafaf7); }
.bootstrap-site .host-later-quiz-callout > div,
.bootstrap-site .builder-for-later-banner > div { min-width: 0; }
.bootstrap-site .host-later-quiz-callout strong { display: block; margin: .15rem 0; color: #171344; font-size: 1.02rem; }
.bootstrap-site .host-later-quiz-callout p,
.bootstrap-site .builder-for-later-banner p { margin: 0; color: #6e7180; font-size: .88rem; }
.bootstrap-site .host-later-quiz-callout .button { flex: 0 0 auto; border-color: #6f5bd3; color: #5746b1; background: #fff; }
.bootstrap-site .builder-for-later-banner { padding: 1.25rem 1.4rem; border-color: #6f5bd3; border-left-width: 5px; }
.bootstrap-site .builder-for-later-banner h1 { margin: .15rem 0 .3rem; color: #171344; font-size: clamp(1.5rem,2.7vw,2.3rem); }
.bootstrap-site .host-app.reference-design { background: #f7f8fc; }
.bootstrap-site .host-app.reference-design.room-ready .host-workspace { min-height: 100dvh; padding-left: 220px; }
.bootstrap-site .host-app.reference-design .host-topbar { min-height: 66px; border-bottom: 1px solid var(--ref-line); background: rgba(255,255,255,.92); }
.bootstrap-site .host-app.reference-design.room-ready .host-topbar { padding-left: clamp(1.2rem,2.4vw,2.4rem); }
.bootstrap-site .host-app.reference-design .host-topbar-leading .host-brand { display: none; }
.bootstrap-site .host-app.reference-design .host-sidebar-shell { position: fixed; z-index: 24; inset: 0 auto 0 0; display: flex; width: 220px; flex-direction: column; align-items: stretch; padding: 1.15rem .85rem; color: #fff; background: linear-gradient(180deg,#090d37,#070a29); box-shadow: 8px 0 30px rgba(7,10,41,.1); }
.bootstrap-site .host-app.reference-design .host-sidebar-brand { min-height: 82px; display: flex; width: 100%; align-items: center; justify-content: center; margin: 0 0 1rem; padding: .35rem .5rem 1rem; border-bottom: 1px solid rgba(255,255,255,.1); color: #fff; text-align: center; text-decoration: none; }
.bootstrap-site .host-app.reference-design .host-sidebar-brand .wordmark { display: flex; width: 100%; align-items: center; justify-content: center; }
.bootstrap-site .host-app.reference-design .host-sidebar-brand .wordmark-image { position: static !important; inset: auto !important; display: block; width: 78px; max-width: 100%; height: 78px; object-fit: contain; }
.bootstrap-site .host-app.reference-design .host-sidebar-brand .home-brand-mark { width: 32px; height: 32px; display: grid; flex: 0 0 auto; place-items: center; border: 2px solid #8d7aff; border-radius: 50%; color: #fff; font-size: 1rem; font-weight: 900; }
.bootstrap-site .host-app.reference-design .host-sidebar-brand .home-brand-word { display: inline-flex; font-size: 1.25rem; font-weight: 850; letter-spacing: -.045em; }
.bootstrap-site .host-app.reference-design .host-sidebar-brand .home-brand-word span:first-child { color: #65ddd0; }
.bootstrap-site .host-app.reference-design .host-sidebar-brand .home-brand-word span:last-child { color: #a996ff; }
.bootstrap-site .host-app.reference-design .host-sidebar-brand svg { width: 132px; }
.bootstrap-site .host-app.reference-design .host-primary-nav { position: static; display: flex; width: 100%; margin: 0; padding: 0; flex: 1; flex-direction: column; align-items: stretch; gap: .5rem; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.bootstrap-site .host-app.reference-design .host-primary-nav .nav-link { display: grid; width: 100%; min-height: 52px; flex: 0 0 auto; grid-template-columns: 32px minmax(0,86px); align-items: center; justify-content: center; gap: .65rem; padding: .6rem .75rem; border: 1px solid transparent; border-radius: 10px; color: rgba(255,255,255,.76); font-size: .82rem; text-align: left; }
.bootstrap-site .host-app.reference-design .host-primary-nav .nav-link i { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: rgba(255,255,255,.07); color: #c8c1ff; font-size: .8rem; font-style: normal; }
.bootstrap-site .host-app.reference-design .host-primary-nav .nav-link span { min-width: 0; line-height: 1.15; }
.bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link:nth-child(1) i::before { content: '▦'; }
.bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link:nth-child(2) i::before { content: '□'; }
.bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link:nth-child(3) i::before { content: '♙'; }
.bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link:nth-child(4) i::before { content: '▣'; }
.bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link:nth-child(5) i::before { content: '⚙'; }
.bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link:nth-child(6) i::before { content: '★'; }
.bootstrap-site .host-app.reference-design .host-primary-nav .nav-link.active { background: linear-gradient(135deg,#5440d7,#7048ff); color: #fff; box-shadow: 0 8px 20px rgba(91,53,232,.28); }
.bootstrap-site .host-app.reference-design .host-primary-nav .nav-link.active i { background: rgba(255,255,255,.16); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.bootstrap-site .host-app.reference-design .host-primary-nav .nav-link:not(.active):hover,
.bootstrap-site .host-app.reference-design .host-primary-nav .nav-link:not(.active):focus-visible { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.07); color: #fff; }

.bootstrap-site .host-app.reference-design .host-content { width: min(1440px,100%); padding: clamp(1rem,2.4vw,2rem); }
.bootstrap-site .host-app.reference-design .workspace-card,
.bootstrap-site .host-app.reference-design .host-invite-card,
.bootstrap-site .host-app.reference-design .setup-step-card { border: 1px solid var(--ref-line); border-radius: 12px; box-shadow: 0 7px 25px rgba(18,23,61,.045); }
.bootstrap-site .host-app.reference-design .quizmaster-run-status { border: 1px solid var(--ref-line); border-radius: 12px; box-shadow: 0 7px 25px rgba(18,23,61,.05); }
.bootstrap-site .host-app.reference-design .button { border-radius: 7px; }
.bootstrap-site .host-app.reference-design .button-primary { border: 0; background: linear-gradient(135deg,var(--ref-purple),var(--ref-purple-bright)); }
.bootstrap-site .host-app.reference-design .run-status-progress i b { background: var(--ref-green); }
.bootstrap-site .host-app.reference-design .run-live-dot { background: var(--ref-green); }
.bootstrap-site .host-app.reference-design .host-pin-card > span,
.bootstrap-site .host-app.reference-design .section-label { color: var(--ref-purple); }
.bootstrap-site .host-app.reference-design .host-invite-card { min-height: 430px; grid-template-columns: minmax(0,1fr) minmax(210px,280px); color: #20243a; background: #fff; }
.bootstrap-site .host-app.reference-design .host-invite-copy .section-label { color: var(--ref-purple); }
.bootstrap-site .host-app.reference-design .host-invite-copy h2 { color: #20243a; }
.bootstrap-site .host-app.reference-design .host-invite-copy > p:last-of-type { color: #686c7b; }
.bootstrap-site .host-app.reference-design .host-lobby-pin { color: var(--ref-purple); }
.bootstrap-site .host-app.reference-design .host-qr-card { border: 8px solid #f0f1f7; border-radius: 18px; background: #fff; box-shadow: none; }
.bootstrap-site .permanent-qr-badge { margin-top: .35rem; padding: .24rem .45rem; border-radius: 999px; background: #fff0a8; color: #6e5300 !important; font-size: .52rem !important; font-weight: 950; letter-spacing: .045em; line-height: 1; text-transform: uppercase; }

/* Give the start-room checklist a stable alignment grid instead of content-sized columns. */
@media (min-width: 1161px) {
    .bootstrap-site .host-app.reference-design .host-lobby-grid { grid-template-columns: minmax(0,1.25fr) minmax(370px,.75fr); }
}
.bootstrap-site .host-app.reference-design .room-checklist-card .card-heading.compact { min-height: 90px; padding: 1.15rem 1.25rem; align-items: center; }
.bootstrap-site .host-app.reference-design .room-checklist-card .card-heading.compact > div { min-width: 0; }
.bootstrap-site .host-app.reference-design .room-checklist-card .card-heading.compact h2 { margin: .15rem 0 0; line-height: 1.15; }
.bootstrap-site .host-app.reference-design .room-checklist-card .count-badge { flex: 0 0 auto; margin-left: 1rem; white-space: nowrap; }
.bootstrap-site .host-app.reference-design .lobby-guided-checklist { margin: 0; padding: .2rem 1.25rem 1rem; gap: .55rem; }
.bootstrap-site .host-app.reference-design .lobby-guided-checklist li { min-height: 28px; grid-template-columns: 28px minmax(0,1fr); gap: .7rem; line-height: 1.25; }
.bootstrap-site .host-app.reference-design .lobby-guided-checklist b { width: 28px; height: 28px; }
.bootstrap-site .host-app.reference-design .room-checklist { padding: .35rem 1.25rem 0; }
.bootstrap-site .host-app.reference-design .room-checklist > :where(button,a,div) { width: 100%; min-height: 88px; padding: .75rem 0; grid-template-columns: 38px minmax(0,1fr) 48px; gap: .75rem; align-items: center; }
.bootstrap-site .host-app.reference-design .room-checklist > :where(button,a,div) > span:nth-child(2) { min-width: 0; align-self: center; }
.bootstrap-site .host-app.reference-design .room-checklist > :where(button,a,div) > span:nth-child(2) strong,
.bootstrap-site .host-app.reference-design .room-checklist > :where(button,a,div) > span:nth-child(2) small { display: block; }
.bootstrap-site .host-app.reference-design .room-checklist > :where(button,a,div) > span:nth-child(2) small { margin-top: .2rem; line-height: 1.35; }
.bootstrap-site .host-app.reference-design .room-checklist > :where(button,a,div) > b { min-width: 48px; justify-self: end; text-align: right; }
.bootstrap-site .host-app.reference-design .lobby-player-list { min-height: 82px; margin: 0 1.25rem; padding: 1rem 0; }
.bootstrap-site .host-app.reference-design .room-checklist-card > .button { width: auto; margin: auto 1.25rem 0; }
.bootstrap-site .host-app.reference-design .room-checklist-card > .centred-note { margin: .7rem 1.25rem 1rem; }

/* Setup is top-led like the reference, not trapped inside the live sidebar. */
.bootstrap-site .host-app.reference-design.guided-room .host-sidebar-shell { position: static; width: auto; height: auto; padding: 0; background: transparent; box-shadow: none; }
.bootstrap-site .host-app.reference-design.guided-room .host-sidebar-brand { display: none; }
.bootstrap-site .host-app.reference-design.guided-room .host-primary-nav { position: relative; display: grid; width: min(680px,calc(100% - 2rem)); margin: .75rem auto 0; padding: 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; overflow: visible; }
.bootstrap-site .host-app.reference-design.guided-room .host-primary-nav .nav-link { position: relative; z-index: 1; display: grid; min-height: 66px; justify-items: center; align-content: start; gap: .5rem; padding: 0 .75rem; border-radius: 0; color: #85899a; text-align: center; }
.bootstrap-site .host-app.reference-design.guided-room .host-primary-nav .nav-link::before { display: none; }
.bootstrap-site .host-app.reference-design.guided-room .host-primary-nav::before { position: absolute; z-index: 0; top: 17px; right: auto; left: 50%; width: clamp(48px,12vw,116px); height: 2px; background: #dfe1e9; content: ''; transform: translateX(-50%); }
.bootstrap-site .host-app.reference-design.guided-room .host-primary-nav .nav-link i { position: relative; z-index: 2; display: grid; width: 36px; height: 36px; place-items: center; border: 4px solid #f7f8fc; border-radius: 50%; background: #eceef4; color: #5b6275; }
.bootstrap-site .host-app.reference-design.guided-room .host-primary-nav .nav-link span { position: relative; z-index: 2; line-height: 1.15; }
.bootstrap-site .host-app.reference-design.guided-room .host-primary-nav .nav-link:nth-child(1) i::before { content: '1'; }
.bootstrap-site .host-app.reference-design.guided-room .host-primary-nav .nav-link:nth-child(2) i::before { content: '2'; }
.bootstrap-site .host-app.reference-design.guided-room .host-primary-nav .nav-link:nth-child(3) i::before { content: '3'; }
.bootstrap-site .host-app.reference-design.guided-room .host-primary-nav .nav-link.active { background: transparent; color: var(--ref-purple); box-shadow: none; }
.bootstrap-site .host-app.reference-design.guided-room .host-primary-nav .nav-link.active i { background: var(--ref-purple); color: #fff; }
.bootstrap-site .host-app.reference-design.guided-room .setup-step-card { max-width: 1040px; margin-inline: auto; }
.bootstrap-site .host-app.reference-design .setup-quiz-options button { border: 1px solid var(--ref-line); border-radius: 12px; background: #fff; }
.bootstrap-site .host-app.reference-design .setup-quiz-options button.recommended { border-color: var(--ref-purple); background: #f6f3ff; box-shadow: 0 0 0 3px rgba(91,53,232,.08); }
.bootstrap-site .host-app.reference-design .setup-quiz-options button em,
.bootstrap-site .host-app.reference-design .mode-option em { background: var(--ref-pink); }
.bootstrap-site .host-app.reference-design .mode-option.selected { border-color: var(--ref-purple); background: #f6f3ff; }
.bootstrap-site .host-app.reference-design .mode-option input[type="radio"] { appearance: none; width: 20px; height: 20px; min-height: 20px; margin: 2px 0 0; padding: 0; border: 2px solid #aaa5bf; border-radius: 50%; background: #fff; box-shadow: none; }
.bootstrap-site .host-app.reference-design .mode-option input[type="radio"]:checked { border-color: var(--ref-purple); background: var(--ref-purple); box-shadow: inset 0 0 0 4px #fff; }
.bootstrap-site .host-app.reference-design .mode-option input[type="radio"]:focus-visible { outline: 3px solid rgba(91,53,232,.22); outline-offset: 2px; }

/* Two-step setup: one decision per screen, optional detail stays optional. */
.bootstrap-site .host-app.reference-design.guided-room .host-primary-nav { width: min(520px,calc(100% - 2rem)); }
.bootstrap-site .host-app.reference-design.guided-room .host-sidebar-shell { display: grid; place-items: center; }
.bootstrap-site .host-app.reference-design.guided-room .host-top-actions,
.bootstrap-site .host-app.reference-design.guided-room .tablet-utility-bar,
.bootstrap-site .host-app.reference-design.guided-room .host-room-tools { display: none; }
.bootstrap-site .host-app.reference-design.guided-room .host-topbar { min-height: 48px; }
.bootstrap-site .host-app.reference-design.guided-room .setup-wizard { width: min(920px,100%); margin: 0 auto; }
.bootstrap-site .host-app.reference-design.guided-room .host-content { padding-top: .75rem; }
.bootstrap-site .host-app.reference-design.guided-room .setup-wizard-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding-bottom: 0; }
.bootstrap-site .host-app.reference-design.guided-room .setup-wizard-heading h1 { margin: .05rem 0; font-size: clamp(1.65rem,2.6vw,2.35rem); }
.bootstrap-site .host-app.reference-design.guided-room .setup-wizard-heading p { margin-bottom: 0; }

.bootstrap-site .host-app.reference-design .setup-source-step,
.bootstrap-site .host-app.reference-design .setup-premade-picker,
.bootstrap-site .host-app.reference-design .setup-final-step { display: grid; gap: .8rem; padding: clamp(1rem,2vw,1.35rem); }
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options { grid-template-columns: 1.25fr 1fr 1fr; gap: .75rem; }
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button { min-height: 145px; align-content: center; text-align: left; }
.bootstrap-site .host-app.reference-design .setup-premade-fields { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(240px,.75fr); gap: .8rem; align-items: start; }
.bootstrap-site .host-app.reference-design .setup-premade-fields .field { align-content: start; }
.bootstrap-site .host-app.reference-design .setup-premade-fields select { height: 48px; }
.bootstrap-site .host-app.reference-design .setup-picker-intro { margin: 0; color: #606576; }
.bootstrap-site .host-app.reference-design .setup-primary-action { justify-self: end; min-width: 190px; }
.bootstrap-site .host-app.reference-design .setup-back-action { justify-self: start; color: #5f6474; }
.bootstrap-site .host-app.reference-design .setup-final-summary { padding: .75rem .9rem; border-radius: 10px; background: #f7f6fc; }
.bootstrap-site .host-app.reference-design .setup-final-summary h2 { margin: 0 0 .15rem; font-size: 1.3rem; }
.bootstrap-site .host-app.reference-design .setup-final-summary p { margin: 0; }
.bootstrap-site .host-app.reference-design .setup-rule-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.bootstrap-site .host-app.reference-design .setup-rule-title > span { color: #717687; font-size: .78rem; }
.bootstrap-site .host-app.reference-design .setup-simple-modes { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0; }
.bootstrap-site .host-app.reference-design .setup-simple-modes .mode-option { min-height: 84px; padding: .75rem; align-items: center; }
.bootstrap-site .host-app.reference-design .setup-final-step .setup-rule-section { display: grid; gap: .5rem; }
.bootstrap-site .host-app.reference-design .setup-final-step .setup-rule-section h3 { margin: 0; font-size: 1rem; }
.bootstrap-site .host-app.reference-design .setup-final-step .setup-advanced-options { margin-top: 0; }
.bootstrap-site .host-app.reference-design .setup-open-room-action { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .75rem .9rem; border-radius: 12px; background: #f0edff; }
.bootstrap-site .host-app.reference-design .setup-open-room-action > div { display: grid; gap: .1rem; }
.bootstrap-site .host-app.reference-design .setup-open-room-action span { color: #64687a; font-size: .78rem; }
.bootstrap-site .host-app.reference-design .setup-open-room-action .button { flex: 0 0 auto; min-width: 190px; }
.bootstrap-site .host-app.reference-design .setup-change-quiz { justify-self: start; color: var(--ref-purple); }

/* Setup source chooser: clear visual hierarchy, tactile cards, compact responsive flow. */
.bootstrap-site .host-app.reference-design .setup-source-step {
    position: relative;
    align-self: start;
    align-content: start;
    grid-template-rows: auto auto auto;
    gap: 1rem;
    padding: clamp(1rem,2.4vw,1.6rem);
    overflow: hidden;
    border-color: rgba(91,53,232,.12);
    background:
        radial-gradient(circle at 8% 0%,rgba(119,83,255,.09),transparent 34%),
        linear-gradient(155deg,#fff 0%,#fbfaff 100%);
}
.bootstrap-site .host-app.reference-design .setup-source-step::before {
    position: absolute;
    width: 210px;
    height: 210px;
    right: -105px;
    bottom: -145px;
    border: 1px solid rgba(91,53,232,.1);
    border-radius: 50%;
    content: '';
    pointer-events: none;
}
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options {
    position: relative;
    z-index: 1;
    grid-template-columns: 1.16fr 1fr 1fr;
    gap: .9rem;
}
.bootstrap-site .host-app.reference-design .setup-source-step .setup-branding-option {
    position: relative;
    z-index: 1;
    display: grid;
    width: 100%;
    min-width: 0;
    min-height: 104px;
    padding: .9rem 1rem;
    overflow: hidden;
    grid-template-columns: minmax(118px,152px) minmax(0,1fr) auto;
    align-items: center;
    gap: 1rem;
    border: 1px solid #e1dff0;
    border-radius: 16px;
    background:
        linear-gradient(110deg,rgba(244,241,255,.86),rgba(255,255,255,.96) 42%),
        #fff;
    box-shadow: 0 8px 22px rgba(37,31,80,.055);
}
.bootstrap-site .host-app.reference-design .setup-branding-preview {
    position: relative;
    display: grid;
    width: 100%;
    height: 70px;
    min-width: 0;
    place-items: center;
    border: 1px solid #e1ddf6;
    border-radius: 12px;
    background: rgba(255,255,255,.9);
    box-shadow: inset 0 1px rgba(255,255,255,.75);
}
.bootstrap-site .host-app.reference-design .setup-branding-preview > i {
    color: var(--ref-purple);
    font-size: 1.55rem;
    font-style: normal;
    font-weight: 750;
}
.bootstrap-site .host-app.reference-design .setup-branding-preview > img {
    display: block;
    width: auto;
    max-width: calc(100% - 1.1rem);
    height: auto;
    max-height: 54px;
    border-radius: 6px;
    object-fit: contain;
}
.bootstrap-site .host-app.reference-design .setup-branding-copy { display: grid; min-width: 0; gap: .18rem; }
.bootstrap-site .host-app.reference-design .setup-branding-copy > small { color: #7054cc; font-size: .63rem; font-weight: 900; letter-spacing: .075em; line-height: 1.15; text-transform: uppercase; }
.bootstrap-site .host-app.reference-design .setup-branding-copy > strong { color: #20243a; font-size: 1rem; line-height: 1.25; }
.bootstrap-site .host-app.reference-design .setup-branding-copy > span { max-width: 58ch; color: #696d7e; font-size: .8rem; line-height: 1.42; }
.bootstrap-site .host-app.reference-design .setup-branding-actions { display: flex; min-width: 142px; align-items: center; justify-content: flex-end; gap: .4rem; flex-wrap: wrap; }
.bootstrap-site .host-app.reference-design .setup-branding-actions .button { min-width: 104px; min-height: 40px; padding: .5rem .7rem; justify-content: center; border-radius: 9px; font-size: .76rem; }
.bootstrap-site .host-app.reference-design .setup-branding-actions .plain-action { min-height: 40px; padding: .35rem; font-size: .75rem; }
.bootstrap-site .host-app.reference-design .setup-branding-actions :is(.button.disabled,.button[aria-disabled="true"]) { pointer-events: none; opacity: .7; }
.bootstrap-site .host-app.reference-design .setup-branding-option.is-uploading { border-color: rgba(91,53,232,.42); box-shadow: 0 12px 30px rgba(71,47,174,.12); }
.bootstrap-site .host-app.reference-design .setup-branding-option.is-uploading::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg,transparent,#7657ef,#f04475,transparent);
    background-size: 200% 100%;
    content: '';
    animation: setup-branding-progress 1.15s linear infinite;
}
.bootstrap-site .host-app.reference-design .setup-branding-option.is-uploading .setup-branding-preview > img,
.bootstrap-site .host-app.reference-design .setup-branding-option.is-uploading .setup-branding-preview > i { opacity: .3; filter: saturate(.5); }
.bootstrap-site .host-app.reference-design .setup-branding-spinner {
    position: absolute;
    display: block;
    width: 34px;
    height: 34px;
    border: 3px solid rgba(91,53,232,.16);
    border-top-color: #6546db;
    border-right-color: #f04475;
    border-radius: 50%;
    animation: setup-branding-spin .75s linear infinite;
}
.bootstrap-site .host-app.reference-design .setup-branding-success {
    position: absolute;
    right: -.35rem;
    top: -.35rem;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #168a5b;
    color: #fff;
    font-size: .82rem;
    font-weight: 950;
    box-shadow: 0 6px 16px rgba(22,138,91,.25);
    animation: setup-branding-success .45s cubic-bezier(.2,.8,.2,1) both;
}
.bootstrap-site .host-app.reference-design .setup-branding-option.is-complete { border-color: rgba(22,138,91,.34); background: linear-gradient(110deg,rgba(233,249,241,.88),rgba(255,255,255,.96) 42%); }
@keyframes setup-branding-spin { to { transform: rotate(360deg); } }
@keyframes setup-branding-progress { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@keyframes setup-branding-success { from { opacity: 0; transform: scale(.5); } to { opacity: 1; transform: scale(1); } }
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button {
    position: relative;
    display: flex;
    min-height: 176px;
    padding: 1.15rem;
    overflow: hidden;
    align-items: flex-start;
    justify-content: flex-start;
    gap: .38rem;
    border: 1px solid #e1dff0;
    border-radius: 16px;
    background: rgba(255,255,255,.92);
    color: #22253b;
    box-shadow: 0 8px 22px rgba(37,31,80,.055);
    transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options .setup-source-icon {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    border: 1px solid #e1ddf6;
    border-radius: 14px;
    background: #f3f0ff;
    color: var(--ref-purple);
    font-style: normal;
    font-size: 1.55rem;
    font-weight: 750;
    line-height: 1;
}
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button strong {
    margin-top: auto;
    color: #20243a;
    font-size: clamp(1rem,1.45vw,1.18rem);
    line-height: 1.2;
}
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button span {
    max-width: 26ch;
    color: #696d7e;
    font-size: .82rem;
    line-height: 1.42;
}
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button em {
    position: absolute;
    top: 1rem;
    right: 1rem;
    padding: .3rem .55rem;
    background: #fff;
    color: var(--ref-purple);
    box-shadow: 0 2px 8px rgba(48,36,105,.12);
    letter-spacing: .04em;
}
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button.recommended {
    border-color: #7054e8;
    background: linear-gradient(145deg,#6847db 0%,#5938c7 100%);
    box-shadow: 0 14px 28px rgba(91,53,232,.2);
}
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button.recommended .setup-source-icon {
    border-color: rgba(255,255,255,.2);
    background: rgba(255,255,255,.14);
    color: #fff;
}
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button.recommended strong,
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button.recommended span { color: #fff; }
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button.recommended span { color: rgba(255,255,255,.78); }
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button:hover {
    z-index: 2;
    border-color: #9c8ce3;
    background: #fff;
    transform: translateY(-3px);
    box-shadow: 0 16px 32px rgba(48,38,92,.13);
}
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button.recommended:hover {
    border-color: #7c61ee;
    background: linear-gradient(145deg,#7251e2 0%,#603ed0 100%);
    box-shadow: 0 18px 34px rgba(91,53,232,.27);
}
.bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button:focus-visible {
    outline: 3px solid rgba(91,53,232,.28);
    outline-offset: 3px;
}
.bootstrap-site .host-app.reference-design .setup-source-step .setup-display-note {
    position: relative;
    z-index: 1;
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin: .05rem auto 0;
    padding: .58rem .8rem;
    align-items: center;
    gap: .5rem;
    border: 1px solid #e4e1f0;
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    color: #676b7b;
    font-size: .78rem;
    line-height: 1.25;
}
.bootstrap-site .host-app.reference-design .setup-source-step .setup-display-note::before {
    display: grid;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    place-items: center;
    border-radius: 50%;
    background: #e8f7ee;
    color: #11633d;
    content: '✓';
    font-size: .7rem;
    font-weight: 900;
}
@media (max-width: 767px) {
    .bootstrap-site .host-app.reference-design .setup-source-step { padding: .8rem; }
    .bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options { grid-template-columns: 1fr; gap: .65rem; }
    .bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button {
        display: grid;
        min-height: 104px;
        padding: .9rem;
        grid-template-columns: 44px minmax(0,1fr);
        grid-template-rows: auto auto;
        column-gap: .8rem;
        row-gap: .15rem;
        align-content: center;
    }
    .bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options .setup-source-icon {
        width: 44px;
        height: 44px;
        grid-column: 1;
        grid-row: 1 / 3;
    }
    .bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button.recommended .setup-source-icon { grid-row: 1 / 4; }
    .bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button strong,
    .bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button span {
        grid-column: 2;
        margin-top: 0;
    }
    .bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button em {
        position: static;
        grid-column: 2;
        justify-self: start;
        margin-bottom: .1rem;
    }
    .bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button.recommended { min-height: 118px; padding-top: .9rem; }
    .bootstrap-site .host-app.reference-design .setup-source-step .setup-branding-option { min-height: 0; padding: .8rem; grid-template-columns: 92px minmax(0,1fr); gap: .75rem; }
    .bootstrap-site .host-app.reference-design .setup-branding-preview { height: 64px; }
    .bootstrap-site .host-app.reference-design .setup-branding-preview > img { max-height: 48px; }
    .bootstrap-site .host-app.reference-design .setup-branding-actions { grid-column: 1 / -1; min-width: 0; justify-content: stretch; }
    .bootstrap-site .host-app.reference-design .setup-branding-actions .button { flex: 1 1 150px; }
    .bootstrap-site .host-app.reference-design .setup-source-step .setup-display-note { border-radius: 13px; text-align: left; }
    .bootstrap-site .host-app.reference-design .saved-quiz-library > header .plain-action { min-height: 44px; padding: .55rem .4rem; }
}
@media (prefers-reduced-motion: reduce) {
    .bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button { transition: none; }
    .bootstrap-site .host-app.reference-design .setup-branding-spinner,
    .bootstrap-site .host-app.reference-design .setup-branding-option.is-uploading::after,
    .bootstrap-site .host-app.reference-design .setup-branding-success { animation: none; }
}

/* Keep the guided final step inside the available viewport and make every control visibly interactive. */
@media (min-width: 768px) {
    .bootstrap-site .host-app.reference-design.guided-room .host-workspace { height: 100dvh; min-height: 0; display: grid; grid-template-rows: auto auto minmax(0,1fr); overflow: hidden; }
    .bootstrap-site .host-app.reference-design.guided-room .host-content { min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-wizard { min-height: 100%; height: auto; grid-template-rows: auto auto; align-content: start; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-step { width: 100%; min-height: 0; max-height: none; overflow: visible; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-content: start; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-summary { grid-column: 1; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-open-room-action { grid-column: 2; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-step .setup-rule-section { grid-column: 1 / -1; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-step .setup-advanced-options { grid-column: 1 / -1; grid-row: 3; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-step .setup-advanced-options > .setup-advanced-heading { padding-right: 14rem; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-step .setup-change-quiz { z-index: 2; grid-column: 1 / -1; grid-row: 3; align-self: start; justify-self: end; min-height: 36px; margin: .3rem .75rem 0 0; padding: .2rem .4rem; }
}

/* Phone is an immersive controller with a persistent compact footer. */
.bootstrap-site .player-page { --player-surface: #111638; min-height: 100dvh; color: #fff; background: radial-gradient(circle at 50% 12%,rgba(91,53,232,.35),transparent 35%),linear-gradient(180deg,#090d2e,#121439) !important; }
.bootstrap-site .player-controller { width: min(520px,100%); min-height: 100dvh; margin: 0 auto; }
.bootstrap-site .player-identity { z-index: 5; grid-template-columns: 48px minmax(0,1fr) auto auto; gap: .75rem; min-height: 76px; padding: .7rem .85rem; border: 1px solid rgba(255,255,255,.12); border-width: 0 0 1px; background: linear-gradient(135deg,rgba(18,23,68,.96),rgba(8,12,43,.92)); color: #fff; box-shadow: 0 12px 32px rgba(0,0,0,.18); backdrop-filter: blur(18px); }
.bootstrap-site .player-identity .player-initial { width: 48px; height: 48px; border: 2px solid rgba(255,255,255,.2); border-radius: 50%; background: linear-gradient(145deg,#794df0,#445fda); color: #fff; box-shadow: 0 8px 20px rgba(36,25,106,.34); }
.bootstrap-site .player-identity .player-profile-copy { display: grid; min-width: 0; align-content: center; gap: .08rem; }
.bootstrap-site .player-identity .player-profile-copy strong { overflow: hidden; font-size: 1rem; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .player-identity .player-profile-copy small { overflow: hidden; color: rgba(255,255,255,.62); text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .player-identity .player-team-nav { width: max-content; margin-top: .15rem; padding: 0; border: 0; background: transparent; color: #b9c5ff; font-size: .68rem; font-weight: 800; }
.bootstrap-site .player-identity .sound-toggle { position: relative; width: 36px; min-width: 36px; height: 36px; min-height: 36px; padding: 0; justify-content: center; border-color: rgba(255,255,255,.16); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; box-shadow: none; }
.bootstrap-site .player-identity .sound-toggle::before { font-size: 1.05rem; line-height: 1; content: '♪'; }
.bootstrap-site .player-identity .sound-toggle i { position: absolute; right: 6px; bottom: 6px; width: 6px; height: 6px; }
.bootstrap-site .player-identity .sound-toggle span { display: none; }
.bootstrap-site .player-score { min-width: 64px; min-height: 48px; padding: .35rem .6rem; place-content: center; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; background: linear-gradient(135deg,rgba(123,77,240,.42),rgba(52,75,180,.42)); text-align: center; box-shadow: inset 0 1px rgba(255,255,255,.08); }
.bootstrap-site .player-score strong { color: #fff; font-size: 1.12rem; line-height: 1; }
.bootstrap-site .player-score span { margin-top: .18rem; color: rgba(255,255,255,.65); font-size: .58rem; font-weight: 850; letter-spacing: .08em; }
.bootstrap-site .player-main { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.bootstrap-site .player-footer { min-height: 62px; justify-content: center; padding: .55rem .8rem calc(.55rem + env(safe-area-inset-bottom)); border-top-color: rgba(255,255,255,.12); background: rgba(5,8,29,.92); color: rgba(255,255,255,.76); backdrop-filter: blur(18px); }
.bootstrap-site .player-footer .sound-toggle { position: relative; width: 40px; min-width: 40px; height: 40px; min-height: 40px; flex: 0 0 40px; justify-content: center; padding: 0; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.09); color: #fff; }
.bootstrap-site .player-footer .sound-toggle::before { content: '\266A'; font-size: 1.05rem; line-height: 1; }
.bootstrap-site .player-footer .sound-toggle > i { position: absolute; right: 6px; bottom: 6px; width: 7px; height: 7px; }
.bootstrap-site .player-footer .player-leave-action { min-height: 38px; margin: 0 auto; padding: .45rem 1.15rem; border: 1px solid rgba(255,91,111,.42); border-radius: 999px; background: rgba(220,42,68,.13); color: #ff7385 !important; font-size: .76rem; font-weight: 900; text-align: center; text-decoration: none; }
.bootstrap-site .player-footer .player-leave-action:hover,
.bootstrap-site .player-footer .player-leave-action:focus-visible { border-color: #ff7385; background: rgba(220,42,68,.24); color: #fff !important; }
.bootstrap-site .player-reveal-countdown { display: grid; min-width: 112px; margin: .8rem auto 0; padding: .7rem .9rem; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 15px; background: linear-gradient(145deg,#6842dc,#3f56ba) !important; box-shadow: 0 12px 28px rgba(50,32,137,.24); }
.bootstrap-site .player-reveal-countdown strong { color: #fff !important; font-size: clamp(2rem,10vw,3rem); line-height: 1; }
.bootstrap-site .player-reveal-countdown span { margin-top: .3rem; color: rgba(255,255,255,.76) !important; font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.bootstrap-site .player-join,
.bootstrap-site .player-approval-waiting,
.bootstrap-site .player-route-state { color: #fff; background: transparent; box-shadow: none; }
.bootstrap-site .player-join input,
.bootstrap-site .player-join select { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.09); color: #fff; }
.bootstrap-site .player-page .button-primary { border: 0; background: linear-gradient(135deg,var(--ref-purple),var(--ref-purple-bright)); color: #fff !important; }
.bootstrap-site .player-page .button-primary:hover,
.bootstrap-site .player-page .button-primary:focus-visible,
.bootstrap-site .player-page .button-primary:active { color: #fff !important; }
.bootstrap-site .phone-answer { border: 1px solid rgba(255,255,255,.16); border-radius: 10px; box-shadow: 0 8px 20px rgba(0,0,0,.22); }
.bootstrap-site .phone-question { min-height: calc(100svh - 132px); padding: clamp(.8rem,3vw,1.05rem); }
.bootstrap-site .phone-question h1 { margin: .35rem 0 .7rem; font-size: clamp(1.2rem,5vw,1.65rem); line-height: 1.16; }
.bootstrap-site .phone-answer-grid { min-height: 0; grid-template-columns: 1fr; grid-template-rows: repeat(4,minmax(74px,1fr)); gap: .5rem; }
.bootstrap-site .phone-answer { min-height: 74px; grid-template-columns: 42px minmax(0,1fr); grid-template-rows: 1fr; align-items: center; gap: .8rem; padding: .7rem .85rem; }
.bootstrap-site .phone-answer span { align-self: center; font-size: clamp(.92rem,4vw,1.18rem); line-height: 1.08; }

/* TV: flat broadcast composition, illustrated colour fields and neon night. */
.bootstrap-site .display-redesign { overflow: hidden; }
.bootstrap-site .display-redesign .tv-question { max-width: 1920px; min-height: 100dvh; margin: auto; align-content: center; }
.bootstrap-site .display-redesign .tv-question h1 { max-width: 1000px; margin-inline: auto; font-size: clamp(2rem,4.4vw,5.4rem); line-height: 1.05; text-align: center; }
.bootstrap-site .display-redesign .tv-answer-grid { grid-template-columns: repeat(4,minmax(0,1fr)); grid-template-rows: minmax(110px,1fr); }
.bootstrap-site .display-redesign .tv-answer { min-height: 110px; }
.bootstrap-site .display-redesign .tv-timer { aspect-ratio: 1; border-radius: 50%; }
.bootstrap-site .display-redesign .tv-answer { border-radius: 10px; }
.bootstrap-site .display-redesign.audience-day { background: radial-gradient(circle at 90% 18%,rgba(255,129,164,.25),transparent 25%),radial-gradient(circle at 8% 78%,rgba(31,202,225,.25),transparent 24%),linear-gradient(145deg,#fff2e5,#fff 46%,#e9f8ff); }
.bootstrap-site .display-redesign.audience-day::before { background: radial-gradient(circle at 10% 20%,#8d5be8 0 18px,transparent 19px),radial-gradient(circle at 92% 72%,#ff6998 0 15px,transparent 16px),radial-gradient(circle at 75% 15%,#ffb42f 0 7px,transparent 8px); opacity: .7; }
.bootstrap-site .display-redesign.audience-night { background: radial-gradient(circle at 76% 42%,rgba(239,43,131,.22),transparent 22%),radial-gradient(circle at 18% 30%,rgba(23,105,237,.22),transparent 25%),linear-gradient(145deg,#030622,#080629 55%,#12052f) !important; }
.bootstrap-site .display-redesign .tv-question.automatic-overtime { border: clamp(8px,1vw,16px) solid #e22f46; background: radial-gradient(circle at 50% 15%,rgba(255,120,120,.22),transparent 34%),linear-gradient(145deg,#fff3f3,#ffd8dc) !important; box-shadow: inset 0 0 70px rgba(184,18,43,.18),0 0 22px rgba(226,47,70,.55),0 0 58px rgba(226,47,70,.3); animation: overtime-border-glow 1.65s cubic-bezier(.45,0,.55,1) infinite alternate; }
.bootstrap-site .display-redesign .tv-question.automatic-overtime .tv-question-top { grid-template-columns: minmax(0,1fr) minmax(0,min(26vw,360px)); }
.bootstrap-site .display-redesign .tv-overtime-panel { width: min(26vw,360px); min-width: 0; max-width: 100%; box-sizing: border-box; gap: .85rem; padding: 1rem; border: 1px solid rgba(255,255,255,.42); border-radius: 24px; background: linear-gradient(145deg,rgba(115,4,24,.92),rgba(199,25,52,.96)); box-shadow: 0 18px 44px rgba(104,3,21,.34),inset 0 1px 0 rgba(255,255,255,.2); }
.bootstrap-site .display-redesign .tv-overtime-panel .overtime-alert { display: flex; width: 100%; align-items: center; gap: .7rem; padding: .15rem .25rem; border: 0; background: transparent; color: #fff; text-align: left; }
.bootstrap-site .display-redesign .overtime-alert-icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 50%; background: #fff; color: #b20f2a; font-size: 1.35rem; font-weight: 950; box-shadow: 0 0 0 6px rgba(255,255,255,.13); }
.bootstrap-site .display-redesign .overtime-alert > span:last-child { display: grid; gap: .1rem; }
.bootstrap-site .display-redesign .overtime-alert strong { color: #fff; font-size: clamp(1rem,1.6vw,1.35rem); letter-spacing: .1em; line-height: 1; text-transform: uppercase; }
.bootstrap-site .display-redesign .overtime-alert small { color: rgba(255,255,255,.84); font-size: clamp(.72rem,1vw,.9rem); font-weight: 750; letter-spacing: .01em; text-transform: none; }
.bootstrap-site .display-redesign .tv-overtime-panel .tv-timer.automatic-overtime { border-color: #fff !important; box-shadow: 0 0 0 8px rgba(255,255,255,.13),0 0 30px rgba(255,70,96,.75),0 16px 38px rgba(70,0,12,.3) !important; }
.bootstrap-site .display-redesign.audience-night .tv-question.automatic-overtime { background: radial-gradient(circle at 50% 15%,rgba(255,65,90,.28),transparent 34%),linear-gradient(145deg,#26040b,#10030a) !important; }
.bootstrap-site .display-redesign .tv-timer.automatic-overtime { border-color: #ff314d !important; background: #c71934 !important; color: #fff !important; box-shadow: 0 0 0 10px rgba(218,29,58,.13),0 18px 45px rgba(137,5,26,.3) !important; animation: overtime-pulse 1.3s cubic-bezier(.45,0,.55,1) infinite alternate; }
.bootstrap-site .display-redesign .tv-overtime-badge { display: inline-flex; margin: 0 0 .6rem; padding: .45rem .8rem; border-radius: 999px; background: #c71934; color: #fff; font-size: .78rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.bootstrap-site .display-redesign .overtime-alert { border-color: #a81029; background: #c71934; color: #fff; }
.bootstrap-site .host-clock.automatic-overtime { border-color: #df3048 !important; background: #fff0f2 !important; color: #bd1530 !important; }
.bootstrap-site .phone-question.automatic-overtime { box-shadow: inset 0 0 0 4px #d92d49; }
.bootstrap-site .phone-question.automatic-overtime .phone-question-meta { color: #d92d49; }
.bootstrap-site .question-winners-layout.no-winners { background: radial-gradient(circle at 74% 22%,rgba(255,188,52,.3),transparent 24%),radial-gradient(circle at 12% 80%,rgba(114,86,244,.22),transparent 25%); }
.bootstrap-site .no-question-winners { display: grid; min-height: 260px; place-content: center; justify-items: center; gap: .7rem; padding: 2rem; border: 3px dashed #6d52d9; border-radius: 24px; background: linear-gradient(145deg,#fff8d9,#f2edff); color: #24213d; text-align: center; box-shadow: 12px 12px 0 rgba(109,82,217,.15); }
.bootstrap-site .no-question-winners > span { font-size: clamp(4rem,8vw,7rem); line-height: 1; filter: drop-shadow(0 10px 14px rgba(55,35,120,.18)); }
.bootstrap-site .no-question-winners > strong { font-size: clamp(1.5rem,3vw,2.5rem); }
.bootstrap-site .no-question-winners > small { color: #69637e; font-size: clamp(.85rem,1.4vw,1.1rem); }
.bootstrap-site .audience-night .no-question-winners { border-color: #63f3ff; background: linear-gradient(145deg,#101936,#201345); color: #fff; }
.bootstrap-site .audience-night .no-question-winners > small { color: rgba(255,255,255,.7); }
@keyframes overtime-pulse { from { transform: scale(.985); filter: brightness(.96); } to { transform: scale(1.025); filter: brightness(1.08); } }
@keyframes overtime-border-glow {
    from { box-shadow: inset 0 0 70px rgba(184,18,43,.16),0 0 16px rgba(226,47,70,.42),0 0 34px rgba(226,47,70,.22); }
    to { box-shadow: inset 0 0 92px rgba(184,18,43,.3),0 0 30px rgba(255,48,77,.86),0 0 76px rgba(226,47,70,.52); }
}

@media (max-width: 1199.98px) {
    .bootstrap-site .host-app.reference-design.room-ready .host-workspace { padding-left: 84px; }
    .bootstrap-site .host-app.reference-design.room-ready .host-sidebar-shell { position: fixed; inset: 0 auto 0 0; width: 84px; height: auto; padding: .8rem .45rem; flex-direction: column; align-items: stretch; background: #090d37; }
    .bootstrap-site .host-app.reference-design.room-ready .host-sidebar-brand { padding: .2rem 0 1rem; text-align: center; }
    .bootstrap-site .host-app.reference-design.room-ready .host-sidebar-brand svg { width: 70px; }
    .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav { width: 100%; flex: 1; flex-direction: column; }
    .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link { min-height: 58px; flex: 0 0 auto; flex-direction: column; justify-content: center; gap: .1rem; padding: .3rem; font-size: .62rem; text-align: center; }

}

@media (max-width: 991.98px) {
    .bootstrap-site .host-auth-shell { overflow: hidden; }
    .bootstrap-site .host-auth-shell .public-header { width: calc(100% - 2rem); min-height: 76px; }
    .bootstrap-site .host-auth-shell .host-auth-polished { width: calc(100% - 2rem); min-height: calc(100dvh - 76px); padding: 0 0 2rem; grid-template-columns: minmax(0,1fr) minmax(360px,.86fr); }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-context { display: flex; padding: 1.5rem 2rem 1.5rem 0; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-context h1 { font-size: clamp(2.6rem,6vw,4.2rem); }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-context-list { display: none; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form-wrap { padding: 2rem; border-radius: 20px; }
    .bootstrap-site .public-shell .host-auth-polished { min-height: calc(100dvh - 72px); padding: 1rem; grid-template-columns: 1fr; gap: 0; }
    .bootstrap-site .public-shell .host-auth-polished > .auth-context,
    .bootstrap-site .public-shell .host-auth-polished > .auth-form-wrap { min-height: 0; }
    .bootstrap-site .public-shell .host-auth-polished .auth-context { padding: clamp(1.5rem,5vw,3rem); border-radius: 20px 20px 0 0; }
    .bootstrap-site .public-shell .host-auth-polished .auth-context h1 { font-size: clamp(2rem,7vw,3.6rem); }
    .bootstrap-site .public-shell .host-auth-polished .auth-context-list { display: none; }
    .bootstrap-site .public-shell .host-auth-polished .auth-form-wrap { padding: clamp(1.25rem,5vw,2.5rem); border-radius: 0 0 20px 20px; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .host-later-quiz-callout,
    .bootstrap-site .builder-for-later-banner { align-items: stretch; flex-direction: column; }
    .bootstrap-site .host-later-quiz-callout .button,
    .bootstrap-site .builder-for-later-banner .button { width: 100%; }
    .bootstrap-site .host-content:has(#quizEditor) > .workspace-heading { gap: .55rem; padding-bottom: .35rem; }
    .bootstrap-site .host-content:has(#quizEditor) > .workspace-heading h1 { font-size: 2rem; }
    .bootstrap-site .host-content:has(#quizEditor) > .workspace-heading .heading-actions { gap: .4rem; padding: .35rem; }
    .bootstrap-site .host-content:has(#quizEditor) > .workspace-heading .save-state { min-height: 34px; }
    .bootstrap-site .host-content:has(#quizEditor) > .workspace-heading .button { min-height: 42px; }
    .bootstrap-site .builder-edit-toolbar { margin-bottom: .55rem; }
    .bootstrap-site .builder-options-panel { position: fixed; z-index: 110; top: 50%; right: auto; left: 50%; width: min(360px,calc(100vw - 2rem)); transform: translate(-50%,-50%); }
    .bootstrap-site .host-content:has(#quizEditor) .quiz-title-row { grid-template-columns: minmax(0,1fr) auto auto; gap: .5rem; padding: .75rem; }
    .bootstrap-site .host-content:has(#quizEditor) .quiz-title-row > div { padding: .4rem .55rem; }
    .bootstrap-site .host-content:has(#quizEditor) .quiz-title-row > div strong { font-size: 1rem; }
    .bootstrap-site .quiz-editor > .suggestion-library { padding: .7rem .75rem; }
    .bootstrap-site .quiz-editor > .suggestion-library .suggestion-library-heading { align-items: center; }
    .bootstrap-site .quiz-editor > .suggestion-library .suggestion-library-heading > div > div p { display: none; }
    .bootstrap-site .host-auth-shell .public-header { width: calc(100% - 1.5rem); height: clamp(52px,10dvh,66px); min-height: 52px; }
    .bootstrap-site .host-auth-shell .home-brand-mark { width: 31px; height: 31px; border-width: 2px; font-size: .84rem; }
    .bootstrap-site .host-auth-shell .home-brand-word { font-size: 1.25rem; }
    .bootstrap-site .host-auth-shell .auth-join-link span { display: none; }
    .bootstrap-site .host-auth-shell .host-auth-polished { width: 100%; height: calc(100dvh - clamp(52px,10dvh,66px)); min-height: 0; padding: .35rem .65rem .65rem; grid-template-columns: 1fr; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-context { display: none; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form-wrap { width: 100%; height: 100%; padding: clamp(.75rem,2.6dvh,1.3rem) clamp(1rem,5vw,1.5rem); border-radius: 18px; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form { gap: clamp(.35rem,1.3dvh,.7rem); }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form :is(h1, h2) { margin-bottom: .1rem; font-size: clamp(1.55rem,7.5vw,2rem); }
    .bootstrap-site .host-auth-shell .auth-form .segmented { padding: 3px; }
    .bootstrap-site .host-auth-shell .auth-form .segmented button { min-height: clamp(34px,6.4dvh,40px); }
    .bootstrap-site .host-auth-shell .auth-form .field { gap: 2px; font-size: .78rem; }
    .bootstrap-site .host-auth-shell .auth-form input { min-height: clamp(40px,7.8dvh,48px); margin-top: .15rem; padding-block: .45rem; }
    .bootstrap-site .host-auth-shell .auth-form .button-primary { min-height: clamp(42px,7.8dvh,48px); }
    .bootstrap-site .host-auth-shell .auth-note { margin-top: .45rem; font-size: .72rem; }
    .bootstrap-site .home-page.reference-design { padding: 0 !important; }
    .bootstrap-site .home-page.reference-design .home-reference-hero { height: 100%; min-height: 0; border-radius: 0; }
    .bootstrap-site .home-page.reference-design .home-header { min-height: 0; padding: 0; }
    .bootstrap-site .home-page.reference-design .home-nav a:not(:last-child) { display: none; }
    .bootstrap-site .home-page.reference-design .home-hero-inner { display: block; min-height: auto; padding: 2rem 1rem 1rem; }
    .bootstrap-site .home-page.reference-design .home-copy { text-align: center; }
    .bootstrap-site .home-page.reference-design .home-copy h1 { font-size: clamp(2.8rem,13vw,4.1rem); }
    .bootstrap-site .home-page.reference-design .home-intro { margin-inline: auto; }
    .bootstrap-site .home-page.reference-design .hero-join { margin-inline: auto; }
    .bootstrap-site .home-page.reference-design .home-primary-actions { justify-content: center; }
    .bootstrap-site .home-page.reference-design .home-demo { width: calc(100% + 2rem); min-height: 280px; margin: 1rem -1rem 0; clip-path: none; background-position: 65% center; }
    .bootstrap-site .home-page.reference-design .home-flow { width: calc(100% - 1.2rem); grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .home-page.reference-design .home-flow > div:last-child { grid-column: 1 / -1; }
    .bootstrap-site .home-page.reference-design .home-header { min-height: 0; }
    .bootstrap-site .home-page.reference-design .home-nav a { display: inline !important; font-size: .75rem; }
    .bootstrap-site .home-page.reference-design .home-simple-inner { display: grid; min-height: 0; padding: clamp(1.4rem,5vh,2.5rem) 1rem 4rem; }
    .bootstrap-site .home-page.reference-design .home-simple-copy h1 { font-size: clamp(2.8rem,14vw,4rem); }
    .bootstrap-site .home-page.reference-design .home-simple-copy .home-intro { margin-bottom: 1.25rem; }
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join { padding: 1rem; }
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join > div { grid-template-columns: 1fr; }
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join .button { width: 100%; }
    .bootstrap-site .public-shell .host-auth-polished { padding: .65rem; }
    .bootstrap-site .public-shell .host-auth-polished .auth-context { padding: 1.3rem; }
    .bootstrap-site .public-shell .host-auth-polished .auth-context-intro { font-size: .92rem; }
    .bootstrap-site .public-shell .host-auth-polished .auth-form-wrap { padding: 1.2rem; }
    .bootstrap-site .host-app.reference-design.room-ready .host-sidebar-shell { position: fixed; inset: auto 0 0; z-index: 50; width: 100%; height: auto; padding: .35rem max(.45rem,env(safe-area-inset-right)) calc(.35rem + env(safe-area-inset-bottom)) max(.45rem,env(safe-area-inset-left)); flex-direction: row; align-items: stretch; }
    .bootstrap-site .host-app.reference-design.room-ready .host-workspace { padding-left: 0; }
    .bootstrap-site .host-app.reference-design.room-ready .host-sidebar-brand { display: none; }
    .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav { width: 100%; min-width: 0; margin: 0; flex: 1 1 auto; flex-direction: row; overflow: visible; }
    .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link { min-height: 50px; flex-direction: column; gap: .05rem; padding: .2rem; font-size: .66rem; }
    .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link { min-width: 0; flex: 1 1 0; }
    .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link i { height: 18px; }
    .bootstrap-site .host-app.reference-design.guided-room .host-primary-nav { width: min(360px,calc(100% - 2rem)); }
    .bootstrap-site .host-app.reference-design.guided-room .host-primary-nav .nav-link { width: auto; min-width: 0; font-size: .72rem; }
    .bootstrap-site .host-app.reference-design.guided-room .host-primary-nav::before { top: 15px; width: 48px; }
    .bootstrap-site .host-app.reference-design.guided-room .host-primary-nav .nav-link i { width: 32px; height: 32px; }
    .bootstrap-site .host-app.reference-design.guided-room .host-topbar { display: none; }
    .bootstrap-site .host-app.reference-design.guided-room .host-sidebar-shell { padding-top: .5rem; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-wizard-heading { align-items: flex-start; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-wizard-heading p { font-size: .95rem; line-height: 1.45; }
    .bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options,
    .bootstrap-site .host-app.reference-design .setup-premade-fields,
    .bootstrap-site .host-app.reference-design .setup-simple-modes { grid-template-columns: 1fr; }
    .bootstrap-site .host-app.reference-design .setup-source-step .setup-quiz-options button { min-height: 108px; }
    .bootstrap-site .host-app.reference-design .setup-primary-action { width: 100%; justify-self: stretch; }
    .bootstrap-site .host-app.reference-design .setup-open-room-action { align-items: stretch; flex-direction: column; }
    .bootstrap-site .host-app.reference-design .setup-open-room-action .button { width: 100%; min-width: 0; order: -1; }
    .bootstrap-site .host-app.reference-design .host-content { padding-bottom: calc(6rem + env(safe-area-inset-bottom)); }
    .bootstrap-site .display-redesign .tv-question,
    .bootstrap-site .display-redesign .tv-lobby,
    .bootstrap-site .display-redesign .tv-reveal { padding: 3.5rem .75rem 1rem; }
    .bootstrap-site .player-identity { min-height: 62px; padding: .55rem .75rem; }
    .bootstrap-site .player-identity .player-initial { width: 42px; height: 42px; }
    .bootstrap-site .player-identity > div strong { font-size: .95rem; }
    .bootstrap-site .player-score strong { font-size: 1.1rem; }
    .bootstrap-site .player-footer { min-height: 54px; padding: .35rem .55rem calc(.35rem + env(safe-area-inset-bottom)); }
}

/* iPhone/phone webviews can report a desktop-style 980px layout viewport. Device
   capability wins over that lie so Quizmaster still uses its phone composition. */
html.phone-device .bootstrap-site .host-app.reference-design.room-ready .host-sidebar-shell { position: fixed; inset: auto 0 0; z-index: 50; width: 100%; height: auto; padding: .35rem max(.45rem,env(safe-area-inset-right)) calc(.35rem + env(safe-area-inset-bottom)) max(.45rem,env(safe-area-inset-left)); flex-direction: row; }
html.phone-device .bootstrap-site .host-app.reference-design.room-ready .host-workspace { padding-left: 0; }
html.phone-device .bootstrap-site .host-app.reference-design.room-ready .host-sidebar-brand { display: none; }
html.phone-device .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav { width: 100%; min-width: 0; margin: 0; flex: 1 1 auto; flex-direction: row; overflow: visible; }
html.phone-device .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link { min-width: 0; min-height: 50px; flex: 1 1 0; flex-direction: column; justify-content: center; gap: .05rem; padding: .2rem; font-size: .66rem; text-align: center; }
html.phone-device .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link i { height: 18px; }
html.phone-device .bootstrap-site .host-app.reference-design .host-content { width: 100%; padding: .8rem .8rem calc(6.5rem + env(safe-area-inset-bottom)); }
html.phone-device .bootstrap-site .host-app.reference-design .host-topbar { min-height: 52px; padding-inline: .8rem; }
html.phone-device .bootstrap-site .host-app.reference-design .host-lobby-grid { grid-template-columns: 1fr; }
html.phone-device .bootstrap-site .host-app.reference-design .host-invite-card { min-height: 0; grid-template-columns: 1fr; padding: 1rem; }
html.phone-device .bootstrap-site .host-app.reference-design .host-invite-copy { padding: 0; }
html.phone-device .bootstrap-site .host-app.reference-design .host-lobby-pin { width: 100%; margin-bottom: .8rem; font-size: clamp(3rem,12vw,4.4rem); line-height: 1; white-space: nowrap; writing-mode: horizontal-tb; }
html.phone-device .bootstrap-site .host-app.reference-design .host-qr-card { width: min(300px,100%); margin: 1rem auto 0; padding: .75rem; border-width: 6px; }
html.phone-device .bootstrap-site .host-app.reference-design .host-invite-actions { flex-direction: column; }
html.phone-device .bootstrap-site .host-app.reference-design .host-invite-actions > * { width: 100%; }
html.phone-device .bootstrap-site .host-later-quiz-callout,
html.phone-device .bootstrap-site .builder-for-later-banner { align-items: stretch; flex-direction: column; }
html.phone-device .bootstrap-site .host-later-quiz-callout .button,
html.phone-device .bootstrap-site .builder-for-later-banner .button { width: 100%; }
html.phone-device .bootstrap-site .host-app.reference-design .host-session-status,
html.phone-device .bootstrap-site .host-app.reference-design .host-display-control > summary.host-pin-card,
html.phone-device .bootstrap-site .host-app.reference-design .live-tools-drawer > summary,
html.phone-device .bootstrap-site .host-app.reference-design .live-more-controls > summary,
html.phone-device .bootstrap-site .host-app.reference-design #logoutHost,
html.phone-device .bootstrap-site .host-app.reference-design #saveQuiz,
html.phone-device .bootstrap-site .host-app.reference-design [data-delete-round],
html.phone-device .bootstrap-site .host-app.reference-design .question-more-fields > summary,
html.phone-device .bootstrap-site .host-app.reference-design .builder-options > summary,
html.phone-device .bootstrap-site .host-app.reference-design .builder-edit-toolbar .builder-back-to-sources,
html.phone-device .bootstrap-site .host-app.reference-design .presentation-toggle,
html.phone-device .bootstrap-site .host-app.reference-design .audience-theme-control button,
html.phone-device .bootstrap-site .host-app.reference-design .tablet-drawer-close,
html.phone-device .bootstrap-site .host-app.reference-design .question-editor-footer > .danger-text,
html.phone-device .bootstrap-site .host-app.reference-design .add-question,
html.phone-device .bootstrap-site .host-app.reference-design .managed-team .plain-action,
html.phone-device .bootstrap-site .host-app.reference-design .member-row .plain-action { min-height: 44px !important; }
html.phone-device .bootstrap-site .host-app.reference-design #logoutHost { min-width: 44px; }

@media (min-width: 1200px) and (max-height: 820px) {
    .bootstrap-site .host-content:has(.live-layout) { height: calc(100dvh - 66px); grid-template-rows: auto minmax(360px,1fr) auto; }
    .bootstrap-site .live-layout { min-height: 360px; }
    .bootstrap-site .host-question-cockpit .host-question { min-height: 180px; }
}

/* Audit-driven workflow polish. */
.bootstrap-site .host-app.reference-design .host-content > .workspace-heading .heading-actions { position: sticky; z-index: 18; top: .6rem; align-self: flex-start; padding: .45rem; border: 1px solid var(--ref-line); border-radius: 10px; background: rgba(255,255,255,.94); box-shadow: 0 8px 24px rgba(18,23,61,.08); backdrop-filter: blur(12px); }
.bootstrap-site .builder-back-to-sources { margin: -.25rem 0 .75rem; }

/* The quiz page has two modes: choose a quiz, or edit it. Secondary settings stay quiet. */
.bootstrap-site .host-content:has(#quizEditor) > .workspace-heading { margin-bottom: .7rem; }
.bootstrap-site .host-content:has(#quizEditor) > .workspace-heading h1 { font-size: clamp(2rem,4vw,3rem); }
.bootstrap-site .builder-edit-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .7rem; }
.bootstrap-site .builder-edit-toolbar .builder-back-to-sources { min-height: 42px; margin: 0; padding: .45rem .2rem; }
.bootstrap-site .builder-options { position: relative; margin-left: auto; }
.bootstrap-site .builder-options > summary { min-height: 42px; display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .9rem; border: 1px solid #d7d9e3; border-radius: 999px; background: #fff; color: #30354a; cursor: pointer; font-weight: 700; list-style: none; }
.bootstrap-site .builder-options > summary::-webkit-details-marker { display: none; }
.bootstrap-site .builder-options > summary::after { content: '⌄'; color: #7065c9; font-size: .9rem; }
.bootstrap-site .builder-options[open] > summary { border-color: #7968db; background: #f3f0ff; color: #41338e; }
.bootstrap-site .builder-options[open] > summary::after { content: '⌃'; }
.bootstrap-site .builder-options-panel { position: absolute; z-index: 22; top: calc(100% + .45rem); right: 0; width: min(360px,calc(100vw - 2rem)); padding: .8rem; border: 1px solid #d9dbe6; border-radius: 14px; background: #fff; box-shadow: 0 18px 44px rgba(25,28,61,.16); }
.bootstrap-site .builder-options .builder-duration-control { grid-template-columns: minmax(0,1fr) auto; margin: 0; }
.bootstrap-site .builder-essentials { grid-template-columns: minmax(0,1fr); }
.bootstrap-site .host-content:has(#quizEditor) .quiz-title-row { padding: .85rem 1rem; }
.bootstrap-site .host-content:has(#quizEditor) .quiz-title-row .field { margin: 0; }
.bootstrap-site .quiz-editor > .suggestion-library { margin-top: .15rem; padding: .8rem 1rem; }
.bootstrap-site .quiz-editor > .suggestion-library:not(.open) .suggestion-library-heading h2 + p { display: none; }
.bootstrap-site .quiz-editor > .suggestion-library:not(.open) .suggestion-library-icon { width: 34px; height: 34px; }
.bootstrap-site .question-editor-footer { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; margin-top: .15rem; }
.bootstrap-site .question-more-fields { flex: 1 1 auto; min-width: 0; }
.bootstrap-site .question-more-fields > summary { width: max-content; cursor: pointer; color: #5145a5; font-size: .82rem; font-weight: 750; list-style: none; }
.bootstrap-site .question-more-fields > summary::-webkit-details-marker { display: none; }
.bootstrap-site .question-more-fields > summary::after { content: ' +'; }
.bootstrap-site .question-more-fields[open] > summary::after { content: ' −'; }
.bootstrap-site .question-more-fields .question-meta-fields { grid-template-columns: minmax(150px,.6fr) minmax(240px,1.4fr); margin-top: .65rem; }
.bootstrap-site .question-editor-footer > .danger-text { flex: 0 0 auto; font-size: .78rem; }
.bootstrap-site .host-question-cockpit { display: grid; grid-template-rows: auto minmax(0,1fr) auto auto; min-height: 0; overflow: hidden; }
.bootstrap-site .host-question-cockpit .card-heading { margin-bottom: .55rem; }
.bootstrap-site .host-question-cockpit .host-question { min-height: 0; overflow: auto; padding: .85rem; border-radius: 10px; background: #f7f8fc; }
.bootstrap-site .host-question-cockpit .host-question > small { display: block; margin-bottom: .35rem; color: var(--ref-purple); font-weight: 800; }
.bootstrap-site .host-question-cockpit .host-question h3 { margin: 0 0 .65rem; font-size: clamp(1.15rem,2vw,1.65rem); line-height: 1.18; }
.bootstrap-site .host-question-cockpit .host-answer-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; }
.bootstrap-site .host-question-cockpit .host-answer-list > div { min-height: 44px; }
.bootstrap-site .host-question-cockpit .response-meter { position: relative; display: grid; grid-template-columns: auto minmax(120px,1fr); align-items: center; gap: .75rem; margin: .65rem 0 0; padding: 0; }
.bootstrap-site .host-question-cockpit .response-meter > div:first-child { display: flex; min-width: 130px; align-items: baseline; justify-content: space-between; gap: .6rem; }
.bootstrap-site .host-question-cockpit .response-meter .meter { margin: 0; }
.bootstrap-site .profile-image-details { margin: -.2rem 0 .35rem; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; background: rgba(255,255,255,.05); }
.bootstrap-site .profile-image-details summary { cursor: pointer; padding: .7rem .8rem; color: #fff; font-weight: 750; list-style: none; }
.bootstrap-site .profile-image-details summary::-webkit-details-marker { display: none; }
.bootstrap-site .profile-image-details summary::after { content: '+'; float: right; }
.bootstrap-site .profile-image-details[open] summary::after { content: '−'; }
.bootstrap-site .profile-image-details summary span { margin-left: .35rem; color: rgba(255,255,255,.58); font-size: .78rem; font-weight: 600; }
.bootstrap-site .profile-image-details .profile-image-field { margin: 0; padding: 0 .8rem .8rem; }
.bootstrap-site .profile-image-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}
.bootstrap-site .profile-image-picker {
    display: flex;
    min-height: 44px;
    margin-top: .4rem;
    padding: .65rem .85rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #aab7cb;
    border-radius: 9px;
    background: #fff;
    color: #27324a;
    font-weight: 800;
    cursor: pointer;
}
.bootstrap-site .profile-image-input:focus + .profile-image-picker { outline: 3px solid rgba(81,64,215,.28); outline-offset: 2px; }
.bootstrap-site .profile-photo-simple { display: grid; grid-template-columns: 76px minmax(0,1fr); align-items: center; gap: .8rem; margin: -.1rem 0 .35rem; padding: .75rem; border: 1px solid rgba(255,255,255,.2); border-radius: 14px; background: rgba(255,255,255,.07); }
.bootstrap-site .profile-photo-preview { display: grid; width: 76px; aspect-ratio: 1; place-content: center; overflow: hidden; border: 2px solid rgba(255,255,255,.34); border-radius: 20px; background: linear-gradient(145deg,#7651e6,#455bd1); color: #fff; font-size: 2rem; box-shadow: 0 8px 20px rgba(0,0,0,.18); }
.bootstrap-site .profile-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.bootstrap-site .profile-photo-copy { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .35rem .55rem; }
.bootstrap-site .profile-photo-copy > strong { grid-column: 1 / -1; color: #fff; font-size: .9rem; }
.bootstrap-site .profile-photo-copy > strong small { margin-left: .3rem; color: rgba(255,255,255,.62); font-size: .68rem; font-weight: 750; text-transform: uppercase; }
.bootstrap-site .profile-photo-copy > p { grid-column: 1 / -1; margin: 0; color: rgba(255,255,255,.78); font-size: .72rem; font-weight: 650; line-height: 1.35; }
.bootstrap-site .profile-photo-simple .profile-image-picker { min-height: 40px; margin: 0; padding: .5rem .7rem; border-color: rgba(126,227,180,.48); background: #17233d; color: #fff; font-size: .76rem; }
.bootstrap-site .profile-photo-simple .profile-image-picker:focus-within { outline: 3px solid rgba(81,164,255,.45); outline-offset: 2px; }
.bootstrap-site .profile-photo-remove { min-height: 40px; padding: .35rem !important; color: #ff9aac !important; font-size: .7rem !important; }
.bootstrap-site .profile-photo-simple.photo-ready { border-color: #69d5a1; background: rgba(28,133,87,.18); }
.bootstrap-site .profile-photo-simple.photo-ready .profile-photo-preview { border-color: #79e3af; box-shadow: 0 0 0 5px rgba(105,213,161,.13),0 8px 20px rgba(0,0,0,.18); }
.bootstrap-site .photo-choice-backdrop {
    position: fixed;
    inset: 0;
    z-index: 260;
    display: grid;
    padding: max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));
    place-items: center;
    background: rgba(7,10,32,.8);
    backdrop-filter: blur(10px) saturate(.8);
}
.bootstrap-site .photo-choice-modal {
    width: min(100%,430px);
    max-height: calc(100dvh - 28px);
    padding: clamp(1.25rem,5vw,1.8rem);
    overflow-y: auto;
    border: 1px solid rgba(111,82,237,.24);
    border-radius: 24px;
    background: linear-gradient(180deg,#fff 0%,#f8f7ff 100%);
    color: #171a2d;
    box-shadow: 0 28px 80px rgba(3,7,28,.5),0 0 0 1px rgba(255,255,255,.7) inset;
    text-align: center;
}
.bootstrap-site .photo-choice-modal:focus { outline: none; }
.bootstrap-site .photo-choice-preview {
    display: grid;
    width: 88px;
    height: 88px;
    margin: 0 auto 1rem;
    place-items: center;
    overflow: hidden;
    border: 4px solid #fff;
    border-radius: 50%;
    background: #eeebff;
    box-shadow: 0 0 0 5px rgba(91,53,232,.13),0 12px 28px rgba(54,38,137,.2);
}
.bootstrap-site .photo-choice-preview.team-photo-preview { border-radius: 24px; }
.bootstrap-site .photo-choice-preview img { width: 100%; height: 100%; object-fit: cover; }
.bootstrap-site .photo-choice-modal .section-label { margin: 0 0 .35rem; color: #5b35e8; font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.bootstrap-site .photo-choice-modal h2 { margin: 0 auto .7rem; color: #181b30; font-size: clamp(1.45rem,6vw,1.9rem); letter-spacing: -.035em; line-height: 1.08; }
.bootstrap-site .photo-choice-modal > p:not(.section-label),
.bootstrap-site .photo-choice-modal > form + p { margin: 0 auto 1.2rem; color: #60677a; font-size: .9rem; line-height: 1.48; }
.bootstrap-site .photo-choice-status { padding: .65rem .75rem; border-radius: 12px; background: #fff3d8; color: #6e4a00 !important; font-size: .78rem !important; font-weight: 750; }
.bootstrap-site .photo-choice-modal form { margin: 0; }
.bootstrap-site .photo-choice-actions { display: grid; gap: .65rem; margin-top: 1.15rem; }
.bootstrap-site .photo-choice-primary,
.bootstrap-site .photo-choice-secondary {
    display: inline-flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    padding: .8rem 1rem;
    border-radius: 14px;
    font: inherit;
    font-size: .9rem;
    font-weight: 900;
    cursor: pointer;
}
.bootstrap-site .photo-choice-primary { border: 1px solid #4d2ac7; background: linear-gradient(135deg,#6845e2,#4d31c5); color: #fff; box-shadow: 0 10px 22px rgba(77,49,197,.24); }
.bootstrap-site .photo-choice-secondary { border: 1px solid #cfd3de; background: #fff; color: #42495b; }
.bootstrap-site .photo-choice-primary:hover,
.bootstrap-site .photo-choice-primary:focus-visible { border-color: #291487; background: linear-gradient(135deg,#5432cd,#372099); outline: 3px solid rgba(91,53,232,.22); outline-offset: 2px; }
.bootstrap-site .photo-choice-secondary:hover,
.bootstrap-site .photo-choice-secondary:focus-visible { border-color: #8d93a3; background: #f2f3f7; outline: 3px solid rgba(85,91,109,.14); outline-offset: 2px; }
.bootstrap-site .photo-choice-file-input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.bootstrap-site .photo-choice-modal .image-upload-progress { margin: .8rem 0 0; color: #3f32a4; text-align: left; }
@media (max-height: 620px) {
    .bootstrap-site .photo-choice-modal { padding: 1rem; border-radius: 18px; }
    .bootstrap-site .photo-choice-preview { width: 62px; height: 62px; margin-bottom: .65rem; }
    .bootstrap-site .photo-choice-actions { margin-top: .8rem; }
    .bootstrap-site .photo-choice-primary,
    .bootstrap-site .photo-choice-secondary { min-height: 48px; }
}
.bootstrap-site .host-all-ready-modal { width: min(470px,calc(100vw - 2rem)); border-color: #9fdfbd; background: linear-gradient(145deg,#f3fff8,#fff); box-shadow: 0 28px 80px rgba(14,85,50,.25); }
.bootstrap-site .host-all-ready-modal .host-confirm-icon.all-ready { background: linear-gradient(145deg,#14a863,#087441); color: #fff; box-shadow: 0 10px 24px rgba(8,116,65,.25); }
.bootstrap-site .host-all-ready-modal .section-label { color: #087441; }
.bootstrap-site .host-all-ready-score { display: grid; width: max-content; grid-template-columns: auto auto auto; align-items: baseline; justify-content: center; gap: .35rem; margin: 1rem auto .2rem; padding: .7rem 1.15rem .55rem; border: 1px solid #95dcb6; border-radius: 16px; background: linear-gradient(135deg,#087441,#11a25f); color: #fff; box-shadow: 0 10px 24px rgba(8,116,65,.2); }
.bootstrap-site .host-all-ready-score strong { color: #fff; font-size: 1.8rem; line-height: 1; }
.bootstrap-site .host-all-ready-score span { color: rgba(255,255,255,.72); font-size: 1.2rem; font-weight: 900; }
.bootstrap-site .host-all-ready-score small { grid-column: 1 / -1; color: rgba(255,255,255,.82); font-size: .61rem; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.bootstrap-site .host-all-ready-start { border-color: #087441; background: linear-gradient(135deg,#12a35f,#087441); color: #fff !important; box-shadow: 0 9px 20px rgba(8,116,65,.22); }
.bootstrap-site .host-all-ready-start:hover,
.bootstrap-site .host-all-ready-start:focus-visible { border-color: #054f2c; background: linear-gradient(135deg,#0c8f51,#065e35); color: #fff !important; }
.bootstrap-site .quizzme-redesign .setup-display-choice-modal { width: min(640px,calc(100vw - 2rem)); }
.bootstrap-site .setup-display-choice-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin: 1.1rem 0 .9rem; }
.bootstrap-site .setup-display-choice-card { position: relative; display: grid; min-width: 0; min-height: 140px; align-content: start; justify-items: center; gap: .35rem; padding: .75rem; border: 1px solid #d8d7e3; border-radius: 14px; background: #fff; color: #1a1d30; text-align: center; cursor: pointer; }
.bootstrap-site .setup-display-choice-card > span { display: grid; width: 40px; height: 40px; margin-bottom: .1rem; place-items: center; border-radius: 12px; background: #eeebff; color: #5136cf; font-size: 1.15rem; }
.bootstrap-site .setup-display-choice-card strong { font-size: .95rem; line-height: 1.2; }
.bootstrap-site .setup-display-choice-card small { color: #697083; font-size: .76rem; line-height: 1.4; }
.bootstrap-site .setup-display-choice-card em { position: absolute; top: .55rem; right: .55rem; padding: .25rem .42rem; border-radius: 999px; background: #e8f8ef; color: #087441; font-size: .56rem; font-style: normal; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.bootstrap-site .setup-display-choice-card:hover,
.bootstrap-site .setup-display-choice-card:focus-visible { border-color: #6547df; background: #faf9ff; outline: 3px solid rgba(101,71,223,.17); outline-offset: 2px; box-shadow: 0 10px 25px rgba(62,42,152,.1); }
.bootstrap-site .setup-display-choice-card.recommended { border-color: #a99ae9; }
.bootstrap-site .setup-display-choice-card.selected { border-color: #5b35e8; background: #f4f1ff; box-shadow: 0 0 0 3px rgba(91,53,232,.1); }
.bootstrap-site .setup-display-choice-cancel { min-height: 42px; color: #636a7b !important; }
.bootstrap-site .setup-room-review { overflow: hidden; margin-top: .25rem; border: 1px solid #e1e2ea; border-radius: 14px; background: #fafafd; text-align: left; }
.bootstrap-site .setup-room-review > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem .8rem; border-bottom: 1px solid #e7e8ef; background: #f4f3fa; }
.bootstrap-site .setup-room-review > header span { color: #6b7080; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.bootstrap-site .setup-room-review > header strong { color: var(--ref-purple); font-size: .78rem; }
.bootstrap-site .setup-room-review dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; padding: .65rem .8rem; gap: .6rem 1rem; }
.bootstrap-site .setup-room-review dl > div { min-width: 0; display: grid; gap: .08rem; }
.bootstrap-site .setup-room-review dt { color: #777c8d; font-size: .62rem; font-weight: 750; }
.bootstrap-site .setup-room-review dd { overflow: hidden; margin: 0; color: #292d3e; font-size: .75rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .setup-room-review dd.is-ready { color: #087441; }
.bootstrap-site .setup-room-review-actions { display: grid; grid-template-columns: 1fr 1.25fr; gap: .7rem; margin-top: .9rem; }
.bootstrap-site .setup-room-review-actions .button { min-height: 48px; }
.bootstrap-site .quizzme-redesign .setup-mode-help-modal { width: min(520px,calc(100vw - 2rem)); }
.bootstrap-site .setup-mode-help-points { display: grid; gap: .55rem; margin: 0 0 1.2rem; padding: 0; list-style: none; text-align: left; }
.bootstrap-site .setup-mode-help-points li { display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: center; gap: .55rem; padding: .55rem .65rem; border-radius: 10px; background: #f7f6fc; color: #4e5364; font-size: .78rem; }
.bootstrap-site .setup-mode-help-points li > span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #e4f7ec; color: #087441; font-weight: 900; }
.bootstrap-site .setup-mode-help-modal > .button { width: 100%; min-height: 48px; }
.bootstrap-site .quizzme-redesign .display-control-state.disabled { background: #a8afbd; }
.bootstrap-site .quizzme-redesign .display-status.disabled { color: #747b89; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .main-display-toggle { grid-column: 1 / -1; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .main-display-toggle:not(.active) { border-color: #d7a3ac; background: #fff7f8; color: #8f2739; }
.bootstrap-site .display-disabled-note { display: inline-flex; align-items: center; justify-content: center; color: #777e8c; font-size: .75rem; font-weight: 800; text-align: center; }
.bootstrap-site .phone-only-room-badge { display: inline-flex; min-height: 44px; align-items: center; padding: .65rem .9rem; border: 1px solid rgba(255,255,255,.3); border-radius: 10px; background: rgba(255,255,255,.12); color: #fff; font-size: .78rem; font-weight: 850; }
.bootstrap-site .display-disabled-preview { background: linear-gradient(145deg,#e9ebf1,#f8f9fc) !important; color: #4e5564 !important; }
.bootstrap-site .tv-phone-only-stage { display: grid; min-height: 100dvh; place-items: center; padding: clamp(1rem,4vw,3rem) !important; }
.bootstrap-site .tv-phone-only-message { display: grid; width: min(760px,100%); justify-items: center; padding: clamp(2rem,6vw,5rem); border: 1px solid rgba(99,243,255,.28); border-radius: 30px; background: rgba(9,17,48,.82); color: #fff; box-shadow: 0 0 40px rgba(99,243,255,.12),0 30px 80px rgba(0,0,0,.4); text-align: center; }
.bootstrap-site .tv-phone-only-message > span { display: grid; width: clamp(70px,9vw,110px); aspect-ratio: 1; margin-bottom: 1rem; place-items: center; border-radius: 26px; background: linear-gradient(145deg,#6c47e4,#3c5bd6); font-size: clamp(2rem,4vw,3.5rem); }
.bootstrap-site .tv-phone-only-message h1 { max-width: 14ch; margin: .2rem auto 1rem; color: #fff; font-size: clamp(2.2rem,6vw,5.5rem); line-height: 1; }
.bootstrap-site .tv-phone-only-message > p:last-child { max-width: 38rem; color: #c5d2eb; font-size: clamp(.95rem,1.8vw,1.35rem); line-height: 1.45; }
.bootstrap-site .player-ready-lobby { width: 100%; min-height: 100%; align-content: start; place-content: start stretch; justify-items: stretch; padding: clamp(1rem,4vw,1.5rem); overflow-y: auto; }
.bootstrap-site .player-ready-lobby > .waiting-pulse { justify-self: center; }
.bootstrap-site .player-ready-lobby.is-ready > .waiting-pulse { background: #20c878; box-shadow: 0 0 0 8px rgba(32,200,120,.12),0 0 25px rgba(32,200,120,.42); }
.bootstrap-site .player-ready-lobby > h1 { margin-inline: auto; font-size: clamp(1.45rem,7vw,2rem); }
.bootstrap-site .player-ready-lobby .player-team-summary { width: 100%; margin-top: .65rem; text-align: left; }
.bootstrap-site .player-team-summary li { gap: .4rem; }
.bootstrap-site .player-team-summary li > span { min-width: 0; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .player-team-summary li em { flex: 0 0 auto; color: #9ba4b8; font-size: .65rem; font-style: normal; font-weight: 850; }
.bootstrap-site .player-team-summary li.member-ready em { color: #20c878; }
.bootstrap-site .player-ready-control { display: grid; width: 100%; gap: .75rem; margin-top: .85rem; padding: .85rem; border: 1px solid rgba(255,255,255,.18); border-radius: 17px; background: rgba(255,255,255,.08); box-shadow: 0 12px 28px rgba(0,0,0,.15); text-align: left; }
.bootstrap-site .player-ready-control > div { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: .7rem; align-items: center; }
.bootstrap-site .player-ready-control > div > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-size: 1.2rem; font-weight: 950; }
.bootstrap-site .player-ready-control p { display: grid; gap: .12rem; margin: 0; }
.bootstrap-site .player-ready-control strong { color: #fff; font-size: .86rem; }
.bootstrap-site .player-ready-control small { color: rgba(255,255,255,.68); font-size: .7rem; line-height: 1.3; }
.bootstrap-site .player-ready-button { width: 100%; min-height: 54px; padding: .75rem; border: 1px solid #4e2ac8; border-radius: 14px; background: linear-gradient(135deg,#6b46e4,#4a2bc0); color: #fff; font: inherit; font-size: .88rem; font-weight: 950; box-shadow: 0 10px 24px rgba(53,32,150,.26); }
.bootstrap-site .player-ready-button.is-ready { border-color: #38d58d; background: linear-gradient(135deg,#0c7a46,#075f3b); box-shadow: 0 10px 24px rgba(8,116,65,.24); }
.bootstrap-site .player-ready-button:focus-visible { outline: 3px solid #8dc8ff; outline-offset: 3px; }
.bootstrap-site .audience-day .player-ready-control { border-color: #d7ddea; background: #f7f9fc; box-shadow: 0 10px 24px rgba(29,38,67,.08); }
.bootstrap-site .audience-day .player-ready-control > div > span { background: #eae6ff; color: #5030c4; }
.bootstrap-site .audience-day .player-ready-control strong { color: #17223a; }
.bootstrap-site .audience-day .player-ready-control small { color: #59677d; }
@media (max-width: 767.98px) {
    .bootstrap-site .setup-display-choice-actions { grid-template-columns: 1fr; }
    .bootstrap-site .setup-display-choice-card { min-height: 142px; }
}
@media (max-height: 620px) {
    .bootstrap-site .player-ready-lobby { padding-block: .75rem; }
    .bootstrap-site .player-ready-lobby > .waiting-pulse { display: none; }
    .bootstrap-site .player-ready-lobby > h1 { margin-bottom: .4rem; font-size: 1.3rem; }
    .bootstrap-site .player-ready-lobby .player-team-summary { margin-top: .35rem; }
    .bootstrap-site .player-ready-control { margin-top: .5rem; padding: .65rem; }
    .bootstrap-site .player-ready-button { min-height: 48px; }
}
.bootstrap-site .audience-day .profile-photo-simple { border-color: #cbd5e1; background: #f6f8fc; }
.bootstrap-site .audience-day .profile-photo-copy > strong { color: #17223a; }
.bootstrap-site .audience-day .profile-photo-copy > strong small,
.bootstrap-site .audience-day .profile-photo-copy > p { color: #53627a; }
.bootstrap-site .audience-day .profile-photo-simple .profile-image-picker { border-color: #92a4bc; background: #fff; color: #27324a; }
@media (max-width: 380px) {
    .bootstrap-site .profile-photo-simple { grid-template-columns: 60px minmax(0,1fr); gap: .6rem; padding: .6rem; }
    .bootstrap-site .profile-photo-preview { width: 60px; border-radius: 16px; }
}
.bootstrap-site .audience-day .profile-image-details {
    border-color: #cbd5e1;
    background: #f6f8fc;
}
.bootstrap-site .audience-day .profile-image-details summary { color: #27324a; }
.bootstrap-site .audience-day .profile-image-details summary span { color: #667085; }
.bootstrap-site .audience-day .profile-image-details[open] { background: #fff; }
.bootstrap-site .audience-day .profile-image-field small { color: #4b5565; }
.bootstrap-site .audience-night .profile-image-details {
    border-color: rgba(126,227,180,.34);
    background: rgba(255,255,255,.07);
}
.bootstrap-site .audience-night .profile-image-details summary { color: #fff; }
.bootstrap-site .audience-night .profile-image-details summary span { color: #cbd5e1; }
.bootstrap-site .audience-night .profile-image-picker { border-color: rgba(126,227,180,.48); background: #17233d; color: #fff; }
.bootstrap-site .image-upload-progress {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    margin: .15rem 0 0;
    padding: .7rem .85rem;
    border: 2px solid #168cff;
    border-radius: 10px;
    background: #eaf5ff;
    color: #073d77;
    font-size: .8rem;
    font-weight: 850;
    line-height: 1.35;
    text-align: center;
}
.bootstrap-site .image-upload-progress[hidden] { display: none; }
.bootstrap-site .image-upload-progress::before {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border: 3px solid rgba(22,140,255,.22);
    border-top-color: #168cff;
    border-radius: 50%;
    content: '';
    animation: image-upload-spin .75s linear infinite;
}
.bootstrap-site .image-upload-active [data-image-upload-submit] { opacity: 1; background: linear-gradient(135deg,#075cac,#064a8b); color: #fff; cursor: wait; }
.bootstrap-site .image-upload-active .profile-image-picker,
.bootstrap-site .image-upload-active .captain-team-image-picker { opacity: .58; cursor: wait; }
.bootstrap-site .captain-image-upload-progress { grid-column: 1 / -1; width: 100%; margin: 0; }
@keyframes image-upload-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .bootstrap-site .image-upload-progress::before { animation: none; border-color: #168cff; }
}
.bootstrap-site .score-explainer { display: block; max-width: 280px; margin: .45rem auto 0; color: inherit; opacity: .72; line-height: 1.4; }
.bootstrap-site .next-game-custom-cta { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: .2rem .45rem; margin-top: .9rem; padding-top: .85rem; border-top: 1px solid var(--ref-line); color: #656978; font-size: .84rem; text-align: center; }
.bootstrap-site .next-game-custom-cta .plain-action { min-height: 32px; padding: 0; color: var(--ref-purple); font-size: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.bootstrap-site .display-redesign .tv-question.short-question h1 { font-size: clamp(3rem,5.4vw,6.8rem); }
.bootstrap-site .display-redesign .tv-question.long-question h1 { font-size: clamp(1.8rem,3.6vw,4.5rem); }

@media (max-height: 700px) {
    .bootstrap-site .phone-question { min-height: calc(100svh - 116px); padding-block: .55rem; }
    .bootstrap-site .phone-question h1 { margin: .2rem 0 .45rem; font-size: clamp(1.08rem,4.5vw,1.4rem); }
    .bootstrap-site .phone-answer-grid { grid-template-rows: repeat(4,minmax(58px,1fr)); gap: .35rem; }
    .bootstrap-site .phone-answer { min-height: 58px; padding: .45rem .7rem; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .host-question-cockpit .host-answer-list { grid-template-columns: 1fr; }
    .bootstrap-site .host-question-cockpit .response-meter { grid-template-columns: 1fr; }
    .bootstrap-site .host-app.reference-design .host-content > .workspace-heading .heading-actions { top: .35rem; }
    .bootstrap-site .host-content:has(#quizEditor) > .workspace-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: .55rem; margin-bottom: .55rem; padding-bottom: .35rem; }
    .bootstrap-site .host-content:has(#quizEditor) > .workspace-heading h1 { font-size: 2rem; }
    .bootstrap-site .host-app.reference-design .host-content:has(#quizEditor) > .workspace-heading .heading-actions { position: static; top: auto; align-self: end; display: grid; justify-items: end; gap: .15rem; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
    .bootstrap-site .host-content:has(#quizEditor) > .workspace-heading .save-state { min-height: 0; padding: 0; font-size: .66rem; white-space: nowrap; }
    .bootstrap-site .host-content:has(#quizEditor) > .workspace-heading .heading-actions .button { min-width: 92px; min-height: 40px; padding: .45rem .75rem; }
    .bootstrap-site .builder-edit-toolbar { margin-bottom: .55rem; }
    .bootstrap-site .builder-options-panel { position: fixed; z-index: 110; top: 50%; right: auto; left: 50%; width: min(360px,calc(100vw - 2rem)); transform: translate(-50%,-50%); }
    .bootstrap-site .host-content:has(#quizEditor) .quiz-title-row { grid-template-columns: minmax(0,1fr) auto auto; gap: .5rem; padding: .75rem; }
    .bootstrap-site .host-content:has(#quizEditor) .quiz-title-row > div { padding: .4rem .55rem; }
    .bootstrap-site .host-app.reference-design .host-lobby-grid { grid-template-columns: minmax(0,1fr); }
    .bootstrap-site .host-app.reference-design .host-invite-card { min-height: 0; grid-template-columns: minmax(0,1fr); padding: 1rem; }
    .bootstrap-site .host-app.reference-design .host-invite-copy { min-width: 0; padding: 0; }
    .bootstrap-site .host-app.reference-design .host-lobby-pin { display: block; width: 100%; margin-bottom: .8rem; font-size: clamp(2.8rem,18vw,4rem); line-height: 1; white-space: nowrap; writing-mode: horizontal-tb; }
    .bootstrap-site .host-app.reference-design .host-qr-card { width: min(260px,100%); margin: 1rem auto 0; padding: .7rem; border-width: 6px; }
    .bootstrap-site .host-app.reference-design .host-invite-actions { flex-direction: column; }
    .bootstrap-site .host-app.reference-design .host-invite-actions > * { width: 100%; }
    .bootstrap-site .host-app.reference-design .people-table-card { overflow: visible; }
    .bootstrap-site .host-app.reference-design .people-table { display: block; width: 100%; min-width: 0; }
    .bootstrap-site .host-app.reference-design .people-table thead { display: none; }
    .bootstrap-site .host-app.reference-design .people-table tbody { display: grid; gap: .65rem; padding: .65rem; }
    .bootstrap-site .host-app.reference-design .people-table tr { display: grid; padding: .65rem; border: 1px solid var(--ref-line); border-radius: 10px; background: #fff; }
    .bootstrap-site .host-app.reference-design .people-table td { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: .75rem; padding: .45rem .2rem; border: 0; }
    .bootstrap-site .host-app.reference-design .people-table td::before { color: #737687; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .bootstrap-site .host-app.reference-design .people-table td:nth-child(2)::before { content: 'Score'; }
    .bootstrap-site .host-app.reference-design .people-table td:nth-child(3)::before { content: 'Streak'; }
    .bootstrap-site .host-app.reference-design .people-table td:nth-child(4)::before { content: 'Actions'; }
    .bootstrap-site .host-app.reference-design .people-table td[colspan] { display: block; padding: .75rem .25rem; }
    .bootstrap-site .host-app.reference-design .people-table td[colspan]::before { display: none; }
    .bootstrap-site .host-app.reference-design .round-header { grid-template-columns: auto minmax(0,1fr); gap: .4rem .65rem; padding: .7rem .8rem; }
    .bootstrap-site .host-app.reference-design .round-header > span { grid-column: 1; }
    .bootstrap-site .host-app.reference-design .round-header > [data-delete-round] { grid-column: 2; justify-self: end; min-height: 40px; padding: .4rem .2rem; }
    .bootstrap-site .host-app.reference-design .round-header > input { grid-column: 1 / -1; grid-row: 2; width: 100%; min-width: 0; }
    .bootstrap-site .host-app.reference-design .add-question,
    .bootstrap-site .host-app.reference-design .question-more-fields > summary,
    .bootstrap-site .host-app.reference-design .question-editor-footer > .danger-text { min-height: 40px; display: inline-flex; align-items: center; }
    .bootstrap-site .quiz-editor > .suggestion-library { padding: .7rem .75rem; }
    .bootstrap-site .question-editor-footer { align-items: stretch; flex-direction: column; }
    .bootstrap-site .question-more-fields .question-meta-fields { grid-template-columns: 1fr; }
    .bootstrap-site .question-editor-footer > .danger-text { align-self: flex-start; }
}

/* Collapsed secondary and destructive room tools. */
.bootstrap-site .lobby-secondary-tools,
.bootstrap-site .session-danger-zone { margin-top: .75rem; border: 1px solid var(--ref-line); border-radius: 10px; background: #fff; }
.bootstrap-site .lobby-secondary-tools > summary,
.bootstrap-site .session-danger-zone > summary { display: flex; cursor: pointer; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem .9rem; color: #4d5060; font-weight: 750; list-style: none; }
.bootstrap-site .lobby-secondary-tools > summary::-webkit-details-marker,
.bootstrap-site .session-danger-zone > summary::-webkit-details-marker { display: none; }
.bootstrap-site .lobby-secondary-tools > summary span { display: grid; gap: .1rem; }
.bootstrap-site .lobby-secondary-tools > summary small { color: var(--ref-purple); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }
.bootstrap-site .lobby-secondary-tools[open] > summary,
.bootstrap-site .session-danger-zone[open] > summary { border-bottom: 1px solid var(--ref-line); }
.bootstrap-site .lobby-secondary-tools .host-later-quiz-callout { margin: .75rem; }
.bootstrap-site .lobby-announcement-inner { margin: .75rem; box-shadow: none !important; }
.bootstrap-site .session-danger-zone > div { padding: .8rem .9rem; background: #fff8f7; }
.bootstrap-site .session-danger-zone p { margin: 0 0 .55rem; color: #76443e; font-size: .82rem; }
.bootstrap-site .session-danger-zone .plain-action { color: #b42318; font-weight: 800; }
.bootstrap-site .locked-answer-summary { display: grid; width: min(100%,320px); margin: 1rem auto 0; gap: .4rem; }
.bootstrap-site .locked-answer-summary > div { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: .55rem; padding: .5rem .65rem; border-radius: 8px; color: #fff; opacity: .58; text-align: left; }
.bootstrap-site .locked-answer-summary b { display: grid; width: 28px; height: 28px; place-items: center; border: 2px solid currentColor; border-radius: 50%; }

@media (max-width: 480px) and (min-height: 501px) {
    .bootstrap-site .home-page.reference-design.home-full-bleed .home-simple-inner { padding: .7rem 1rem 0; }
    .bootstrap-site .home-page.reference-design .home-legacy-logo { width: clamp(112px,35vw,145px); }
    .bootstrap-site .home-page.reference-design .home-host-prompt { flex-direction: column; gap: .35rem; }
}

@media (min-width: 481px) and (max-width: 900px) and (min-height: 501px) {
    .bootstrap-site .home-page.reference-design.home-full-bleed .home-simple-inner { padding: 4.5rem 1rem 0; }
}

/* The tablet landing layout reserves the sponsor footer as real visual space so
   it can never cover the Quizmaster action in portrait or landscape. */
@media (min-width: 600px) and (max-width: 1199.98px) and (min-height: 501px) {
    .bootstrap-site .home-page.reference-design.home-full-bleed .home-simple-inner { padding: clamp(3.5rem,8vh,5rem) 1rem clamp(7.5rem,15vh,9rem); }
    .bootstrap-site .home-page.reference-design .home-host-prompt { margin-top: clamp(.8rem,2vh,1.25rem); }
}

@media (min-width: 901px) and (max-width: 1199.98px) and (min-height: 501px) {
    .bootstrap-site .home-page.reference-design .home-simple-copy h1 { width: min(560px,60vw); margin-inline: auto; }
}

@media (max-height: 500px) {
    .bootstrap-site .home-page.reference-design { padding: 0 !important; }
    .bootstrap-site .home-page.reference-design .home-reference-hero { border-radius: 0; }
    .bootstrap-site .home-page.reference-design .home-header { top: .65rem; left: .8rem; min-height: 0; padding: 0; }
    .bootstrap-site .home-page.reference-design .brand-link { min-height: 0; padding-block: 0; }
    .bootstrap-site .home-page.reference-design .brand-link svg { width: 96px; }
    .bootstrap-site .home-page.reference-design .home-simple-inner { min-height: 0; padding: .2rem 1rem .65rem; }
    .bootstrap-site .home-page.reference-design .home-simple-copy { width: min(480px,70vw); }
    .bootstrap-site .home-page.reference-design .home-simple-copy h1 { width: min(480px,58vw); margin-inline: auto; font-size: clamp(2rem,8vh,2.7rem); }
    .bootstrap-site .home-page.reference-design .home-simple-copy .home-intro { margin: .3rem auto .6rem; font-size: .86rem; line-height: 1.25; }
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join { padding: .6rem; border-radius: 14px; }
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join label { margin-bottom: .3rem; }
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join input,
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join .button { min-height: 44px; }
    .bootstrap-site .home-page.reference-design .home-host-prompt { margin-top: .45rem; }
    .bootstrap-site .home-page.reference-design .home-host-link { min-height: 38px; padding: .48rem .8rem; }
}

@media (max-height: 700px) and (min-width: 768px) {
    .bootstrap-site .host-auth-shell .public-header { min-height: 68px; }
    .bootstrap-site .host-auth-shell .host-auth-polished { min-height: calc(100dvh - 68px); padding-bottom: 1rem; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-context h1 { font-size: clamp(2.7rem,4.7vw,4.6rem); }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-context-list > div { padding-block: .65rem; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form-wrap { padding: 1.5rem 2rem; }
    .bootstrap-site .host-auth-shell .auth-form { gap: 12px; }
    .bootstrap-site .host-auth-shell .auth-form input,
    .bootstrap-site .host-auth-shell .auth-form .button-primary { min-height: 46px; }
}

@media (min-width: 2000px) {
    .bootstrap-site .host-auth-shell .public-header,
    .bootstrap-site .host-auth-shell .host-auth-polished { width: min(2600px,calc(100% - 16vw)); }
    .bootstrap-site .host-auth-shell .public-header { min-height: 150px; }
    .bootstrap-site .host-auth-shell .home-brand { gap: .9rem; }
    .bootstrap-site .host-auth-shell .home-brand-mark { width: 56px; height: 56px; border-width: 4px; font-size: 1.5rem; }
    .bootstrap-site .host-auth-shell .home-brand-word { font-size: 2.4rem; }
    .bootstrap-site .host-auth-shell .auth-join-link { font-size: 1.25rem; }
    .bootstrap-site .host-auth-shell .host-auth-polished { min-height: calc(100dvh - 190px); grid-template-columns: minmax(0,1fr) minmax(680px,.74fr); }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-context { padding-right: clamp(5rem,7vw,9rem); }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-context h1 { max-width: 1400px; font-size: clamp(5.5rem,3.7vw,7rem); }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-context-intro { max-width: 1000px; font-size: 1.65rem; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-context-list { max-width: 1000px; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-context-list > div { grid-template-columns: 64px 1fr; padding-block: 1.6rem; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-context-list span,
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-context-list small { font-size: 1.2rem; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-context-list strong { font-size: 1.45rem; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form-wrap { padding: 5rem; border-radius: 36px; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form { width: min(680px,100%); gap: 24px; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form :is(h1, h2) { font-size: 4rem; }
    .bootstrap-site .host-auth-shell .auth-form .section-label,
    .bootstrap-site .host-auth-shell .auth-form .field { font-size: 1.2rem; }
    .bootstrap-site .host-auth-shell .auth-form input,
    .bootstrap-site .host-auth-shell .auth-form .button-primary { min-height: 78px; border-radius: 14px; font-size: 1.35rem; }
    .bootstrap-site .host-auth-shell .auth-form .segmented button { min-height: 64px; font-size: 1.25rem; }
    .bootstrap-site .host-auth-shell .auth-note { font-size: 1.05rem; }
    .bootstrap-site .home-page.reference-design .home-legacy-logo { width: clamp(240px,14vw,360px); }
    .bootstrap-site .home-page.reference-design .home-simple-inner { width: min(1120px,100%); padding-inline: 2rem; }
    .bootstrap-site .home-page.reference-design .home-simple-copy,
    .bootstrap-site .home-page.reference-design.home-full-bleed .home-simple-copy { width: min(820px,100%); }
    .bootstrap-site .home-page.reference-design .home-simple-copy h1 { font-size: clamp(5.6rem,4.5vw,8rem); }
    .bootstrap-site .home-page.reference-design .home-simple-copy .home-intro { max-width: 760px; margin: 1.5rem auto 2.2rem; font-size: 1.65rem; }
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join { width: min(760px,100%); padding: 1.7rem; border-radius: 26px; }
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join label { margin-bottom: .8rem; font-size: 1.15rem; }
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join input { min-height: 82px; border-radius: 14px; font-size: 2.2rem; }
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join .button { min-width: 210px; min-height: 82px; border-radius: 14px; font-size: 1.25rem; }
    .bootstrap-site .home-page.reference-design .home-host-prompt { margin-top: 1.8rem; font-size: 1.2rem; }
    .bootstrap-site .host-app.reference-design.room-ready .host-workspace { padding-left: 280px; }
    .bootstrap-site .host-app.reference-design .host-sidebar-shell { width: 280px; padding: 2rem 1.25rem; }
    .bootstrap-site .host-app.reference-design .host-content { width: min(1800px,100%); }
    .bootstrap-site .display-redesign .tv-answer { min-height: clamp(90px,7vh,160px); font-size: clamp(1.5rem,2vw,3.4rem); }
}

/* Account entry is deliberately the same simple task on desktop and mobile. */
.bootstrap-site .host-auth-shell .host-auth-polished {
    width: 100%;
    padding: clamp(.5rem,2dvh,1.25rem);
    grid-template-columns: minmax(0,1fr) !important;
    place-items: center;
}
.bootstrap-site .host-auth-shell .host-auth-polished .auth-form-wrap {
    width: min(520px,calc(100% - 1rem));
    height: auto;
    max-height: 100%;
    padding: clamp(1rem,2.6dvh,2rem) clamp(1.25rem,3vw,2.5rem);
    border-radius: 22px;
}
.bootstrap-site .host-auth-shell .host-auth-polished .auth-form { width: 100%; }
.bootstrap-site .quizmaster-run-status .run-status-actions { display: flex; align-items: stretch; gap: .55rem; }
.bootstrap-site .quizmaster-run-status .run-status-actions .button { min-height: 44px; white-space: nowrap; }
.bootstrap-site .quizmaster-run-status .run-stop-action { border-color: #e4a8a3; color: #a62b22; background: #fff5f4; }
.bootstrap-site .quizmaster-run-status .run-stop-action:hover { border-color: #c9483e; color: #811c15; background: #ffe8e5; }

@media (min-width: 768px) and (max-width: 1199.98px) {
    .bootstrap-site .quizmaster-run-status { min-width: 0; grid-template-columns: minmax(0,1fr) minmax(8rem,.5fr) auto; }
    .bootstrap-site .quizmaster-run-status .run-status-main { min-width: 0; }
    .bootstrap-site .quizmaster-run-status .run-status-actions { grid-column: 1 / -1; justify-content: flex-end; }
    .bootstrap-site .quizmaster-run-status .run-status-actions .button { min-height: 38px; padding: .42rem .7rem; font-size: .76rem; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .quizmaster-run-status .run-status-actions { width: 100%; display: grid; grid-template-columns: minmax(0,1fr) auto; }
    .bootstrap-site .quizmaster-run-status .run-status-actions .run-next-action { grid-column: 1 / -1; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .host-auth-shell .host-auth-polished { padding: .35rem .65rem .65rem; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form-wrap { width: 100%; height: 100%; }
}

@media (max-width: 620px) {
    .bootstrap-site .quizzme-redesign .host-status-control > summary.host-session-status { display: flex; padding-inline: .45rem; }
    .bootstrap-site .quizzme-redesign .host-session-status-copy strong { display: none; }
    .bootstrap-site .quizzme-redesign .host-session-status-copy small { color: var(--qm-ink); font-size: .7rem; font-weight: 750; white-space: nowrap; }
    .bootstrap-site .quizzme-redesign .host-status-menu { position: fixed; top: 62px; right: .5rem; left: .5rem; width: auto; }
}

@media (min-width: 2000px) {
    .bootstrap-site .host-auth-shell .host-auth-polished { width: 100%; grid-template-columns: 1fr !important; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form-wrap { width: min(720px,calc(100% - 2rem)); padding: clamp(2.5rem,4dvh,4rem); }
}

/* Physical phones can report tablet-sized layout viewports. Keep the entire host
   composition phone-shaped, not only its bottom navigation. */
html.phone-device .bootstrap-site .host-app.reference-design .tablet-utility-bar { display: none !important; }
html.phone-device .bootstrap-site .host-app.reference-design .host-top-actions { display: flex !important; }
html.phone-device .bootstrap-site .host-app.reference-design .host-top-actions .legacy-display-link { display: none !important; }
html.phone-device .bootstrap-site .host-app.reference-design .host-session-status-copy strong { display: none; }
html.phone-device .bootstrap-site .host-app.reference-design .host-session-status-copy small { color: var(--qm-ink); font-size: .7rem; font-weight: 750; white-space: nowrap; }
html.phone-device .bootstrap-site .host-app.reference-design .host-status-control > summary.host-session-status { display: flex; min-height: 40px; padding: .3rem .45rem; }
html.phone-device .bootstrap-site .host-app.reference-design .host-status-menu { position: fixed; top: 58px; right: .5rem; left: .5rem; width: auto; }
html.phone-device .bootstrap-site .host-app.reference-design .host-display-control .display-control-copy small,
html.phone-device .bootstrap-site .host-app.reference-design .host-display-control .display-control-state { display: none; }
html.phone-device .bootstrap-site .host-app.reference-design .host-display-control > summary.host-pin-card { min-height: 38px; padding: .3rem .55rem; }
html.phone-device .bootstrap-site .host-app.reference-design .workspace-heading h1 { font-size: 2rem; }
html.phone-device .bootstrap-site .host-app.reference-design .people-table-card { overflow: visible; }
html.phone-device .bootstrap-site .host-app.reference-design .people-table { display: block; width: 100%; min-width: 0; }
html.phone-device .bootstrap-site .host-app.reference-design .people-table thead { display: none; }
html.phone-device .bootstrap-site .host-app.reference-design .people-table tbody { display: grid; gap: .65rem; padding: .65rem; }
html.phone-device .bootstrap-site .host-app.reference-design .people-table tr { display: grid; padding: .65rem; border: 1px solid var(--ref-line); border-radius: 10px; background: #fff; }
html.phone-device .bootstrap-site .host-app.reference-design .people-table td { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: .75rem; padding: .45rem .2rem; border: 0; }
html.phone-device .bootstrap-site .host-app.reference-design .people-table td::before { color: #737687; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
html.phone-device .bootstrap-site .host-app.reference-design .people-table td:nth-child(2)::before { content: 'Score'; }
html.phone-device .bootstrap-site .host-app.reference-design .people-table td:nth-child(3)::before { content: 'Streak'; }
html.phone-device .bootstrap-site .host-app.reference-design .people-table td:nth-child(4)::before { content: 'Actions'; }
html.phone-device .bootstrap-site .host-app.reference-design .people-table td[colspan] { display: block; padding: .75rem .25rem; }
html.phone-device .bootstrap-site .host-app.reference-design .people-table td[colspan]::before { display: none; }
html.phone-device .bootstrap-site .host-app.reference-design .round-header { grid-template-columns: auto minmax(0,1fr); gap: .4rem .65rem; padding: .7rem .8rem; }
html.phone-device .bootstrap-site .host-app.reference-design .round-header > span { grid-column: 1; }
html.phone-device .bootstrap-site .host-app.reference-design .round-header > [data-delete-round] { grid-column: 2; justify-self: end; min-height: 40px; padding: .4rem .2rem; }
html.phone-device .bootstrap-site .host-app.reference-design .round-header > input { grid-column: 1 / -1; grid-row: 2; width: 100%; min-width: 0; }
html.phone-device .bootstrap-site .host-app.reference-design .host-content:has(#quizEditor) > .workspace-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: .55rem; margin-bottom: .55rem; padding-bottom: .35rem; }
html.phone-device .bootstrap-site .host-app.reference-design .host-content:has(#quizEditor) > .workspace-heading .heading-actions { position: static; top: auto; align-self: end; display: grid; justify-items: end; gap: .15rem; padding: 0; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
html.phone-device .bootstrap-site .host-app.reference-design .host-content:has(#quizEditor) > .workspace-heading .save-state { min-height: 0; padding: 0; font-size: .66rem; white-space: nowrap; }
html.phone-device .bootstrap-site .host-app.reference-design .host-content:has(#quizEditor) > .workspace-heading .heading-actions .button { min-width: 92px; min-height: 40px; padding: .45rem .75rem; }
html.phone-device .bootstrap-site .host-app.reference-design .quizmaster-run-status { grid-template-columns: minmax(0,1fr) auto; gap: .7rem; padding: .8rem; }
html.phone-device .bootstrap-site .host-app.reference-design .quizmaster-run-status .run-status-actions { grid-column: 1 / -1; }

/* Final responsive/theme contracts for audience and player surfaces. */
.bootstrap-site .display-redesign .tv-question {
    width: 100%;
    height: 100%;
    min-height: 0;
    box-sizing: border-box;
    align-content: stretch;
}
.bootstrap-site .display-redesign .tv-question h1 { font-size: clamp(2rem,3.2vw,3.6rem); }
.bootstrap-site .display-redesign .tv-setup-holding { width: 100%; height: 100%; min-height: 0; box-sizing: border-box; }
.bootstrap-site .display-redesign .joiner-rail {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
}
.bootstrap-site .display-redesign .joiner-rail > div { min-width: 0; }
.bootstrap-site .audience-night .player-leader-rows > div {
    border-color: rgba(99,243,255,.24);
    background: #101c3c;
    color: #f7fbff;
}
.bootstrap-site .audience-night .player-leader-rows > div span,
.bootstrap-site .audience-night .player-leader-rows > div strong { color: #f7fbff !important; }
.bootstrap-site .audience-night .player-leader-rows > div small { color: #b9c9e8; }
.bootstrap-site .display-redesign.audience-night .reveal-answer > p:last-child { color: #c6d2ea; }
.bootstrap-site .display-redesign.audience-night .break-message h1 { color: #17130a !important; text-shadow: none; }
.bootstrap-site .display-redesign.audience-night .break-message .tv-kicker { color: #282044 !important; text-shadow: none; }
.bootstrap-site .display-redesign.audience-night .leaderboard-rows > div {
    border-color: rgba(99,243,255,.34);
    background: #101c3c;
    color: #f7fbff;
}
.bootstrap-site .display-redesign.audience-night .leaderboard-rows > div span,
.bootstrap-site .display-redesign.audience-night .leaderboard-rows > div strong { color: #f7fbff !important; }
.bootstrap-site .display-redesign.audience-night .leaderboard-rows > div small { color: #b9c9e8; }

@media (max-height: 800px) and (min-width: 768px) {
    .bootstrap-site .display-redesign .tv-top-rail { padding: .4rem .75rem 0; }
    .bootstrap-site .display-redesign .tv-announcement { grid-template-columns: 1.75rem auto minmax(0,1fr); padding: .38rem .65rem .38rem .38rem; border-radius: 999px; }
    .bootstrap-site .display-redesign .tv-announcement-icon { width: 1.75rem; height: 1.75rem; font-size: .78rem; }
    .bootstrap-site .display-redesign .tv-announcement-label { padding-right: .55rem; font-size: .56rem; }
    .bootstrap-site .display-redesign .tv-announcement strong { font-size: clamp(.9rem,1.4vw,1.12rem); line-height: 1.16; }
    .bootstrap-site .display-redesign .tv-join-overlays { min-height: 0; padding: .4rem .75rem .55rem; }
    .bootstrap-site .display-redesign .tv-clock-overlay,
    .bootstrap-site .display-redesign .tv-pin-overlay,
    .bootstrap-site .display-redesign .tv-qr-overlay { min-height: 0; height: 100px; padding: .45rem .65rem; box-sizing: border-box; overflow: hidden; }
    .bootstrap-site .display-redesign .tv-pin-overlay strong { font-size: clamp(2rem,5vw,3rem); }
    .bootstrap-site .display-redesign .tv-qr-overlay .qr-code-graphic { width: 68px; height: 68px; }
    .bootstrap-site .display-redesign .tv-question { gap: .65rem; padding: .8rem 3vw .65rem; }
    .bootstrap-site .display-redesign .tv-question-top { grid-template-columns: minmax(0,1fr) 90px; gap: 1.25rem; }
    .bootstrap-site .display-redesign .tv-question h1 { font-size: clamp(1.55rem,3.1vw,2.2rem); }
    .bootstrap-site .display-redesign .tv-timer { width: 88px; height: 88px; }
    .bootstrap-site .display-redesign .tv-timer strong { font-size: 2.2rem; }
    .bootstrap-site .display-redesign .tv-answer-grid { height: 80px; grid-template-rows: 80px; align-self: end; gap: .5rem; }
    .bootstrap-site .display-redesign .tv-answer { min-height: 70px; grid-template-columns: 38px minmax(0,1fr); gap: .55rem; padding: .65rem .8rem; font-size: 1rem; }
    .bootstrap-site .display-redesign .tv-answer b { width: 34px; height: 34px; }
    .bootstrap-site .display-redesign .tv-response-line { min-height: 24px; }
    .bootstrap-site .display-redesign .tv-paused-screen { grid-template-columns: minmax(0,.72fr) minmax(20rem,1.28fr); gap: 2rem; padding: 1rem 4vw; }
    .bootstrap-site .display-redesign .tv-pause-symbol { width: 58px; height: 58px; margin-bottom: .75rem; border-radius: 18px; }
    .bootstrap-site .display-redesign .tv-pause-symbol i { width: 8px; height: 28px; }
    .bootstrap-site .display-redesign .tv-paused-message h1 { font-size: clamp(2rem,4vw,3.8rem); }
    .bootstrap-site .display-redesign .tv-paused-message > p { font-size: clamp(.9rem,1.4vw,1.2rem); }
    .bootstrap-site .display-redesign .tv-paused-trivia { padding: 1.2rem 1.5rem; }
    .bootstrap-site .display-redesign .tv-paused-trivia > p { margin-top: .8rem; }
    .bootstrap-site .display-redesign .tv-paused-trivia h2 { font-size: clamp(1.5rem,2.7vw,2.5rem); margin-bottom: .65rem; }
    .bootstrap-site .display-redesign .tv-paused-trivia div { font-size: clamp(.9rem,1.4vw,1.2rem); }
    .bootstrap-site .display-redesign .tv-paused-trivia small { margin-top: .75rem; }
    .bootstrap-site .display-redesign .tv-break-layout { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; padding: 1rem 3vw; align-items: stretch; overflow: hidden; }
    .bootstrap-site .display-redesign .tv-break-layout > * { min-width: 0; min-height: 0; }
    .bootstrap-site .display-redesign .tv-break-layout h1 { font-size: clamp(1.8rem,3.6vw,2.8rem); }
    .bootstrap-site .display-redesign .break-trivia { grid-column: auto; padding: 1rem; overflow: hidden; }
    .bootstrap-site .display-redesign .break-trivia h2 { font-size: clamp(1.35rem,2.5vw,2rem); }
    .bootstrap-site .display-redesign .tv-leaderboard-layout { gap: 2vw; padding: 1rem 3vw; }
    .bootstrap-site .display-redesign .question-winner-rows > div { gap: .55rem; padding: .55rem .7rem; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .display-redesign .tv-paused-screen { grid-template-columns: 1fr; align-content: center; gap: .8rem; padding: .75rem 1rem; text-align: center; }
    .bootstrap-site .display-redesign .tv-paused-message h1 { max-width: none; font-size: clamp(1.6rem,8vw,2.2rem); }
    .bootstrap-site .display-redesign .tv-paused-message > p { margin-inline: auto; font-size: .82rem; }
    .bootstrap-site .display-redesign .tv-pause-symbol { width: 46px; height: 46px; margin: 0 auto .5rem; border-radius: 14px; }
    .bootstrap-site .display-redesign .tv-pause-symbol i { width: 6px; height: 23px; }
    .bootstrap-site .display-redesign .tv-paused-wait { margin-top: .45rem; padding: .45rem .7rem; font-size: .68rem; }
    .bootstrap-site .display-redesign .tv-paused-trivia { padding: .8rem 1rem; text-align: left; }
    .bootstrap-site .display-redesign .tv-paused-trivia > p { margin: .5rem 0 .2rem; font-size: .62rem; }
    .bootstrap-site .display-redesign .tv-paused-trivia h2 { font-size: clamp(1.1rem,5vw,1.5rem); }
    .bootstrap-site .display-redesign .tv-paused-trivia div { font-size: .78rem; }
    .bootstrap-site .display-redesign .tv-paused-trivia small { margin-top: .5rem; font-size: .65rem; }
    .bootstrap-site .display-redesign .joiner-rail { display: none; }
    .bootstrap-site .display-redesign .tv-lobby { grid-template-columns: 1fr; grid-template-rows: minmax(0,1fr); align-content: center; gap: .75rem; padding: 1rem; overflow: hidden; }
    .bootstrap-site .display-redesign .tv-lobby .tv-qr { display: none; }
    .bootstrap-site .display-redesign .tv-lobby h1 { font-size: clamp(1.6rem,9vw,2.4rem); }
    .bootstrap-site .display-redesign .lobby-counts { gap: .55rem; margin-top: .7rem; font-size: .75rem; }
    .bootstrap-site .display-redesign .tv-setup-holding { grid-template-columns: 1fr; align-content: center; padding: 1rem 1.25rem; overflow: hidden; }
    .bootstrap-site .display-redesign .tv-setup-holding > div:first-child { max-width: 18rem; margin: auto; text-align: center; }
    .bootstrap-site .display-redesign .tv-setup-holding .tv-setup-trivia { display: none; }
    .bootstrap-site .display-redesign .tv-setup-holding h1 { font-size: clamp(1.8rem,11vw,2.4rem); line-height: 1; }
    .bootstrap-site .display-redesign .tv-setup-holding p { font-size: .9rem; }
    .bootstrap-site .display-redesign .tv-question { grid-template-rows: minmax(0,1fr) auto auto; gap: .45rem; padding: .55rem .75rem .45rem; }
    .bootstrap-site .display-redesign .tv-question-top { grid-template-columns: minmax(0,1fr) 54px; gap: .55rem; }
    .bootstrap-site .display-redesign .tv-question h1 { margin: 0; font-size: clamp(1.15rem,6.4vw,1.7rem); line-height: 1.08; text-align: left; overflow-wrap: anywhere; }
    .bootstrap-site .display-redesign .tv-question .tv-kicker { font-size: .58rem; line-height: 1.25; }
    .bootstrap-site .display-redesign .tv-timer { width: 52px; height: 52px; }
    .bootstrap-site .display-redesign .tv-timer strong { font-size: 1.35rem; }
    .bootstrap-site .display-redesign .tv-timer span { margin-top: .15rem; font-size: .42rem; }
    .bootstrap-site .display-redesign .tv-answer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(58px,1fr)); gap: .4rem; }
    .bootstrap-site .display-redesign .tv-answer { min-height: 58px; grid-template-columns: 25px minmax(0,1fr); gap: .35rem; padding: .45rem; font-size: clamp(.62rem,3vw,.78rem); line-height: 1.15; }
    .bootstrap-site .display-redesign .tv-answer b { width: 23px; height: 23px; font-size: .7rem; }
    .bootstrap-site .display-redesign .tv-response-line { grid-template-columns: auto minmax(0,1fr) auto; gap: .4rem; font-size: .58rem; }
    .bootstrap-site .display-redesign .tv-leaderboard-layout { grid-template-columns: 1fr; grid-template-rows: auto minmax(0,1fr); align-content: start; gap: .55rem; padding: .65rem .75rem; overflow: hidden; }
    .bootstrap-site .display-redesign .tv-leaderboard-layout > div:first-child { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: .15rem .6rem; }
    .bootstrap-site .display-redesign .tv-leaderboard-layout > div:first-child .tv-kicker,
    .bootstrap-site .display-redesign .tv-leaderboard-layout > div:first-child h1 { grid-column: 1; }
    .bootstrap-site .display-redesign .tv-leaderboard-layout > div:first-child > p:last-of-type { display: none; }
    .bootstrap-site .display-redesign .tv-leaderboard-layout h1 { margin: 0; font-size: 1.55rem; }
    .bootstrap-site .display-redesign .winner-screen-timer { grid-column: 2; grid-row: 1 / 3; margin: 0; padding: .35rem .5rem; }
    .bootstrap-site .display-redesign .winner-screen-timer strong { font-size: 1.45rem; }
    .bootstrap-site .display-redesign .question-winner-rows { align-content: start; gap: .35rem; }
    .bootstrap-site .display-redesign .question-winner-rows > div { grid-template-columns: 28px 34px minmax(0,1fr) auto; gap: .4rem; padding: .4rem .5rem; }
    .bootstrap-site .display-redesign .question-winner-rows > div:nth-child(n+4) { display: none; }
    .bootstrap-site .display-redesign .question-winner-avatar { width: 34px; height: 34px; }
    .bootstrap-site .display-redesign .question-winner-rows b { width: 27px; height: 27px; font-size: .8rem; }
    .bootstrap-site .display-redesign .question-winner-rows span { font-size: .82rem; }
    .bootstrap-site .display-redesign .question-winner-rows small { display: none; }
    .bootstrap-site .display-redesign .question-winner-rows strong { font-size: .82rem; }
    .bootstrap-site .display-redesign .tv-break-layout { grid-template-columns: 1fr; grid-template-rows: auto minmax(0,1fr); gap: .55rem; padding: .65rem .75rem; overflow: hidden; }
    .bootstrap-site .display-redesign .tv-break-layout > div:last-child { display: none; }
    .bootstrap-site .display-redesign .break-message { padding: .75rem; }
    .bootstrap-site .display-redesign .tv-break-layout h1 { font-size: 1.55rem; }
    .bootstrap-site .display-redesign .break-wave { height: 24px; margin-top: .45rem; }
    .bootstrap-site .display-redesign .break-trivia { grid-column: auto; padding: .75rem; overflow: hidden; }
    .bootstrap-site .display-redesign .break-trivia h2 { font-size: 1.25rem; }
}

@media (max-width: 620px) {
    .bootstrap-site .player-page:has(.player-controller) { width: 100%; height: 100dvh; min-height: 0; overflow: hidden; }
    .bootstrap-site .player-controller { height: 100dvh; min-height: 0; max-height: 100dvh; }
    .bootstrap-site .player-main { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
}

@media (min-width: 621px) {
    .bootstrap-site .player-page:has(.player-controller) { height: 100dvh; min-height: 0; overflow: hidden; }
    .bootstrap-site .player-controller { height: 100dvh; min-height: 0; max-height: 100dvh; }
    .bootstrap-site .player-main { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
}

/* Final colour, touch and lifecycle-state contracts. */
.bootstrap-site .audience-day .player-join,
.bootstrap-site .audience-day .player-approval-waiting,
.bootstrap-site .audience-day .player-route-state,
.bootstrap-site .audience-day .setup-waiting-screen { color: #101828; }
.bootstrap-site .audience-day .player-join h1,
.bootstrap-site .audience-day .player-approval-waiting h1,
.bootstrap-site .audience-day .player-route-state h1,
.bootstrap-site .audience-day .setup-waiting-screen h1 { color: #101828 !important; }
.bootstrap-site .audience-day .player-join > p,
.bootstrap-site .audience-day .player-approval-waiting > p,
.bootstrap-site .audience-day .player-route-state > p,
.bootstrap-site .audience-day .setup-waiting-screen > p,
.bootstrap-site .audience-day .player-host-link,
.bootstrap-site .audience-day .join-smallprint,
.bootstrap-site .audience-day .join-option-note { color: #4b5565; }
.bootstrap-site .audience-day .player-join input,
.bootstrap-site .audience-day .player-join select { border-color: #c8d2df; background: #fff; color: #101828; }
.bootstrap-site .audience-day .player-join .field,
.bootstrap-site .audience-day .player-join .segmented button,
.bootstrap-site .audience-day .back-action { color: #4b5565; }
.bootstrap-site .audience-day .player-identity { border-color: #3c4965; background: #27324a !important; color: #fff !important; }
.bootstrap-site .audience-day .player-identity small,
.bootstrap-site .audience-day .player-score span { color: #dce5f5 !important; }

.bootstrap-site .player-reveal.right,
.bootstrap-site .player-reveal.wrong { color: #101828; }
.bootstrap-site .player-reveal.right h1,
.bootstrap-site .player-reveal.wrong h1 { color: #101828 !important; }
.bootstrap-site .player-reveal.right .section-label { color: #176343 !important; text-shadow: none; }
.bootstrap-site .player-reveal.wrong .section-label { color: #9b1c35 !important; text-shadow: none; }
.bootstrap-site .audience-night .player-reveal.right { border-color: #3c9472 !important; background: #102a25 !important; color: #fff; }
.bootstrap-site .audience-night .player-reveal.right h1 { color: #fff !important; }
.bootstrap-site .audience-night .player-reveal.right .section-label { color: #7ee3b4 !important; }
.bootstrap-site .audience-night .player-reveal.right > p { color: #cce7df; }
.bootstrap-site .audience-night .player-reveal.wrong { border-color: #d27682 !important; background: #2b1220 !important; color: #fff; }
.bootstrap-site .audience-night .player-reveal.wrong h1 { color: #fff !important; }
.bootstrap-site .audience-night .player-reveal.wrong .section-label { color: #ff9aaa !important; }
.bootstrap-site .audience-night .player-reveal.wrong > p { color: #dfcbd3; }

.bootstrap-site .audience-day .player-leader-rows > div { color: #101828; }
.bootstrap-site .audience-day .player-leader-rows > div span,
.bootstrap-site .audience-day .player-leader-rows > div strong { color: #101828 !important; }
.bootstrap-site .audience-day .player-leader-rows > div small { color: #526174; }
.bootstrap-site .audience-night .player-identity small,
.bootstrap-site .audience-night .player-score span,
.bootstrap-site .audience-night .player-result p { color: #c8d5ed !important; }
.bootstrap-site .audience-night .result-rank { color: #91b0ff !important; text-shadow: none; }
.bootstrap-site .audience-night #leaveDevice { color: #ff7f8f !important; }

.bootstrap-site .display-redesign .tv-answer.answer-0,
.bootstrap-site .phone-answer.answer-0 { background: linear-gradient(145deg,#0b6fd3,#004eaa); color: #fff; }
.bootstrap-site .display-redesign .tv-answer.answer-1,
.bootstrap-site .phone-answer.answer-1 { background: linear-gradient(145deg,#007f75,#005d58); color: #fff; }
.bootstrap-site .display-redesign .tv-answer.answer-2,
.bootstrap-site .phone-answer.answer-2 { background: linear-gradient(145deg,#d02f4d,#a71935); color: #fff; }
.bootstrap-site .display-redesign.audience-night .tv-answer.answer-0 { background: linear-gradient(145deg,#0b6fd3,#004eaa) !important; }
.bootstrap-site .display-redesign.audience-night .tv-answer.answer-1 { background: linear-gradient(145deg,#007f75,#005d58) !important; }
.bootstrap-site .display-redesign.audience-night .tv-answer.answer-2 { background: linear-gradient(145deg,#d02f4d,#a71935) !important; }

.bootstrap-site .display-redesign .tv-lock-badge {
    display: inline-flex;
    margin: 0 0 .45rem;
    padding: .35rem .7rem;
    border-radius: 999px;
    background: #4c2fc2;
    color: #fff;
    font-size: clamp(.7rem,1vw,1rem);
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.bootstrap-site .display-redesign .tv-question.locked .tv-timer { background: #4c2fc2; }
.bootstrap-site .display-redesign .tv-question.locked .tv-timer span { color: #fff; }

.bootstrap-site .host-display-control > summary,
.bootstrap-site #logoutHost,
.bootstrap-site #tabletPendingToggle,
.bootstrap-site #tabletCloseRoomTools,
.bootstrap-site .people-table .table-actions .plain-action,
.bootstrap-site .question-editor .plain-action,
.bootstrap-site .round-card .danger-text,
.bootstrap-site #backToQuizSources,
.bootstrap-site button[data-command="end"],
.bootstrap-site .quizmaster-run-status details > summary,
.bootstrap-site #loginTab,
.bootstrap-site #registerTab,
.bootstrap-site #setupBackToSources,
.bootstrap-site #useDifferentPin,
.bootstrap-site #backToPin,
.bootstrap-site #soundToggle,
.bootstrap-site #leaveDevice {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}
.bootstrap-site .people-table .table-actions .plain-action,
.bootstrap-site .question-editor .plain-action { min-width: 44px; padding: .55rem .65rem; }
.bootstrap-site .question-editor-summary { width: 100%; min-width: 0; min-height: 58px; display: grid; }
.bootstrap-site .question-editor-body details > summary { min-height: 44px; display: flex; align-items: center; }
.bootstrap-site .add-question { min-height: 44px; display: inline-flex; align-items: center; padding: .55rem .7rem; }
.bootstrap-site .host-display-control > summary { min-height: 44px !important; }
.bootstrap-site .quizmaster-run-status button[data-command] { min-height: 44px !important; }
.bootstrap-site .brand-link.home-brand,
.bootstrap-site .auth-join-link,
.bootstrap-site .player-host-link,
.bootstrap-site #forgotPassword,
.bootstrap-site #setupEditQuiz,
.bootstrap-site #resetGame,
.bootstrap-site #createCustomQuizAfterGame,
.bootstrap-site .host-session-status {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
}
.bootstrap-site .audience-theme-control button,
.bootstrap-site .presentation-toggle { min-height: 44px; }
.bootstrap-site #soundToggle,
.bootstrap-site #leaveDevice { padding: .55rem .7rem; }
.bootstrap-site #soundToggle { min-width: 44px; }

@media (min-width: 768px) {
    .bootstrap-site .player-controller { width: min(720px,calc(100% - 2rem)); }
}

@media (max-width: 620px) {
    .bootstrap-site .host-app .toast { top: 70px; right: .65rem; bottom: auto; width: calc(100vw - 1.3rem); pointer-events: none; }
    .bootstrap-site .display-redesign .tv-lock-badge { margin-bottom: .2rem; padding: .2rem .45rem; font-size: .55rem; }
}

/* Inter-question winner board: five pieces of content require five explicit tracks. */
.bootstrap-site .display-redesign .question-winner-rows { min-width: 0; min-height: 0; align-content: center; }
.bootstrap-site .display-redesign .question-winner-rows > div { min-width: 0; grid-template-columns: 52px 62px minmax(0, 1fr) 95px 100px; }
.bootstrap-site .display-redesign .question-winner-rows > div > span { min-width: 0; display: -webkit-box; overflow: hidden; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.08; }
@media (max-height: 650px) {
    .bootstrap-site .display-redesign .question-winners-layout { grid-template-columns: minmax(0,.62fr) minmax(0,1.38fr); gap: 3vw; padding: 1rem 3vw; }
    .bootstrap-site .display-redesign .question-winners-layout h1 { font-size: clamp(2rem,4vw,3.1rem); }
    .bootstrap-site .display-redesign .question-winner-rows { gap: 4px; }
    .bootstrap-site .display-redesign .question-winner-rows > div { min-height: 52px; grid-template-columns: 34px 42px minmax(0,1fr) 62px 58px; gap: 7px; padding: 4px 8px; }
    .bootstrap-site .display-redesign .question-winner-rows > div.is-first { transform: none; }
    .bootstrap-site .display-redesign .question-winner-avatar { width: 42px; height: 42px; border-width: 2px; }
    .bootstrap-site .display-redesign .question-winner-rows b { width: 32px; height: 32px; font-size: 1rem; }
    .bootstrap-site .display-redesign .question-winner-rows span { font-size: .95rem; -webkit-line-clamp: 1; }
    .bootstrap-site .display-redesign .question-winner-rows small { font-size: .72rem; }
    .bootstrap-site .display-redesign .question-winner-rows strong { font-size: .95rem; }
    .bootstrap-site .display-redesign .winner-screen-timer { margin-top: 12px; }
}

/* Captain tools live in the footer; player sound is always enabled after interaction. */
.bootstrap-site .player-identity { grid-template-columns: 48px minmax(0,1fr) auto; }
.bootstrap-site .player-footer { display: flex; gap: .6rem; align-items: center; }
.bootstrap-site .player-footer.has-captain-tools { justify-content: center; }
.bootstrap-site .player-manage-team-action,
.bootstrap-site .player-footer .player-leave-action { min-height: 40px; margin: 0; padding: .48rem 1rem; border-radius: 999px; font-size: .74rem; font-weight: 900; text-align: center; }
.bootstrap-site .player-manage-team-action { border: 1px solid rgba(177,154,255,.68); background: rgba(111,78,226,.24); color: #e0d8ff; }
.bootstrap-site .player-manage-team-action:hover,
.bootstrap-site .player-manage-team-action:focus-visible { border-color: #cdbdff; background: rgba(111,78,226,.46); color: #fff; }

.bootstrap-site .captain-team-screen { width: 100%; max-width: 100%; background: #f6f7fb; color: #14182b; animation: none; }
.bootstrap-site .captain-team-screen.is-entering { animation: captain-screen-in 300ms cubic-bezier(.2,.82,.25,1) both; }
.bootstrap-site .captain-team-header h1 { display: -webkit-box; overflow: hidden; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.08; }
.bootstrap-site .captain-team-profile { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; max-width: 720px; margin: 20px auto 0; padding: 16px; border: 1px solid #dfe3ec; border-radius: 18px; background: #fff; box-shadow: 0 10px 30px rgba(28,34,58,.08); }
.bootstrap-site .captain-team-image-control { grid-column: 1 / -1; display: flex; align-items: center; gap: 14px; }
.bootstrap-site .captain-team-avatar { width: 82px; height: 82px; flex: 0 0 82px; border: 2px solid #dadfea; border-radius: 22px; object-fit: cover; background: linear-gradient(145deg,#7651e6,#455bd1); color: #fff; font-size: 1.7rem; box-shadow: 0 8px 18px rgba(67,54,160,.18); }
.bootstrap-site .captain-team-image-control > div { display: grid; justify-items: start; gap: 7px; }
.bootstrap-site .captain-team-image-picker { display: inline-flex; min-height: 40px; align-items: center; padding: .5rem .8rem; border: 1px solid #7651e6; border-radius: 10px; background: #f3efff; color: #5535b9; font-size: .8rem; font-weight: 900; cursor: pointer; }
.bootstrap-site .captain-team-image-picker input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.bootstrap-site .captain-team-image-picker:focus-within { outline: 3px solid rgba(91,53,232,.32); outline-offset: 3px; }
.bootstrap-site .captain-team-image-control small { color: #667085; font-size: .72rem; }
.bootstrap-site #removeCaptainTeamAvatar { min-height: 36px; padding: .35rem .65rem; border: 1px solid #d92d49; border-radius: 9px; background: #fff2f4; color: #b4233d; font-size: .75rem; font-weight: 850; }
.bootstrap-site .captain-team-name-field { display: grid; gap: 6px; color: #344054; font-size: .75rem; font-weight: 900; }
.bootstrap-site .captain-team-name-field input,
.bootstrap-site .captain-member-rename-form input { width: 100%; min-height: 44px; padding: .55rem .7rem; border: 1px solid #cfd5e1; border-radius: 10px; background: #fff; color: #14182b; font: inherit; }
.bootstrap-site .captain-save-team { align-self: end; min-height: 44px; padding: .55rem 1rem; border: 0; border-radius: 10px; background: linear-gradient(135deg,#6842dc,#4b5ed2); color: #fff; font-weight: 900; }
.bootstrap-site .captain-team-screen .captain-team-intro,
.bootstrap-site .captain-team-screen .captain-member-list { width: min(720px,calc(100% - 28px)); margin-inline: auto; }
.bootstrap-site .captain-team-screen .captain-member-list { padding: 0 0 18px; }
.bootstrap-site .captain-team-screen .captain-member-row { grid-template-columns: 48px minmax(0,1fr); border-radius: 16px; box-shadow: 0 5px 16px rgba(28,34,58,.05); }
.bootstrap-site .captain-member-rename-form { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.bootstrap-site .captain-member-rename-form button { min-height: 44px; padding: .45rem .7rem; border: 1px solid #7651e6; border-radius: 10px; background: #f3efff; color: #5535b9; font-size: .75rem; font-weight: 900; }
.bootstrap-site .captain-member-stats { grid-column: 1 / -1; }
.bootstrap-site .captain-team-screen .captain-member-row > .captain-remove-member { grid-column: 1 / -1; width: 100%; justify-self: stretch; border-radius: 10px; }

@media (max-width: 520px) {
    .bootstrap-site .player-footer.has-captain-tools { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .player-manage-team-action,
    .bootstrap-site .player-footer .player-leave-action { width: 100%; padding-inline: .65rem; }
    .bootstrap-site .captain-team-profile { grid-template-columns: 1fr; margin: 14px 14px 0; }
    .bootstrap-site .captain-save-team { width: 100%; }
    .bootstrap-site .captain-team-header { grid-template-columns: 44px minmax(0,1fr); min-height: 70px; }
    .bootstrap-site .captain-team-header > span { display: none; }
}
@media (max-height: 400px) and (max-width: 620px) {
    .bootstrap-site .player-controller { height: 100dvh; min-height: 0; overflow: hidden; }
    .bootstrap-site .player-identity,
    .bootstrap-site .player-footer { flex: 0 0 auto; }
    .bootstrap-site .player-main { min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
    .bootstrap-site .player-footer { position: relative; z-index: 12; }
    .bootstrap-site .phone-question { min-height: 0; }
}

@media (max-width: 360px) {
    .bootstrap-site .captain-team-image-control { align-items: flex-start; }
    .bootstrap-site .captain-team-avatar { width: 68px; height: 68px; flex-basis: 68px; }
    .bootstrap-site .captain-member-rename-form { grid-template-columns: minmax(0,1fr); }
    .bootstrap-site .captain-member-rename-form button { width: 100%; }
}

/* Final interaction and viewport contracts from the full UI audit. */
.bootstrap-site .host-display-control:not([open]) > .host-presentation-bar { display: none !important; }
.bootstrap-site .player-manage-team-action,
.bootstrap-site .player-footer .player-leave-action,
.bootstrap-site .captain-team-image-picker,
.bootstrap-site #removeCaptainTeamAvatar,
.bootstrap-site .captain-team-screen .captain-member-row > .captain-remove-member { min-height: 44px; }
.bootstrap-site .captain-member-avatar,
.bootstrap-site .captain-member-avatar.initial-fallback { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; object-fit: cover; background: linear-gradient(145deg,#7651e6,#455bd1); color: #fff; font-weight: 900; }
.bootstrap-site .display-redesign .tv-timer.automatic-overtime small { color: rgba(255,255,255,.88) !important; }

/* Audience lobby: mode-aware counts and rich team/player roster cards. */
.bootstrap-site .display-redesign .team-lobby-roster {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: .7rem;
}
.bootstrap-site .display-redesign .solo-lobby-roster {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .7rem;
}
.bootstrap-site .display-redesign .joiner-rail .lobby-participant {
    display: block;
    min-width: 0;
    min-height: 0;
    padding: .7rem .8rem;
}
.bootstrap-site .display-redesign .lobby-participant-heading {
    display: grid;
    min-width: 0;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: .65rem;
}
.bootstrap-site .display-redesign .lobby-participant-heading > span {
    display: grid;
    min-width: 0;
    gap: .08rem;
}
.bootstrap-site .display-redesign .lobby-participant-heading strong,
.bootstrap-site .display-redesign .lobby-participant-heading small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bootstrap-site .display-redesign .lobby-participant-heading small { color: #696b78; font-size: .66rem; }
.bootstrap-site .display-redesign .lobby-team-members {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .35rem;
    margin-top: .55rem;
}
.bootstrap-site .display-redesign .lobby-team-member {
    display: grid;
    min-width: 0;
    grid-template-columns: 24px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 0 .32rem;
    padding: .22rem .3rem;
    border-radius: .55rem;
    background: rgba(104, 83, 210, .08);
}
.bootstrap-site .display-redesign .lobby-member-avatar {
    display: grid;
    width: 24px;
    height: 24px;
    grid-row: 1 / 3;
    place-items: center;
    border-radius: 50%;
    object-fit: cover;
    background: #6d52d9;
    color: #fff;
    font-size: .62rem;
}
.bootstrap-site .display-redesign .lobby-team-member b {
    overflow: hidden;
    font-size: .66rem;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bootstrap-site .display-redesign .lobby-team-member em {
    color: #6d52d9;
    font-size: .48rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
}
.bootstrap-site .display-redesign.audience-night .lobby-participant-heading small { color: rgba(255,255,255,.62); }
.bootstrap-site .display-redesign.audience-night .lobby-team-member { background: rgba(99,243,255,.1); }
.bootstrap-site .display-redesign.audience-night .lobby-team-member em { color: #63f3ff; }

/* Inter-question results: identity and speed only, without score noise. */
.bootstrap-site .display-redesign .question-winners-layout { grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr); }
.bootstrap-site .display-redesign .question-winner-rows > div {
    grid-template-columns: 68px minmax(0, 1fr) auto;
    gap: 1rem;
    padding: .8rem 1rem;
    border-radius: 1.2rem;
}
.bootstrap-site .display-redesign .question-winner-avatar { width: 58px; height: 58px; }
.bootstrap-site .display-redesign .question-winner-rows .response-time {
    display: grid;
    justify-items: end;
    color: #666978;
    font-size: .7rem;
    line-height: 1;
    text-transform: uppercase;
}
.bootstrap-site .display-redesign .question-winner-rows .response-time strong {
    color: #22243a;
    font-size: 1.35rem;
    line-height: 1;
}
.bootstrap-site .display-redesign .question-winner-rows > div.is-first::before {
    content: 'Fastest';
    position: absolute;
    top: -.65rem;
    right: 1rem;
    padding: .22rem .55rem;
    border-radius: 999px;
    background: #22243a;
    color: #fff;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.bootstrap-site .display-redesign .question-winner-rows > div.is-first { position: relative; }
.bootstrap-site .display-redesign.audience-night .question-winner-rows .response-time { color: rgba(255,255,255,.66); }
.bootstrap-site .display-redesign.audience-night .question-winner-rows .response-time strong { color: #fff; }
.bootstrap-site .display-redesign .question-winners-layout.no-winners .no-question-winners {
    min-height: min(42vh, 330px);
    border-style: solid;
    box-shadow: 0 24px 65px rgba(92,72,177,.16);
}

@media (max-width: 1050px) and (min-width: 768px) {
    .bootstrap-site .display-redesign .team-lobby-roster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bootstrap-site .display-redesign .solo-lobby-roster { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-height: 650px) and (min-width: 768px) {
    .bootstrap-site .display-redesign .lobby-team-members { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: .3rem; }
    .bootstrap-site .display-redesign .joiner-rail .lobby-participant { padding: .45rem .55rem; }
    .bootstrap-site .display-redesign .lobby-participant-heading { grid-template-columns: 34px minmax(0, 1fr); gap: .45rem; }
    .bootstrap-site .display-redesign .lobby-participant-avatar { width: 34px; height: 34px; }
    .bootstrap-site .display-redesign .lobby-team-member:nth-child(n+4) { display: none; }
}
@media (max-width: 767.98px) {
    .bootstrap-site .display-redesign .question-winners-layout { grid-template-columns: 1fr; }
    .bootstrap-site .display-redesign .question-winner-rows > div { grid-template-columns: 38px minmax(0, 1fr) auto; gap: .5rem; }
    .bootstrap-site .display-redesign .question-winner-avatar { width: 36px; height: 36px; }
    .bootstrap-site .display-redesign .question-winner-rows .response-time { display: grid; font-size: .52rem; }
    .bootstrap-site .display-redesign .question-winner-rows .response-time strong { font-size: .9rem; }
}
.bootstrap-site .phone-question.automatic-overtime .phone-question-meta,
.bootstrap-site .phone-question.automatic-overtime .phone-question-meta span,
.bootstrap-site .phone-question.automatic-overtime .phone-question-meta strong { color: #c71934 !important; }

.bootstrap-site .host-app.reference-design .settings-section .toggle-row .form-check-input {
    width: 42px !important;
    height: 23px !important;
    min-height: 23px !important;
    flex: 0 0 42px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    appearance: none;
    background: #c5c9d1 !important;
    background-image: none !important;
    box-shadow: none !important;
}
.bootstrap-site .host-app.reference-design .settings-section .toggle-row .form-check-input::after { display: block; width: 17px; height: 17px; margin: 3px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.2); content: ''; transition: transform 140ms ease; }
.bootstrap-site .host-app.reference-design .settings-section .toggle-row .form-check-input:checked { background: var(--ref-green) !important; }
.bootstrap-site .host-app.reference-design .settings-section .toggle-row .form-check-input:checked::after { transform: translateX(19px); }
.bootstrap-site .host-app.reference-design .settings-section .toggle-row .form-check-input:focus-visible { outline: 3px solid rgba(91,53,232,.25); outline-offset: 3px; }

@media (min-width: 768px) and (max-height: 820px) {
    .bootstrap-site .host-content:has(.live-layout) {
        height: calc(100dvh - 66px);
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        grid-template-rows: auto auto auto auto;
        align-content: start;
        scrollbar-gutter: stable;
    }
    .bootstrap-site .live-layout { min-height: 0; align-content: start; }
    .bootstrap-site .host-question-cockpit { min-height: 380px; }
    .bootstrap-site .host-question-cockpit .host-question { min-height: 190px; }
}

/* Mobile answer confirmation: primary action, decision, then escape action. */
.bootstrap-site .answer-confirm-modal {
    display: grid;
    width: min(100%,520px);
    grid-template-rows: auto minmax(0,1fr) auto;
    justify-items: center;
    gap: 0;
    padding: clamp(18px,4vw,24px);
}
.bootstrap-site .answer-confirm-primary,
.bootstrap-site .answer-confirm-middle,
.bootstrap-site .answer-confirm-secondary {
    display: grid;
    width: 100%;
    justify-items: center;
}
.bootstrap-site .answer-confirm-primary { padding-bottom: clamp(20px,4vh,32px); }
.bootstrap-site .answer-confirm-secondary { padding-top: clamp(20px,4vh,32px); }
.bootstrap-site .answer-confirm-middle { align-content: center; }
.bootstrap-site .answer-confirm-middle .section-label { margin: .8rem 0 .15rem; }
.bootstrap-site .answer-confirm-middle h2 { margin: .1rem 0 .75rem; font-size: clamp(1.45rem,6vw,2rem); }
.bootstrap-site .answer-confirm-choice { width: min(100%,380px); margin: 0; }
.bootstrap-site .answer-lock-now,
.bootstrap-site .answer-cancel { width: min(100%,360px); min-height: 64px; margin: 0; }

/* Player overtime is deliberately urgent without crowding the answer choices. */
.bootstrap-site .phone-overtime-banner {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    margin: 0 0 .55rem;
    padding: .55rem .8rem;
    border: 1px solid #f6a3af;
    border-radius: 14px;
    background: linear-gradient(135deg,#a81029,#dc304a);
    color: #fff;
    box-shadow: 0 10px 24px rgba(168,16,41,.2);
    text-align: center;
}
.bootstrap-site .phone-overtime-banner span { padding: .25rem .5rem; border-radius: 999px; background: #fff; color: #a81029; font-size: .72rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.bootstrap-site .phone-overtime-banner strong { color: #fff; font-size: .9rem; letter-spacing: .01em; }
.bootstrap-site .phone-question.automatic-overtime {
    border: 0;
    background: linear-gradient(180deg,#fff4f5 0,#fff 35%);
    box-shadow: inset 0 4px 0 #c71934;
}
.bootstrap-site .phone-question.automatic-overtime .phone-question-meta { padding: .45rem .6rem; border-radius: 10px; background: #fff; box-shadow: 0 4px 14px rgba(129,19,38,.08); }
.bootstrap-site .phone-question.automatic-overtime .phone-question-meta strong { display: inline-flex; min-width: 64px; min-height: 34px; align-items: center; justify-content: center; border-radius: 999px; background: #c71934; color: #fff !important; box-shadow: 0 0 0 5px rgba(199,25,52,.1); }

/* Quizmaster iPad-first live workflow: one operational viewport, mobile second. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .bootstrap-site .host-app.reference-design.room-ready .host-workspace { height: 100dvh; min-height: 0; overflow: hidden; padding-left: 88px; }
    .bootstrap-site .host-app.reference-design.room-ready .host-sidebar-shell { width: 88px; }
    .bootstrap-site .host-app.reference-design.room-ready .host-content { width: 100%; height: calc(100dvh - 66px); min-height: 0; overflow-x: hidden; overflow-y: auto; padding: 1rem; overscroll-behavior: contain; scrollbar-gutter: stable; }
    .bootstrap-site .host-app.reference-design .host-content:has(.live-layout) { height: calc(100dvh - 66px); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
    .bootstrap-site .quizmaster-run-status { grid-template-columns: minmax(0,1.15fr) minmax(11rem,.85fr); gap: .75rem 1rem; padding: 1rem; }
    .bootstrap-site .quizmaster-run-status .run-status-main { grid-column: 1; }
    .bootstrap-site .quizmaster-run-status .run-status-audience { grid-column: 2; }
    .bootstrap-site .quizmaster-run-status .run-status-progress { grid-column: 1; }
    .bootstrap-site .quizmaster-run-status .run-status-actions { grid-column: 2; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
    .bootstrap-site .quizmaster-run-status .run-status-actions .button { min-height: 44px; }
    .bootstrap-site .host-question-cockpit { min-height: 400px; }
    .bootstrap-site .host-question-cockpit .host-question { min-height: 210px; overscroll-behavior: contain; }
    .bootstrap-site .host-question-cockpit .host-answer-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .live-tools-drawer > summary { min-height: 60px; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .global-approval-queue { min-height: 0; max-height: min(45dvh, 16rem); display: flex; flex-direction: column; }
    .bootstrap-site .global-approval-queue .approval-list { min-height: 0; flex: 1 1 auto; overflow-y: auto; }
    .bootstrap-site .answer-confirm-backdrop { padding: max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom)); }
    .bootstrap-site .answer-confirm-modal { max-height: calc(100dvh - 24px); }
    .bootstrap-site .answer-confirm-countdown { width: 94px; height: 94px; margin-bottom: .4rem; border-width: 7px; }
    .bootstrap-site .answer-confirm-countdown strong { font-size: 2.55rem; }
    .bootstrap-site .phone-question.automatic-overtime { padding-top: .65rem; }
    .bootstrap-site .host-app.reference-design .host-content:has(.live-layout) { display: block; height: auto; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
    .bootstrap-site .quizmaster-run-status { display: grid; grid-template-columns: minmax(0,1fr); gap: .65rem; padding: .8rem; }
    .bootstrap-site .quizmaster-run-status .run-status-main,
    .bootstrap-site .quizmaster-run-status .run-status-audience,
    .bootstrap-site .quizmaster-run-status .run-status-progress,
    .bootstrap-site .quizmaster-run-status .run-status-actions { grid-column: 1; }
    .bootstrap-site .quizmaster-run-status .run-status-audience { padding: .55rem 0; border-top: 1px solid var(--ref-line); border-left: 0; }
    .bootstrap-site .quizmaster-run-status .run-status-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); justify-content: stretch; }
    .bootstrap-site .quizmaster-run-status .run-status-actions .run-next-action { grid-column: 1 / -1; }
    .bootstrap-site .quizmaster-run-status .run-status-actions .button { width: 100%; min-height: 48px !important; white-space: normal; }
    .bootstrap-site .host-question-cockpit { min-height: 0; overflow: visible; }
    .bootstrap-site .host-question-cockpit .host-question { min-height: 0; overflow: visible; }
    .bootstrap-site .host-app.reference-design .host-session-status,
    .bootstrap-site .host-app.reference-design .live-tools-drawer > summary,
    .bootstrap-site .host-app.reference-design .live-more-controls > summary,
    .bootstrap-site .host-app.reference-design #logoutHost,
    .bootstrap-site .host-app.reference-design #saveQuiz,
    .bootstrap-site .host-app.reference-design [data-delete-round],
    .bootstrap-site .host-app.reference-design .question-more-fields > summary,
    .bootstrap-site .host-app.reference-design .builder-options > summary,
    .bootstrap-site .host-app.reference-design .builder-edit-toolbar .builder-back-to-sources,
    .bootstrap-site .host-app.reference-design .presentation-toggle,
    .bootstrap-site .host-app.reference-design .audience-theme-control button,
    .bootstrap-site .host-app.reference-design .tablet-drawer-close,
    .bootstrap-site .host-app.reference-design .question-editor-footer > .danger-text,
    .bootstrap-site .host-app.reference-design .add-question,
    .bootstrap-site .host-app.reference-design .managed-team .plain-action,
    .bootstrap-site .host-app.reference-design .member-row .plain-action { min-height: 44px !important; }
    .bootstrap-site .host-app.reference-design #logoutHost { min-width: 44px; }
}

@media (max-height: 700px) and (max-width: 767.98px) {
    .bootstrap-site .answer-confirm-primary { padding-bottom: 12px; }
    .bootstrap-site .answer-confirm-secondary { padding-top: 12px; }
    .bootstrap-site .answer-confirm-modal { padding: 14px; }
    .bootstrap-site .answer-confirm-countdown { width: 76px; height: 76px; border-width: 5px; }
    .bootstrap-site .answer-confirm-countdown strong { font-size: 2rem; }
    .bootstrap-site .phone-overtime-banner { min-height: 40px; margin-bottom: .35rem; padding: .4rem .55rem; }
}

/* Final tablet/mobile interaction corrections from rendered device checks. */
.bootstrap-site .live-tools-drawer a { min-height: 44px; display: inline-flex; align-items: center; }
.bootstrap-site .live-more-controls:not([open]) > :not(summary),
.bootstrap-site .live-tools-drawer:not([open]) > :not(summary),
.bootstrap-site .host-status-control:not([open]) > .host-status-menu { display: none !important; }

@media (min-width: 768px) and (max-width: 1199.98px) {
    .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 32px auto;
        justify-items: center;
        align-content: center;
        gap: .2rem;
        overflow: hidden;
        text-align: center;
    }
    .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link span { width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

@media (min-width: 768px) and (max-width: 900px) {
    .bootstrap-site .quizmaster-run-status .run-status-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }
    .bootstrap-site .quizmaster-run-status .run-status-actions .run-next-action { grid-column: 1 / -1; }
    .bootstrap-site .quizmaster-run-status .run-status-actions .button { width: 100%; white-space: normal; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link,
    html.phone-device .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 18px auto;
        justify-items: center;
        align-content: center;
        overflow: hidden;
    }
    .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link span,
    html.phone-device .bootstrap-site .host-app.reference-design.room-ready .host-primary-nav .nav-link span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* Lock-in modal polish: visual-only; countdown timing remains owned by app.js. */
.bootstrap-site .answer-confirm-backdrop { background: rgba(8,13,35,.76); backdrop-filter: blur(9px) saturate(.8); }
.bootstrap-site .answer-confirm-modal {
    border: 1px solid rgba(30,42,73,.2);
    border-radius: 26px;
    background: linear-gradient(180deg,#fff 0%,#fbfcff 58%,#f6f8fc 100%);
    box-shadow: 0 28px 80px rgba(4,9,30,.38),0 0 0 1px rgba(255,255,255,.75) inset;
}
.bootstrap-site .answer-confirm-primary { padding-bottom: clamp(18px,3vh,26px); }
.bootstrap-site .answer-lock-now {
    min-height: 62px;
    border: 1px solid #0d6f42;
    border-radius: 16px;
    background: linear-gradient(135deg,#087a49,#075f3b);
    color: #fff;
    box-shadow: 0 10px 24px rgba(15,133,78,.25),0 1px 0 rgba(255,255,255,.2) inset;
    font-size: 1.05rem;
    letter-spacing: -.01em;
    transition: transform 140ms ease,box-shadow 140ms ease,filter 140ms ease;
}
.bootstrap-site .answer-lock-now::before { display: inline-grid; width: 26px; height: 26px; margin-right: .55rem; place-items: center; border-radius: 50%; background: rgba(255,255,255,.18); content: '✓'; font-size: .9rem; }
.bootstrap-site .answer-lock-now:active { transform: translateY(1px) scale(.99); filter: brightness(.96); box-shadow: 0 5px 14px rgba(15,133,78,.2); }
.bootstrap-site .answer-confirm-middle { width: min(100%,390px); padding: .2rem 0; }
.bootstrap-site .answer-confirm-countdown {
    position: relative;
    width: 90px;
    height: 90px;
    margin: .3rem auto .75rem;
    border: 5px solid #198754;
    background: radial-gradient(circle at 50% 38%,#fff 0,#effaf4 68%,#dff3e8 100%);
    box-shadow: 0 0 0 7px rgba(25,135,84,.09),0 10px 24px rgba(26,94,60,.14);
}
.bootstrap-site .answer-confirm-countdown::before { position: absolute; inset: -11px; border: 1px solid rgba(25,135,84,.2); border-radius: 50%; content: ''; pointer-events: none; }
.bootstrap-site .answer-confirm-countdown strong { color: #126b40; font-size: 2.55rem; font-variant-numeric: tabular-nums; line-height: .9; }
.bootstrap-site .answer-confirm-countdown span { max-width: 68px; margin: .45rem auto 0; color: #246a49; font-size: .55rem; line-height: 1.15; }
.bootstrap-site .answer-confirm-countdown-label { display: block; margin: -.25rem 0 .7rem; color: #246a49; font-size: .72rem; font-weight: 850; letter-spacing: .055em; line-height: 1.2; text-transform: uppercase; }
.bootstrap-site .answer-confirm-middle .section-label { margin: .8rem 0 .2rem; color: #5b35e8; font-size: .68rem; letter-spacing: .12em; }
.bootstrap-site .answer-confirm-middle h2 { margin: 0 0 .8rem; color: #1d2438; font-size: clamp(1.35rem,5.4vw,1.75rem); letter-spacing: -.025em; }
.bootstrap-site .answer-confirm-choice { position: relative; min-height: 84px; padding: 14px 16px; border: 1px solid rgba(23,29,61,.32); border-radius: 16px; box-shadow: 0 10px 26px rgba(20,29,62,.14),0 1px 0 rgba(255,255,255,.22) inset; }
.bootstrap-site .answer-confirm-choice b { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 11px; background: rgba(255,255,255,.12); }
.bootstrap-site .answer-confirm-choice span { line-height: 1.25; }
.bootstrap-site .answer-confirm-secondary { padding-top: clamp(18px,3vh,26px); }
.bootstrap-site .answer-cancel { border-color: #d8a1aa; border-width: 1px; border-radius: 14px; background: #fff; color: #a5233a; box-shadow: 0 5px 16px rgba(117,24,43,.06); }
.bootstrap-site .answer-cancel b { font-size: 1.7rem; }
.bootstrap-site .answer-cancel:hover,
.bootstrap-site .answer-cancel:focus-visible { border-color: #bd4055; background: #fff5f6; color: #8f1830; }

@media (max-height: 700px) and (max-width: 767.98px) {
    .bootstrap-site .answer-confirm-countdown { width: 72px; height: 72px; margin-bottom: .4rem; }
    .bootstrap-site .answer-confirm-countdown strong { font-size: 1.9rem; }
    .bootstrap-site .answer-confirm-choice { min-height: 68px; padding-block: 10px; }
    .bootstrap-site .answer-lock-now,
    .bootstrap-site .answer-cancel { min-height: 54px; }
}

/* Scroll safety: public pages grow naturally when controls exceed the viewport. */
.bootstrap-site .host-auth-shell {
    height: auto;
    min-height: 100dvh;
    overflow-x: clip;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.bootstrap-site .host-auth-shell .host-auth-polished {
    height: auto;
    min-height: calc(100dvh - clamp(58px,10dvh,76px));
}

/* Answer confidence: visible provisional state, unmistakable timers and final actions. */
.bootstrap-site .phone-question-meta { gap: .75rem; }
.bootstrap-site .phone-question-timer {
    display: grid;
    min-width: 88px;
    min-height: 54px;
    flex: 0 0 auto;
    place-content: center;
    padding: .35rem .65rem;
    border: 3px solid #168cff;
    border-radius: 16px;
    background: #071f4f;
    color: #fff;
    box-shadow: 0 0 0 5px rgba(22,140,255,.14),0 10px 24px rgba(0,57,130,.25);
    text-align: center;
}
.bootstrap-site .phone-question-timer strong { color: #fff !important; font-size: 1.55rem; font-variant-numeric: tabular-nums; line-height: .9; }
.bootstrap-site .phone-question-timer small { margin-top: .25rem; color: #cde7ff; font-size: .56rem; font-weight: 900; letter-spacing: .07em; line-height: 1; text-transform: uppercase; }
.bootstrap-site .phone-question.has-provisional-answer { grid-template-rows: auto auto auto minmax(0,1fr); }
.bootstrap-site .phone-question.automatic-overtime.has-provisional-answer { grid-template-rows: auto auto auto auto minmax(0,1fr); }
.bootstrap-site .provisional-answer-status {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    align-items: center;
    gap: .2rem .65rem;
    padding: .55rem .7rem;
    border: 2px solid #76baff;
    border-radius: 12px;
    background: #eaf5ff;
    color: #0a3970;
    box-shadow: 0 7px 18px rgba(17,100,184,.12);
}
.bootstrap-site .provisional-answer-status strong { grid-row: 1 / 3; color: #0759a8 !important; font-size: .8rem; white-space: nowrap; }
.bootstrap-site .provisional-answer-status span { color: #0a3970 !important; font-size: .69rem; font-weight: 750; line-height: 1.2; }
.bootstrap-site .answer-question-time {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    margin-bottom: .75rem;
    padding: .45rem .8rem;
    border: 2px solid #168cff;
    border-radius: 999px;
    background: #e9f5ff;
    color: #0a3970;
    box-shadow: 0 0 0 4px rgba(22,140,255,.1);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.bootstrap-site .answer-question-time span { color: #0a3970 !important; }
.bootstrap-site .answer-question-time strong { color: #064f99 !important; font-size: 1rem; font-variant-numeric: tabular-nums; }
.bootstrap-site .answer-confirm-modal .answer-confirm-middle .section-label { color: #4f2ccf !important; }
.bootstrap-site .answer-confirm-modal .answer-confirm-middle h2 { color: #1d2438 !important; }
.bootstrap-site .answer-confirm-explainer { max-width: 34rem; margin: -.25rem auto .8rem; color: #45516a; font-size: .82rem; font-weight: 700; line-height: 1.35; }
.bootstrap-site .answer-lock-now {
    border: 3px solid #005f36;
    background: linear-gradient(135deg,#087a49,#075f3b);
    box-shadow: 0 0 0 5px rgba(0,184,100,.14),0 13px 28px rgba(0,102,57,.34),0 1px 0 rgba(255,255,255,.28) inset;
    font-size: 1.1rem;
    text-transform: uppercase;
}
.bootstrap-site .answer-lock-now:hover,
.bootstrap-site .answer-lock-now:focus-visible { background: linear-gradient(135deg,#0a8550,#066840); filter: brightness(1.04); }
.bootstrap-site .answer-cancel {
    border: 3px solid #8f102a;
    background: linear-gradient(135deg,#b4233d,#8f1830);
    color: #fff;
    box-shadow: 0 0 0 5px rgba(229,45,78,.12),0 11px 24px rgba(123,12,35,.25);
    font-size: 1.02rem;
    text-transform: uppercase;
}
.bootstrap-site .answer-cancel:hover,
.bootstrap-site .answer-cancel:focus-visible { border-color: #760b20; background: linear-gradient(135deg,#be2944,#98182f); color: #fff; }
.bootstrap-site .answer-lock-now:disabled,
.bootstrap-site .answer-cancel:disabled { opacity: .62; cursor: wait; filter: grayscale(.12); }
.bootstrap-site .display-redesign .tv-question:not(.locked) .tv-timer {
    border: clamp(5px,.55vw,9px) solid #168cff;
    background: #061d49;
    color: #fff;
    box-shadow: 0 0 0 clamp(6px,.7vw,12px) rgba(22,140,255,.13),0 18px 48px rgba(0,55,130,.34);
}
.bootstrap-site .display-redesign .tv-question:not(.locked) .tv-timer span { color: #cde7ff; font-weight: 900; }

@keyframes final-countdown-blue-pulse {
    0%,100% { opacity: .42; box-shadow: inset 0 0 18px 0 rgba(22,140,255,.08),0 0 14px rgba(22,140,255,.32); }
    50% { opacity: .96; box-shadow: inset 0 0 42px 6px rgba(22,140,255,.19),0 0 48px 8px rgba(22,140,255,.78); }
}
.bootstrap-site .player-page.final-countdown::after,
.bootstrap-site .tv-stage.final-countdown::after {
    position: fixed;
    z-index: 240;
    inset: 0;
    border: clamp(6px,1vw,14px) solid #168cff;
    content: '';
    pointer-events: none;
    animation: final-countdown-blue-pulse 1.8s cubic-bezier(.45,0,.55,1) infinite;
}
.bootstrap-site .final-countdown .phone-question-timer,
.bootstrap-site .final-countdown .tv-timer { animation: final-countdown-timer-pulse 1.8s cubic-bezier(.45,0,.55,1) infinite; }
@keyframes final-countdown-timer-pulse { 50% { transform: scale(1.045); filter: brightness(1.12); } }
.bootstrap-site .player-page:has(.phone-question.automatic-overtime)::after {
    position: fixed;
    z-index: 240;
    inset: 0;
    border: clamp(6px,1.5vw,10px) solid #d92d49;
    content: '';
    pointer-events: none;
    animation: overtime-phone-frame 1.65s cubic-bezier(.45,0,.55,1) infinite alternate;
}
.bootstrap-site .tv-stage.final-countdown:has(.automatic-overtime)::after { display: none; }
@keyframes overtime-phone-frame {
    from { opacity: .5; box-shadow: inset 0 0 20px rgba(199,25,52,.1); }
    to { opacity: 1; box-shadow: inset 0 0 42px rgba(199,25,52,.24),0 0 26px rgba(199,25,52,.4); }
}

/* A deleted room remains an intentional end state on connected audience devices. */
.bootstrap-site .tv-closed-stage,
.bootstrap-site .player-closed-page { background: radial-gradient(circle at 50% 30%,rgba(22,140,255,.24),transparent 34%),linear-gradient(145deg,#030622,#0b1233 60%,#171042) !important; }
.bootstrap-site .quiz-closed-screen { display: grid; min-width: 0; place-content: center; justify-items: center; padding: clamp(1.5rem,6vw,5rem); color: #fff; text-align: center; }
.bootstrap-site .quiz-closed-tv { width: 100%; min-height: 100dvh; }
.bootstrap-site .quiz-closed-player { width: 100%; min-height: 100dvh; }
.bootstrap-site .quiz-closed-mark { display: grid; width: clamp(76px,11vw,150px); aspect-ratio: 1; place-content: center; margin-bottom: clamp(1rem,3vh,2rem); border: clamp(5px,.65vw,10px) solid #48a7ff; border-radius: 50%; background: rgba(22,140,255,.14); color: #fff; box-shadow: 0 0 0 clamp(8px,1vw,16px) rgba(22,140,255,.1),0 0 60px rgba(22,140,255,.45); font-size: clamp(2.2rem,6vw,5.5rem); font-weight: 950; }
.bootstrap-site .quiz-closed-screen h1 { max-width: 14ch; margin: .2rem 0 .7rem; color: #fff !important; font-size: clamp(2rem,6vw,6rem); line-height: 1; }
.bootstrap-site .quiz-closed-player h1 { font-size: clamp(2rem,10vw,3.3rem); }
.bootstrap-site .quiz-closed-screen > p:last-child { max-width: 34rem; margin: 0; color: #c9d8f2; font-size: clamp(1rem,1.8vw,1.5rem); line-height: 1.45; }

@media (max-height: 700px) and (max-width: 767.98px) {
    .bootstrap-site .phone-question-timer { min-width: 78px; min-height: 46px; padding: .25rem .5rem; }
    .bootstrap-site .phone-question-timer strong { font-size: 1.3rem; }
    .bootstrap-site .provisional-answer-status { padding: .4rem .55rem; }
    .bootstrap-site .provisional-answer-status span { font-size: .62rem; }
    .bootstrap-site .answer-question-time { min-height: 38px; margin-bottom: .45rem; }
    .bootstrap-site .answer-confirm-explainer { margin-bottom: .5rem; font-size: .74rem; }
}

@media (prefers-reduced-motion: reduce) {
    .bootstrap-site .player-page.final-countdown::after,
    .bootstrap-site .tv-stage.final-countdown::after,
    .bootstrap-site .player-page:has(.phone-question.automatic-overtime)::after,
    .bootstrap-site .tv-question.automatic-overtime,
    .bootstrap-site .tv-timer.automatic-overtime,
    .bootstrap-site .final-countdown .phone-question-timer,
    .bootstrap-site .final-countdown .tv-timer { animation: none; }
}

/* Synchronized pre-quiz instructions occupy the full audience surface for 30 seconds. */
.bootstrap-site .display-redesign .tv-instructions {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 0;
    grid-template-rows: auto auto auto;
    gap: clamp(1rem,3vh,2.5rem);
    align-content: center;
    padding: clamp(1.5rem,4vw,4rem) clamp(2rem,6vw,7rem);
    overflow: hidden;
}
.bootstrap-site .tv-instructions > header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 2rem; }
.bootstrap-site .tv-instructions h1 { max-width: 24ch; margin: .25rem 0 0; color: #151a31; font-size: clamp(2.2rem,4.5vw,5.4rem); line-height: .98; }
.bootstrap-site .audience-night .tv-instructions h1 { color: #fff; }
.bootstrap-site .tv-instructions-timer { display: grid; width: clamp(120px,12vw,190px); aspect-ratio: 1; place-content: center; border: clamp(6px,.65vw,10px) solid #168cff; border-radius: 50%; background: #061d49; color: #fff; box-shadow: 0 0 0 clamp(8px,.8vw,14px) rgba(22,140,255,.13),0 22px 55px rgba(0,55,130,.32); text-align: center; }
.bootstrap-site .tv-instructions-timer strong { font-size: clamp(3rem,6vw,6rem); font-variant-numeric: tabular-nums; line-height: .85; }
.bootstrap-site .tv-instructions-timer span { max-width: 9rem; margin-top: .55rem; color: #cde7ff; font-size: clamp(.58rem,.9vw,.88rem); font-weight: 900; letter-spacing: .08em; line-height: 1.15; text-transform: uppercase; }
.bootstrap-site .tv-instruction-steps { display: grid; min-height: 0; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(.7rem,1.5vw,1.4rem); align-items: stretch; }
.bootstrap-site .tv-instruction-steps article { display: grid; min-width: 0; min-height: clamp(140px,20vh,220px); grid-template-columns: clamp(42px,4vw,66px) minmax(0,1fr); align-content: center; align-items: center; gap: clamp(.55rem,1vw,1rem); padding: clamp(.8rem,1.7vw,1.5rem); border: 2px solid rgba(22,140,255,.3); border-radius: clamp(16px,2vw,26px); background: rgba(255,255,255,.86); color: #152039; box-shadow: 0 18px 45px rgba(31,64,112,.13); }
.bootstrap-site .audience-night .tv-instruction-steps article { border-color: rgba(72,167,255,.38); background: rgba(9,20,54,.88); color: #fff; box-shadow: 0 18px 45px rgba(0,0,0,.32),0 0 28px rgba(22,140,255,.1); }
.bootstrap-site .tv-instruction-steps article > b { display: grid; aspect-ratio: 1; place-content: center; border-radius: 15px; background: #075cac; color: #fff; font-size: clamp(1.3rem,2.2vw,2.4rem); box-shadow: 0 8px 20px rgba(22,140,255,.28); }
.bootstrap-site .tv-instruction-steps article > span { display: grid; min-width: 0; gap: .35rem; }
.bootstrap-site .tv-instruction-steps strong { font-size: clamp(1rem,1.5vw,1.5rem); line-height: 1.08; }
.bootstrap-site .tv-instruction-steps small { color: #50617c; font-size: clamp(.72rem,1vw,1rem); font-weight: 700; line-height: 1.35; }
.bootstrap-site .audience-night .tv-instruction-steps small { color: #c8d8f1; }
.bootstrap-site .tv-instructions-note { margin: 0; color: #36455e; font-size: clamp(.85rem,1.25vw,1.2rem); font-weight: 800; text-align: center; }
.bootstrap-site .audience-night .tv-instructions-note { color: #c8d8f1; }
.bootstrap-site .player-instructions { display: grid; min-height: calc(100dvh - 132px); place-content: center; padding: clamp(.7rem,3vw,1.4rem); text-align: center; }
.bootstrap-site .player-instructions-card { display: grid; width: min(100%,430px); justify-items: center; padding: clamp(1rem,4vw,1.5rem); border: 2px solid #8bc5ff; border-radius: 24px; background: #fff; color: #17223a; box-shadow: 0 20px 55px rgba(0,21,66,.36),0 0 0 7px rgba(22,140,255,.12); }
.bootstrap-site .player-watch-display { display: grid; width: clamp(64px,19vw,82px); aspect-ratio: 1; place-content: center; margin-bottom: .75rem; border: 4px solid #168cff; border-radius: 20px; background: #07255c; color: #fff; box-shadow: 0 0 0 7px rgba(22,140,255,.12),0 12px 28px rgba(0,71,153,.28); font-size: clamp(2rem,8vw,2.5rem); }
.bootstrap-site .player-instructions-card .section-label { margin: 0; color: #0759a8 !important; font-size: .75rem; }
.bootstrap-site .player-instructions-card h1 { max-width: 11ch; margin: .3rem 0 .65rem; color: #111a2f !important; font-size: clamp(1.85rem,9vw,2.75rem); font-weight: 950; letter-spacing: -.035em; line-height: 1.02; text-wrap: balance; }
.bootstrap-site .player-instructions-card > p:not(.section-label) { max-width: 31rem; margin: 0; color: #34435d !important; font-size: clamp(.88rem,3.8vw,1rem); font-weight: 750; line-height: 1.42; }
.bootstrap-site .player-instructions-timer { display: grid; width: clamp(88px,26vw,112px); aspect-ratio: 1; place-content: center; margin-top: 1rem; border: 6px solid #168cff; border-radius: 50%; background: #061d49; box-shadow: 0 0 0 7px rgba(22,140,255,.11),0 12px 30px rgba(0,53,125,.24); color: #fff; text-align: center; }
.bootstrap-site .player-instructions-timer strong { color: #fff !important; font-size: clamp(2.3rem,10vw,2.8rem); font-variant-numeric: tabular-nums; line-height: .85; }
.bootstrap-site .player-instructions-timer span { margin-top: .35rem; color: #cde7ff !important; font-size: .58rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.bootstrap-site .player-phone-howto { display: grid; min-height: calc(100dvh - 132px); align-content: center; gap: .75rem; padding: .8rem; color: #17223a; }
.bootstrap-site .player-phone-howto > header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .7rem; padding-inline: .25rem; }
.bootstrap-site .player-phone-howto > header .section-label { margin: 0; color: #0759a8 !important; }
.bootstrap-site .player-phone-howto > header h1 { margin: .15rem 0 0; color: #111a2f !important; font-size: clamp(1.35rem,6.5vw,1.85rem); line-height: 1.05; }
.bootstrap-site .phone-howto-timer { display: grid; width: 64px; aspect-ratio: 1; place-content: center; border: 4px solid #168cff; border-radius: 50%; background: #061d49; color: #fff; text-align: center; box-shadow: 0 0 0 5px rgba(22,140,255,.1); }
.bootstrap-site .phone-howto-timer strong { color: #fff !important; font-size: 1.55rem; font-variant-numeric: tabular-nums; line-height: .9; }
.bootstrap-site .phone-howto-timer span { margin-top: .2rem; color: #cde7ff !important; font-size: .48rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.bootstrap-site .phone-howto-carousel { display: flex; width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: 22px; box-shadow: 0 18px 45px rgba(0,21,66,.25); }
.bootstrap-site .phone-howto-carousel::-webkit-scrollbar { display: none; }
.bootstrap-site .phone-howto-carousel > article { display: grid; min-width: 100%; min-height: min(45dvh,330px); place-content: center; justify-items: center; gap: .45rem; padding: 1.25rem; border: 2px solid #8bc5ff; border-radius: 22px; background: #fff; scroll-snap-align: start; scroll-snap-stop: always; text-align: center; }
.bootstrap-site .phone-howto-carousel > article > span { display: grid; width: 74px; aspect-ratio: 1; place-content: center; border: 5px solid #168cff; border-radius: 22px; background: #061d49; color: #fff; box-shadow: 0 0 0 7px rgba(22,140,255,.1); font-size: 1.8rem; font-weight: 950; }
.bootstrap-site .phone-howto-carousel > article > p { margin: .4rem 0 0; color: #0759a8 !important; font-size: .68rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.bootstrap-site .phone-howto-carousel > article > h2 { max-width: 13ch; margin: 0; color: #111a2f !important; font-size: clamp(1.45rem,7vw,2rem); line-height: 1.05; text-wrap: balance; }
.bootstrap-site .phone-howto-carousel > article > div { max-width: 29rem; color: #41506a; font-size: .9rem; font-weight: 720; line-height: 1.4; }
.bootstrap-site .phone-howto-controls { display: grid; grid-template-columns: 48px minmax(0,1fr) 48px; align-items: center; gap: .7rem; }
.bootstrap-site .phone-howto-controls > button { display: grid; width: 48px; height: 44px; place-content: center; border: 0; border-radius: 14px; background: #075cac; color: #fff; font-size: 1.35rem; font-weight: 950; box-shadow: 0 7px 18px rgba(7,92,172,.22); }
.bootstrap-site .phone-howto-controls > button:disabled { opacity: .35; box-shadow: none; }
.bootstrap-site .phone-howto-controls > div { display: flex; justify-content: center; gap: .45rem; }
.bootstrap-site .phone-howto-controls > div button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: #a8b7cc; transition: width .22s ease,background-color .22s ease; }
.bootstrap-site .phone-howto-controls > div button.active { width: 28px; background: #168cff; }
.bootstrap-site .phone-howto-swipe-note { margin: -.25rem 0 0; color: #53627a !important; font-size: .7rem; font-weight: 800; text-align: center; }
.bootstrap-site .audience-night .player-phone-howto > header h1 { color: #fff !important; }
.bootstrap-site .audience-night .player-phone-howto > header .section-label { color: #73bdff !important; }
.bootstrap-site .audience-night .phone-howto-swipe-note { color: #c6d7ef !important; }

@media (max-height: 620px) and (max-width: 480px) {
    .bootstrap-site .player-phone-howto { gap: .5rem; padding-block: .45rem; }
    .bootstrap-site .phone-howto-carousel > article { min-height: 275px; padding: .8rem 1rem; }
    .bootstrap-site .phone-howto-carousel > article > span { width: 58px; border-width: 4px; font-size: 1.4rem; }
    .bootstrap-site .phone-howto-carousel > article > h2 { font-size: 1.4rem; }
    .bootstrap-site .phone-howto-carousel > article > div { font-size: .78rem; }
}

@media (max-height: 620px) and (max-width: 480px) {
    .bootstrap-site .player-instructions-card { padding: .75rem 1rem; border-radius: 18px; }
    .bootstrap-site .player-watch-display { width: 58px; margin-bottom: .45rem; border-radius: 15px; font-size: 1.8rem; }
    .bootstrap-site .player-instructions-card h1 { margin-block: .2rem .45rem; font-size: clamp(1.65rem,8.5vw,2rem); }
    .bootstrap-site .player-instructions-card > p:not(.section-label) { font-size: .78rem; line-height: 1.32; }
    .bootstrap-site .player-instructions-timer { width: 76px; margin-top: .65rem; border-width: 5px; }
    .bootstrap-site .player-instructions-timer strong { font-size: 2rem; }
}

@media (max-height: 820px) and (min-width: 768px) {
    .bootstrap-site .display-redesign .tv-instructions { gap: .75rem; padding: .75rem 3vw; }
    .bootstrap-site .tv-instructions h1 { font-size: clamp(1.7rem,3.4vw,3rem); }
    .bootstrap-site .tv-instructions-timer { width: 92px; }
    .bootstrap-site .tv-instructions-timer strong { font-size: 2.6rem; }
    .bootstrap-site .tv-instruction-steps article { grid-template-columns: 38px minmax(0,1fr); padding: .65rem; border-radius: 14px; }
    .bootstrap-site .tv-instruction-steps strong { font-size: clamp(.78rem,1.2vw,1rem); }
    .bootstrap-site .tv-instruction-steps small { font-size: clamp(.58rem,.85vw,.74rem); }
}

@media (max-width: 767.98px) {
    .bootstrap-site .display-redesign .tv-instructions { gap: .6rem; padding: .65rem .75rem; overflow-y: auto; }
    .bootstrap-site .tv-instructions > header { grid-template-columns: minmax(0,1fr) 72px; gap: .65rem; }
    .bootstrap-site .tv-instructions h1 { font-size: clamp(1.3rem,7vw,1.8rem); }
    .bootstrap-site .tv-instructions-timer { width: 68px; border-width: 4px; }
    .bootstrap-site .tv-instructions-timer strong { font-size: 1.8rem; }
    .bootstrap-site .tv-instructions-timer span { margin-top: .2rem; font-size: .38rem; }
    .bootstrap-site .tv-instruction-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; }
    .bootstrap-site .tv-instruction-steps article { min-height: 0; grid-template-columns: 30px minmax(0,1fr); gap: .4rem; padding: .5rem; border-radius: 10px; }
    .bootstrap-site .tv-instruction-steps article > b { border-radius: 8px; font-size: .9rem; }
    .bootstrap-site .tv-instruction-steps strong { font-size: .68rem; }
    .bootstrap-site .tv-instruction-steps small { font-size: .52rem; line-height: 1.2; }
    .bootstrap-site .tv-instructions-note { font-size: .58rem; }
}
@media (max-width: 991.98px) {
    .bootstrap-site .host-auth-shell { overflow-x: clip; overflow-y: auto; }
}
@media (max-width: 767.98px) {
    .bootstrap-site .host-auth-shell .host-auth-polished {
        height: auto;
        min-height: calc(100dvh - clamp(52px,10dvh,66px));
    }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form-wrap {
        height: auto;
        min-height: 100%;
    }
    .bootstrap-site .host-auth-shell .auth-form input,
    .bootstrap-site .host-auth-shell .auth-form .segmented button,
    .bootstrap-site .host-auth-shell .auth-form .button-primary { min-height: 44px; }
}
@media (max-width: 767.98px), (max-height: 640px) {
    body.screen-home { overflow-x: clip; overflow-y: auto; }
    .bootstrap-site .home-page.reference-design,
    .bootstrap-site .home-page.reference-design .home-reference-hero,
    .bootstrap-site .home-page.reference-design.home-full-bleed .home-reference-hero {
        height: auto;
        min-height: 100dvh;
        overflow: visible;
    }
    .bootstrap-site .home-page.reference-design.home-full-bleed .home-simple-inner {
        position: relative;
        inset: auto;
        height: auto;
        min-height: 100dvh;
        padding: clamp(4.5rem,14vh,6rem) 1rem clamp(2rem,8vh,4rem);
    }
    .bootstrap-site .home-page.reference-design .home-host-link { min-height: 44px; }
}

/* Setup and long builders keep their return/save actions easy to find. */
.bootstrap-site .host-app.reference-design .setup-back-to-quiz { justify-self: start; min-height: 44px; }
.bootstrap-site .host-app.reference-design .builder-bottom-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid #dddfea;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(28,32,54,.07);
}
.bootstrap-site .host-app.reference-design .builder-bottom-actions > div { display: grid; gap: .2rem; }
.bootstrap-site .host-app.reference-design .builder-bottom-actions strong { font-size: 1rem; }
.bootstrap-site .host-app.reference-design .builder-bottom-actions span { color: #686d7d; font-size: .82rem; }
.bootstrap-site .host-app.reference-design .builder-bottom-actions .button { min-width: 150px; min-height: 48px; }
@media (min-width: 768px) {
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-step .setup-back-to-quiz { grid-column: 1 / -1; grid-row: 1; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-summary { grid-column: 1; grid-row: 2; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-open-room-action { grid-column: 2; grid-row: 2; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-step .setup-rule-section { grid-column: 1 / -1; grid-row: 3; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-step .setup-advanced-options { grid-column: 1 / -1; grid-row: 4; }
}

/* Final setup is a single-screen dashboard: launch context above, choices below. */
.bootstrap-site .host-app.reference-design .setup-final-toolbar,
.bootstrap-site .host-app.reference-design .setup-final-settings-grid,
.bootstrap-site .host-app.reference-design .setup-advanced-controls,
.bootstrap-site .host-app.reference-design .setup-number-rules,
.bootstrap-site .host-app.reference-design .setup-toggle-rules { min-width: 0; display: grid; gap: .7rem; }
/* Keep both setup cards independently reachable when the launch dashboard runs out of height. */
.bootstrap-site .host-app.reference-design .setup-advanced-controls,
.bootstrap-site .host-app.reference-design .setup-final-settings-grid > .setup-rule-section {
    min-height: 0;
    max-height: min(62dvh,38rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-color: #b9b3d7 transparent;
    scrollbar-gutter: stable;
    scroll-padding-block: .75rem;
    -webkit-overflow-scrolling: touch;
}
.bootstrap-site .host-app.reference-design .setup-advanced-controls:focus-visible,
.bootstrap-site .host-app.reference-design .setup-final-settings-grid > .setup-rule-section:focus-visible {
    outline: 3px solid rgba(91,53,232,.22);
    outline-offset: -3px;
}
.bootstrap-site .host-app.reference-design .setup-advanced-controls::-webkit-scrollbar,
.bootstrap-site .host-app.reference-design .setup-final-settings-grid > .setup-rule-section::-webkit-scrollbar { width: 10px; }
.bootstrap-site .host-app.reference-design .setup-advanced-controls::-webkit-scrollbar-thumb,
.bootstrap-site .host-app.reference-design .setup-final-settings-grid > .setup-rule-section::-webkit-scrollbar-thumb {
    border: 3px solid transparent;
    border-radius: 999px;
    background: #b9b3d7;
    background-clip: padding-box;
}
.bootstrap-site .host-app.reference-design .setup-final-toolbar > *,
.bootstrap-site .host-app.reference-design .setup-final-settings-grid > * { min-width: 0; }
.bootstrap-site .host-app.reference-design .setup-final-summary > small {
    display: block;
    margin-bottom: .15rem;
    color: var(--ref-purple);
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.bootstrap-site .host-app.reference-design .setup-final-settings-grid > .setup-rule-section {
    padding: .85rem;
    border: 1px solid var(--ref-line);
    border-radius: 12px;
    background: #fff;
}
.bootstrap-site .host-app.reference-design .setup-number-rules { grid-template-columns: repeat(2,minmax(0,1fr)); }
.bootstrap-site .host-app.reference-design .setup-toggle-rules { grid-template-columns: 1fr; }
.bootstrap-site .host-app.reference-design .setup-number-rules .field { min-width: 0; margin: 0; }
.bootstrap-site .host-app.reference-design .setup-toggle-rules .toggle-row { margin: 0; }
.bootstrap-site .host-app.reference-design .setup-mode-context {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin: 0;
    padding: .48rem .6rem;
    border-radius: 9px;
    background: #f3f1ff;
    color: #626779;
    font-size: .67rem;
    line-height: 1.25;
}
.bootstrap-site .host-app.reference-design .setup-mode-context strong { flex: 0 0 auto; color: var(--ref-purple); }
.bootstrap-site .host-app.reference-design .setup-default-config {
    display: grid;
    min-width: 0;
    grid-template-columns: 1fr;
    align-items: center;
    justify-items: center;
    gap: .45rem .55rem;
    padding: .65rem;
    border: 1px solid #ead585;
    border-radius: 11px;
    background: linear-gradient(145deg,#fffdf5,#fff8dc);
    text-align: center;
}
.bootstrap-site .host-app.reference-design .setup-default-config.is-selected { border-color: #90c9a9; background: #f1faf5; }
.bootstrap-site .host-app.reference-design .setup-default-config-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: #ffe28a; color: #342800; font-weight: 900; }
.bootstrap-site .host-app.reference-design .setup-default-config > span:nth-child(2) { min-width: 0; display: grid; gap: .08rem; }
.bootstrap-site .host-app.reference-design .setup-default-config strong { font-size: .72rem; }
.bootstrap-site .host-app.reference-design .setup-default-config small { color: #737889; font-size: .61rem; line-height: 1.2; }
.bootstrap-site .host-app.reference-design .setup-default-config .button#saveSetupDefaults { min-height: 36px; padding: .4rem .8rem; border-color: #d2a51d; background: #ffd447; color: #17140a !important; font-size: .7rem; font-weight: 900; box-shadow: 0 6px 14px rgba(174,128,0,.18); }
.bootstrap-site .host-app.reference-design .setup-default-config .button#saveSetupDefaults:hover,
.bootstrap-site .host-app.reference-design .setup-default-config .button#saveSetupDefaults:focus-visible { border-color: #b88900; background: #ffca20; color: #111 !important; transform: translateY(-1px); }
.bootstrap-site .host-app.reference-design .setup-default-config.is-selected .button#saveSetupDefaults { border-color: #5a9c76; background: #d9f3e4; color: #135b34 !important; box-shadow: none; }

@media (min-width: 960px) {
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] {
        min-height: 0;
        padding: .55rem clamp(.8rem,2vw,1.4rem) .8rem;
        overflow: hidden;
        scrollbar-gutter: auto;
    }
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard {
        width: min(1180px,100%);
        height: 100%;
        min-height: 0;
        grid-template-rows: auto minmax(0,1fr);
        align-content: stretch;
        gap: .55rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard-heading h1 {
        font-size: clamp(1.45rem,2vw,1.85rem);
    }
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard-heading p {
        color: #6b7080;
        font-size: .82rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-step {
        width: 100%;
        max-width: none;
        height: 100%;
        min-height: 0;
        max-height: none;
        grid-template-columns: 1fr;
        grid-template-rows: auto minmax(0,1fr);
        align-content: stretch;
        gap: .7rem;
        padding: .75rem;
        overflow: hidden;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar {
        grid-template-columns: minmax(130px,.44fr) minmax(220px,.9fr) minmax(390px,1.55fr);
        align-items: stretch;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-back-to-quiz {
        min-height: 0;
        grid-column: auto;
        grid-row: auto;
        justify-self: stretch;
        padding-inline: .7rem;
        border-color: #dedfea;
        background: #fafafd;
        color: #5c6171;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-final-summary {
        grid-column: auto;
        grid-row: auto;
        display: grid;
        align-content: center;
        padding: .65rem .8rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-summary h2 {
        overflow: hidden;
        margin-bottom: .08rem;
        font-size: 1.05rem;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-summary p { font-size: .73rem; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-open-room-action {
        grid-column: auto;
        grid-row: auto;
        min-height: 74px;
        padding: .65rem .75rem;
        background: linear-gradient(135deg,#f0edff,#f7f5ff);
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-open-room-action .button {
        min-width: 178px;
        min-height: 46px;
        padding-inline: .9rem;
        white-space: nowrap;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid {
        min-height: 0;
        grid-template-columns: minmax(225px,.72fr) minmax(0,2fr);
        align-items: stretch;
        gap: .7rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid > .setup-rule-section,
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid > .setup-advanced-options {
        min-height: 0;
        grid-column: auto;
        grid-row: auto;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid > .setup-rule-section { max-height: 100%; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid > .setup-advanced-options { overflow: hidden; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid > .setup-rule-section {
        display: grid;
        grid-template-rows: auto auto auto;
        align-content: start;
        gap: .55rem;
        padding: .7rem;
        background: linear-gradient(160deg,#fff,#fbfaff);
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-rule-title {
        min-height: 32px;
        padding: 0 .15rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-rule-title > span { font-size: .68rem; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-simple-modes {
        min-height: 0;
        grid-template-columns: 1fr;
        align-content: start;
        gap: .5rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-simple-modes .mode-option {
        min-height: 92px;
        gap: .65rem;
        padding: .65rem .7rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-simple-modes .mode-option span { gap: .18rem; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-simple-modes .mode-option small {
        font-size: .68rem;
        line-height: 1.3;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid > .setup-advanced-options {
        display: grid;
        grid-template-rows: auto minmax(0,1fr);
        align-content: start;
        border-color: var(--ref-line);
        border-radius: 12px;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid .setup-advanced-heading {
        min-height: 42px;
        padding: .55rem .75rem;
        border-bottom: 1px solid #ececf3;
        background: #fbfbfd;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-advanced-controls {
        align-content: start;
        grid-template-columns: 1fr;
        gap: .55rem;
        max-height: 100%;
        padding: .65rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-number-rules {
        grid-template-columns: repeat(4,minmax(0,1fr));
        align-items: start;
        gap: .5rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-number-rules .field {
        grid-template-rows: 1.6rem 40px minmax(0,auto);
        align-content: start;
        gap: .25rem;
        color: #555b6c;
        font-size: .68rem;
        line-height: 1.15;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-number-rules .field input {
        width: 100%;
        min-height: 40px;
        height: 40px;
        padding: .4rem .6rem;
        border-color: #d8dae4;
        border-radius: 9px;
        font-size: .84rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-number-rules .field small {
        margin-top: -.05rem;
        font-size: .6rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-toggle-rules {
        grid-template-columns: repeat(3,minmax(0,1fr));
        align-content: start;
        gap: .42rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-toggle-rules .toggle-row {
        min-width: 0;
        min-height: 58px;
        gap: .55rem;
        padding: .5rem .6rem;
        border: 1px solid #e5e6ed;
        border-radius: 10px;
        background: #fafafd;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-toggle-rules .toggle-row > span { min-width: 0; gap: .12rem; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-toggle-rules .toggle-row strong {
        font-size: .73rem;
        line-height: 1.15;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-toggle-rules .toggle-row small {
        font-size: .62rem;
        line-height: 1.2;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-toggle-rules .toggle-row.is-unavailable { opacity: .58; }
}

@media (min-width: 1180px) {
    .bootstrap-site .host-app.reference-design.guided-room .setup-number-rules { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .bootstrap-site .host-app.reference-design.guided-room .setup-toggle-rules { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (min-width: 960px) and (max-height: 760px) {
    .bootstrap-site .host-app.reference-design.guided-room .host-primary-nav { margin-top: .35rem; }
    .bootstrap-site .host-app.reference-design.guided-room .host-primary-nav .nav-link { min-height: 54px; gap: .3rem; }
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] { padding-block: .35rem .55rem; }
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard { gap: .35rem; }
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard-heading .section-label { display: none; }
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard-heading h1 { font-size: 1.35rem; }
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard-heading p { font-size: .72rem; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-step { gap: .5rem; padding: .55rem; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar,
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid { gap: .5rem; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-open-room-action { min-height: 64px; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-simple-modes .mode-option { min-height: 74px; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-advanced-controls { gap: .4rem; padding: .5rem; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-number-rules .field input { min-height: 36px; height: 36px; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-toggle-rules { gap: .32rem; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-toggle-rules .toggle-row { min-height: 48px; padding-block: .35rem; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-toggle-rules .toggle-row small { font-size: .58rem; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .host-app.reference-design .setup-final-toolbar,
    .bootstrap-site .host-app.reference-design .setup-final-settings-grid { grid-template-columns: 1fr; }
    .bootstrap-site .host-app.reference-design .setup-final-toolbar .setup-back-to-quiz { order: -1; }
    .bootstrap-site .host-app.reference-design .setup-number-rules,
    .bootstrap-site .host-app.reference-design .setup-toggle-rules { grid-template-columns: 1fr; }
}

/* Builder actions read as one save/navigation control group. */
.bootstrap-site .host-app.reference-design .workspace-heading .builder-heading-actions {
    width: min(680px, 100%);
    display: grid;
    grid-template-columns: auto minmax(210px, 1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .55rem;
    border: 1px solid #e3e5ec;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(28,32,54,.07);
}
.bootstrap-site .host-app.reference-design .workspace-heading .builder-heading-actions .button { min-height: 46px; }
.bootstrap-site .host-app.reference-design .workspace-heading .builder-heading-actions .save-state {
    width: auto;
    min-height: 46px;
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .5rem .75rem;
    border-radius: 12px;
    background: #f3f7f4;
    color: #245a38;
    white-space: normal;
}
.bootstrap-site .host-app.reference-design .workspace-heading .builder-heading-actions .save-state.unsaved { background: #fff4d7; color: #694600; }
.bootstrap-site .host-app.reference-design .builder-heading-actions .save-state i { width: 10px; height: 10px; flex: 0 0 10px; background: #2d8c55; box-shadow: 0 0 0 4px rgba(45,140,85,.12); }
.bootstrap-site .host-app.reference-design .builder-heading-actions .save-state.unsaved i { background: #e59b13; box-shadow: 0 0 0 4px rgba(229,155,19,.15); }
.bootstrap-site .host-app.reference-design .builder-heading-actions .save-state > span { display: grid; gap: .08rem; }
.bootstrap-site .host-app.reference-design .builder-heading-actions .save-state strong { font-size: .82rem; line-height: 1.2; }
.bootstrap-site .host-app.reference-design .builder-heading-actions .save-state small { color: inherit; font-size: .69rem; line-height: 1.25; opacity: .78; }
.bootstrap-site .host-app.reference-design .builder-save-action { min-width: 112px; }
.bootstrap-site .host-unsaved-warning { display: grid; gap: .2rem; margin: .85rem 0; padding: .85rem 1rem; border: 1px solid #efc25f; border-radius: 12px; background: #fff4d7; color: #694600; }
.bootstrap-site .host-unsaved-warning span { font-size: .82rem; }
.bootstrap-site .host-return-desktop-modal .host-confirm-icon.desktop-view { background: linear-gradient(145deg,#ece7ff,#ded6ff); color: #5638d2; box-shadow: 0 8px 24px rgba(72,48,182,.16); }
.bootstrap-site .host-return-desktop-note { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: .65rem; margin: .9rem 0; padding: .72rem .8rem; border: 1px solid #bfe8d1; border-radius: 12px; background: #effbf4; color: #145c39; text-align: left; }
.bootstrap-site .host-return-desktop-note > i { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #d8f5e4; color: #087643; font-style: normal; font-weight: 950; }
.bootstrap-site .host-return-desktop-note > span { min-width: 0; display: grid; gap: .08rem; }
.bootstrap-site .host-return-desktop-note strong { font-size: .76rem; }
.bootstrap-site .host-return-desktop-note small { color: #4c745f; font-size: .64rem; line-height: 1.35; }

/* Back actions return to the screen that launched each quiz flow. */
.bootstrap-site .host-app.reference-design .builder-back-action { margin-right: auto; }

/* A saved-quiz route is a focused library, not the source chooser repeated above it. */
.bootstrap-site .host-app.reference-design .saved-quiz-library > header { align-items: flex-start; }
.bootstrap-site .host-app.reference-design .saved-quiz-library > header p { margin: .3rem 0 0; color: #667085; }
.bootstrap-site .host-app.reference-design .library-create-quiz {
    width: 100%;
    min-height: 108px;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    margin: 1.15rem 0;
    padding: 1.15rem 1.25rem;
    border: 0;
    border-radius: 18px;
    background: linear-gradient(135deg, #5b55d6, #3730a3);
    box-shadow: 0 12px 28px rgba(55,48,163,.22);
    color: #fff;
    text-align: left;
    transition: transform .18s ease, box-shadow .18s ease;
}
.bootstrap-site .host-app.reference-design .library-create-quiz:hover,
.bootstrap-site .host-app.reference-design .library-create-quiz:focus-visible { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(55,48,163,.3); }
.bootstrap-site .host-app.reference-design .library-create-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 16px; background: rgba(255,255,255,.16); font-size: 2rem; line-height: 1; }
.bootstrap-site .host-app.reference-design .library-create-quiz > span:nth-child(2) { display: grid; gap: .3rem; }
.bootstrap-site .host-app.reference-design .library-create-quiz strong { font-size: clamp(1.15rem,2vw,1.4rem); }
.bootstrap-site .host-app.reference-design .library-create-quiz small { color: rgba(255,255,255,.82); font-size: .88rem; line-height: 1.4; }
.bootstrap-site .host-app.reference-design .library-create-quiz b { white-space: nowrap; font-size: .9rem; }
.bootstrap-site .host-app.reference-design .saved-quiz-copy { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .28rem .65rem; }
.bootstrap-site .host-app.reference-design .saved-quiz-copy > strong { min-width: 0; overflow-wrap: anywhere; }
.bootstrap-site .host-app.reference-design .saved-quiz-copy > span:last-child { grid-column: 1 / -1; }
.bootstrap-site .host-app.reference-design .saved-quiz-source { width: fit-content; padding: .22rem .5rem; border-radius: 999px; font-size: .68rem !important; font-weight: 800; line-height: 1.2; letter-spacing: .02em; text-transform: uppercase; }
.bootstrap-site .host-app.reference-design .saved-quiz-source.premade { background: #fff0b5; color: #6f4a00; }
.bootstrap-site .host-app.reference-design .saved-quiz-source.custom { background: #e8e7ff; color: #3730a3; }
@media (max-width: 767.98px) {
    .bootstrap-site .host-app.reference-design .builder-bottom-actions { align-items: stretch; flex-direction: column; padding: 1rem; }
    .bootstrap-site .host-app.reference-design .builder-bottom-actions .button { width: 100%; }
    .bootstrap-site .host-app.reference-design .host-content:has(#quizEditor) > .workspace-heading { grid-template-columns: minmax(0,1fr); align-items: stretch; }
    .bootstrap-site .host-app.reference-design .workspace-heading .builder-heading-actions { width: 100%; grid-template-columns: minmax(0,1fr) auto; gap: .5rem; padding: .5rem; }
    .bootstrap-site .host-app.reference-design .builder-back-action { grid-column: 1 / -1; width: 100%; min-height: 46px; }
    .bootstrap-site .host-app.reference-design .workspace-heading .builder-heading-actions .save-state { width: auto; min-width: 0; min-height: 46px; }
    .bootstrap-site .host-app.reference-design .builder-heading-actions .save-state small { display: none; }
    .bootstrap-site .host-app.reference-design .builder-save-action { min-width: 108px; }
    .bootstrap-site .host-app.reference-design .library-create-quiz { grid-template-columns: 50px minmax(0,1fr); min-height: 112px; padding: 1rem; }
    .bootstrap-site .host-app.reference-design .library-create-icon { width: 50px; height: 50px; border-radius: 14px; }
    .bootstrap-site .host-app.reference-design .library-create-quiz b { grid-column: 2; }
    .bootstrap-site .host-app.reference-design .saved-quiz-copy { width: 100%; }
}

/* Waiting-state readability and touch-safe management controls. */
.bootstrap-site .player-waiting-trivia {
    display: grid;
    width: min(100%, 360px);
    margin: 1rem auto;
    padding: .9rem 1rem;
    gap: .25rem;
    border: 1px solid rgba(107, 80, 229, .2);
    border-radius: 14px;
    background: rgba(255, 255, 255, .72);
    text-align: left;
}
.bootstrap-site .player-waiting-trivia small,
.bootstrap-site .player-waiting-trivia strong,
.bootstrap-site .player-waiting-trivia span { display: block; }
.bootstrap-site .player-waiting-trivia small { color: #6b50e5; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.bootstrap-site .player-waiting-trivia strong { color: #101828; font-size: 1rem; line-height: 1.3; }
.bootstrap-site .player-waiting-trivia span { color: #4b5565; line-height: 1.45; }
.bootstrap-site .live-more-controls > summary,
.bootstrap-site .people-table .table-actions .plain-action,
.bootstrap-site .team-actions .plain-action,
.bootstrap-site .member-row .plain-action,
.bootstrap-site .member-row button[data-set-captain],
.bootstrap-site .tablet-drawer-close,
.bootstrap-site .round-header .danger-text,
.bootstrap-site .team-choice > button,
.bootstrap-site #changeVote {
    min-height: 44px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

@media (max-width: 520px) {
    .bootstrap-site .player-waiting-trivia { width: 100%; margin-block: .85rem; }
}

/* Quiz Builder: one calm, responsive editing system. */
.bootstrap-site .host-session-status-draft .status-dot { background: #6b55dd; box-shadow: 0 0 0 4px rgba(107,85,221,.13); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] {
    --builder-accent: #5b4bd5;
    --builder-accent-dark: #392f98;
    --builder-ink: #17192b;
    --builder-muted: #697083;
    --builder-line: #e2e5ee;
    width: min(1280px,100%);
    max-width: 1280px;
    min-height: 100%;
    padding: clamp(.9rem,2.2vw,1.75rem);
    overflow-x: clip;
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] > .builder-workspace-heading {
    position: relative;
    display: grid;
    grid-template-columns: minmax(260px,1fr) auto;
    align-items: center;
    gap: 1.25rem;
    margin: 0 0 1rem;
    padding: .25rem 0 .85rem;
    border: 0;
    border-bottom: 1px solid var(--builder-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-heading-copy { min-width: 0; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-heading-copy .section-label { margin: 0 0 .25rem; color: var(--builder-accent); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-heading-copy h1 { margin: 0; color: var(--builder-ink); font-size: clamp(1.8rem,3vw,2.65rem); line-height: 1.05; letter-spacing: -.04em; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-heading-description { max-width: 650px; margin: .45rem 0 0; color: var(--builder-muted); font-size: .9rem; line-height: 1.5; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-heading-actions,
.bootstrap-site .host-content[data-host-surface="quiz-builder"] > .builder-workspace-heading .builder-heading-actions {
    position: static;
    width: auto;
    display: flex;
    grid-template-columns: none;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .55rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-heading-actions .save-state { min-width: 190px; border: 1px solid #dbe9df; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-heading-actions .save-state.unsaved { border-color: #f0d58a; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-heading-actions .builder-back-action { order: -1; margin-right: 0; }

.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-edit-toolbar {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: 0 0 1rem;
    padding: .75rem .9rem;
    border: 1px solid #dddff0;
    border-radius: 14px;
    background: #f6f5ff;
    box-shadow: none;
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-back-to-sources { flex: 0 0 auto; margin-right: .25rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-toolbar-heading { min-width: 210px; display: flex; align-items: center; gap: .65rem; margin-right: auto; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-toolbar-heading > span:last-child { display: grid; gap: .08rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-toolbar-heading strong { color: var(--builder-ink); font-size: .86rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-toolbar-heading small { color: var(--builder-muted); font-size: .72rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-toolbar-icon { width: 34px; height: 34px; display: grid; flex: 0 0 34px; place-items: center; border-radius: 10px; background: #e7e3ff; color: var(--builder-accent-dark); font-size: 1.05rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-duration-control {
    width: auto;
    min-width: 0;
    display: grid;
    grid-template-columns: auto 100px auto;
    align-items: center;
    gap: .55rem;
    padding: 0;
    border: 0;
    background: transparent;
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-duration-control > label { margin: 0; color: #555d70; font-size: .76rem; font-weight: 700; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .duration-input { position: relative; display: block; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .duration-input input { width: 100%; min-height: 42px; padding-right: 2.6rem; border-color: #cbc9e5; background: #fff; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .duration-input small { position: absolute; top: 50%; right: .65rem; color: #777b8b; font-size: .68rem; transform: translateY(-50%); pointer-events: none; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-duration-control .button { min-height: 42px; padding-inline: .9rem; }

.bootstrap-site .host-content[data-host-surface="quiz-builder"] #quizEditor { display: grid; gap: 1rem; overflow: visible; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .quiz-title-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 1.25rem;
    padding: 1.15rem 1.25rem;
    border: 1px solid var(--builder-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(25,30,55,.055);
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-essentials { min-width: 0; display: grid; grid-template-columns: 1fr; gap: .35rem; align-items: initial; padding: 0; border: 0; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-essentials > label { margin: 0; color: #464d61; font-size: .76rem; font-weight: 800; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-essentials #quizTitle { width: 100%; min-height: 48px; padding: .65rem .8rem; border: 1px solid #cfd3df; border-radius: 11px; color: var(--builder-ink); font-size: 1.08rem; font-weight: 750; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-essentials > small { color: var(--builder-muted); font-size: .72rem; line-height: 1.35; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-quiz-stats { display: grid; grid-template-columns: repeat(3,minmax(74px,auto)); gap: .35rem; padding: 0; border: 0; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-quiz-stats > div { min-width: 78px; display: grid; justify-items: center; gap: .05rem; padding: .55rem .7rem; border: 0; border-radius: 11px; background: #f5f6fa; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-quiz-stats strong { color: var(--builder-ink); font-size: 1.05rem; line-height: 1.1; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-quiz-stats span { color: var(--builder-muted); font-size: .64rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-quiz-stats .builder-ready-stat { background: #edf8f1; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-ready-stat strong { color: #267449; }

.bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-workspace { min-width: 0; align-items: start; overflow: visible; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-index { display: none; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-list { min-width: 0; display: grid; gap: 1rem; overflow: visible; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-editor { height: auto; margin: 0; overflow: hidden; border: 1px solid var(--builder-line); border-radius: 18px; background: #fff; box-shadow: 0 10px 32px rgba(25,30,55,.06); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-header {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: .9rem 1.1rem;
    border-bottom: 1px solid var(--builder-line);
    background: #fbfbfd;
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-heading-copy { min-width: 0; display: grid; grid-template-columns: auto minmax(150px,360px); align-items: center; gap: .75rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-heading-copy > span { color: var(--builder-accent); font-size: .68rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-heading-copy label { min-width: 0; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-heading-copy input { width: 100%; min-height: 40px; padding: .45rem .65rem; border: 1px solid transparent; border-radius: 9px; background: transparent; color: var(--builder-ink); font-size: 1rem; font-weight: 800; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-heading-copy input:hover { border-color: #d8dbe4; background: #fff; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-heading-copy input:focus { border-color: var(--builder-accent); background: #fff; box-shadow: 0 0 0 4px rgba(91,75,213,.1); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-header .danger-text:disabled { color: #a7abb7; cursor: not-allowed; opacity: .65; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-format-editor { display: grid; grid-template-columns: minmax(170px,.65fr) minmax(240px,1.35fr); gap: .75rem 1rem; padding: 1rem 1.1rem; border-bottom: 1px solid var(--builder-line); background: linear-gradient(135deg,#f7f8ff,#fff); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-format-editor > * { min-width: 0; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-format-editor > .field { margin: 0; color: #464d61; font-size: .72rem; font-weight: 800; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-format-editor > .field:first-child { align-self: stretch; display: grid; align-content: start; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-format-editor :is(select,textarea) { width: 100%; min-width: 0; min-height: 46px; margin-top: .35rem; padding: .62rem .75rem; float: none; border: 1px solid #c9cedb; border-radius: 11px; background: #fff; color: var(--builder-ink); box-shadow: none; font-size: 16px; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-format-editor select { appearance: auto; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-format-editor textarea { min-height: 88px; resize: vertical; line-height: 1.45; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-format-summary { min-height: 72px; display: flex; align-items: center; gap: .7rem; padding: .72rem .8rem; overflow: hidden; border: 1px solid #dfdcf5; border-radius: 12px; background: #fff; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-format-summary > span { width: 38px; height: 38px; display: grid; flex: 0 0 38px; place-items: center; border-radius: 11px; background: #5b4bd5; color: #fff; font-weight: 900; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-format-summary p { min-width: 0; display: grid; gap: .1rem; margin: 0; overflow-wrap: anywhere; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-format-summary strong { color: var(--builder-ink); font-size: .78rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-format-summary small { color: var(--builder-muted); font-size: .68rem; line-height: 1.35; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] :is(.round-intro-toggle,.round-pause-option) { min-width: 0; display: flex; align-items: flex-start; gap: .65rem; margin: 0; padding: .7rem .75rem; border: 1px solid #e1e3ec; border-radius: 11px; background: #fff; cursor: pointer; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-intro-toggle,
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-intro-copy { grid-column: 1 / -1; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-intro-toggle { align-items: center; min-height: 64px; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] :is(.round-intro-toggle,.round-pause-option) { --site-switch-on: var(--builder-accent); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] :is(.round-intro-toggle,.round-pause-option) span { display: grid; gap: .08rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] :is(.round-intro-toggle,.round-pause-option) strong { color: var(--builder-ink); font-size: .76rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] :is(.round-intro-toggle,.round-pause-option) small { color: var(--builder-muted); font-size: .67rem; line-height: 1.35; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-pause-option { grid-column: 1 / -1; border-color: #d7e7df; background: #f4fbf7; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .wipeout-question-bank { grid-column: 1 / -1; display: grid; grid-template-columns: 60px minmax(0,1fr); align-items: center; gap: .75rem; padding: .72rem .8rem; border: 1px solid #efcc82; border-radius: 12px; background: linear-gradient(135deg,#fff7df,#fffdf7); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .wipeout-question-bank > span { display: flex; align-items: baseline; justify-content: center; color: #986000; font-size: .78rem; font-weight: 900; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .wipeout-question-bank > span strong { font-size: 1.5rem; line-height: 1; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .wipeout-question-bank p { min-width: 0; display: grid; gap: .1rem; margin: 0; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .wipeout-question-bank p strong { color: #5e430d; font-size: .78rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .wipeout-question-bank p small { color: #826b3d; font-size: .67rem; line-height: 1.35; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-list { display: grid; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor { overflow: hidden; border: 0; border-radius: 0; background: #fff; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor + .question-editor { border-top: 1px solid var(--builder-line); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor-summary { min-height: 64px; display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .75rem 1rem; background: #fff; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor-summary > span:nth-child(2) { min-width: 0; display: grid; gap: .12rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor-summary strong { overflow: hidden; color: var(--builder-ink); text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor-summary small { color: #a05c21; font-size: .68rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor.is-complete .question-editor-summary small { color: #267449; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor-body { min-width: 0; max-width: 100%; padding: 1.2rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; padding: 0 0 1rem; border-bottom: 1px solid #eceef3; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor-heading > div > span { color: var(--builder-accent); font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor-heading h2 { margin: .2rem 0 .2rem; color: var(--builder-ink); font-size: 1.35rem; letter-spacing: -.025em; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor-heading p { margin: 0; color: var(--builder-muted); font-size: .8rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-completion { flex: 0 0 auto; padding: .35rem .6rem; border-radius: 999px; background: #fff3df; color: #8e551f; font-size: .68rem; font-weight: 800; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-completion.is-complete { background: #e9f7ee; color: #267449; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-fields { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr); gap: 1.1rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-prompt-field { min-width: 0; margin: 0; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-fields :is(input,textarea,fieldset) { max-width: 100%; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-prompt-field textarea { min-height: 106px; padding: .8rem .9rem; resize: vertical; border: 1px solid #cfd3df; border-radius: 12px; color: var(--builder-ink); font-size: 1rem; line-height: 1.5; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] :is(input,textarea):focus { border-color: var(--builder-accent); box-shadow: 0 0 0 4px rgba(91,75,213,.1); outline: none; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-ai-helper { display: flex; min-width: 0; align-items: center; gap: .75rem; margin-top: -.35rem; padding: .7rem .8rem; border: 1px solid #ddd8fb; border-radius: 12px; background: #f8f6ff; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-ai-helper .button { flex: 0 0 auto; min-height: 42px; border-color: #8e7de5; color: var(--builder-accent-dark); font-weight: 800; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-ai-helper .button[aria-busy="true"] { cursor: wait; opacity: .72; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-ai-helper small { min-width: 0; color: var(--builder-muted); font-size: .72rem; line-height: 1.4; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-editor-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-editor-fieldset > legend { width: 100%; display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 0 0 .6rem; padding: 0; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-editor-fieldset > legend span { color: #464d61; font-size: .78rem; font-weight: 800; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-editor-fieldset > legend small { color: var(--builder-muted); font-size: .7rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-editor-grid { min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-edit { position: relative; min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .65rem; padding: .65rem; border: 1px solid #dfe2ea; border-radius: 13px; background: #fbfbfd; transition: border-color .18s ease,background-color .18s ease,box-shadow .18s ease; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-edit:focus-within { border-color: #b8b0ed; box-shadow: 0 0 0 3px rgba(91,75,213,.08); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-edit.selected { border-color: #4d9b70; background: #eff9f3; box-shadow: 0 0 0 2px rgba(77,155,112,.1); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-edit > input[type="radio"] { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-correct-choice { min-width: 76px; min-height: 46px; display: flex; align-items: center; gap: .5rem; margin: 0; padding: .35rem .5rem; border: 1px solid #d9dce6; border-radius: 10px; background: #fff; color: #565d70; cursor: pointer; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-correct-choice b { width: 28px; height: 28px; display: grid; flex: 0 0 28px; place-items: center; border-radius: 8px; background: #eceaf9; color: var(--builder-accent-dark); font-size: .78rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-correct-copy::before { color: #6c7282; content: 'Select'; font-size: .66rem; font-weight: 750; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-edit.selected .answer-correct-choice { border-color: #7eb596; background: #fff; color: #226942; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-edit.selected .answer-correct-choice b { background: #2f8152; color: #fff; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-edit.selected .answer-correct-copy::before { color: #267449; content: 'Correct'; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-edit > input[type="radio"]:focus-visible + .answer-correct-choice { outline: 3px solid rgba(91,75,213,.28); outline-offset: 2px; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-edit > input[data-answer-field] { width: 100%; min-width: 0; min-height: 46px; padding: .55rem .7rem; border: 1px solid #d3d6e0; border-radius: 10px; background: #fff; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor-footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-top: .1rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-more-fields { min-width: 0; flex: 1 1 auto; border: 1px solid #e4e6ed; border-radius: 11px; background: #fafafd; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-more-fields > summary { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem .8rem; color: #4e5567; cursor: pointer; list-style: none; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-more-fields > summary::-webkit-details-marker { display: none; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-more-fields > summary span { font-size: .76rem; font-weight: 800; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-more-fields > summary small { color: var(--builder-muted); font-size: .68rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-more-fields > summary::after { color: var(--builder-accent); content: '+'; font-size: 1.15rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-more-fields[open] > summary::after { content: '−'; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-meta-fields { padding: 0 .8rem .8rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-footer { padding: .75rem 1rem; border-top: 1px solid var(--builder-line); background: #fbfbfd; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .add-question { min-height: 42px; display: inline-flex; align-items: center; gap: .35rem; color: var(--builder-accent-dark); font-weight: 800; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .add-question > span { font-size: 1.15rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .suggestion-library { min-width: 0; margin: 0; border-radius: 16px; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .suggestion-library-heading { min-height: 70px; padding: .8rem 1rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .add-round { min-height: 48px; justify-self: start; display: inline-flex; align-items: center; gap: .35rem; border-style: dashed; color: var(--builder-accent-dark); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-bottom-actions {
    position: relative;
    z-index: 1;
    bottom: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 1rem 0 0;
    padding: .85rem 1rem;
    border: 1px solid #cbded1;
    border-left: 4px solid #39815a;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 38px rgba(28,32,54,.14);
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-bottom-actions.is-unsaved { border-color: #ead39a; border-left-color: #d99a22; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-bottom-actions > div { display: grid; gap: .15rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-bottom-actions strong { color: var(--builder-ink); font-size: .9rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-bottom-actions span { color: var(--builder-muted); font-size: .74rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-bottom-actions .button { min-width: 132px; min-height: 46px; }

@media (min-width: 768px) {
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-workspace { display: grid; grid-template-columns: minmax(220px,260px) minmax(0,1fr); gap: 1rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-index {
        position: sticky;
        top: 1rem;
        display: block;
        max-height: calc(100dvh - 2rem);
        padding: .7rem;
        overflow-y: auto;
        border: 1px solid var(--builder-line);
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 8px 26px rgba(25,30,55,.055);
    }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-index header { position: sticky; z-index: 2; top: -.7rem; display: grid; gap: .35rem; margin: -.7rem -.7rem .5rem; padding: .8rem .75rem .7rem; border-bottom: 1px solid #edf0f4; background: #fff; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-index header > span { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-index header strong { color: var(--builder-ink); font-size: .75rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-index header > small { color: #267449; font-size: .66rem; font-weight: 750; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-index h3 { margin: .8rem .35rem .35rem; overflow: hidden; color: #727789; font-size: .67rem; letter-spacing: .07em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-index section > button { width: 100%; min-height: 54px; display: grid; grid-template-columns: 30px minmax(0,1fr) 8px; align-items: center; gap: .55rem; padding: .5rem; border: 0; border-radius: 10px; background: transparent; color: #303547; text-align: left; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-index section > button:hover { background: #f3f4f8; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-index section > button:focus-visible { outline: 3px solid rgba(91,75,213,.28); outline-offset: 2px; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-index section > button.active { background: #272665; color: #fff; box-shadow: 0 6px 14px rgba(39,38,101,.18); }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-index-number { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: #eef0f5; color: #565d70; font-size: .72rem; font-weight: 800; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] button.active .question-index-number { background: rgba(255,255,255,.14); color: #fff; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-index-copy { min-width: 0; display: grid; gap: .1rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-index-copy strong { overflow: hidden; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-index-copy small { color: #9a5c24; font-size: .61rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] button.is-complete .question-index-copy small { color: #2d8053; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] button.active .question-index-copy small { color: rgba(255,255,255,.72); }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-index button > i { width: 7px; height: 7px; border-radius: 50%; background: #e3a13c; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-index button.is-complete > i { background: #42a66d; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-index button.active > i { background: #fff; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-list .round-editor:has(.question-editor):not(:has(.question-editor[open])) { display: none; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-list .round-editor:not(:has(.question-editor)) { display: block; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor:not([open]) { display: none; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor[open] > summary { display: none; }
}

@media (min-width: 1180px) {
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .tablet-question-workspace { grid-template-columns: minmax(240px,280px) minmax(0,1fr); gap: 1.15rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor-body { padding: 1.35rem 1.45rem; }
}

@media (max-width: 900px) {
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] > .builder-workspace-heading { grid-template-columns: 1fr; align-items: stretch; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-heading-actions { justify-content: flex-start; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-edit-toolbar { flex-wrap: wrap; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-toolbar-heading { flex: 1 1 220px; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-duration-control { flex: 1 1 auto; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .quiz-title-row { grid-template-columns: 1fr; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-quiz-stats { width: 100%; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-quiz-stats > div { min-width: 0; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-editor-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] { padding: .75rem .75rem 1.25rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] > .builder-workspace-heading { gap: .85rem; padding-bottom: .85rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-heading-description { font-size: .82rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-heading-actions { display: grid; grid-template-columns: minmax(0,1fr) auto; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-heading-actions .builder-back-action { grid-column: 1 / -1; width: 100%; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-heading-actions .save-state { min-width: 0; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-heading-actions .save-state small { display: none; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-edit-toolbar { align-items: stretch; padding: .75rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-back-to-sources { width: 100%; margin: 0; text-align: left; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-toolbar-heading { width: 100%; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-duration-control { width: 100%; grid-template-columns: minmax(0,1fr) 92px auto; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-duration-control > label { line-height: 1.25; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .quiz-title-row { gap: .9rem; padding: 1rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-quiz-stats { grid-template-columns: repeat(3,1fr); }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-quiz-stats > div { padding-inline: .35rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-header { grid-template-columns: 1fr auto; gap: .5rem; padding: .75rem .85rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-heading-copy { grid-template-columns: 1fr; gap: .15rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-heading-copy input { min-height: 38px; padding-left: 0; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-format-editor { grid-template-columns: 1fr; padding: .8rem .85rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .round-pause-option { grid-column: auto; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor-heading { display: none; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor-body { padding: 1rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-ai-helper { align-items: stretch; flex-direction: column; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-ai-helper .button { width: 100%; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-editor-fieldset > legend { display: grid; gap: .1rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-edit { grid-template-columns: 82px minmax(0,1fr); }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-correct-choice { min-width: 0; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-editor-footer { align-items: stretch; flex-direction: column; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-more-fields > summary small { display: none; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-bottom-actions { align-items: stretch; flex-direction: column; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-bottom-actions .button { width: 100%; }

    .bootstrap-site .host-app.reference-design .host-content[data-host-surface="quiz-builder"] .builder-heading-actions,
    html.phone-device .bootstrap-site .host-app.reference-design .host-content[data-host-surface="quiz-builder"] .builder-heading-actions {
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0,1fr) minmax(108px,auto);
        justify-items: stretch;
        gap: .5rem;
    }
    .bootstrap-site .host-app.reference-design .host-content[data-host-surface="quiz-builder"] .builder-heading-actions .builder-back-action,
    html.phone-device .bootstrap-site .host-app.reference-design .host-content[data-host-surface="quiz-builder"] .builder-heading-actions .builder-back-action { grid-column: 1 / -1; width: 100%; min-height: 44px !important; }
    .bootstrap-site .host-app.reference-design .host-content[data-host-surface="quiz-builder"] .builder-heading-actions .save-state,
    html.phone-device .bootstrap-site .host-app.reference-design .host-content[data-host-surface="quiz-builder"] .builder-heading-actions .save-state {
        grid-column: 1;
        width: 100%;
        min-height: 44px !important;
        padding: .45rem .6rem !important;
        white-space: normal;
    }
    .bootstrap-site .host-app.reference-design .host-content[data-host-surface="quiz-builder"] .builder-heading-actions #saveQuiz,
    html.phone-device .bootstrap-site .host-app.reference-design .host-content[data-host-surface="quiz-builder"] .builder-heading-actions #saveQuiz { grid-column: 2; width: 100%; min-height: 44px !important; }
}

@media (max-width: 480px) {
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-duration-control { grid-template-columns: minmax(0,1fr) auto; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-duration-control > label { grid-column: 1 / -1; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-edit { grid-template-columns: 1fr; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .answer-correct-choice { width: 100%; }
}

/* Keep the complete live-room utility rail usable on the narrowest supported
   phones without sacrificing any of its controls. */
@media (max-width: 350px) {
    .bootstrap-site .host-app.reference-design.room-ready .host-topbar { gap: .25rem; padding-inline: .45rem; }
    .bootstrap-site .host-app.reference-design.room-ready .host-topbar-leading { min-width: 0; flex: 1 1 0; }
    .bootstrap-site .host-app.reference-design.room-ready .host-status-control { min-width: 44px; flex: 1 1 0; overflow: hidden; }
    .bootstrap-site .host-app.reference-design.room-ready .host-status-control > summary.host-session-status { width: 100%; min-width: 44px; overflow: hidden; padding-inline: .3rem; }
    .bootstrap-site .host-app.reference-design.room-ready .host-session-status-copy { min-width: 0; overflow: hidden; }
    .bootstrap-site .host-app.reference-design.room-ready .host-session-status-copy small { display: block; overflow: hidden; text-overflow: ellipsis; }
    .bootstrap-site .host-app.reference-design.room-ready .status-menu-chevron { flex: 0 0 auto; }
    .bootstrap-site .host-app.reference-design.room-ready .host-header-utilities { flex: 0 0 auto; gap: .2rem; }
    .bootstrap-site .host-app.reference-design.room-ready .host-display-control > summary.host-pin-card { width: 44px; min-width: 44px; justify-content: center; padding-inline: .25rem; }
    .bootstrap-site .host-app.reference-design.room-ready .host-display-control .display-control-copy { display: none; }
    .bootstrap-site .host-app.reference-design.room-ready #closeQuizHost { padding-inline: .45rem; font-size: .76rem; }
    .bootstrap-site .host-app.reference-design.room-ready #logoutHost { padding-inline: .25rem; font-size: .76rem; }
}

/* The legacy compact-cockpit stylesheet fixes this area to a three-row grid.
   The current live room has four rows, so iPad landscape needs normal document
   flow and scrolling to prevent the optional tools from covering reset controls. */
@media (min-width: 768px) and (max-width: 1199.98px) and (max-height: 820px) {
    .bootstrap-site .host-app.reference-design .host-content:has(.live-layout) { display: block; }
    .bootstrap-site .host-app.reference-design .live-layout { height: auto; }
}

/* Shared media contract: every uploaded image keeps one square, centre-cropped
   frame while each surface chooses a responsive presentation size. */
.bootstrap-site img.player-avatar,
.bootstrap-site img.player-initial,
.bootstrap-site img.approval-avatar,
.bootstrap-site img.initial,
.bootstrap-site img.lobby-participant-avatar,
.bootstrap-site img.lobby-member-avatar,
.bootstrap-site img.leader-avatar,
.bootstrap-site img.question-winner-avatar,
.bootstrap-site img.podium-avatar,
.bootstrap-site img.captain-team-avatar,
.bootstrap-site img.captain-member-avatar,
.bootstrap-site .team-avatar-stack img,
.bootstrap-site .profile-photo-preview img {
    display: block;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: 50% 50%;
    flex: 0 0 auto;
}
.bootstrap-site .approval-avatar { width: clamp(68px,20vw,92px); aspect-ratio: 1; overflow: hidden; border-radius: 24px; object-fit: cover; }
.bootstrap-site .leader-avatar { width: 40px; height: 40px; min-width: 40px; min-height: 40px; aspect-ratio: 1 / 1; overflow: hidden; border: 2px solid rgba(255,255,255,.78); border-radius: 50%; background: #ece9ff; object-fit: cover; object-position: 50% 50%; flex: 0 0 40px; box-sizing: border-box; }
.bootstrap-site .leader-avatar.team-avatar-stack,
.bootstrap-site .podium-avatar.team-avatar-stack { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(0,1fr)); place-items: stretch; padding: 2px; }
.bootstrap-site .team-avatar-stack.avatar-count-1 { grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr); }
.bootstrap-site .team-avatar-stack.avatar-count-2 { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: minmax(0,1fr); }
.bootstrap-site .leader-avatar.team-avatar-stack img,
.bootstrap-site .podium-avatar.team-avatar-stack img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; aspect-ratio: 1 / 1; border: 1px solid #fff; border-radius: 50%; object-fit: cover; object-position: 50% 50%; box-sizing: border-box; }
.bootstrap-site .tv-leader-rows > div { grid-template-columns: 42px 44px minmax(0,1fr); }
.bootstrap-site .player-leader-rows > div { grid-template-columns: 24px 36px minmax(0,1fr); }
.bootstrap-site .player-leader-rows .leader-avatar { width: 34px; height: 34px; min-width: 34px; min-height: 34px; flex-basis: 34px; }

/* Final standings use one immutable square image frame on host, phone and TV.
   Uploaded portraits, placeholders and team mosaics therefore occupy exactly
   the same geometry regardless of their original dimensions. */
.bootstrap-site .final-standings-card .leader-avatar,
.bootstrap-site .player-final-board .leader-avatar,
.bootstrap-site .display-redesign .podium-avatar {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 50%;
    object-fit: cover;
    object-position: 50% 50%;
    box-sizing: border-box;
    flex-shrink: 0;
}
.bootstrap-site .final-standings-card img.leader-avatar,
.bootstrap-site .player-final-board img.leader-avatar,
.bootstrap-site .display-redesign img.podium-avatar {
    display: block;
    max-width: none;
}

/* Optional progress appears in the same calm, compact form on TV and phones. */
.bootstrap-site .question-progress-indicator { display: inline-flex; min-width: 0; align-items: center; gap: .45rem; border-radius: 999px; font-weight: 900; line-height: 1; white-space: nowrap; }
.bootstrap-site .question-progress-indicator > span { display: grid; place-content: center; border-radius: 50%; background: currentColor; color: transparent; }
.bootstrap-site .question-progress-indicator > span::after { color: #fff; content: '☷'; }
.bootstrap-site .display-redesign .tv-question-progress { grid-column: 2; justify-self: end; padding: .7rem 1rem; border: 1px solid rgba(86,68,202,.22); background: rgba(255,255,255,.9); color: #4935b9; box-shadow: 0 10px 30px rgba(37,28,93,.13); font-size: clamp(.78rem,1.15vw,1.08rem); backdrop-filter: blur(18px); }
.bootstrap-site .display-redesign .tv-question-progress > span { width: 1.65rem; height: 1.65rem; font-size: .8rem; }
.bootstrap-site .display-redesign.audience-night .tv-question-progress { border-color: rgba(99,243,255,.35); background: rgba(9,17,48,.86); color: #63f3ff; box-shadow: 0 0 28px rgba(99,243,255,.12); }
.bootstrap-site .player-question-progress { width: max-content; max-width: calc(100% - 1.5rem); min-height: 34px; flex: 0 0 auto; align-self: center; margin: .55rem .75rem 0; padding: .48rem .72rem; border: 1px solid #b9cdf1; background: #edf5ff; color: #075cac; font-size: .72rem; }
.bootstrap-site .player-question-progress > span { width: 1.25rem; height: 1.25rem; font-size: .62rem; }
.bootstrap-site .audience-night .player-question-progress { border-color: rgba(99,243,255,.32); background: #0e2142; color: #63f3ff; }

/* Pausing always exposes a large rejoin target, independently of normal overlay settings. */
.bootstrap-site .display-redesign .tv-paused-side { display: grid; min-width: 0; gap: clamp(.7rem,1.4vh,1.1rem); align-content: center; }
.bootstrap-site .display-redesign .tv-paused-rejoin { display: grid; grid-template-columns: clamp(112px,13vw,176px) minmax(0,1fr); align-items: center; gap: clamp(.8rem,1.5vw,1.4rem); padding: clamp(.75rem,1.5vw,1.2rem); border: 2px solid rgba(108,72,230,.25); border-radius: 24px; background: rgba(255,255,255,.9); box-shadow: 0 20px 60px rgba(67,51,120,.18); }
.bootstrap-site .display-redesign .tv-paused-rejoin .qr-code-graphic { display: block; width: 100%; aspect-ratio: 1; padding: 6px; border-radius: 16px; background: #fff; box-sizing: border-box; }
.bootstrap-site .display-redesign .tv-paused-rejoin > div { display: grid; min-width: 0; gap: .3rem; }
.bootstrap-site .display-redesign .tv-paused-rejoin span { color: #5943cf; font-size: clamp(.72rem,1vw,1rem); font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.bootstrap-site .display-redesign .tv-paused-rejoin strong { color: #151a2d; font-size: clamp(1.8rem,3.7vw,4rem); letter-spacing: .08em; line-height: 1; white-space: nowrap; }
.bootstrap-site .display-redesign .tv-paused-rejoin small { max-width: 28ch; color: #4f5e75; font-size: clamp(.7rem,1vw,.95rem); font-weight: 700; line-height: 1.35; }
.bootstrap-site .display-redesign.audience-night .tv-paused-rejoin { border-color: rgba(99,243,255,.38); background: rgba(9,17,48,.88); box-shadow: 0 0 34px rgba(99,243,255,.13),0 20px 60px rgba(0,0,0,.35); }
.bootstrap-site .display-redesign.audience-night .tv-paused-rejoin span { color: #63f3ff; }
.bootstrap-site .display-redesign.audience-night .tv-paused-rejoin strong { color: #fff; }
.bootstrap-site .display-redesign.audience-night .tv-paused-rejoin small { color: #c5d2eb; }
.bootstrap-site .display-redesign .tv-paused-side .tv-paused-trivia { align-self: auto; padding: clamp(.8rem,1.4vw,1.15rem); }
.bootstrap-site .display-redesign .tv-paused-side .tv-paused-trivia h2 { margin-block: .35rem; font-size: clamp(1.25rem,2.3vw,2.6rem); }

/* Correct-answer content is already present while locked and becomes visible on
   the shared server timestamp, even if a device throttles JavaScript timers. */
.bootstrap-site .tv-content,
.bootstrap-site .player-main { position: relative; }
.bootstrap-site .scheduled-answer-reveal { position: absolute; z-index: 24; inset: 0; visibility: hidden; opacity: 0; pointer-events: none; animation: synchronized-answer-reveal 1ms step-end forwards; animation-delay: var(--scheduled-reveal-delay,0ms); }
.bootstrap-site .scheduled-answer-reveal-tv { background: inherit; }
.bootstrap-site .scheduled-answer-reveal-tv > .tv-reveal { background: linear-gradient(145deg,#fff8fb,#eef8ff 52%,#f6f2ff); }
.bootstrap-site .audience-night .scheduled-answer-reveal-tv > .tv-reveal { background: radial-gradient(circle at 15% 12%,rgba(116,89,255,.2),transparent 32%),linear-gradient(145deg,#080b22,#111936); }
.bootstrap-site .scheduled-answer-reveal-phone { display: flex; min-height: 100%; flex-direction: column; overflow-y: auto; background: #f5f7fb; }
.bootstrap-site .audience-night .scheduled-answer-reveal-phone { background: #07142e; }
.bootstrap-site .scheduled-answer-reveal-phone > .player-reveal { min-height: 0; flex: 1 1 auto; }
@keyframes synchronized-answer-reveal { to { visibility: visible; opacity: 1; pointer-events: auto; } }

/* Code-native example pictures keep the phone how-to sharp and quick to load. */
.bootstrap-site .phone-howto-carousel > article { align-content: center; }
.bootstrap-site .phone-howto-carousel > article > .phone-howto-example { display: grid; width: min(100%,250px); min-height: 104px; place-content: center; margin-bottom: .15rem; padding: .7rem; border: 2px solid #b8d9ff; border-radius: 18px; background: linear-gradient(145deg,#f2f8ff,#fff); color: #17223a; box-shadow: inset 0 0 0 5px rgba(22,140,255,.05); }
.bootstrap-site .phone-howto-carousel > article > .phone-howto-copy { max-width: 29rem; color: #41506a; font-size: .86rem; font-weight: 720; line-height: 1.35; }
.bootstrap-site .howto-example-answer { display: grid; width: 210px; gap: .38rem; }
.bootstrap-site .howto-example-answer > span { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: .45rem; padding: .45rem .6rem; border-radius: 9px; background: #e9eef7; text-align: left; font-size: .72rem; font-weight: 800; }
.bootstrap-site .howto-example-answer b { display: grid; width: 25px; aspect-ratio: 1; place-content: center; border-radius: 6px; background: #5a6780; color: #fff; }
.bootstrap-site .howto-example-answer .selected { outline: 3px solid #168cff; background: #e6f3ff; }
.bootstrap-site .howto-example-answer .selected b { background: #075cac; }
.bootstrap-site .howto-example-answer i { color: #075cac; font-size: .56rem; font-style: normal; text-transform: uppercase; }
.bootstrap-site .howto-example-modal { display: grid; width: 210px; gap: .35rem; padding: .7rem; border-radius: 13px; background: #101d3a; color: #fff; }
.bootstrap-site .howto-example-modal small { color: #9ebde8; font-size: .58rem; text-transform: uppercase; }
.bootstrap-site .howto-example-modal strong { font-size: .85rem; }
.bootstrap-site .howto-example-modal span { padding: .5rem; border-radius: 8px; background: #087a49; color: #fff; font-size: .68rem; font-weight: 900; }
.bootstrap-site .howto-example-cancel { display: flex; align-items: center; justify-content: center; gap: .55rem; }
.bootstrap-site .howto-example-cancel span { display: grid; gap: .15rem; padding: .6rem .7rem; border-radius: 10px; background: #e6f3ff; color: #075cac; font-size: .65rem; font-weight: 900; }
.bootstrap-site .howto-example-cancel b { font-size: 1rem; }
.bootstrap-site .howto-example-cancel i { color: #70809a; font-style: normal; font-weight: 900; }
.bootstrap-site .howto-example-cancel .cleared { border: 2px dashed #c4ccd8; background: #fff; color: #667085; }
.bootstrap-site .howto-example-timer { position: relative; display: grid; width: 88px; aspect-ratio: 1; place-content: center; border: 5px solid #168cff; border-radius: 22px; background: #061d49; color: #fff; box-shadow: 0 0 0 7px rgba(22,140,255,.14); }
.bootstrap-site .howto-example-timer span { font-size: 2rem; font-weight: 950; line-height: .85; }
.bootstrap-site .howto-example-timer strong { margin-top: .3rem; color: #cde7ff; font-size: .48rem; text-transform: uppercase; }
.bootstrap-site .howto-example-team { display: grid; grid-template-columns: repeat(3,42px); justify-content: center; gap: .4rem; }
.bootstrap-site .howto-example-team > span { display: grid; width: 42px; aspect-ratio: 1; place-content: center; border-radius: 50%; background: #6855d8; color: #fff; font-size: .56rem; font-weight: 900; }
.bootstrap-site .howto-example-team b { font-size: .9rem; }
.bootstrap-site .howto-example-team > strong { grid-column: 1 / -1; color: #4935b9; font-size: .75rem; }
.bootstrap-site .howto-example-score { display: flex; align-items: center; gap: .65rem; color: #087a49; }
.bootstrap-site .howto-example-score span { display: grid; width: 48px; aspect-ratio: 1; place-content: center; border-radius: 50%; background: #087a49; color: #fff; font-size: 1.5rem; }
.bootstrap-site .howto-example-score strong { font-size: 1.1rem; }

/* Final podium: second left, winner tallest in the centre, third right and shortest. */
.bootstrap-site .display-redesign .podium { align-items: end; gap: clamp(.5rem,1.5vw,1.4rem); }
.bootstrap-site .display-redesign .podium-place { width: min(27%,310px); min-height: 0; align-content: start; padding: clamp(.8rem,1.7vw,1.5rem); overflow: hidden; }
.bootstrap-site .display-redesign .podium-place.first { order: 2; height: clamp(250px,40vh,420px); }
.bootstrap-site .display-redesign .podium-place.second { order: 1; height: clamp(205px,32vh,340px); }
.bootstrap-site .display-redesign .podium-place.third { order: 3; height: clamp(170px,26vh,280px); }
.bootstrap-site .display-redesign .podium-avatar { display: block; width: clamp(52px,7vw,92px); height: auto; aspect-ratio: 1 / 1; overflow: hidden; border: 3px solid rgba(255,255,255,.85); border-radius: 50%; background: #ece9ff; object-fit: cover; object-position: 50% 50%; box-shadow: 0 10px 24px rgba(28,24,65,.2); box-sizing: border-box; flex: 0 0 auto; }
.bootstrap-site .display-redesign .podium-place.first .podium-avatar { width: clamp(66px,8.5vw,112px); }
.bootstrap-site .display-redesign .podium-place.third .podium-avatar { width: clamp(46px,6vw,76px); }
.bootstrap-site .display-redesign .podium-place strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 767.98px) {
    .bootstrap-site .display-redesign .tv-question-progress { padding: .45rem .65rem; font-size: .68rem; }
    .bootstrap-site .display-redesign .tv-question-progress > span { width: 1.25rem; height: 1.25rem; }
    .bootstrap-site .display-redesign .tv-paused-screen { overflow-y: auto; }
    .bootstrap-site .display-redesign .tv-paused-side { grid-template-columns: minmax(0,1fr); }
    .bootstrap-site .display-redesign .tv-paused-rejoin { grid-template-columns: 88px minmax(0,1fr); padding: .55rem; border-radius: 16px; text-align: left; }
    .bootstrap-site .display-redesign .tv-paused-rejoin strong { font-size: clamp(1.5rem,8vw,2.2rem); }
    .bootstrap-site .display-redesign .tv-paused-side .tv-paused-trivia { display: none; }
    .bootstrap-site .display-redesign .podium-screen { padding-inline: .65rem; }
    .bootstrap-site .display-redesign .podium-place { width: 31.5%; padding: .55rem .35rem; }
    .bootstrap-site .display-redesign .podium-place.first { height: clamp(190px,44vh,260px); }
    .bootstrap-site .display-redesign .podium-place.second { height: clamp(155px,36vh,220px); }
    .bootstrap-site .display-redesign .podium-place.third { height: clamp(125px,29vh,180px); }
    .bootstrap-site .display-redesign .podium-place > span { width: 36px; height: 36px; }
}

@media (max-height: 620px) and (max-width: 480px) {
    .bootstrap-site .phone-howto-carousel > article > .phone-howto-example { min-height: 82px; padding: .45rem; }
    .bootstrap-site .phone-howto-carousel > article > .phone-howto-copy { font-size: .74rem; }
    .bootstrap-site .howto-example-timer { width: 68px; border-width: 4px; }
    .bootstrap-site .howto-example-timer span { font-size: 1.5rem; }
}

/* Display controls: keep the optional join QR large enough to scan at distance. */
.bootstrap-site .display-redesign .tv-join-overlays .tv-qr-overlay {
    width: clamp(122px,10.5vw,158px);
    min-width: 122px;
    max-width: 158px;
    height: clamp(104px,15vh,132px);
    flex: 0 0 auto;
    grid-template-rows: minmax(0,1fr) auto;
    gap: .28rem;
    padding: .5rem;
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid rgba(64,58,112,.18);
    border-radius: 18px;
    background: rgba(255,255,255,.96);
    color: #27243d;
    box-shadow: 0 12px 28px rgba(30,28,67,.14);
}
.bootstrap-site .display-redesign .tv-join-overlays .tv-qr-overlay .qr-code-graphic {
    width: clamp(76px,11.5vh,100px);
    height: clamp(76px,11.5vh,100px);
    max-width: 100px;
    padding: 3px;
    border-radius: 7px;
    justify-self: center;
    box-sizing: border-box;
}
.bootstrap-site .display-redesign .tv-join-overlays .tv-qr-overlay > span { max-width: 100%; overflow: hidden; color: #4e456f; font-size: clamp(.56rem,.65vw,.68rem); line-height: 1; text-overflow: ellipsis; white-space: nowrap; }

/* Main-display how-to uses screenshot-style captures of the real phone UI. */
.bootstrap-site .display-redesign .tv-instructions { gap: clamp(.65rem,1.6vh,1.25rem); padding: clamp(1rem,2.4vw,2.4rem) clamp(1.25rem,3.2vw,4rem); }
.bootstrap-site .tv-instructions h1 { max-width: 20ch; font-size: clamp(2rem,3.5vw,4.2rem); }
.bootstrap-site .tv-instruction-steps { gap: clamp(.55rem,1vw,1rem); }
.bootstrap-site .tv-instruction-steps article {
    display: grid;
    min-height: clamp(230px,34vh,350px);
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0,1fr) auto;
    align-content: stretch;
    align-items: stretch;
    gap: .65rem;
    padding: clamp(.55rem,1vw,.9rem);
    overflow: hidden;
}
.bootstrap-site .tv-instruction-screenshot {
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-rows: 26px minmax(0,1fr);
    overflow: hidden;
    border: 2px solid #a9cfff;
    border-radius: 15px;
    background: #edf5ff;
    box-shadow: inset 0 0 0 5px rgba(22,140,255,.06);
}
.bootstrap-site .tv-phone-shot-bar { display: grid; grid-template-columns: 8px minmax(0,1fr) auto; align-items: center; gap: .4rem; padding: 0 .55rem; background: #101d3a; color: #d9e9ff; font-size: .55rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.bootstrap-site .tv-phone-shot-bar i { width: 8px; aspect-ratio: 1; border-radius: 50%; background: #28d17c; box-shadow: 0 0 0 3px rgba(40,209,124,.17); }
.bootstrap-site .tv-phone-shot-bar b { color: #7592bd; font-size: .45rem; letter-spacing: .1em; }
.bootstrap-site .tv-phone-shot-body { display: grid; min-height: 0; place-items: center; padding: .55rem; overflow: hidden; background: linear-gradient(145deg,#f3f8ff,#fff); }
.bootstrap-site .tv-phone-shot-body .howto-example-answer,
.bootstrap-site .tv-phone-shot-body .howto-example-modal { width: min(100%,210px); }
.bootstrap-site .tv-instruction-copy { display: grid; min-width: 0; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: .55rem; }
.bootstrap-site .tv-instruction-copy > b { display: grid; width: 38px; aspect-ratio: 1; place-content: center; border-radius: 11px; background: #075cac; color: #fff; box-shadow: 0 7px 16px rgba(22,140,255,.25); font-size: 1rem; }
.bootstrap-site .tv-instruction-copy > span { display: grid; min-width: 0; gap: .15rem; }
.bootstrap-site .tv-instruction-copy strong { font-size: clamp(.82rem,1.15vw,1.12rem); }
.bootstrap-site .tv-instruction-copy small { color: #50617c; font-size: clamp(.62rem,.82vw,.82rem); font-weight: 700; line-height: 1.25; }
.bootstrap-site .audience-night .tv-instruction-screenshot { border-color: rgba(99,243,255,.4); background: #0a1634; box-shadow: 0 0 24px rgba(99,243,255,.08); }
.bootstrap-site .audience-night .tv-instruction-copy small { color: #c8d8f1; }

/* Team-vote answers show the people currently choosing each option. */
.bootstrap-site .phone-answer:has(.team-choice-presence) { grid-template-columns: 42px minmax(0,1fr) auto; }
.bootstrap-site .phone-answer .team-choice-presence { display: flex; max-width: 104px; align-self: center; justify-content: flex-end; padding-left: .35rem; }
.bootstrap-site .phone-answer .team-choice-avatar { position: relative; display: grid; width: 29px; height: 29px; flex: 0 0 29px; place-items: center; margin-left: -7px; border: 2px solid rgba(255,255,255,.95); border-radius: 50%; background: #6b55db; color: #fff; box-shadow: 0 3px 9px rgba(4,12,32,.3); font-size: .62rem; font-weight: 950; overflow: hidden; }
.bootstrap-site .phone-answer .team-choice-avatar:first-child { margin-left: 0; }
.bootstrap-site .phone-answer .team-choice-avatar.is-locked::after { position: absolute; right: -1px; bottom: -1px; display: grid; width: 11px; height: 11px; place-content: center; border: 1px solid #fff; border-radius: 50%; background: #087a49; color: #fff; content: '✓'; font-size: 7px; }
.bootstrap-site .phone-answer .team-choice-avatar-image { display: grid; width: 100%; height: 100%; place-items: center; border-radius: 50%; object-fit: cover; background: #6b55db; color: #fff; }
.bootstrap-site .team-vote-live-board { min-height: 100%; align-content: start; overflow-y: auto; }
.bootstrap-site .team-vote-locked-heading { display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: .7rem; padding: .75rem; border-radius: 14px; background: #e5f8ef; color: #126741; }
.bootstrap-site .team-vote-locked-heading > span { display: grid; width: 42px; aspect-ratio: 1; place-content: center; border-radius: 50%; background: #087a49; color: #fff; font-size: 1.25rem; font-weight: 950; }
.bootstrap-site .team-vote-locked-heading > div { display: grid; gap: .12rem; }
.bootstrap-site .team-vote-locked-heading strong { font-size: 1rem; }
.bootstrap-site .team-vote-locked-heading small { color: #34755b; font-size: .7rem; font-weight: 750; }
.bootstrap-site .vote-team-presence > div { display: grid; min-width: 0; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: .55rem; padding: .58rem .65rem; border: 1px solid #d9deea; border-radius: 12px; background: #fff; }
.bootstrap-site .vote-team-presence > div.my-locked-vote { border-color: #6c52dd; box-shadow: inset 4px 0 #6c52dd; }
.bootstrap-site .vote-team-presence > div > b { display: grid; width: 30px; aspect-ratio: 1; place-content: center; border-radius: 8px; background: #ece9ff; color: #5038bd; }
.bootstrap-site .vote-team-presence > div > span:nth-child(2) { min-width: 0; overflow: hidden; color: #1a2032; font-size: .78rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .vote-team-presence .team-choice-presence { display: flex; max-width: 102px; justify-content: flex-end; }
.bootstrap-site .vote-team-presence .team-choice-avatar { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; margin-left: -6px; overflow: hidden; border: 2px solid #fff; border-radius: 50%; background: #6b55db; color: #fff; box-shadow: 0 2px 7px rgba(20,26,48,.2); font-size: .58rem; }
.bootstrap-site .vote-team-presence .team-choice-avatar-image { display: grid; width: 100%; height: 100%; place-items: center; border-radius: 50%; object-fit: cover; }
.bootstrap-site .vote-team-presence > div > i { color: #8a92a3; font-size: .62rem; font-style: normal; }

/* Captain management is a compact, navigable mobile-first accordion. */
.bootstrap-site .captain-team-screen { height: 100dvh; padding-bottom: max(24px,env(safe-area-inset-bottom)); overflow-x: hidden; overflow-y: auto; scroll-padding-top: 132px; }
.bootstrap-site .captain-team-header { min-height: 64px; grid-template-columns: 44px minmax(0,1fr) auto; padding-block: max(8px,env(safe-area-inset-top)) 8px; }
.bootstrap-site .captain-team-header h1 { font-size: clamp(1.05rem,5vw,1.3rem); -webkit-line-clamp: 1; }
.bootstrap-site .captain-manager-nav { position: sticky; z-index: 3; top: calc(64px + env(safe-area-inset-top)); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; padding: 8px 12px; border-bottom: 1px solid #dfe3ec; background: rgba(246,247,251,.97); backdrop-filter: blur(16px); }
.bootstrap-site .captain-manager-nav button { min-height: 42px; border: 1px solid #cfd5e3; border-radius: 12px; background: #fff; color: #4e38b8; font-size: .78rem; font-weight: 900; }
.bootstrap-site .captain-manager-nav button b { display: inline-grid; min-width: 20px; height: 20px; place-content: center; margin-left: .25rem; border-radius: 50%; background: #6b4edc; color: #fff; font-size: .65rem; }
.bootstrap-site .captain-team-settings,
.bootstrap-site .captain-team-roster { width: min(720px,calc(100% - 24px)); margin: 12px auto 0; border: 1px solid #dfe3ec; border-radius: 16px; background: #fff; box-shadow: 0 6px 20px rgba(28,34,58,.06); overflow: hidden; scroll-margin-top: 130px; }
.bootstrap-site .captain-team-settings > summary { display: grid; min-height: 64px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .8rem .9rem; cursor: pointer; list-style: none; }
.bootstrap-site .captain-team-settings > summary::-webkit-details-marker,
.bootstrap-site .captain-member-row > summary::-webkit-details-marker { display: none; }
.bootstrap-site .captain-team-settings > summary > span { display: grid; gap: .15rem; }
.bootstrap-site .captain-team-settings > summary strong { font-size: 1rem; }
.bootstrap-site .captain-team-settings > summary small { color: #697386; font-size: .72rem; }
.bootstrap-site .captain-team-settings > summary > b,
.bootstrap-site .captain-member-chevron { transition: transform .18s ease; }
.bootstrap-site .captain-team-settings[open] > summary > b,
.bootstrap-site .captain-member-row[open] .captain-member-chevron { transform: rotate(180deg); }
.bootstrap-site .captain-team-settings .captain-team-profile { width: 100%; max-width: none; margin: 0; padding: .9rem; border: 0; border-top: 1px solid #e5e8ef; border-radius: 0; box-shadow: none; }
.bootstrap-site .captain-team-roster > header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .9rem; border-bottom: 1px solid #e5e8ef; }
.bootstrap-site .captain-team-roster > header > div { display: grid; gap: .15rem; }
.bootstrap-site .captain-team-roster > header strong { font-size: 1.05rem; }
.bootstrap-site .captain-team-roster > header span { color: #697386; font-size: .72rem; }
.bootstrap-site .captain-team-roster > header > b { display: grid; width: 30px; aspect-ratio: 1; place-content: center; border-radius: 50%; background: #ece8ff; color: #5038bd; font-size: .78rem; }
.bootstrap-site .captain-team-screen .captain-member-list { width: 100%; padding: .55rem; gap: .5rem; }
.bootstrap-site .captain-team-screen .captain-member-row { display: block; padding: 0; border: 1px solid #e1e5ed; border-radius: 13px; box-shadow: none; overflow: hidden; }
.bootstrap-site .captain-member-row > summary { display: grid; min-height: 68px; grid-template-columns: 46px minmax(0,1fr) 28px; align-items: center; gap: .65rem; padding: .65rem; cursor: pointer; list-style: none; }
.bootstrap-site .captain-member-row > summary .captain-member-avatar { width: 46px; height: 46px; }
.bootstrap-site .captain-member-name { position: relative; display: grid; min-width: 0; gap: .12rem; padding-right: 0; }
.bootstrap-site .captain-member-name strong,
.bootstrap-site .captain-member-name small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .captain-member-name small { color: #737b8b; font-size: .68rem; font-weight: 700; }
.bootstrap-site .captain-member-name em { width: max-content; margin-top: .1rem; padding: .12rem .35rem; border-radius: 999px; background: #ece8ff; color: #5038bd; font-size: .56rem; font-style: normal; font-weight: 950; letter-spacing: .04em; text-transform: uppercase; }
.bootstrap-site .captain-member-chevron { justify-self: center; color: #706f7e; }
.bootstrap-site .captain-member-controls { display: grid; gap: .65rem; padding: .75rem; border-top: 1px solid #e5e8ef; background: #fafbfe; }
.bootstrap-site .captain-member-rename-form { grid-column: auto; }
.bootstrap-site .captain-member-rename-form label { display: grid; gap: .3rem; color: #4c5568; font-size: .7rem; font-weight: 850; }
.bootstrap-site .captain-member-stats { grid-column: auto; }
.bootstrap-site .captain-member-controls > .captain-remove-member { width: 100%; min-height: 44px; border: 1px solid #d92d49; border-radius: 10px; background: #fff2f4; color: #b4233d; font-size: .78rem; font-weight: 900; }
.bootstrap-site .captain-self-note { margin: 0; color: #596579; font-size: .72rem; font-weight: 750; }

@media (max-width: 1000px) {
    .bootstrap-site .tv-instruction-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .tv-instruction-steps article { min-height: clamp(150px,24vh,210px); grid-template-columns: minmax(120px,.85fr) minmax(0,1.15fr); grid-template-rows: 1fr; align-items: center; }
    .bootstrap-site .tv-instruction-copy { align-self: center; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .display-redesign .tv-join-overlays .tv-qr-overlay { width: 100%; min-width: 0; max-width: none; height: 72px; padding: .35rem; }
    .bootstrap-site .display-redesign .tv-join-overlays .tv-qr-overlay .qr-code-graphic { width: 42px; height: 42px; }
    .bootstrap-site .display-redesign .tv-instructions { gap: .5rem; padding: .55rem .65rem; }
    .bootstrap-site .tv-instruction-steps article { min-height: 128px; grid-template-columns: minmax(96px,.8fr) minmax(0,1.2fr); padding: .4rem; }
    .bootstrap-site .tv-instruction-screenshot { grid-template-rows: 20px minmax(0,1fr); border-radius: 10px; }
    .bootstrap-site .tv-phone-shot-bar { padding-inline: .35rem; font-size: .4rem; }
    .bootstrap-site .tv-phone-shot-body { padding: .3rem; }
    .bootstrap-site .tv-phone-shot-body .howto-example-answer,
    .bootstrap-site .tv-phone-shot-body .howto-example-modal { width: 100%; transform: scale(.78); }
    .bootstrap-site .tv-phone-shot-body .howto-example-timer { width: 58px; }
    .bootstrap-site .tv-instruction-copy { grid-template-columns: 28px minmax(0,1fr); gap: .35rem; }
    .bootstrap-site .tv-instruction-copy > b { width: 28px; border-radius: 8px; font-size: .75rem; }
    .bootstrap-site .tv-instruction-copy strong { font-size: .65rem; }
    .bootstrap-site .tv-instruction-copy small { font-size: .5rem; }
    .bootstrap-site .captain-team-header > span { display: none; }
}

@media (max-width: 420px) {
    .bootstrap-site .phone-answer:has(.team-choice-presence) { grid-template-columns: 38px minmax(0,1fr) auto; gap: .5rem; }
    .bootstrap-site .phone-answer .team-choice-avatar { width: 26px; height: 26px; flex-basis: 26px; }
    .bootstrap-site .captain-team-header { grid-template-columns: 42px minmax(0,1fr); padding-inline: .7rem; }
    .bootstrap-site .captain-team-header > button { width: 40px; height: 40px; }
    .bootstrap-site .captain-manager-nav { padding-inline: 8px; }
    .bootstrap-site .captain-team-settings,
    .bootstrap-site .captain-team-roster { width: calc(100% - 16px); margin-top: 8px; }
    .bootstrap-site .captain-team-settings .captain-team-profile { grid-template-columns: 1fr; padding: .75rem; }
    .bootstrap-site .captain-team-image-control { display: grid; grid-template-columns: 68px minmax(0,1fr); align-items: center; gap: .65rem; }
    .bootstrap-site .captain-team-avatar { width: 68px; height: 68px; flex-basis: 68px; border-radius: 18px; }
    .bootstrap-site .captain-team-image-control > div { min-width: 0; }
    .bootstrap-site .captain-team-image-picker { width: 100%; justify-content: center; text-align: center; }
    .bootstrap-site .captain-member-rename-form { grid-template-columns: 1fr; }
    .bootstrap-site .captain-member-rename-form button { width: 100%; }
}

/* Controlled breaks and private picture/music/video question clues. */
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-controlled-pause {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: .65rem 1.25rem;
    padding: 1rem 1.15rem;
    border: 1px solid var(--builder-line);
    border-left: 4px solid #a6a9b4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(25,30,55,.045);
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-controlled-pause.is-enabled { border-left-color: var(--builder-accent); background: #faf9ff; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-pause-toggle { --site-switch-on: var(--builder-accent); min-width: 0; display: flex; align-items: center; gap: .8rem; margin: 0; cursor: pointer; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-pause-toggle > span { min-width: 0; display: grid; gap: .15rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-pause-toggle strong { color: var(--builder-ink); font-size: .88rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-pause-toggle small,
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-controlled-pause > p { color: var(--builder-muted); font-size: .72rem; line-height: 1.4; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-pause-interval { min-width: 190px; margin: 0; color: #4b5265; font-size: .72rem; font-weight: 800; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-pause-interval > span { display: grid; grid-template-columns: 74px auto; align-items: center; gap: .45rem; margin-top: .25rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-pause-interval input { min-height: 40px; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-pause-interval small { color: var(--builder-muted); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-controlled-pause > p { grid-column: 1 / -1; margin: 0; padding-top: .55rem; border-top: 1px solid #ececf3; }

.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-editor { display: grid; gap: .7rem; padding: .85rem; border: 1px dashed #bbb8da; border-radius: 13px; background: #fbfaff; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-editor.has-media { border-style: solid; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-editor.is-unavailable { border-color: #e2e3e9; background: #f7f7f9; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-editor > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-editor > header > span { display: grid; gap: .1rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-editor > header strong { color: var(--builder-ink); font-size: .8rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-editor > header small,
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-empty,
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-rights { margin: 0; color: var(--builder-muted); font-size: .7rem; line-height: 1.4; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-editor > header em { padding: .25rem .48rem; border-radius: 999px; background: #e9e5ff; color: var(--builder-accent-dark); font-size: .62rem; font-style: normal; font-weight: 900; text-transform: uppercase; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-actions label.button { min-height: 40px; display: inline-flex; align-items: center; margin: 0; cursor: pointer; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-actions label.disabled { cursor: wait; opacity: .65; pointer-events: none; }

.bootstrap-site .question-media { min-width: 0; margin: 0; box-sizing: border-box; }
.bootstrap-site .question-media-image { display: grid; justify-items: center; gap: .3rem; }
.bootstrap-site .question-media-image img { display: block; width: min(100%,900px); max-height: min(34vh,360px); border-radius: 16px; object-fit: contain; background: #090b17; box-shadow: 0 14px 34px rgba(8,9,24,.2); }
.bootstrap-site .question-media-image figcaption { color: #717789; font-size: .68rem; font-weight: 750; }
.bootstrap-site .question-media-clip { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .75rem .85rem; border: 1px solid #d9d4f0; border-radius: 14px; background: linear-gradient(135deg,#f8f6ff,#fff); color: #25233d; }
.bootstrap-site .question-media-video video { display: block; width: min(260px,30vw); max-height: 180px; border-radius: 10px; background: #070810; object-fit: contain; }
.bootstrap-site .question-media-audio audio { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.bootstrap-site .question-media-clip-copy { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .1rem .55rem; }
.bootstrap-site .question-media-clip-copy > span { grid-row: 1 / 3; display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: #5b4bd5; color: #fff; font-size: 1.1rem; }
.bootstrap-site .question-media-clip-copy strong { font-size: .82rem; }
.bootstrap-site .question-media-clip-copy small { overflow: hidden; color: #6e7180; font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .question-media-clip .button { min-height: 40px; white-space: nowrap; }

.bootstrap-site .display-redesign .tv-question:has(.question-media) { grid-template-rows: auto minmax(0,1fr) auto auto; align-content: stretch; }
.bootstrap-site .display-redesign .tv-question:has(.media-picture-preview-tv-answer) { grid-template-rows: auto minmax(0,1fr) auto auto; align-content: stretch; }
.bootstrap-site .display-redesign .question-media-tv { align-self: center; justify-self: stretch; }
.bootstrap-site .display-redesign .question-media-image img { max-height: min(32vh,330px); }
.bootstrap-site .display-redesign .question-media-image figcaption { color: currentColor; opacity: .65; }
.bootstrap-site .display-redesign .question-media-clip { width: min(920px,80vw); justify-self: center; padding: 1rem 1.15rem; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.92); box-shadow: 0 18px 50px rgba(15,12,50,.2); }
.bootstrap-site .display-redesign .question-media-clip-copy strong { font-size: clamp(1rem,1.8vw,1.45rem); }
.bootstrap-site .display-redesign .question-media-clip-copy small { font-size: clamp(.72rem,1vw,.9rem); }
.bootstrap-site .display-redesign.audience-night .question-media-clip { border-color: rgba(99,243,255,.3); background: rgba(12,18,49,.94); color: #fff; }
.bootstrap-site .display-redesign.audience-night .question-media-clip-copy small { color: #bfcbe3; }
.bootstrap-site .phone-question .question-media { margin: 0 0 .65rem; }
.bootstrap-site .phone-question .question-media-image img { width: 100%; max-height: 220px; border-radius: 12px; }
.bootstrap-site .phone-question .question-media-clip { grid-template-columns: minmax(0,1fr) auto; padding: .65rem; }
.bootstrap-site .phone-question .question-media-video video { grid-column: 1 / -1; width: 100%; max-height: 180px; }
.bootstrap-site .question-media-phone.question-media-video [data-play-question-media] { min-width: 112px; background: #5b4bd5; color: #fff; }
.bootstrap-site .phone-question .question-media-clip-copy small { white-space: normal; }
.bootstrap-site .audience-night .phone-question .question-media-clip { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fff; }
.bootstrap-site .audience-night .phone-question .question-media-clip-copy small { color: rgba(255,255,255,.7); }
.bootstrap-site .controlled-pause-wait { display: inline-flex; align-items: center; gap: .55rem; margin-top: 1rem; padding: .65rem .85rem; border-radius: 999px; background: rgba(255,255,255,.7); color: #342c5d; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.bootstrap-site .controlled-pause-wait > span { width: 9px; height: 9px; border-radius: 50%; background: #6a50df; box-shadow: 0 0 0 5px rgba(106,80,223,.15); animation: controlled-pause-pulse 1.5s ease-in-out infinite; }
.bootstrap-site .phone-controlled-pause-note { max-width: 34rem; margin: .35rem 0 0; color: inherit; opacity: .75; font-size: .78rem; }
@keyframes controlled-pause-pulse { 0%,100% { transform: scale(.8); opacity: .65; } 50% { transform: scale(1.1); opacity: 1; } }
.bootstrap-site .display-redesign .pause-break-rotation { position: relative; min-width: 0; min-height: 0; overflow: hidden; }
.bootstrap-site .display-redesign .pause-break-rotation > article { position: absolute; inset: 0; width: 100%; height: 100%; box-sizing: border-box; }
.bootstrap-site .display-redesign .pause-rotation-trivia { grid-column: auto; animation: pause-trivia-phase 30s linear var(--pause-rotation-delay,0ms) infinite; }
.bootstrap-site .display-redesign .pause-player-collage { display: grid; align-content: center; gap: clamp(.6rem,1.2vw,1rem); padding: clamp(.8rem,1.5vw,1.3rem); border: 3px solid #fff; background: linear-gradient(145deg,#30226d,#704be0); color: #fff; box-shadow: 10px 10px 0 #00a884; opacity: 0; animation: pause-collage-phase 30s linear var(--pause-rotation-delay,0ms) infinite; }
.bootstrap-site .display-redesign .pause-player-collage header { text-align: center; }
.bootstrap-site .display-redesign .pause-player-collage h2 { margin: .15rem 0 0; color: #fff; font-size: clamp(1rem,1.8vw,1.55rem); }
.bootstrap-site .display-redesign .pause-player-collage > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(.35rem,.7vw,.65rem); }
.bootstrap-site .display-redesign .pause-player-collage figure { min-width: 0; margin: 0; text-align: center; }
.bootstrap-site .display-redesign .pause-player-photo { display: block; width: 100%; aspect-ratio: 1; border: 2px solid rgba(255,255,255,.72); border-radius: 18%; background: #fff; box-shadow: 0 7px 18px rgba(0,0,0,.22); object-fit: cover; }
.bootstrap-site .display-redesign .pause-player-collage figcaption { overflow: hidden; margin-top: .2rem; color: rgba(255,255,255,.88); font-size: clamp(.48rem,.65vw,.65rem); font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
@keyframes pause-trivia-phase { 0%,47% { opacity: 1; transform: none; } 50%,97% { opacity: 0; transform: scale(.98); } 100% { opacity: 1; transform: none; } }
@keyframes pause-collage-phase { 0%,47% { opacity: 0; transform: scale(.98); } 50%,97% { opacity: 1; transform: none; } 100% { opacity: 0; transform: scale(.98); } }
@media (prefers-reduced-motion: reduce) {
    .bootstrap-site .display-redesign .pause-rotation-trivia { animation: none; }
    .bootstrap-site .display-redesign .pause-player-collage { display: none; animation: none; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-controlled-pause { grid-template-columns: 1fr; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-pause-interval { min-width: 0; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-actions { align-items: stretch; flex-direction: column; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .question-media-actions > * { width: 100%; justify-content: center; text-align: center; }
    .bootstrap-site .question-media-clip { grid-template-columns: minmax(0,1fr) auto; }
    .bootstrap-site .question-media-video video { grid-column: 1 / -1; width: 100%; max-height: 150px; }
    .bootstrap-site .display-redesign .tv-question:has(.question-media) { grid-template-rows: auto minmax(80px,1fr) auto auto; }
    .bootstrap-site .display-redesign .question-media-image img { max-height: 24vh; }
    .bootstrap-site .display-redesign .question-media-clip { width: 100%; padding: .55rem; }
    .bootstrap-site .display-redesign .question-media-video video { max-height: 20vh; }
    .bootstrap-site .display-redesign .question-media-clip-copy small { display: none; }
    .bootstrap-site .display-redesign .question-media-clip .button { min-height: 34px; padding: .4rem .6rem; font-size: .65rem; }
}

@media (max-width: 932px) and (orientation: landscape) {
    .bootstrap-site .media-question-prelude-phone.media-stage-playback { justify-content: flex-start; min-height: 100%; padding: .55rem 1rem; }
    .bootstrap-site .media-question-prelude-phone.media-stage-playback header { display: none; }
    .bootstrap-site .media-question-prelude-phone .question-media-phone.question-media-video { max-width: min(760px,92vw); margin-top: 0; }
    .bootstrap-site .media-question-prelude-phone .question-media-phone.question-media-video video { max-height: 48dvh; }
    .bootstrap-site .media-question-prelude-phone .media-round-stage-timer { margin-top: .55rem; padding-block: .45rem; }
}

/* One layout system owns the Solo player roster: a fixed table on wide screens
   and self-contained player cards on phones. */
.bootstrap-site .host-app.reference-design .people-table-card { width: 100%; overflow: hidden; }
.bootstrap-site .host-app.reference-design .people-table { width: 100%; min-width: 0; margin: 0; table-layout: fixed; border-collapse: collapse; }
.bootstrap-site .host-app.reference-design .people-name-column { width: 34%; }
.bootstrap-site .host-app.reference-design .people-score-column,
.bootstrap-site .host-app.reference-design .people-streak-column { width: 11%; }
.bootstrap-site .host-app.reference-design .people-actions-column { width: 44%; }
.bootstrap-site .host-app.reference-design .people-table th,
.bootstrap-site .host-app.reference-design .people-table td { padding: .85rem 1rem; vertical-align: middle; border-bottom: 1px solid var(--ref-line); text-align: left; }
.bootstrap-site .host-app.reference-design .people-table tbody tr:last-child td { border-bottom: 0; }
.bootstrap-site .host-app.reference-design .people-player-cell { display: table-cell; }
.bootstrap-site .host-app.reference-design .people-player-identity { display: flex; min-width: 0; align-items: center; gap: .7rem; }
.bootstrap-site .host-app.reference-design .people-player-identity .initial { width: 44px; height: 44px; flex: 0 0 44px; object-fit: cover; }
.bootstrap-site .host-app.reference-design .people-player-identity strong { min-width: 0; overflow-wrap: anywhere; }
.bootstrap-site .host-app.reference-design .people-stat-cell strong { font-variant-numeric: tabular-nums; }
.bootstrap-site .host-app.reference-design .people-table .table-actions { display: table-cell; }
.bootstrap-site .host-app.reference-design .people-action-group { display: flex; min-width: 0; align-items: center; justify-content: flex-start; gap: .35rem; flex-wrap: wrap; }
.bootstrap-site .host-app.reference-design .people-action-group .plain-action { min-width: 0; min-height: 36px; padding: .35rem .55rem; border-radius: 8px; background: #f5f3fb; color: #4e3aa8; font-size: .76rem; line-height: 1.1; text-decoration: none; white-space: nowrap; }
.bootstrap-site .host-app.reference-design .people-action-group .danger-text { background: #fff0f2; color: #a72239; }

/* Optional final-round Wipeout: clear setup affordance and unmistakable live warning. */
.bootstrap-site .wipeout-setting { border-color: #f0c36a; background: #fffaf0; }
.bootstrap-site .wipeout-setting > span > strong { color: #8a4b08; }
.bootstrap-site .wipeout-setting.is-unavailable { border-color: #e2e4ea; background: #f7f7f9; opacity: .76; }
.bootstrap-site .wipeout-setting.is-unavailable > span > strong { color: #656a78; }
.bootstrap-site .wipeout-progress { border-color: rgba(232,117,19,.34) !important; background: #fff3df !important; color: #9b4b05 !important; }
.bootstrap-site .wipeout-rule-banner,
.bootstrap-site .phone-wipeout-banner { border: 1px solid #f2bd58; border-radius: 12px; background: linear-gradient(135deg,#fff7dc,#ffe7ba); color: #713a06; }
.bootstrap-site .wipeout-rule-banner { width: fit-content; max-width: 100%; margin: .7rem 0 0; padding: .48rem .72rem; font-size: clamp(.78rem,1.25vw,1rem); font-weight: 850; line-height: 1.25; }
.bootstrap-site .tv-question.wipeout-question { box-shadow: inset 0 0 0 2px rgba(238,139,34,.24); }
.bootstrap-site .phone-question.wipeout-question { background: linear-gradient(180deg,#fffaf0 0,#fff 30%); }
.bootstrap-site .phone-wipeout-banner { display: grid; gap: .08rem; margin: 0 0 .7rem; padding: .55rem .7rem; }
.bootstrap-site .phone-wipeout-banner span { font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.bootstrap-site .phone-wipeout-banner strong { font-size: .76rem; line-height: 1.3; }
.bootstrap-site .wipeout-locked-note { display: block; margin: .45rem auto; color: #9a5a11; font-weight: 800; }
.bootstrap-site .wipeout-control-note { margin: 0; padding: .55rem .7rem; border-radius: 9px; background: #fff3df; color: #854408; font-size: .76rem; font-weight: 800; }

@media (max-width: 767.98px) {
    .bootstrap-site .host-app.reference-design .people-table-card { overflow: visible; background: transparent; }
    .bootstrap-site .host-app.reference-design .people-table,
    .bootstrap-site .host-app.reference-design .people-table tbody { display: block; width: 100%; }
    .bootstrap-site .host-app.reference-design .people-table colgroup,
    .bootstrap-site .host-app.reference-design .people-table thead { display: none; }
    .bootstrap-site .host-app.reference-design .people-table tbody { padding: 0; }
    .bootstrap-site .host-app.reference-design .people-table tr { display: grid; width: 100%; margin-bottom: .7rem; padding: .8rem; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem .75rem; border: 1px solid var(--ref-line); border-radius: 12px; background: #fff; }
    .bootstrap-site .host-app.reference-design .people-table td,
    .bootstrap-site .host-app.reference-design .people-table .people-player-cell,
    .bootstrap-site .host-app.reference-design .people-table .table-actions { display: block; width: auto; padding: 0; border: 0; }
    .bootstrap-site .host-app.reference-design .people-player-cell { grid-column: 1 / -1; padding-bottom: .55rem !important; border-bottom: 1px solid var(--ref-line) !important; }
    .bootstrap-site .host-app.reference-design .people-stat-cell { display: flex !important; align-items: center; justify-content: space-between; padding: .35rem .45rem !important; border-radius: 8px !important; background: #f7f6fa; }
    .bootstrap-site .host-app.reference-design .people-table td::before { display: none; content: none; }
    .bootstrap-site .host-app.reference-design .people-table td.people-stat-cell::before { display: inline; content: attr(data-label); color: #737687; font-size: .66rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .bootstrap-site .host-app.reference-design .people-table .table-actions { grid-column: 1 / -1; }
    .bootstrap-site .host-app.reference-design .people-action-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; }
    .bootstrap-site .host-app.reference-design .people-action-group .plain-action { width: 100%; min-height: 42px; white-space: normal; }
    .bootstrap-site .host-app.reference-design .people-empty-row { display: block; }
    .bootstrap-site .host-app.reference-design .people-empty-row td { padding: 1rem !important; text-align: center; }
}

/* Host people: stable identity, score and controls at every viewport. */
.bootstrap-site .host-content[data-host-surface="people"] { min-width: 0; }
.bootstrap-site .host-content[data-host-surface="people"] .workspace-heading { align-items: center; }
.bootstrap-site .host-content[data-host-surface="people"] .heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }
.bootstrap-site .host-content[data-host-surface="people"] .count-badge { margin: 0; white-space: nowrap; }
.bootstrap-site .team-management-list { width: 100%; min-width: 0; gap: 1rem; }
.bootstrap-site .managed-team { min-width: 0; border: 1px solid #dfe3ec; border-radius: 18px; box-shadow: 0 8px 28px rgba(24,32,58,.06); }
.bootstrap-site .managed-team > header {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-areas: "identity score" "actions actions";
    gap: .9rem 1.25rem;
    padding: 1rem;
    background: linear-gradient(145deg,#fff,#fafbff);
}
.bootstrap-site .managed-team > header > .managed-team-identity { grid-area: identity; display: grid; min-width: 0; grid-template-columns: 52px minmax(0,1fr); align-items: center; gap: .8rem; }
.bootstrap-site .managed-team-identity > div { min-width: 0; }
.bootstrap-site .managed-team-identity h2,
.bootstrap-site .managed-team-identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .managed-team-identity h2 { font-size: 1.08rem; }
.bootstrap-site .managed-team-identity small { margin-top: .18rem; font-size: .75rem; }
.bootstrap-site .managed-team .team-avatar {
    display: block;
    width: 52px;
    height: 52px;
    min-width: 52px;
    max-width: 52px;
    aspect-ratio: 1;
    overflow: hidden;
    border: 1px solid #d7ddec;
    border-radius: 15px;
    background: #ece9ff;
    object-fit: cover;
}
.bootstrap-site .managed-team > header > .team-score { grid-area: score; min-width: 62px; align-content: center; text-align: right; }
.bootstrap-site .managed-team > header > .team-score strong { line-height: 1; }
.bootstrap-site .managed-team > header > .team-actions { grid-area: actions; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; }
.bootstrap-site .managed-team .team-actions > button { width: 100%; min-width: 0; min-height: 42px; margin: 0; padding: .55rem .7rem; border-radius: 11px; font-size: .76rem; font-weight: 850; white-space: normal; }
.bootstrap-site .managed-team .team-actions > .danger-text { border: 1px solid #f2bdc6; background: #fff6f7; color: #b4233d; text-decoration: none; }
.bootstrap-site .managed-team .member-list { display: grid; min-width: 0; border-top: 1px solid #e5e8ef; }
.bootstrap-site .managed-team .member-row {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(180px,.9fr) 64px minmax(360px,1.45fr);
    align-items: center;
    gap: .85rem;
    padding: .8rem 1rem;
    border-bottom: 1px solid #eceef3;
}
.bootstrap-site .managed-team .member-row:last-child { border-bottom: 0; }
.bootstrap-site .managed-team .member-identity { display: grid; min-width: 0; grid-template-columns: 46px minmax(0,1fr); align-items: center; gap: .7rem; }
.bootstrap-site .managed-team .member-identity > .initial {
    display: block;
    width: 46px;
    height: 46px;
    min-width: 46px;
    max-width: 46px;
    aspect-ratio: 1;
    overflow: hidden;
    border: 1px solid #d9deea;
    border-radius: 50%;
    background: #edf0f7;
    object-fit: cover;
}
.bootstrap-site .managed-team .member-name { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: .35rem; }
.bootstrap-site .managed-team .member-name > strong { min-width: 0; overflow: hidden; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .managed-team .captain-label { flex: 0 0 auto; margin: 0; padding: .22rem .42rem; border-radius: 999px; background: #ece9ff; color: #5038bd; font-size: .58rem; font-weight: 950; letter-spacing: .04em; text-transform: uppercase; }
.bootstrap-site .managed-team .member-points { display: grid; justify-items: end; color: #252b3d; line-height: 1; }
.bootstrap-site .managed-team .member-points strong { font-size: .95rem; }
.bootstrap-site .managed-team .member-points small { margin-top: .18rem; color: #7a8292; font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.bootstrap-site .managed-team .member-controls { display: grid; min-width: 0; grid-template-columns: minmax(130px,1.3fr) repeat(4,minmax(76px,auto)); align-items: end; gap: .45rem; }
.bootstrap-site .managed-team .member-move-control { display: grid; min-width: 0; gap: .2rem; }
.bootstrap-site .managed-team .member-move-control > span { color: #6d7586; font-size: .61rem; font-weight: 850; }
.bootstrap-site .managed-team .member-move-control select { display: block; width: 100%; min-width: 0; min-height: 40px; padding-block: .4rem; font-size: .72rem; }
.bootstrap-site .managed-team .member-controls > button { display: inline-flex; width: 100%; min-width: 0; min-height: 40px; align-items: center; justify-content: center; margin: 0; padding: .45rem .55rem; border: 1px solid #d5dbe7; border-radius: 10px; background: #fff; color: #4937ad; font-size: .7rem; font-weight: 850; line-height: 1.15; text-align: center; text-decoration: none; white-space: normal; }
.bootstrap-site .managed-team .member-controls > button.danger-text { border-color: #f0bdc6; background: #fff6f7; color: #b4233d; }
.bootstrap-site .managed-team .empty-row { display: block; padding: 1rem; }
.bootstrap-site img.avatar-placeholder { object-position: center; }

@media (max-width: 1180px) {
    .bootstrap-site .managed-team .member-row { grid-template-columns: minmax(180px,1fr) 60px; grid-template-areas: "person points" "controls controls"; }
    .bootstrap-site .managed-team .member-identity { grid-area: person; }
    .bootstrap-site .managed-team .member-points { grid-area: points; }
    .bootstrap-site .managed-team .member-controls { grid-area: controls; grid-template-columns: minmax(160px,1.35fr) repeat(4,minmax(90px,1fr)); }
}

@media (max-width: 767.98px) {
    .bootstrap-site .host-content[data-host-surface="people"] { padding-inline: .65rem; }
    .bootstrap-site .host-content[data-host-surface="people"] .workspace-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .6rem; padding: .8rem .25rem; }
    .bootstrap-site .host-content[data-host-surface="people"] .workspace-heading h1 { font-size: 1.35rem; }
    .bootstrap-site .host-content[data-host-surface="people"] .heading-actions { display: grid; justify-items: end; gap: .25rem; }
    .bootstrap-site .host-content[data-host-surface="people"] .count-badge { padding: .28rem .5rem; font-size: .62rem; }
    .bootstrap-site .managed-team { border-radius: 15px; }
    .bootstrap-site .managed-team > header { padding: .8rem; gap: .7rem; }
    .bootstrap-site .managed-team > header > .managed-team-identity { grid-template-columns: 46px minmax(0,1fr); gap: .65rem; }
    .bootstrap-site .managed-team .team-avatar { width: 46px; height: 46px; min-width: 46px; max-width: 46px; border-radius: 13px; }
    .bootstrap-site .managed-team > header > .team-actions { grid-template-columns: 1fr 1fr; }
    .bootstrap-site .managed-team .team-actions > .danger-text { grid-column: 1 / -1; }
    .bootstrap-site .managed-team .member-row { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "person points" "controls controls"; gap: .65rem; padding: .72rem .8rem; }
    .bootstrap-site .managed-team .member-controls { display: grid; grid-template-columns: 1fr 1fr; gap: .42rem; }
    .bootstrap-site .managed-team .member-move-control { grid-column: 1 / -1; }
    .bootstrap-site .managed-team .member-controls > button { min-height: 44px; font-size: .72rem; }
}

@media (max-width: 380px) {
    .bootstrap-site .host-content[data-host-surface="people"] .workspace-heading { grid-template-columns: 1fr; }
    .bootstrap-site .host-content[data-host-surface="people"] .heading-actions { grid-template-columns: auto auto; justify-content: start; }
    .bootstrap-site .managed-team > header { grid-template-columns: minmax(0,1fr) auto; }
    .bootstrap-site .managed-team .member-controls { grid-template-columns: 1fr; }
    .bootstrap-site .managed-team .member-move-control { grid-column: auto; }
    .bootstrap-site .managed-team .team-actions > button,
    .bootstrap-site .managed-team .member-controls > button { overflow-wrap: anywhere; }
}

/* Display controls: roomy desktop dialog and a touch-safe mobile sheet. */
.bootstrap-site .quizzme-redesign .host-open-display {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    gap: .42rem;
    margin: 0;
    padding: .55rem .8rem;
    border: 1px solid #4b35bf;
    border-radius: 11px;
    background: linear-gradient(135deg,#6547df,#4934bc);
    color: #fff;
    box-shadow: 0 5px 14px rgba(72,50,184,.22);
    font-size: .76rem;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}
.bootstrap-site .quizzme-redesign .host-open-display:hover,
.bootstrap-site .quizzme-redesign .host-open-display:focus-visible { border-color: #281785; background: linear-gradient(135deg,#5134ca,#352294); color: #fff; box-shadow: 0 0 0 3px rgba(105,78,224,.24),0 6px 16px rgba(49,31,137,.28); }
.bootstrap-site .quizzme-redesign .host-open-display > span { font-size: 1rem; }
.bootstrap-site .quizzme-redesign .host-display-control .host-presentation-bar {
    width: min(940px,calc(100vw - 2rem));
    max-height: min(760px,calc(100dvh - 2rem));
    grid-template-rows: auto minmax(0,1fr) auto;
    gap: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(10,17,44,.34);
}
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-header { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: .75rem; padding: 1.15rem 1.25rem; border-bottom: 1px solid #e4e7ee; background: linear-gradient(140deg,#fbfcff,#f4f1ff); }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-header > div { min-width: 0; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-header h2 { margin: .12rem 0; font-size: 1.35rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-header p { max-width: 56ch; margin: 0; line-height: 1.35; }
.bootstrap-site .quizzme-redesign .host-presentation-bar #tabletCloseRoomTools { min-width: 72px; min-height: 40px; padding: .45rem .7rem; border: 1px solid #d7dce8; border-radius: 10px; background: #fff; color: #3d4658; font-weight: 850; text-decoration: none; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-body { display: grid; min-width: 0; min-height: 0; grid-template-columns: minmax(250px,.78fr) minmax(0,1.45fr); align-items: start; gap: 1rem; padding: 1rem 1.25rem; overflow-y: auto; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-preview { position: sticky; top: 0; min-width: 0; aspect-ratio: 16 / 10; overflow: hidden; border: 1px solid #dce1eb; border-radius: 16px; background: #101831; box-shadow: 0 10px 24px rgba(20,28,58,.12); }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-preview .mini-display { width: 100%; min-height: 0; height: 100%; padding: 1rem; border-radius: 0; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-settings { min-width: 0; gap: .8rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-message-control { grid-template-columns: minmax(0,1fr) auto auto; gap: .5rem; padding: .75rem; border-radius: 13px; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-message-control input { min-height: 42px; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-message-control .button { min-width: 68px; min-height: 42px; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-control { position: relative; display: grid; min-width: 0; gap: .75rem; padding: .9rem; overflow: hidden; border: 1px solid #dfe3ed; border-radius: 16px; background: linear-gradient(145deg,#fff,#f8f9fd); box-shadow: 0 8px 24px rgba(25,31,55,.06); }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-control::before { position: absolute; top: 0; bottom: 0; left: 0; width: 4px; background: #7560df; content: ''; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-control.is-showing { border-color: #8fcdb0; background: linear-gradient(145deg,#fff,#f1fbf6); box-shadow: 0 8px 24px rgba(18,117,73,.08); }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-control.is-showing::before { background: #1d9b64; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-control > header { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .65rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-control > header > span { display: grid; min-width: 0; grid-template-columns: 31px minmax(0,1fr); column-gap: .55rem; line-height: 1.2; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-control > header b { grid-row: 1 / 3; display: grid; width: 31px; height: 31px; place-items: center; border-radius: 10px; background: #e9e5ff; color: #5140d7; font-size: 1rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-control > header b svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; transform: translateY(-.5px); }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-control > header b circle { fill: currentColor; stroke: none; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-control > header strong { color: #20263a; font-size: .84rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-control > header small { color: #687187; font-size: .66rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-control > header em { padding: .26rem .48rem; border-radius: 999px; background: #d8f4e5; color: #12683d; font-size: .59rem; font-style: normal; font-weight: 950; letter-spacing: .07em; text-transform: uppercase; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-fields { display: grid; min-width: 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; padding: .7rem; border: 1px solid #e2e5ed; border-radius: 12px; background: rgba(255,255,255,.82); }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-fields.is-open-network { grid-template-columns: minmax(0,1fr); }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-fields .field { min-width: 0; margin: 0; color: #4c5568; font-size: .68rem; font-weight: 850; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-fields input,
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-fields select { width: 100%; min-width: 0; min-height: 40px; margin-top: .24rem; padding: .45rem .6rem; border-radius: 10px; font-size: .78rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-password { grid-column: auto; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-password-input { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) auto; gap: .45rem; align-items: end; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-password-input .plain-action { min-width: 58px; min-height: 40px; margin-top: .24rem; padding: .4rem .6rem; border: 1px solid #d4d9e5; border-radius: 10px; background: #fff; color: #3e4a61; font-size: .7rem; font-weight: 850; text-decoration: none; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-password[hidden] { display: none !important; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-open-option { --site-switch-on: #168655; position: relative; display: grid; min-width: 0; grid-template-columns: 46px minmax(0,1fr); align-items: center; gap: .75rem; margin: 0; padding: .75rem .8rem; border: 1px solid #dcdfea; border-radius: 12px; background: #fff; color: #343b4e; cursor: pointer; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-open-option:has(input:checked) { border-color: #76c79e; background: #edf9f3; box-shadow: inset 0 0 0 1px rgba(31,145,89,.08); }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-open-option:focus-within { outline: 3px solid rgba(22,134,85,.18); outline-offset: 2px; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-open-option > span { display: grid; min-width: 0; gap: .08rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-open-option strong { font-size: .75rem; line-height: 1.2; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-open-option small { color: #6c7486; font-size: .64rem; line-height: 1.25; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-control > p { margin: 0; color: #737b8c; font-size: .65rem; line-height: 1.35; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-actions { display: grid; min-width: 0; grid-template-columns: minmax(0,1.4fr) minmax(86px,.6fr) auto; align-items: stretch; gap: .5rem; padding-top: .1rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-actions .button { min-height: 40px; padding: .4rem .72rem; font-size: .7rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-actions > .plain-action { min-height: 40px; margin-left: 0; padding: .4rem .65rem; border: 1px solid #f0c5cb; border-radius: 10px; background: #fff6f7; color: #b4233d; font-size: .68rem; font-weight: 850; text-align: center; text-decoration: none; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-code-control { display: grid; min-width: 0; gap: .6rem; padding: .75rem; border: 1px solid #d9d5ef; border-radius: 13px; background: linear-gradient(145deg,#f7f5ff,#f1f8fb); }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-code-control > header { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .6rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-code-control > header > span { display: grid; min-width: 0; grid-template-columns: 31px minmax(0,1fr); column-gap: .55rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-code-control > header b { grid-row: 1 / 3; display: grid; width: 31px; height: 31px; place-items: center; border-radius: 9px; background: #e6e0ff; color: #5439c7; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-code-control > header strong { color: #25273d; font-size: .8rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-code-control > header small { color: #71778a; font-size: .63rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-code-control > header em { padding: .24rem .45rem; border-radius: 999px; background: #e3f5ee; color: #13724f; font-size: .56rem; font-style: normal; font-weight: 950; letter-spacing: .06em; text-transform: uppercase; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-code-control > code { display: block; min-width: 0; padding: .55rem .65rem; overflow: hidden; border: 1px solid #dddfea; border-radius: 9px; background: #fff; color: #282b42; font-size: clamp(.62rem,1vw,.76rem); text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-code-control > div { display: flex; flex-wrap: wrap; gap: .45rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-code-control > div > * { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; padding: .4rem .65rem; border: 1px solid #d5d6e2; border-radius: 9px; background: #fff; color: #4a3cad; font-size: .65rem; font-weight: 850; text-decoration: none; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-toggle-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-toggle-group > span { color: #4c5568; font-size: .72rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .presentation-toggle { min-height: 64px; padding: .65rem .7rem; border-radius: 13px; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .presentation-toggle > b { flex-basis: 34px; width: 34px; height: 34px; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .presentation-toggle strong { overflow-wrap: anywhere; font-size: .78rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .presentation-toggle small { overflow-wrap: anywhere; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .audience-theme-control { grid-template-columns: minmax(0,1fr) minmax(86px,auto) minmax(86px,auto); padding-top: .1rem; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .audience-theme-control button { min-height: 42px; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-actions { display: flex; justify-content: flex-end; gap: .65rem; padding: .9rem 1.25rem; border-top: 1px solid #e4e7ee; background: #fafbfe; }
.bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-actions > * { min-width: 180px; min-height: 44px; }

@media (max-width: 960px) {
    .bootstrap-site .quizzme-redesign .host-open-display > strong { display: none; }
    .bootstrap-site .quizzme-redesign .host-open-display { width: 42px; flex: 0 0 42px; justify-content: center; padding: .4rem; }
    .bootstrap-site .quizzme-redesign .host-display-control .host-presentation-bar { width: min(720px,calc(100vw - 1.25rem)); }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-body { grid-template-columns: minmax(210px,.7fr) minmax(0,1.3fr); }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-message-control { grid-template-columns: 1fr 1fr; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-message-control .field { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
    .bootstrap-site .quizzme-redesign .host-display-control .host-presentation-bar { top: auto; right: .4rem; bottom: .4rem; left: .4rem; width: auto; max-height: calc(100dvh - .8rem); transform: none; border-radius: 20px; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-header { grid-template-columns: minmax(0,1fr) auto; padding: .85rem; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-header p { display: none; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-header .display-status { grid-column: 1; grid-row: 2; justify-self: start; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar #tabletCloseRoomTools { grid-column: 2; grid-row: 1 / 3; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-body { grid-template-columns: 1fr; gap: .8rem; padding: .8rem; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-preview { position: static; width: 100%; max-height: 150px; aspect-ratio: 16 / 7; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-toggle-group { grid-template-columns: 1fr 1fr; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .presentation-toggle { min-height: 58px; padding: .55rem; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .presentation-toggle > b { flex-basis: 30px; width: 30px; height: 30px; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .audience-theme-control { grid-template-columns: 1fr 1fr; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .audience-theme-control > span { grid-column: 1 / -1; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-actions { display: grid; grid-template-columns: 1fr 1fr; padding: .7rem .8rem max(.7rem,env(safe-area-inset-bottom)); }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-actions > * { min-width: 0; width: 100%; padding-inline: .45rem; font-size: .72rem; }
}

@media (max-width: 420px) {
    .bootstrap-site .quizzme-redesign .host-open-display { display: inline-flex; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-preview { max-height: 104px; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-fields { grid-template-columns: 1fr; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-password { grid-column: auto; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-actions .button { flex: 1 1 calc(50% - .25rem); }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-wifi-actions > .plain-action { width: 100%; margin-left: 0; text-align: center; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-toggle-group { grid-template-columns: 1fr; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .presentation-toggle { min-height: 54px; }
    .bootstrap-site .quizzme-redesign .host-presentation-bar .display-control-actions { grid-template-columns: 1fr; }
}

/* The desktop Display destination keeps the same controls inline instead of
   layering a modal over the Quizmaster workspace. */
.bootstrap-site .quizzme-redesign .host-display-page { display: grid; width: min(1120px,100%); gap: 1rem; margin: 0 auto; }
.bootstrap-site .quizzme-redesign .host-display-page > .workspace-heading { margin-bottom: 0; }
.bootstrap-site .quizzme-redesign .host-display-page-open { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: .45rem; padding: .65rem .9rem; border-color: #4b35bf; background: linear-gradient(135deg,#6547df,#4934bc); color: #fff; box-shadow: 0 7px 18px rgba(72,50,184,.22); text-decoration: none; white-space: nowrap; }
.bootstrap-site .quizzme-redesign .host-display-page-open:hover,
.bootstrap-site .quizzme-redesign .host-display-page-open:focus-visible { border-color: #281785; background: linear-gradient(135deg,#5134ca,#352294); color: #fff; box-shadow: 0 0 0 3px rgba(105,78,224,.24),0 8px 20px rgba(49,31,137,.25); }
.bootstrap-site .quizzme-redesign .host-display-page .host-presentation-bar.display-page-panel {
    position: static;
    inset: auto;
    z-index: auto;
    display: grid;
    width: 100%;
    max-height: none;
    grid-template-rows: auto auto auto;
    gap: 0;
    padding: 0;
    overflow: visible;
    border: 1px solid #dfe3ec;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(28,34,65,.1);
    transform: none;
}
.bootstrap-site .quizzme-redesign .host-display-page .display-page-panel .display-control-header { grid-template-columns: minmax(0,1fr) auto; }
.bootstrap-site .quizzme-redesign .host-display-page .display-page-panel .display-control-body { overflow: visible; }
.bootstrap-site .quizzme-redesign .host-display-page .display-page-panel .display-control-actions { justify-content: flex-start; border-radius: 0 0 21px 21px; }
.bootstrap-site .quizzme-redesign .host-display-page-disabled { max-width: 270px; min-height: 46px; padding: .5rem .75rem; border: 1px solid #e0e3eb; border-radius: 11px; background: #f8f9fb; }

@media (max-width: 700px) {
    .bootstrap-site .quizzme-redesign .host-display-page > .workspace-heading { grid-template-columns: 1fr; gap: .75rem; }
    .bootstrap-site .quizzme-redesign .host-display-page > .workspace-heading .heading-actions { justify-content: stretch; }
    .bootstrap-site .quizzme-redesign .host-display-page-open { width: 100%; white-space: normal; }
    .bootstrap-site .quizzme-redesign .host-display-page .host-presentation-bar.display-page-panel { position: static; inset: auto; width: 100%; max-height: none; overflow: visible; border-radius: 18px; transform: none; }
    .bootstrap-site .quizzme-redesign .host-display-page .display-page-panel .display-control-header p { display: block; }
    .bootstrap-site .quizzme-redesign .host-display-page .display-page-panel .display-control-body { grid-template-columns: 1fr; }
    .bootstrap-site .quizzme-redesign .host-display-page .display-page-panel .display-control-preview { max-height: 190px; aspect-ratio: 16 / 8; }
    .bootstrap-site .quizzme-redesign .host-display-page .display-page-panel .display-control-actions { grid-template-columns: 1fr; }
}

/* Audience information rail: presentation cards share one protected row so
   lobby, paused and finished screens remain visible behind the useful details. */
.bootstrap-site .display-redesign .tv-join-overlays { align-items: stretch; justify-content: center; gap: clamp(.45rem,.7vw,.7rem); padding: .55rem clamp(.65rem,1.1vw,1rem) .7rem; border: 0; background: transparent; }
.bootstrap-site .display-redesign .tv-join-overlays .tv-clock-overlay,
.bootstrap-site .display-redesign .tv-join-overlays .tv-pin-overlay,
.bootstrap-site .display-redesign .tv-join-overlays .tv-qr-overlay,
.bootstrap-site .display-redesign .tv-join-overlays .tv-wifi-card { height: clamp(104px,15vh,132px); min-height: 0; box-sizing: border-box; }
.bootstrap-site .display-redesign .tv-join-overlays .tv-clock-overlay,
.bootstrap-site .display-redesign .tv-join-overlays .tv-pin-overlay { position: relative; align-content: center; justify-items: start; gap: .28rem; overflow: hidden; border: 1px solid rgba(255,255,255,.42); border-radius: 18px; box-shadow: 0 14px 30px rgba(23,25,67,.18); }
.bootstrap-site .display-redesign .tv-join-overlays .tv-clock-overlay { width: clamp(150px,15vw,205px); min-width: 150px; padding: .7rem .9rem; background: radial-gradient(circle at 92% 12%,rgba(80,236,255,.22),transparent 34%),linear-gradient(145deg,#111838,#27305d); }
.bootstrap-site .display-redesign .tv-join-overlays .tv-pin-overlay { width: clamp(220px,23vw,315px); min-width: 220px; padding: .7rem 1rem; background: radial-gradient(circle at 90% 12%,rgba(255,255,255,.5),transparent 30%),linear-gradient(145deg,#ffe369,#ffc62e); color: #201b09; }
.bootstrap-site .display-redesign .tv-join-overlays .tv-clock-overlay::after,
.bootstrap-site .display-redesign .tv-join-overlays .tv-pin-overlay::after { position: absolute; right: -1rem; bottom: -1.8rem; width: 5.5rem; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; content: ''; opacity: .08; }
.bootstrap-site .display-redesign .tv-join-overlays :is(.tv-clock-overlay,.tv-pin-overlay) > span { display: inline-flex; position: relative; z-index: 1; align-items: center; gap: .38rem; font-size: clamp(.56rem,.68vw,.7rem); font-weight: 950; letter-spacing: .1em; line-height: 1; text-transform: uppercase; }
.bootstrap-site .display-redesign .tv-join-overlays :is(.tv-clock-overlay,.tv-pin-overlay) > span i { display: grid; width: 1.35rem; aspect-ratio: 1; place-content: center; border-radius: 6px; background: rgba(255,255,255,.14); font-size: .72rem; font-style: normal; letter-spacing: 0; }
.bootstrap-site .display-redesign .tv-join-overlays .tv-clock-overlay > span { color: #b9f7ff; }
.bootstrap-site .display-redesign .tv-join-overlays .tv-pin-overlay > span { color: #4d3b00; }
.bootstrap-site .display-redesign .tv-join-overlays .tv-pin-overlay > span i { background: rgba(50,38,0,.1); }
.bootstrap-site .display-redesign .tv-join-overlays .tv-clock-overlay strong,
.bootstrap-site .display-redesign .tv-join-overlays .tv-pin-overlay strong { position: relative; z-index: 1; font-variant-numeric: tabular-nums; line-height: .95; }
.bootstrap-site .display-redesign .tv-join-overlays .tv-clock-overlay strong { color: #fff; font-size: clamp(2rem,3.5vw,3.25rem); letter-spacing: -.035em; text-shadow: 0 3px 12px rgba(0,0,0,.22); }
.bootstrap-site .display-redesign .tv-join-overlays .tv-pin-overlay strong { color: #161405; font-size: clamp(1.9rem,3.45vw,3rem); letter-spacing: .075em; white-space: nowrap; }
.bootstrap-site .display-redesign .tv-wifi-card { position: relative; display: grid; width: clamp(280px,35vw,460px); min-width: 280px; max-width: 460px; flex: 1 1 340px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: clamp(.6rem,1vw,.9rem); padding: .65rem .72rem .6rem; overflow: hidden; border: 1px solid rgba(95,75,218,.26); border-radius: 18px; background: radial-gradient(circle at 4% 0,rgba(116,89,239,.13),transparent 37%),linear-gradient(145deg,rgba(255,255,255,.985),rgba(246,244,255,.975)); color: #171b39; box-shadow: 0 14px 34px rgba(42,35,95,.16),inset 0 1px 0 rgba(255,255,255,.9); backdrop-filter: blur(18px); }
.bootstrap-site .display-redesign .tv-wifi-card::before { position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg,#5840dc,#9b63f4 62%,#55d7d0); content: ''; }
.bootstrap-site .display-redesign .tv-wifi-card.is-open-network::before { background: linear-gradient(90deg,#087c50,#2fc57c 62%,#68ddd0); }
.bootstrap-site .display-redesign .tv-wifi-details { display: grid; min-width: 0; align-content: center; gap: clamp(.35rem,.6vw,.55rem); }
.bootstrap-site .display-redesign .tv-wifi-card-heading { display: flex; min-width: 0; align-items: center; gap: .55rem; }
.bootstrap-site .display-redesign .tv-wifi-card-heading > i { display: grid; width: clamp(2rem,2.8vw,2.55rem); aspect-ratio: 1; flex: 0 0 auto; place-content: center; border-radius: 12px; background: linear-gradient(145deg,#5840dc,#8060ef); color: #fff; box-shadow: 0 7px 16px rgba(81,64,215,.27); }
.bootstrap-site .display-redesign .tv-wifi-card.is-open-network .tv-wifi-card-heading > i { background: linear-gradient(145deg,#087c50,#28ae70); box-shadow: 0 7px 16px rgba(8,124,80,.25); }
.bootstrap-site .display-redesign .tv-wifi-card-heading > i svg { width: 68%; height: auto; aspect-ratio: 1; display: block; place-self: center; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transform: translateY(-.75px); }
.bootstrap-site .display-redesign .tv-wifi-card-heading > i .tv-wifi-signal circle { fill: currentColor; stroke: none; }
.bootstrap-site .display-redesign .tv-wifi-card-heading > span,
.bootstrap-site .display-redesign .tv-wifi-credential { display: grid; min-width: 0; gap: .12rem; }
.bootstrap-site .display-redesign .tv-wifi-card small { color: #6755bd; font-size: clamp(.5rem,.62vw,.64rem); font-weight: 950; letter-spacing: .075em; line-height: 1.1; text-transform: uppercase; }
.bootstrap-site .display-redesign .tv-wifi-card-heading strong { overflow: hidden; color: #171b39; font-size: clamp(1rem,1.42vw,1.28rem); line-height: 1.08; letter-spacing: -.015em; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .display-redesign .tv-wifi-credential { grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .45rem; min-height: 2.35rem; padding: .38rem .55rem; border: 1px solid rgba(81,64,215,.13); border-radius: 10px; background: rgba(235,231,255,.62); }
.bootstrap-site .display-redesign .tv-wifi-card.is-open-network .tv-wifi-credential { border-color: rgba(8,124,80,.16); background: rgba(221,248,234,.78); }
.bootstrap-site .display-redesign .tv-wifi-credential strong { display: -webkit-box; min-width: 0; overflow: hidden; color: #18213a; font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size: clamp(.78rem,1.08vw,1.02rem); line-height: 1.16; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.bootstrap-site .display-redesign .tv-wifi-card.is-open-network .tv-wifi-credential strong { color: #086b47; font-family: inherit; font-weight: 950; }
.bootstrap-site .display-redesign .tv-wifi-card-qr { display: grid; min-width: 78px; justify-items: center; gap: .22rem; }
.bootstrap-site .display-redesign .tv-wifi-qr { display: block; width: clamp(76px,11.5vh,96px); height: clamp(76px,11.5vh,96px); padding: 5px; border: 1px solid rgba(81,64,215,.2); border-radius: 12px; background: #fff; box-shadow: 0 8px 20px rgba(39,35,91,.16),0 0 0 3px rgba(255,255,255,.7); box-sizing: border-box; }
.bootstrap-site .display-redesign .tv-wifi-card-qr > span { display: grid; justify-items: center; gap: .02rem; color: #5140a8; line-height: 1; white-space: nowrap; }
.bootstrap-site .display-redesign .tv-wifi-card-qr > span strong { font-size: clamp(.44rem,.54vw,.58rem); font-weight: 950; }
.bootstrap-site .display-redesign .tv-wifi-card-qr > span small { font-size: clamp(.35rem,.42vw,.44rem); letter-spacing: .035em; }
.bootstrap-site .display-redesign.audience-night .tv-wifi-card { border-color: rgba(99,243,255,.3); background: radial-gradient(circle at 4% 0,rgba(99,243,255,.13),transparent 37%),linear-gradient(145deg,rgba(10,13,38,.97),rgba(23,16,57,.96)); color: #fff; box-shadow: 0 0 26px rgba(56,248,255,.12),0 14px 34px rgba(0,0,0,.3); }
.bootstrap-site .display-redesign.audience-night .tv-wifi-card-heading strong,
.bootstrap-site .display-redesign.audience-night .tv-wifi-credential strong { color: #fff; }
.bootstrap-site .display-redesign.audience-night .tv-wifi-card small,
.bootstrap-site .display-redesign.audience-night .tv-wifi-card-qr > span { color: #aeeff8; }
.bootstrap-site .display-redesign.audience-night .tv-wifi-credential { border-color: rgba(99,243,255,.18); background: rgba(103,88,201,.16); }
.bootstrap-site .display-redesign.audience-night .tv-wifi-card.is-open-network .tv-wifi-credential { border-color: rgba(76,235,165,.24); background: rgba(16,135,87,.18); }
.bootstrap-site .display-redesign .tv-join-overlays.is-compact { gap: .4rem; padding-block: .35rem .45rem; }
.bootstrap-site .display-redesign .tv-join-overlays.is-compact .tv-clock-overlay,
.bootstrap-site .display-redesign .tv-join-overlays.is-compact .tv-pin-overlay,
.bootstrap-site .display-redesign .tv-join-overlays.is-compact .tv-qr-overlay,
.bootstrap-site .display-redesign .tv-join-overlays.is-compact .tv-wifi-card { height: 82px; }
.bootstrap-site .display-redesign .tv-join-overlays.is-compact .tv-clock-overlay strong,
.bootstrap-site .display-redesign .tv-join-overlays.is-compact .tv-pin-overlay strong { font-size: clamp(1.5rem,2.7vw,2.25rem); }
.bootstrap-site .display-redesign .tv-join-overlays.is-compact .tv-qr-overlay .qr-code-graphic,
.bootstrap-site .display-redesign .tv-join-overlays.is-compact .tv-wifi-qr { width: 58px; height: 58px; }
.bootstrap-site .display-redesign .tv-join-overlays.is-compact .tv-wifi-card-heading > i { width: 1.7rem; }
.bootstrap-site .display-redesign .tv-join-overlays.is-compact .tv-wifi-card-qr > span { display: none; }
.bootstrap-site .quizzme-redesign .mini-wifi-display { display: grid; grid-template-columns: minmax(0,1fr) 64px; align-items: center; gap: .65rem; text-align: left; }
.bootstrap-site .quizzme-redesign .mini-wifi-display > div { display: grid; min-width: 0; gap: .2rem; }
.bootstrap-site .quizzme-redesign .mini-wifi-display strong,
.bootstrap-site .quizzme-redesign .mini-wifi-display span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .quizzme-redesign .mini-wifi-display .qr-code-graphic { width: 64px; aspect-ratio: 1; padding: 4px; border-radius: 7px; background: #fff; }

@media (max-width: 767.98px) {
    .bootstrap-site .display-redesign .tv-join-overlays { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; }
    .bootstrap-site .display-redesign .tv-join-overlays .tv-clock-overlay,
    .bootstrap-site .display-redesign .tv-join-overlays .tv-pin-overlay,
    .bootstrap-site .display-redesign .tv-join-overlays .tv-qr-overlay { width: 100%; min-width: 0; height: 68px; }
    .bootstrap-site .display-redesign .tv-wifi-card { width: 100%; min-width: 0; max-width: none; height: 76px; grid-column: 1 / -1; grid-template-columns: minmax(0,1fr) auto; padding: .4rem .5rem; border-radius: 12px; }
    .bootstrap-site .display-redesign .tv-wifi-details { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: .4rem; }
    .bootstrap-site .display-redesign .tv-wifi-credential { min-height: 0; padding: .3rem .4rem; }
    .bootstrap-site .display-redesign .tv-wifi-card-heading > i { width: 1.7rem; }
    .bootstrap-site .display-redesign .tv-join-overlays .tv-qr-overlay .qr-code-graphic { width: 48px; height: 48px; }
    .bootstrap-site .display-redesign .tv-wifi-qr { width: 48px; height: 48px; }
    .bootstrap-site .display-redesign .tv-wifi-card-qr > span { display: none; }
    .bootstrap-site .display-redesign .tv-join-overlays.is-compact .tv-wifi-card { height: 68px; }
}

@media (min-width: 768px) and (max-width: 900px) {
    .bootstrap-site .display-redesign .tv-join-overlays .tv-clock-overlay { width: 130px; min-width: 130px; }
    .bootstrap-site .display-redesign .tv-join-overlays .tv-pin-overlay { width: 190px; min-width: 190px; }
    .bootstrap-site .display-redesign .tv-join-overlays .tv-qr-overlay { width: 110px; min-width: 110px; }
    .bootstrap-site .display-redesign .tv-wifi-card { width: 220px; min-width: 220px; }
    .bootstrap-site .display-redesign .tv-join-overlays .tv-pin-overlay strong { font-size: clamp(1.65rem,3.5vw,2.2rem); }
}

@media (max-height: 560px) and (min-width: 768px) {
    .bootstrap-site .display-redesign .tv-join-overlays .tv-clock-overlay,
    .bootstrap-site .display-redesign .tv-join-overlays .tv-pin-overlay,
    .bootstrap-site .display-redesign .tv-join-overlays .tv-qr-overlay,
    .bootstrap-site .display-redesign .tv-join-overlays .tv-wifi-card { height: 76px; }
    .bootstrap-site .display-redesign .tv-join-overlays .tv-qr-overlay .qr-code-graphic,
    .bootstrap-site .display-redesign .tv-wifi-qr { width: 48px; height: 48px; }
    .bootstrap-site .display-redesign .tv-wifi-card-qr > span { display: none; }
}

/* Sudden death: one shared visual language across Quizmaster, TV and phones. */
.bootstrap-site .tv-stage.sudden-death-stage {
    background: radial-gradient(circle at 16% 12%,rgba(255,255,255,.72),transparent 23%),radial-gradient(circle at 86% 78%,rgba(255,147,0,.3),transparent 28%),linear-gradient(145deg,#fff36b,#ffd21f 58%,#ffb800) !important;
    color: #291900;
    box-shadow: inset 0 0 0 clamp(8px,1vw,18px) #241400,inset 0 0 80px rgba(255,130,0,.24);
}
.bootstrap-site .tv-stage.sudden-death-stage .tv-content { background: transparent !important; }
.bootstrap-site .tv-stage.sudden-death-stage .tv-top-rail { color: #291900; }
.bootstrap-site .tv-stage.sudden-death-stage .tv-question,
.bootstrap-site .tv-stage.sudden-death-stage .tv-reveal,
.bootstrap-site .tv-stage.sudden-death-stage .scheduled-answer-reveal-tv > .tv-reveal {
    background: radial-gradient(circle at 50% 8%,rgba(255,255,255,.68),transparent 29%),linear-gradient(150deg,#fff8a6,#ffd92e 62%,#ffbd12) !important;
    color: #291900;
}
.bootstrap-site .tv-stage.sudden-death-stage .tv-question h1,
.bootstrap-site .tv-stage.sudden-death-stage .tv-reveal h1,
.bootstrap-site .tv-stage.sudden-death-stage .tv-kicker { color: #291900; }
.bootstrap-site .tv-stage.sudden-death-stage .tv-kicker { font-weight: 950; letter-spacing: .12em; }
.bootstrap-site .sudden-death-progress { border: 1px solid rgba(255,177,37,.5); background: #24143f; color: #ffd670; box-shadow: 0 5px 18px rgba(37,18,70,.18); }
.bootstrap-site .sudden-death-progress > span { background: #ffb321; color: #30113e; }
.bootstrap-site .sudden-death-progress > span::after { color: #30113e; content: '⚡'; }
.bootstrap-site .sudden-death-contestants { display: flex; max-width: min(1080px,94vw); align-items: center; justify-content: center; flex-wrap: wrap; gap: clamp(.45rem,1vw,.85rem); }
.bootstrap-site .sudden-death-contestants > div { display: grid; min-width: clamp(140px,14vw,210px); grid-template-columns: clamp(38px,3.5vw,58px) minmax(0,1fr); align-items: center; gap: .65rem; padding: .55rem .8rem; overflow: hidden; border: 1px solid rgba(255,205,102,.5); border-radius: 999px; background: rgba(34,21,61,.9); color: #fff; box-shadow: 0 8px 24px rgba(19,8,38,.22); }
.bootstrap-site .sudden-death-contestants > div strong { overflow: hidden; font-size: clamp(.78rem,1.2vw,1.1rem); text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .sudden-death-avatar { display: block; width: clamp(38px,3.5vw,58px); height: clamp(38px,3.5vw,58px); aspect-ratio: 1; overflow: hidden; border: 2px solid #ffc64b; border-radius: 50%; background: #f0e9ff; object-fit: cover; }
.bootstrap-site .sudden-death-lightning { display: grid; width: clamp(74px,8vw,130px); aspect-ratio: 1; place-content: center; border: 2px solid #ffd46c; border-radius: 30%; background: linear-gradient(145deg,#ffcf50,#ff9f1c); color: #321047; box-shadow: 0 0 0 12px rgba(255,190,61,.1),0 20px 50px rgba(22,9,42,.28); font-size: clamp(2.2rem,4.8vw,5.2rem); transform: rotate(4deg); }
.bootstrap-site .sudden-death-start-timer { display: grid; min-width: 120px; justify-items: center; gap: .1rem; padding: .55rem .9rem; border: 1px solid rgba(255,205,102,.45); border-radius: 15px; background: rgba(34,21,61,.92); color: #fff; }
.bootstrap-site .sudden-death-start-timer strong { color: #ffd670; font-size: clamp(1.45rem,2.4vw,2.5rem); font-variant-numeric: tabular-nums; line-height: 1; }
.bootstrap-site .sudden-death-start-timer span { font-size: .65rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.bootstrap-site .tv-sudden-death-intro,
.bootstrap-site .tv-sudden-death-result { display: grid; width: 100%; height: 100%; min-height: 0; place-items: center; align-content: center; gap: clamp(.6rem,1.6vh,1.25rem); padding: clamp(1.2rem,4vw,4rem); overflow: hidden; background: radial-gradient(circle at 50% 10%,rgba(255,255,255,.7),transparent 32%),linear-gradient(145deg,#fff58a,#ffd329 62%,#ffb70d); color: #291900; text-align: center; }
.bootstrap-site .tv-sudden-death-intro h1,
.bootstrap-site .tv-sudden-death-result h1 { max-width: 18ch; margin: 0; color: #291900; font-size: clamp(3rem,7vw,8rem); line-height: .94; text-shadow: 0 3px rgba(255,255,255,.35); }
.bootstrap-site .tv-sudden-death-intro > p:not(.tv-kicker),
.bootstrap-site .tv-sudden-death-result > div:first-child > p:last-child { max-width: 62ch; margin: 0; color: #4b3500; font-size: clamp(.9rem,1.6vw,1.6rem); font-weight: 750; line-height: 1.4; }
.bootstrap-site .tv-sudden-death-result > div:first-child { display: grid; justify-items: center; gap: .45rem; }
.bootstrap-site .tv-sudden-death-result h1 { font-size: clamp(2.6rem,5.8vw,6.5rem); }
.bootstrap-site .host-sudden-death-card { display: grid; min-height: 240px; grid-template-columns: 86px minmax(0,1fr); place-content: center; align-items: center; gap: 1.1rem; padding: 1.25rem; border-radius: 16px; background: radial-gradient(circle at 10% 20%,rgba(255,194,61,.2),transparent 36%),linear-gradient(145deg,#21123c,#3d1d60); color: #fff; }
.bootstrap-site .host-sudden-death-card > span { display: grid; width: 82px; aspect-ratio: 1; place-content: center; border-radius: 22px; background: #ffbd38; color: #321047; font-size: 2.5rem; }
.bootstrap-site .host-sudden-death-card small { color: #ffd670; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.bootstrap-site .host-sudden-death-card h3 { margin: .2rem 0; color: #fff; font-size: 1.45rem; }
.bootstrap-site .host-sudden-death-card p { max-width: 55ch; margin: 0; color: #e1d7ee; line-height: 1.45; }
.bootstrap-site .player-sudden-death { display: grid; width: min(100%,480px); min-height: 100%; place-content: center; justify-items: center; gap: .7rem; margin: 0 auto; padding: 1rem; background: radial-gradient(circle at 50% 8%,rgba(255,190,51,.22),transparent 30%),linear-gradient(155deg,#1d1036,#31184e 70%,#171026); color: #fff; text-align: center; }
.bootstrap-site .player-sudden-death .sudden-death-lightning { width: 76px; border-radius: 22px; font-size: 2.3rem; }
.bootstrap-site .player-sudden-death.eliminated .sudden-death-lightning { border-color: #ff8795; background: linear-gradient(145deg,#b4233d,#8f1830); color: #fff; }
.bootstrap-site .player-sudden-death.survived .sudden-death-lightning { border-color: #71e0a8; background: linear-gradient(145deg,#2bd683,#31c77f); color: #143c2a; }
.bootstrap-site .player-sudden-death .section-label { margin: .2rem 0 0; color: #ffd670; }
.bootstrap-site .player-sudden-death h1 { max-width: 14ch; margin: 0; color: #fff; font-size: clamp(2rem,9vw,3.3rem); line-height: 1; }
.bootstrap-site .player-sudden-death > p:not(.section-label) { max-width: 34ch; margin: 0; color: #ddd2ed; font-size: .88rem; line-height: 1.45; }
.bootstrap-site .player-sudden-death .sudden-death-contestants { width: 100%; max-width: 360px; gap: .4rem; }
.bootstrap-site .player-sudden-death .sudden-death-contestants > div { min-width: 0; width: calc(50% - .2rem); grid-template-columns: 34px minmax(0,1fr); padding: .4rem .55rem; }
.bootstrap-site .player-sudden-death .sudden-death-avatar { width: 34px; height: 34px; }
.bootstrap-site .player-sudden-death .sudden-death-contestants > div strong { font-size: .7rem; }
.bootstrap-site .player-sudden-death .sudden-death-start-timer { margin-top: .25rem; }
.bootstrap-site .tv-question:has(.tv-kicker:first-child) { min-width: 0; }

@media (max-height: 700px) {
    .bootstrap-site .tv-sudden-death-intro,
    .bootstrap-site .tv-sudden-death-result { gap: .45rem; padding-block: .7rem; }
    .bootstrap-site .tv-sudden-death-intro .sudden-death-lightning { width: 62px; font-size: 2rem; }
    .bootstrap-site .tv-sudden-death-intro h1,
    .bootstrap-site .tv-sudden-death-result h1 { font-size: clamp(2.2rem,6vw,4.8rem); }
    .bootstrap-site .sudden-death-contestants > div { padding-block: .35rem; }
}

@media (max-width: 420px) {
    .bootstrap-site .player-sudden-death { padding: .75rem; }
    .bootstrap-site .player-sudden-death .sudden-death-contestants > div { width: 100%; }
    .bootstrap-site .host-sudden-death-card { min-height: 210px; grid-template-columns: 58px minmax(0,1fr); padding: .8rem; }
    .bootstrap-site .host-sudden-death-card > span { width: 56px; border-radius: 16px; font-size: 1.7rem; }
}

/* Apexia sponsorship uses one transparent logo master. Dark surfaces invert the
   exact same pixels so the black and white marks can never drift apart. */
.bootstrap-site .apexia-sponsor {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    min-width: 0;
    align-items: center;
    gap: .58rem;
    padding: .35rem .25rem;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #596174;
    text-decoration: none;
    box-shadow: none;
    transition: color .18s ease,opacity .18s ease,transform .18s ease;
}
.bootstrap-site .apexia-sponsor:hover,
.bootstrap-site .apexia-sponsor:focus-visible { color: #202941; box-shadow: none; outline: none; transform: translateY(-2px); }
.bootstrap-site .apexia-sponsor:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.bootstrap-site .apexia-sponsor-intro { flex: 0 0 auto; font-size: .56rem; font-weight: 800; letter-spacing: .1em; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.bootstrap-site .apexia-sponsor > img { display: block; width: clamp(80px,7.5vw,108px); max-width: 42%; height: auto; flex: 0 1 auto; object-fit: contain; }
.bootstrap-site .apexia-sponsor-arrow { display: block; width: auto; height: auto; flex: 0 0 auto; border-radius: 0; background: transparent; color: currentColor; font-size: .7rem; font-weight: 900; line-height: 1; opacity: .62; }

.bootstrap-site .home-reference-hero { position: relative; }
.bootstrap-site .home-sponsor-footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 4;
    display: flex;
    justify-content: center;
    padding: 1.6rem 1rem max(.9rem,env(safe-area-inset-bottom));
    background: linear-gradient(to bottom,transparent,rgba(3,4,26,.3));
    pointer-events: none;
}
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home {
    gap: .68rem;
    margin: 0;
    padding: .35rem .25rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(255,255,255,.5);
    box-shadow: none;
    pointer-events: auto;
}
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home::before {
    width: clamp(28px,4vw,52px);
    height: 1px;
    flex: 0 1 52px;
    background: rgba(255,255,255,.18);
    content: '';
}
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home::after {
    width: clamp(28px,4vw,52px);
    height: 1px;
    flex: 0 1 52px;
    background: rgba(255,255,255,.18);
    content: '';
}
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home .apexia-sponsor-intro {
    color: rgba(255,255,255,.58);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .115em;
}
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home > img {
    width: clamp(96px,8vw,116px);
    max-width: none;
    opacity: .82;
}
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home .apexia-sponsor-arrow {
    display: block;
    width: auto;
    height: auto;
    flex: 0 0 auto;
    border-radius: 0;
    background: transparent;
    color: rgba(255,255,255,.46);
    font-size: .7rem;
}
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home > img,
.bootstrap-site .host-sidebar-sponsor .apexia-sponsor > img,
.bootstrap-site .player-footer .apexia-sponsor > img,
.bootstrap-site .audience-night .player-standalone-sponsor .apexia-sponsor > img,
.bootstrap-site .audience-night .tv-sponsor-footer .apexia-sponsor > img { filter: brightness(0) invert(1); }
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home:hover,
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home:focus-visible { border-color: transparent; background: transparent; color: rgba(255,255,255,.78); box-shadow: none; transform: translateY(-2px); }
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home:hover > img,
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home:focus-visible > img { opacity: 1; }
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home:hover::before,
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home:hover::after,
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home:focus-visible::before,
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home:focus-visible::after { background: rgba(255,255,255,.34); }
.bootstrap-site .home-sponsor-footer .apexia-sponsor-home:focus-visible { border-radius: 6px; outline: 2px solid rgba(255,255,255,.65); outline-offset: 3px; }

@media (max-width: 480px) {
    .bootstrap-site .home-sponsor-footer { padding-top: 1.2rem; }
    .bootstrap-site .home-sponsor-footer .apexia-sponsor-home { gap: .48rem; }
    .bootstrap-site .home-sponsor-footer .apexia-sponsor-home::before,
    .bootstrap-site .home-sponsor-footer .apexia-sponsor-home::after { width: 22px; flex-basis: 22px; }
    .bootstrap-site .home-sponsor-footer .apexia-sponsor-home .apexia-sponsor-intro { font-size: .51rem; }
    .bootstrap-site .home-sponsor-footer .apexia-sponsor-home > img { width: 92px; }
}

.bootstrap-site :is(.public-sponsor-footer,.host-sidebar-sponsor,.tv-sponsor-footer,.player-standalone-sponsor,.result-report-sponsor) .apexia-sponsor::before,
.bootstrap-site :is(.public-sponsor-footer,.host-sidebar-sponsor,.tv-sponsor-footer,.player-standalone-sponsor,.result-report-sponsor) .apexia-sponsor::after {
    width: clamp(18px,3vw,44px);
    height: 1px;
    flex: 0 1 44px;
    background: currentColor;
    content: '';
    opacity: .24;
    transition: opacity .18s ease;
}
.bootstrap-site :is(.public-sponsor-footer,.host-sidebar-sponsor,.tv-sponsor-footer,.player-standalone-sponsor,.result-report-sponsor) .apexia-sponsor:hover::before,
.bootstrap-site :is(.public-sponsor-footer,.host-sidebar-sponsor,.tv-sponsor-footer,.player-standalone-sponsor,.result-report-sponsor) .apexia-sponsor:hover::after,
.bootstrap-site :is(.public-sponsor-footer,.host-sidebar-sponsor,.tv-sponsor-footer,.player-standalone-sponsor,.result-report-sponsor) .apexia-sponsor:focus-visible::before,
.bootstrap-site :is(.public-sponsor-footer,.host-sidebar-sponsor,.tv-sponsor-footer,.player-standalone-sponsor,.result-report-sponsor) .apexia-sponsor:focus-visible::after { opacity: .48; }

.bootstrap-site .host-auth-shell {
    height: 100dvh;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
    overflow: hidden;
}
.bootstrap-site .host-auth-shell .public-header { grid-row: 1; }
.bootstrap-site .host-auth-shell .host-auth-polished {
    grid-row: 2;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}
.bootstrap-site .public-sponsor-footer { position: relative; z-index: 2; display: flex; min-height: 52px; grid-row: 3; align-items: center; justify-content: center; padding: .45rem 1rem max(.6rem,env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,255,255,.08); background: linear-gradient(to bottom,transparent,rgba(3,4,26,.28)); }
.bootstrap-site .public-sponsor-footer .apexia-sponsor { color: rgba(255,255,255,.58); }
.bootstrap-site .public-sponsor-footer .apexia-sponsor > img { width: 96px; max-width: none; opacity: .82; filter: brightness(0) invert(1); }
.bootstrap-site .public-sponsor-footer .apexia-sponsor:hover > img,
.bootstrap-site .public-sponsor-footer .apexia-sponsor:focus-visible > img { opacity: 1; }

/* Guided setup keeps the same footer rhythm as the public pages. Plus replaces
   the Apexia lockup with the Quizmaster's active personal branding. */
.bootstrap-site .host-app.guided-room .host-setup-sponsor-footer {
    position: relative;
    z-index: 20;
    width: 100%;
    min-height: 58px;
    grid-row: auto;
    padding: .5rem 1rem max(.6rem,env(safe-area-inset-bottom));
    border-top-color: #dfe1ed;
    background: linear-gradient(180deg,rgba(255,255,255,.96) 0%,#f1f2f8 100%);
    box-shadow: inset 0 1px rgba(255,255,255,.8);
}
.bootstrap-site .host-app.guided-room .host-setup-sponsor-footer .apexia-sponsor { color: #656b7e; }
.bootstrap-site .host-app.guided-room .host-setup-sponsor-footer .apexia-sponsor > img { opacity: .84; filter: none; }
.bootstrap-site .host-app.guided-room .host-setup-sponsor-footer .apexia-sponsor:hover,
.bootstrap-site .host-app.guided-room .host-setup-sponsor-footer .apexia-sponsor:focus-visible { color: #282d42; }
.bootstrap-site .host-setup-personal-branding {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    color: #686e81;
}
.bootstrap-site .host-setup-personal-branding::before,
.bootstrap-site .host-setup-personal-branding::after {
    width: clamp(24px,4vw,48px);
    height: 1px;
    flex: 0 1 48px;
    background: currentColor;
    content: '';
    opacity: .3;
}
.bootstrap-site .host-setup-personal-logo {
    display: grid;
    width: clamp(112px,13vw,168px);
    height: 38px;
    min-width: 0;
    place-items: center;
    padding: 4px 9px;
    border: 1px solid #dddbea;
    border-radius: 7px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 5px 15px rgba(38,31,82,.08);
}
.bootstrap-site .host-setup-personal-logo img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 28px;
    object-fit: contain;
}
.bootstrap-site .host-setup-branding-state {
    display: grid;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    place-items: center;
    border-radius: 50%;
    background: #2fba7a;
    color: #fff;
    font-size: .65rem;
    font-weight: 950;
}
.bootstrap-site .host-setup-personal-branding.is-uploading .host-setup-personal-logo { opacity: .74; }
.bootstrap-site .host-setup-personal-branding.is-uploading .host-setup-branding-state {
    border: 2px solid rgba(91,53,232,.2);
    border-top-color: #6546db;
    background: transparent;
    animation: setup-branding-spin .75s linear infinite;
}
@media (min-width: 768px) {
    .bootstrap-site .host-app.reference-design.guided-room .host-workspace:has(> .host-setup-sponsor-footer) { grid-template-rows: auto auto minmax(0,1fr) auto; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .host-auth-shell .host-auth-polished { height: 100%; min-height: 0; padding-bottom: .35rem; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form-wrap { height: 100%; min-height: 0; }
    .bootstrap-site .public-sponsor-footer { min-height: 46px; padding-block: .3rem max(.45rem,env(safe-area-inset-bottom)); }
    .bootstrap-site .public-sponsor-footer .apexia-sponsor { gap: .45rem; }
    .bootstrap-site .public-sponsor-footer .apexia-sponsor::before,
    .bootstrap-site .public-sponsor-footer .apexia-sponsor::after { width: 22px; flex-basis: 22px; }
    .bootstrap-site .public-sponsor-footer .apexia-sponsor-intro { font-size: .5rem; }
    .bootstrap-site .public-sponsor-footer .apexia-sponsor > img { width: 88px; }
    .bootstrap-site .host-app.reference-design.guided-room .host-content:has(.setup-source-step) { padding-bottom: 1rem; }
    .bootstrap-site .host-app.guided-room .host-setup-sponsor-footer { min-height: 52px; }
    .bootstrap-site .host-setup-personal-branding { gap: .45rem; }
    .bootstrap-site .host-setup-personal-branding::before,
    .bootstrap-site .host-setup-personal-branding::after { width: 20px; flex-basis: 20px; }
    .bootstrap-site .host-setup-personal-logo { width: clamp(96px,34vw,132px); height: 34px; }
    .bootstrap-site .host-setup-personal-logo img { max-height: 24px; }
}
@media (max-width: 620px) {
    .bootstrap-site .host-app.guided-room .host-setup-sponsor-footer { order: 4; flex: 0 0 auto; }
}

@media (max-height: 620px) {
    .bootstrap-site .host-auth-shell .public-header { height: 48px; min-height: 48px; }
    .bootstrap-site .host-auth-shell .host-auth-polished { padding: .25rem .65rem; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form-wrap { padding: .6rem 1rem; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form { gap: .3rem; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form > .section-label { display: none; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form :is(h1,h2) { margin: 0 0 .1rem; font-size: 1.45rem; }
    .bootstrap-site .host-auth-shell .auth-form .segmented { padding: 2px; }
    .bootstrap-site .host-auth-shell .auth-form .segmented button { min-height: 32px; }
    .bootstrap-site .host-auth-shell .auth-form .field { font-size: .7rem; }
    .bootstrap-site .host-auth-shell .auth-form input { min-height: 36px; margin-top: .1rem; padding-block: .35rem; }
    .bootstrap-site .host-auth-shell .auth-form .button-primary { min-height: 38px; }
    .bootstrap-site .host-auth-shell .auth-note { margin-top: .25rem; font-size: .66rem; }
    .bootstrap-site .host-auth-shell #authPanel { gap: .28rem; }
    .bootstrap-site .host-auth-shell #authPanel > .field { gap: .12rem; }
    .bootstrap-site .host-auth-shell #authPanel > .field > input { margin-top: 0; }
    .bootstrap-site .host-auth-shell #authPanel > .button-primary { margin-top: .12rem; }
    .bootstrap-site .host-auth-shell #authPanel > .auth-note { margin-top: .1rem; }
    .bootstrap-site .public-sponsor-footer { min-height: 40px; padding-block: .2rem; }
    .bootstrap-site .public-sponsor-footer .apexia-sponsor { gap: .4rem; padding-block: .2rem; }
    .bootstrap-site .public-sponsor-footer .apexia-sponsor-intro { font-size: .46rem; }
    .bootstrap-site .public-sponsor-footer .apexia-sponsor > img { width: 80px; }
}

.bootstrap-site .host-sidebar-sponsor { display: flex; justify-content: center; margin-top: auto; padding: .9rem .1rem .15rem; border-top: 1px solid rgba(255,255,255,.1); }
.bootstrap-site .host-sidebar-sponsor:has(.personal-branding) { flex-direction: column; align-items: center; gap: .5rem; }
.bootstrap-site .host-sidebar-sponsor .personal-branding { display: grid; width: 100%; justify-items: center; gap: .2rem; padding: .45rem .5rem; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; background: rgba(255,255,255,.055); color: rgba(255,255,255,.62); }
.bootstrap-site .host-sidebar-sponsor .personal-branding small { font-size: .42rem; }
.bootstrap-site .host-sidebar-sponsor .personal-branding img { width: auto; max-width: 132px; height: 32px; filter: none; object-fit: contain; }
.bootstrap-site .host-sidebar-sponsor .apexia-sponsor { gap: .35rem; color: rgba(255,255,255,.58); }
.bootstrap-site .host-sidebar-sponsor .apexia-sponsor > img { width: 68px; max-width: none; opacity: .76; }
.bootstrap-site .host-sidebar-sponsor .apexia-sponsor-intro { font-size: .43rem; }
.bootstrap-site .host-sidebar-sponsor .apexia-sponsor::before,
.bootstrap-site .host-sidebar-sponsor .apexia-sponsor::after { width: 12px; flex-basis: 12px; }
.bootstrap-site .host-sidebar-sponsor .apexia-sponsor-arrow { display: none; }

.bootstrap-site .host-navbar-branding:empty { display: none; }
.bootstrap-site .host-sidebar-shell > .host-navbar-branding { display: grid; min-height: 48px; place-items: center; margin: -.55rem 0 .8rem; padding: .4rem .45rem; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; background: rgba(255,255,255,.06); }
.bootstrap-site .host-navbar-branding .personal-branding { width: 100%; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; justify-content: center; gap: .42rem; color: rgba(255,255,255,.64); }
.bootstrap-site .host-navbar-branding .personal-branding small { font-size: .38rem; }
.bootstrap-site .host-navbar-branding .personal-branding img { width: auto; max-width: 116px; height: 27px; justify-self: center; filter: none; object-fit: contain; }

.bootstrap-site .display-redesign { grid-template-rows: auto minmax(0,1fr) auto; }
.bootstrap-site .display-redesign.has-join-overlays { grid-template-rows: auto minmax(0,1fr) auto auto; }
.bootstrap-site .tv-phone-only-stage,
.bootstrap-site .tv-closed-stage,
.bootstrap-site .tv-route-stage { grid-template-rows: minmax(0,1fr) auto; }
.bootstrap-site .tv-sponsor-footer { position: relative; z-index: 35; display: flex; min-height: 52px; align-items: center; justify-content: center; padding: .4rem clamp(1rem,4vw,4rem) max(.6rem,env(safe-area-inset-bottom)); border: 0; background: linear-gradient(to bottom,transparent,rgba(20,25,55,.045)); pointer-events: none; }
.bootstrap-site .tv-footer-branding { display: flex; width: min(880px,100%); min-width: 0; align-items: center; justify-content: center; gap: clamp(.55rem,1.15vw,1rem); color: #697083; pointer-events: auto; }
.bootstrap-site .tv-footer-branding::before,
.bootstrap-site .tv-footer-branding::after { width: clamp(28px,5vw,72px); height: 1px; flex: 0 1 72px; background: currentColor; content: ''; opacity: .2; }
.bootstrap-site .display-redesign .tv-top-rail { grid-template-columns: minmax(0,1fr) auto; }
.bootstrap-site .display-redesign .tv-top-rail > .tv-announcement { grid-column: 1; }
.bootstrap-site .display-redesign .tv-top-rail > .tv-question-progress { grid-column: 2; }
.bootstrap-site .tv-product-brand { display: grid; min-width: 0; height: auto; flex: 0 0 auto; place-items: center; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; opacity: .68; }
.bootstrap-site .tv-product-brand .wordmark { display: grid; width: clamp(58px,5vw,70px); height: clamp(40px,3.6vw,50px); place-items: center; }
.bootstrap-site .tv-product-brand .wordmark-image { position: static !important; width: clamp(46px,4.5vw,64px); height: clamp(32px,3.2vw,46px); object-fit: contain; }
.bootstrap-site .personal-branding-tv-header { min-height: 46px; padding: .34rem .62rem; border: 1px solid rgba(70,53,140,.16); border-radius: 13px; background: rgba(255,255,255,.82); color: #5c6577; box-shadow: 0 7px 22px rgba(45,35,98,.1); backdrop-filter: blur(14px); }
.bootstrap-site .personal-branding-tv-header img { max-width: 150px; height: 34px; }
.bootstrap-site .personal-branding { display: inline-flex; min-width: 0; align-items: center; justify-content: center; gap: .42rem; color: #4d5870; }
.bootstrap-site .personal-branding small { font-size: .52rem; font-weight: 900; letter-spacing: .065em; text-transform: uppercase; white-space: nowrap; }
.bootstrap-site .personal-branding img { display: block; width: auto; max-width: 130px; height: 28px; border-radius: 4px; object-fit: contain; }
.bootstrap-site .tv-sponsor-footer .personal-branding { min-width: 0; flex: 0 1 auto; gap: clamp(.35rem,.65vw,.55rem); padding: 0 0 0 clamp(.55rem,1.15vw,1rem); border: 0; border-left: 1px solid rgba(65,70,91,.2); border-radius: 0; background: transparent; color: #697083; }
.bootstrap-site .tv-sponsor-footer .personal-branding small { font-size: clamp(.45rem,.52vw,.56rem); letter-spacing: .1em; }
.bootstrap-site .tv-sponsor-footer .personal-branding img { max-width: clamp(88px,9vw,145px); height: clamp(24px,2.4vw,32px); }
.bootstrap-site .player-footer .personal-branding { display: grid; justify-items: center; gap: .08rem; padding: .2rem .35rem; color: rgba(255,255,255,.72); }
.bootstrap-site .player-footer .personal-branding small { font-size: .35rem; }
.bootstrap-site .player-footer .personal-branding img { max-width: 64px; height: 22px; }
.bootstrap-site .player-standalone-sponsor:has(.personal-branding) { gap: .55rem; }
.bootstrap-site .player-standalone-sponsor .personal-branding { padding: .35rem .55rem; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; background: rgba(5,8,29,.82); color: rgba(255,255,255,.72); }
.bootstrap-site .result-report-sponsor .personal-branding { padding: .38rem .55rem; }
.bootstrap-site .tv-sponsor-footer .apexia-sponsor { flex: 0 1 auto; gap: clamp(.4rem,.7vw,.68rem); padding: 0 0 0 clamp(.55rem,1.15vw,1rem); border-left: 1px solid rgba(65,70,91,.2); border-radius: 0; color: #697083; }
.bootstrap-site .tv-sponsor-footer .apexia-sponsor::before,
.bootstrap-site .tv-sponsor-footer .apexia-sponsor::after { display: none; }
.bootstrap-site .tv-sponsor-footer .apexia-sponsor > img { width: clamp(82px,7vw,112px); max-width: none; opacity: .82; }
.bootstrap-site .tv-sponsor-footer .apexia-sponsor-intro { font-size: clamp(.48rem,.58vw,.62rem); }
.bootstrap-site .tv-sponsor-footer .apexia-sponsor:hover > img,
.bootstrap-site .tv-sponsor-footer .apexia-sponsor:focus-visible > img { opacity: 1; }
.bootstrap-site .audience-night .tv-sponsor-footer { background: linear-gradient(to bottom,transparent,rgba(0,0,0,.18)); }
.bootstrap-site .audience-night .tv-footer-branding { color: rgba(255,255,255,.58); }
.bootstrap-site .audience-night .tv-product-brand { opacity: .76; }
.bootstrap-site .audience-night .tv-product-brand .wordmark-image { filter: brightness(0) invert(1); }
.bootstrap-site .audience-night .tv-sponsor-footer .personal-branding,
.bootstrap-site .audience-night .tv-sponsor-footer .apexia-sponsor { border-left-color: rgba(255,255,255,.2); color: rgba(255,255,255,.62); }
.bootstrap-site .sudden-death-stage .tv-sponsor-footer .apexia-sponsor { color: rgba(255,255,255,.62); }
.bootstrap-site .sudden-death-stage .tv-sponsor-footer .apexia-sponsor > img { filter: brightness(0) invert(1); }

.bootstrap-site .player-standalone-sponsor { position: absolute; right: 0; bottom: 0; left: 0; z-index: 8; display: flex; justify-content: center; padding: 1.15rem .75rem max(.65rem,env(safe-area-inset-bottom)); background: linear-gradient(to bottom,transparent,rgba(239,242,248,.98) 30%); pointer-events: none; }
.bootstrap-site .player-join-branding { min-width: 0; max-width: calc(100vw - 1.5rem); display: flex; align-items: center; justify-content: center; gap: .55rem; padding: .45rem .7rem; border: 1px solid rgba(94,105,128,.16); border-radius: 999px; background: rgba(255,255,255,.86); box-shadow: 0 8px 24px rgba(36,45,66,.08); backdrop-filter: blur(14px); }
.bootstrap-site .player-join-branding > small { color: #70788a; font-size: .54rem; font-weight: 850; letter-spacing: .035em; line-height: 1.15; white-space: nowrap; }
.bootstrap-site .player-standalone-sponsor .apexia-sponsor { min-width: 0; gap: .32rem; padding: 0 0 0 .55rem; border-left: 1px solid #d9dce5; color: #656d80; pointer-events: auto; }
.bootstrap-site .player-standalone-sponsor .apexia-sponsor::before,
.bootstrap-site .player-standalone-sponsor .apexia-sponsor::after { display: none; }
.bootstrap-site .player-standalone-sponsor .apexia-sponsor-intro { display: none; }
.bootstrap-site .player-standalone-sponsor .apexia-sponsor > img { width: 82px; max-width: none; opacity: .86; }
.bootstrap-site .player-standalone-sponsor .apexia-sponsor-arrow { font-size: .7rem; }
.bootstrap-site .audience-night .player-standalone-sponsor { background: linear-gradient(to bottom,transparent,rgba(3,4,26,.3)); }
.bootstrap-site .audience-night .player-join-branding { border-color: rgba(255,255,255,.14); background: rgba(8,11,37,.82); box-shadow: 0 10px 26px rgba(0,0,0,.24); }
.bootstrap-site .audience-night .player-join-branding > small { color: rgba(255,255,255,.65); }
.bootstrap-site .audience-night .player-standalone-sponsor .apexia-sponsor { border-left-color: rgba(255,255,255,.16); color: rgba(255,255,255,.62); }
.bootstrap-site .audience-night .player-standalone-sponsor .apexia-sponsor > img { filter: brightness(0) invert(1); }
.bootstrap-site .player-join:has(.player-quiz-subscribe),
.bootstrap-site .player-approval-waiting:has(.player-quiz-subscribe) { justify-content: flex-start; padding-bottom: 6.5rem; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.bootstrap-site .player-quiz-subscribe { width: 100%; display: grid; gap: .62rem; margin-top: 1.15rem; padding: .9rem; border: 1px solid #d9d5f0; border-radius: 18px; background: linear-gradient(145deg,rgba(255,255,255,.96),rgba(245,242,255,.96)); color: #20263a; box-shadow: 0 12px 30px rgba(31,38,69,.1); text-align: left; }
.bootstrap-site .player-quiz-subscribe-heading { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: .62rem; }
.bootstrap-site .player-quiz-subscribe-heading > span,
.bootstrap-site .player-quiz-subscribe.is-complete > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: linear-gradient(135deg,#6748db,#405ed0); color: #fff; font-size: 1rem; font-weight: 950; }
.bootstrap-site .player-quiz-subscribe-heading > div { min-width: 0; display: grid; gap: .05rem; }
.bootstrap-site .player-quiz-subscribe-heading small { color: #6548c4; font-size: .56rem; font-weight: 950; letter-spacing: .075em; text-transform: uppercase; }
.bootstrap-site .player-quiz-subscribe-heading strong { color: #20263a; font-size: .88rem; line-height: 1.2; }
.bootstrap-site .player-quiz-subscribe > p { margin: 0; color: #616a7d !important; font-size: .68rem; line-height: 1.45; }
.bootstrap-site .player-quiz-subscribe form { display: grid; gap: .42rem; }
.bootstrap-site .player-quiz-subscribe form > label { color: #3b4355; font-size: .64rem; font-weight: 900; }
.bootstrap-site .player-quiz-subscribe form > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .42rem; }
.bootstrap-site .player-quiz-subscribe input { min-width: 0; min-height: 46px !important; padding: .65rem .7rem; border: 1px solid #bcc4d3 !important; border-radius: 11px; background: #fff !important; color: #161b2a !important; font-size: 16px; }
.bootstrap-site .player-quiz-subscribe button { min-height: 46px; padding: .6rem .8rem; border: 0; border-radius: 11px; background: #5b3ed0; color: #fff; font-size: .72rem; font-weight: 950; }
.bootstrap-site .player-quiz-subscribe form > small { color: #747c8d; font-size: .57rem; line-height: 1.35; }
.bootstrap-site .player-quiz-subscribe-error { color: #aa2138; font-size: .64rem; line-height: 1.35; }
.bootstrap-site .player-quiz-subscribe.is-complete { grid-template-columns: 38px minmax(0,1fr); align-items: center; border-color: #b9dfd0; background: linear-gradient(145deg,#effaf6,#fff); }
.bootstrap-site .player-quiz-subscribe.is-complete > span { border-radius: 50%; background: #15865d; }
.bootstrap-site .player-quiz-subscribe.is-complete > div { min-width: 0; display: grid; gap: .12rem; }
.bootstrap-site .player-quiz-subscribe.is-complete strong { color: #185b45; font-size: .82rem; }
.bootstrap-site .player-quiz-subscribe.is-complete small { color: #577269; font-size: .62rem; line-height: 1.4; }
.bootstrap-site .player-final-experience .player-quiz-subscribe.is-final { margin-top: 0; padding: 20px; border-radius: 22px; box-shadow: 0 16px 42px rgba(44,32,112,.14); }
.bootstrap-site .player-final-experience .player-quiz-subscribe.is-final .player-quiz-subscribe-heading strong { font-size: 1.05rem; }
.bootstrap-site .audience-night .player-final-experience .player-quiz-subscribe.is-final { border-color: rgba(161,146,255,.4); background: linear-gradient(150deg,#17203b,#29224b); }
.bootstrap-site .audience-night .player-final-experience .player-quiz-subscribe.is-final .player-quiz-subscribe-heading strong { color: #fff; }
.bootstrap-site .audience-night .player-final-experience .player-quiz-subscribe.is-final > p,
.bootstrap-site .audience-night .player-final-experience .player-quiz-subscribe.is-final form > label { color: #d5dded !important; }
.bootstrap-site .audience-night .player-final-experience .player-quiz-subscribe.is-final form > small { color: #aebbd2; }
@media (max-width: 380px) {
    .bootstrap-site .player-join-branding { gap: .38rem; padding-inline: .55rem; }
    .bootstrap-site .player-join-branding > small { max-width: 94px; white-space: normal; }
    .bootstrap-site .player-quiz-subscribe form > div { grid-template-columns: 1fr; }
    .bootstrap-site .player-quiz-subscribe button { width: 100%; }
    .bootstrap-site .player-final-experience .player-quiz-subscribe.is-final { padding: 16px; border-radius: 18px; }
}
.bootstrap-site .player-footer .apexia-sponsor { display: grid; flex: 0 0 auto; justify-items: center; gap: .08rem; padding: .2rem .25rem; color: rgba(255,255,255,.56); }
.bootstrap-site .player-footer .apexia-sponsor-intro { font-size: .35rem; line-height: 1; }
.bootstrap-site .player-footer .apexia-sponsor > img { width: 52px; max-width: none; opacity: .8; }
.bootstrap-site .player-footer .apexia-sponsor-arrow { display: none; }
.bootstrap-site .player-footer .player-manage-team-action,
.bootstrap-site .player-footer .player-leave-action { min-width: 0; flex: 1 1 auto; }

/* The finish screen turns result-email capture into a useful final action,
   while keeping the address private and entirely outside realtime room state. */
.bootstrap-site .player-final-experience { display: grid; width: min(100%,680px); gap: 14px; margin: 0 auto; padding: 14px; }
.bootstrap-site .player-final-experience .player-final-board { width: 100%; min-height: 0; padding: 20px; border: 1px solid rgba(73,53,185,.13); border-radius: 22px; background: linear-gradient(155deg,#fff,#f7f5ff); box-shadow: 0 14px 38px rgba(25,32,57,.09); }
.bootstrap-site .player-final-experience .player-final-board h1 { margin-bottom: 8px; color: #18233d !important; }
.bootstrap-site .player-final-score { display: inline-flex; align-items: baseline; gap: 6px; margin: 0 0 14px; padding: 7px 12px; border-radius: 999px; background: #ece8ff; color: #4935b9; }
.bootstrap-site .player-final-score strong { font-size: 1.3rem; line-height: 1; }
.bootstrap-site .player-final-score span { font-size: .7rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.bootstrap-site .player-winner-congratulations { position: relative; display: grid; width: min(calc(100% - 28px),620px); min-height: min(620px,calc(100svh - 28px)); align-content: center; justify-items: center; gap: 14px; margin: 14px auto; padding: clamp(28px,7vw,54px); overflow: hidden; border: 1px solid #ead071; border-radius: 28px; background: radial-gradient(circle at 50% 0,rgba(255,226,105,.52),transparent 40%),linear-gradient(155deg,#fffdf3,#fff4c7 62%,#f7e08e); color: #332804; box-shadow: 0 24px 60px rgba(88,65,0,.2); text-align: center; }
.bootstrap-site .player-winner-congratulations::before,
.bootstrap-site .player-winner-congratulations::after { position: absolute; width: 180px; height: 180px; border: 24px solid rgba(255,255,255,.36); border-radius: 50%; content: ''; pointer-events: none; }
.bootstrap-site .player-winner-congratulations::before { top: -105px; left: -90px; }
.bootstrap-site .player-winner-congratulations::after { right: -105px; bottom: -110px; }
.bootstrap-site .player-winner-congratulations-icon { display: grid; width: 82px; height: 82px; place-items: center; border: 2px solid rgba(255,255,255,.84); border-radius: 50%; background: linear-gradient(145deg,#f6b91d,#d98400); color: #fff; font-size: 2.25rem; box-shadow: 0 13px 30px rgba(157,95,0,.3),inset 0 1px rgba(255,255,255,.6); }
.bootstrap-site .player-winner-congratulations .section-label { margin: 4px 0 -6px; color: #8b5800 !important; }
.bootstrap-site .player-winner-congratulations h1 { margin: 0; color: #332804 !important; font-size: clamp(2rem,8vw,3.4rem); line-height: .98; }
.bootstrap-site .player-winner-congratulations blockquote { position: relative; max-width: 470px; margin: 4px 0; padding: 16px 18px; border: 1px solid rgba(133,91,0,.18); border-radius: 16px; background: rgba(255,255,255,.62); color: #57430a; font-size: clamp(1rem,4vw,1.3rem); font-weight: 800; line-height: 1.45; }
.bootstrap-site .player-winner-congratulations-score { display: flex; align-items: baseline; gap: 7px; margin: 0; color: #694b00; }
.bootstrap-site .player-winner-congratulations-score strong { font-size: 1.65rem; }
.bootstrap-site .player-winner-congratulations-score span { font-size: .74rem; font-weight: 950; letter-spacing: .06em; text-transform: uppercase; }
.bootstrap-site .player-winner-congratulations .button { position: relative; z-index: 1; width: min(100%,320px); min-height: 54px; border: 0; border-radius: 15px; background: #292243; box-shadow: 0 12px 24px rgba(41,34,67,.22); font-size: .92rem; }
.bootstrap-site .player-winner-congratulations > small { color: #745d1e; font-size: .65rem; line-height: 1.4; }
.bootstrap-site .audience-night .player-winner-congratulations { border-color: rgba(255,215,105,.5); background: radial-gradient(circle at 50% 0,rgba(255,203,58,.25),transparent 42%),linear-gradient(155deg,#171a31,#30294a); color: #fff; }
.bootstrap-site .audience-night .player-winner-congratulations h1 { color: #fff !important; }
.bootstrap-site .audience-night .player-winner-congratulations blockquote { border-color: rgba(255,232,156,.24); background: rgba(255,255,255,.09); color: #fff5cf; }
.bootstrap-site .audience-night .player-winner-congratulations-score,
.bootstrap-site .audience-night .player-winner-congratulations > small { color: #f1dea1; }
.bootstrap-site .player-winner-message { display: flex; align-items: flex-start; gap: .55rem; margin: 0 0 14px; padding: .8rem .9rem; border: 1px solid #edcd63; border-radius: 14px; background: linear-gradient(135deg,#fff8d7,#ffedaa); color: #543d00; font-size: .82rem; font-weight: 850; line-height: 1.42; }
.bootstrap-site .player-winner-message > span { flex: 0 0 auto; color: #a66a00; font-size: 1rem; }
.bootstrap-site .player-result-report { position: relative; display: grid; gap: 12px; padding: 20px; overflow: hidden; border: 1px solid #d9d3ff; border-radius: 22px; background: linear-gradient(150deg,#ffffff 0%,#f4f1ff 70%,#e9f5ff 100%); color: #182033; box-shadow: 0 16px 42px rgba(44,32,112,.14); }
.bootstrap-site .player-result-report::before { position: absolute; width: 160px; height: 160px; top: -90px; right: -65px; border-radius: 50%; background: radial-gradient(circle,rgba(82,159,255,.2),rgba(109,76,220,.03) 68%,transparent 70%); content: ''; pointer-events: none; }
.bootstrap-site .result-report-heading { position: relative; display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: center; gap: 12px; }
.bootstrap-site .result-report-envelope,
.bootstrap-site .result-report-success-mark { display: grid; width: 46px; height: 46px; place-content: center; border-radius: 14px; background: linear-gradient(135deg,#6546d8,#315fcf); color: #fff; font-size: 1.25rem; box-shadow: 0 8px 18px rgba(73,53,185,.24); }
.bootstrap-site .player-result-report .section-label { margin: 0 0 3px; color: #5a3bc2 !important; font-size: .61rem; }
.bootstrap-site .player-result-report h2 { margin: 0; color: #182033 !important; font-size: clamp(1.25rem,5vw,1.6rem); line-height: 1.1; }
.bootstrap-site .player-result-report > p,
.bootstrap-site .result-report-success-copy > p:last-child { margin: 0; color: #596579; font-size: .84rem; line-height: 1.45; }
.bootstrap-site .player-result-report form { display: grid; gap: 8px; }
.bootstrap-site .player-result-report form > label { color: #344054; font-size: .73rem; font-weight: 900; }
.bootstrap-site .result-report-field { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.bootstrap-site .result-report-field input { min-width: 0; min-height: 48px; padding: .7rem .8rem; border: 1px solid #b7c0d2; border-radius: 12px; background: #fff; color: #101828; font-size: 16px; }
.bootstrap-site .result-report-field input:focus { border-color: #5b42ca; outline: 3px solid rgba(91,66,202,.18); }
.bootstrap-site .result-report-field button { min-height: 48px; padding: .7rem 1rem; border: 0; border-radius: 12px; background: linear-gradient(135deg,#6546d8,#315fcf); color: #fff; font-size: .78rem; font-weight: 950; box-shadow: 0 7px 16px rgba(73,53,185,.22); }
.bootstrap-site .player-result-report form > small { color: #667085; font-size: .64rem; line-height: 1.35; }
.bootstrap-site .result-report-sponsor { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .6rem; padding-top: 10px; border-top: 1px solid rgba(73,53,185,.11); }
.bootstrap-site .result-report-sponsor .apexia-sponsor { color: #62697c; }
.bootstrap-site .result-report-sponsor .apexia-sponsor > img { width: 92px; max-width: none; opacity: .82; }
.bootstrap-site .player-result-report.is-sent { grid-template-columns: 46px minmax(0,1fr); align-items: start; }
.bootstrap-site .player-result-report.is-sent .result-report-success-mark { background: linear-gradient(135deg,#15966b,#087a55); }
.bootstrap-site .result-report-secondary { grid-column: 1 / -1; min-height: 44px; border: 1px solid #b9afea; border-radius: 12px; background: rgba(255,255,255,.76); color: #4935b9; font-weight: 900; }
.bootstrap-site .player-result-report.is-sent .result-report-sponsor { grid-column: 1 / -1; }
.bootstrap-site .audience-night .player-final-experience .player-final-board { border-color: rgba(153,137,255,.28); background: linear-gradient(155deg,#151d35,#202445); color: #fff; }
.bootstrap-site .audience-night .player-winner-message { border-color: rgba(255,215,105,.48); background: rgba(117,82,0,.38); color: #fff3bf; }
.bootstrap-site .audience-night .player-final-experience .player-final-board h1 { color: #fff !important; }
.bootstrap-site .audience-night .player-final-score,
.bootstrap-site .audience-night .player-final-score strong,
.bootstrap-site .audience-night .player-final-score span { color: #4935b9 !important; text-shadow: none; }
.bootstrap-site .audience-night .player-result-report { border-color: rgba(161,146,255,.4); background: linear-gradient(150deg,#17203b,#29224b); color: #fff; }
.bootstrap-site .audience-night .player-result-report h2 { color: #fff !important; }
.bootstrap-site .audience-night .player-result-report .section-label { color: #c7baff !important; text-shadow: none; }
.bootstrap-site .audience-night .player-result-report > p,
.bootstrap-site .audience-night .result-report-success-copy > p:last-child,
.bootstrap-site .audience-night .player-result-report form > label { color: #d5dded; }
.bootstrap-site .audience-night .player-result-report form > small { color: #aebbd2; }
.bootstrap-site .audience-night .result-report-sponsor .apexia-sponsor { color: #d6def0; }
.bootstrap-site .audience-night .result-report-sponsor .apexia-sponsor > img { filter: brightness(0) invert(1); }
.bootstrap-site .audience-night .result-report-sponsor .apexia-sponsor-arrow { color: #fff; }

@media (max-width: 460px) {
    .bootstrap-site .result-report-field { grid-template-columns: minmax(0,1fr); }
    .bootstrap-site .result-report-field button { width: 100%; }
    .bootstrap-site .player-final-experience { padding: 10px; }
    .bootstrap-site .player-result-report,
    .bootstrap-site .player-final-experience .player-final-board { padding: 16px; border-radius: 18px; }
}

/* Phone progress belongs in the top identity bar and stays deliberately simple. */
.bootstrap-site .player-identity { grid-template-columns: 48px minmax(0,1fr) auto auto; }
.bootstrap-site .player-identity .player-question-progress { display: grid; width: auto; max-width: none; min-width: 52px; min-height: 44px; align-content: center; justify-items: center; gap: .12rem; align-self: center; margin: 0; padding: .3rem .45rem; border: 1px solid rgba(255,255,255,.17); border-radius: 12px; background: rgba(6,16,45,.34); color: #fff; box-shadow: inset 0 1px rgba(255,255,255,.06); }
.bootstrap-site .player-identity .player-question-progress > small { color: rgba(255,255,255,.62); font-size: .47rem; font-weight: 850; letter-spacing: .055em; line-height: 1; text-transform: uppercase; }
.bootstrap-site .player-identity .player-question-progress > strong { color: #fff; font-size: .86rem; font-variant-numeric: tabular-nums; line-height: 1; }
.bootstrap-site .player-identity .player-question-progress.sudden-death-progress { border-color: rgba(255,214,112,.45); background: rgba(47,20,67,.72); }
.bootstrap-site .player-identity .player-question-progress.sudden-death-progress > small,
.bootstrap-site .player-identity .player-question-progress.sudden-death-progress > strong { color: #ffd670; }

.bootstrap-site .phone-howto-display-cue { display: flex; width: fit-content; max-width: 100%; align-items: center; gap: .45rem; justify-self: center; margin: -.15rem 0 0; padding: .42rem .7rem; border: 1px solid #a8cdf8; border-radius: 999px; background: #eaf4ff; color: #0759a8 !important; font-size: .69rem; line-height: 1.1; text-align: center; }
.bootstrap-site .phone-howto-display-cue > span { display: grid; width: 1.25rem; height: 1.25rem; place-content: center; border-radius: 50%; background: #075cac; color: #fff; }
.bootstrap-site .audience-night .phone-howto-display-cue { border-color: rgba(99,243,255,.3); background: #0d2243; color: #bfe6ff !important; }

@media (max-width: 1199.98px) {
    .bootstrap-site .host-sidebar-sponsor { display: none; }
}
@media (max-width: 520px) {
    .bootstrap-site .player-footer.has-captain-tools { display: flex; grid-template-columns: none; }
    .bootstrap-site .player-identity { grid-template-columns: 42px minmax(0,1fr) auto auto; gap: .4rem; padding-inline: .55rem; }
    .bootstrap-site .player-identity .player-question-progress { min-width: 46px; min-height: 40px; padding-inline: .32rem; }
    .bootstrap-site .player-identity .player-question-progress > small { font-size: .42rem; }
    .bootstrap-site .player-score { min-width: 50px; min-height: 42px; padding-inline: .4rem; }
    .bootstrap-site .player-footer { gap: .35rem; padding-inline: .45rem; }
    .bootstrap-site .player-footer .apexia-sponsor > img { width: 48px; }
    .bootstrap-site .player-manage-team-action,
    .bootstrap-site .player-footer .player-leave-action { padding-inline: .5rem; font-size: .68rem; }
}
@media (max-width: 350px) {
    .bootstrap-site .player-identity .player-profile-copy small { display: none; }
    .bootstrap-site .player-identity .player-question-progress { min-width: 43px; }
    .bootstrap-site .player-footer .apexia-sponsor > img { width: 44px; }
    .bootstrap-site .player-manage-team-action,
    .bootstrap-site .player-footer .player-leave-action { font-size: .62rem; }
}
/* Account plans, billing and Apexia staff operations */
.account-plan-badge {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    display: inline-flex;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .08em;
    min-height: 28px;
    padding: 0 11px;
    text-transform: uppercase;
}

.account-plan-badge.free { background: rgba(255, 255, 255, .09); color: #fff; }
.account-plan-badge.plus { background: #f5c842; border-color: #f5c842; color: #171248; }
.account-plan-badge.is-action { cursor: pointer; font-family: inherit; line-height: 1; transition: transform .16s ease,box-shadow .16s ease,filter .16s ease; }
.account-plan-badge.is-action:hover { filter: brightness(1.04); transform: translateY(-1px); box-shadow: 0 6px 16px rgba(80,61,0,.2); }
.account-plan-badge.is-action:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 5px #4f35c7; }
.bootstrap-site .quizzme-redesign .admin-console-link {
    display: inline-flex;
    min-height: 40px;
    flex: 0 0 auto;
    align-items: center;
    gap: .45rem;
    padding: .38rem .72rem;
    border: 1px solid #d8d0ff;
    border-radius: 10px;
    background: #f1edff;
    color: #4b33b4 !important;
    font-size: .74rem;
    font-weight: 800;
    text-decoration: none;
}
.bootstrap-site .quizzme-redesign .admin-console-link > span { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 7px; background: #5a3bd0; color: #fff; font-size: .65rem; font-weight: 900; }
.bootstrap-site .quizzme-redesign .admin-console-link:hover,
.bootstrap-site .quizzme-redesign .admin-console-link:focus-visible { border-color: #6042d1; background: #e8e1ff; color: #332084 !important; outline: 3px solid rgba(96,66,209,.18); outline-offset: 2px; }
.branding-plan-note { color: #69708c; font-size: .78rem; line-height: 1.5; margin: 10px 0 0; }
.presentation-toggle.plan-locked { cursor: not-allowed; opacity: .68; }
.presentation-toggle.branding-toggle b { font-family: Georgia, serif; font-size: 1rem; }

.bootstrap-site .host-app.reference-design .account-plan-card,
.bootstrap-site .host-app.reference-design .plan-feature-card {
    align-items: center;
    background: linear-gradient(135deg, #f8f6ff 0%, #f2f0ff 58%, #edf5ff 100%);
    border: 1px solid #d8d4ed;
    border-radius: 24px;
    color: #1f1a45;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(240px, 1.4fr) auto minmax(190px, .8fr) auto;
    margin: 0 0 26px;
    padding: 26px 28px;
    box-shadow: 0 14px 34px rgba(47, 38, 111, .09);
}

.bootstrap-site .host-app.reference-design .account-plan-copy h2,
.bootstrap-site .host-app.reference-design .plan-feature-card h2 { color: #1f1a45; font-size: clamp(1.45rem, 2vw, 2rem); margin: 5px 0 7px; }
.bootstrap-site .host-app.reference-design .account-plan-copy p,
.bootstrap-site .host-app.reference-design .plan-feature-card p { color: #514b69; line-height: 1.55; margin: 0; }
.account-plan-kicker { align-items: center; display: flex; gap: 9px; }
.bootstrap-site .host-app.reference-design .account-plan-kicker .account-plan-badge.free { background: #e6e8ef; border-color: #cfd3df; color: #4d5264; }
.bootstrap-site .host-app.reference-design .account-plan-kicker em { color: #5e4ab5; font-size: .7rem; font-style: normal; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.bootstrap-site .host-app.reference-design .account-plan-price { display: grid; min-width: 110px; padding: 13px 16px; border: 1px solid #ded9f2; border-radius: 16px; background: rgba(255,255,255,.78); text-align: center; }
.bootstrap-site .host-app.reference-design .account-plan-price strong { color: #4935b9; font-size: 2.2rem; line-height: 1; }
.bootstrap-site .host-app.reference-design .account-plan-price span { color: #5a6073; font-size: .76rem; }
.bootstrap-site .host-app.reference-design .account-plan-features { color: #37334f; display: grid; font-size: .84rem; gap: 6px; list-style: none; margin: 0; padding: 0; }
.bootstrap-site .host-app.reference-design .account-plan-features li::before { color: #196b4d; content: '✓'; font-weight: 900; margin-right: 7px; }
.account-plan-actions { align-items: stretch; display: grid; gap: 7px; min-width: 170px; }
.bootstrap-site .host-app.reference-design .account-plan-actions small,
.bootstrap-site .host-app.reference-design .managed-plan-note { color: #5a6073; font-size: .72rem; line-height: 1.4; }
.bootstrap-site .host-app.reference-design .billing-status-note { color: #765900; display: block; font-size: .78rem; margin-top: 8px; }
.bootstrap-site .billing-management-modal { width: min(520px,calc(100vw - 2rem)); }
.bootstrap-site .host-confirm-icon.billing-management-icon { background: linear-gradient(145deg,#ffe681,#f3c536); color: #312700; box-shadow: 0 10px 26px rgba(133,101,0,.2); }
.bootstrap-site .billing-management-note { display: grid; gap: .2rem; margin: -.15rem 0 1.15rem; padding: .85rem .95rem; border: 1px solid #ddd8ef; border-radius: 13px; background: #f7f5ff; color: #5e5874; text-align: left; }
.bootstrap-site .billing-management-note strong { color: #35276d; font-size: .8rem; }
.bootstrap-site .billing-management-note span { font-size: .72rem; line-height: 1.45; }
.bootstrap-site .billing-management-note.is-cancelling { border-color: #ead99b; background: #fffae8; }
.bootstrap-site .billing-management-note.is-cancelling strong { color: #755700; }
.bootstrap-site .billing-management-actions { align-items: stretch; }
.bootstrap-site .billing-management-actions > * { min-height: 48px; }
.bootstrap-site .billing-management-actions.is-close-only { grid-template-columns: minmax(180px,240px); justify-content: center; }
.bootstrap-site .billing-management-close-danger { border: 1px solid #a9172e; background: linear-gradient(135deg,#d72f4a,#b91f38); color: #fff; box-shadow: 0 8px 18px rgba(164,24,47,.2); }
.bootstrap-site .billing-management-close-danger:hover,
.bootstrap-site .billing-management-close-danger:focus-visible { border-color: #8f1025; background: linear-gradient(135deg,#c52540,#a71931); color: #fff; outline: 3px solid rgba(205,40,68,.2); outline-offset: 2px; }
.bootstrap-site .billing-management-managed { margin: -.15rem 0 1rem; padding: .75rem; border-radius: 12px; background: #f1f0f7; color: #5f6070; font-size: .72rem; line-height: 1.45; }
.bootstrap-site .host-app.reference-design .account-plan-actions .button:disabled,
.bootstrap-site .host-app.reference-design .plan-feature-card .button:disabled {
    border: 1px solid #c8ccd7 !important;
    background: #e1e4ec !important;
    color: #4b5261 !important;
    box-shadow: none;
    opacity: 1;
}
.plan-feature-card { grid-template-columns: 1fr auto; }
.bootstrap-site .host-app.reference-design .plan-feature-lock { color: #514b69; font-size: .78rem; font-weight: 800; max-width: 190px; }
.free-plan-heading > .account-plan-badge { background: #eef0fa; border-color: #d7daea; color: #433d6d; }
.free-ready-quiz-library { margin-top: 22px; }
.setup-plus-option { background: #f1f0ff; border: 1px dashed #8f85dc; border-radius: 18px; display: grid; gap: 8px; padding: 20px; }
.setup-plus-option strong { color: #27205f; font-size: 1rem; }
.setup-plus-option span { color: #625d80; font-size: .85rem; line-height: 1.45; }
.setup-plus-option .button { justify-self: start; margin-top: 4px; }

.apexia-sponsor:empty,
.player-standalone-sponsor:empty,
.tv-sponsor-footer:empty,
.host-sidebar-sponsor:empty,
.result-report-sponsor:empty { display: none !important; }

.admin-mode { background: #edf0f7; }
.admin-app { color: #201b49; min-height: 100vh; }
.admin-topbar { align-items: center; background: #171248; display: flex; justify-content: space-between; min-height: 74px; padding: 12px clamp(18px, 4vw, 52px); }
.admin-topbar .wordmark-image { height: 46px; width: 46px; }
.admin-topbar > div { align-items: center; display: flex; gap: 14px; }
.admin-topbar > div > span { color: #aebbe6; font-size: .76rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.admin-topbar .button-outline { border-color: rgba(255,255,255,.34); background: transparent !important; color: #fff; }
.admin-topbar .plain-action { color: #fff; }
.admin-workspace { margin: 0 auto; max-width: 1540px; padding: clamp(24px, 4vw, 54px); }
.admin-page-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 24px; }
.admin-page-heading h1 { font-size: clamp(2rem, 4vw, 3.6rem); letter-spacing: -.045em; margin: 4px 0 8px; }
.admin-page-heading p { color: #6d7189; margin: 0; }
.admin-staff-name { background: #fff; border: 1px solid #dde1ed; border-radius: 999px; color: #575b73; font-size: .78rem; font-weight: 800; padding: 9px 13px; }
.admin-fact-strip { display: grid; gap: 10px; grid-template-columns: repeat(6, 1fr); margin-bottom: 22px; }
.admin-fact-strip > div { background: #fff; border: 1px solid #dde1ed; border-radius: 16px; display: grid; gap: 2px; padding: 17px; }
.admin-fact-strip strong { color: #27205f; font-size: 1.6rem; }
.admin-fact-strip span { color: #797d93; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.admin-account-layout { align-items: start; display: grid; gap: 20px; grid-template-columns: minmax(285px, .72fr) minmax(0, 1.7fr); }
.admin-account-list,
.admin-account-detail,
.admin-empty-detail { background: #fff; border: 1px solid #dfe2ed; border-radius: 22px; box-shadow: 0 18px 45px rgba(28,23,76,.07); overflow: hidden; }
.admin-account-list { position: sticky; top: 18px; }
.admin-account-list form { display: flex; gap: 8px; padding: 16px; }
.admin-account-list form input { min-width: 0; }
.admin-account-results { border-top: 1px solid #e5e7f0; max-height: 68vh; overflow-y: auto; }
.admin-account-results > button { align-items: center; background: #fff; border: 0; border-bottom: 1px solid #eceef5; display: flex; justify-content: space-between; padding: 15px 16px; text-align: left; width: 100%; }
.admin-account-results > button:hover,
.admin-account-results > button.selected { background: #f1f0ff; }
.admin-account-results > button span { display: grid; gap: 3px; min-width: 0; }
.admin-account-results strong,
.admin-account-results small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-account-results small { color: #74788e; }
.admin-account-results b,
.admin-plan-state { border-radius: 999px; font-size: .67rem; font-weight: 900; letter-spacing: .06em; padding: 6px 9px; text-transform: uppercase; }
.admin-account-results b { flex: 0 0 auto; white-space: nowrap; }
.admin-account-results b.free,
.admin-plan-state.free { background: #e9ebf2; color: #5d6174; }
.admin-account-results b.plus,
.admin-plan-state.plus { background: #fff0a8; color: #6e5300; }
.admin-empty-detail { color: #74788e; padding: 55px; text-align: center; }
.admin-empty-detail strong { color: #27205f; font-size: 1.3rem; }
.admin-account-detail { padding: clamp(20px, 3vw, 34px); }
.admin-detail-heading { align-items: start; border-bottom: 1px solid #e7e9f1; display: flex; justify-content: space-between; padding-bottom: 22px; }
.admin-detail-heading h2 { font-size: 2rem; margin: 3px 0 2px; }
.admin-detail-heading a { color: #5f5a80; }
.admin-account-facts { display: grid; gap: 10px; grid-template-columns: repeat(4, 1fr); margin: 20px 0; }
.admin-account-facts div { background: #f5f6fa; border-radius: 13px; padding: 13px; }
.admin-account-facts dt { color: #85889b; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.admin-account-facts dd { font-size: .84rem; font-weight: 800; margin: 5px 0 0; overflow-wrap: anywhere; }
.admin-usage-grid { display: grid; gap: 9px; grid-template-columns: repeat(4, 1fr); }
.admin-usage-grid div { border: 1px solid #e2e4ee; border-radius: 14px; display: grid; padding: 14px; }
.admin-usage-grid strong { color: #6757c8; font-size: 1.45rem; }
.admin-usage-grid span { color: #777b90; font-size: .73rem; }
.admin-room-fact { background: #171248; border-radius: 17px; color: #fff; margin-top: 18px; padding: 20px; }
.admin-room-fact strong { display: block; font-size: 1.15rem; margin-top: 5px; }
.admin-room-fact p { color: #d4daf2; margin: 5px 0; }
.admin-room-fact small { color: #9ca9d7; }
.admin-display-devices { display: grid; gap: 14px; margin-top: 18px; padding: 20px; border: 1px solid #dfe2ed; border-radius: 18px; background: #fff; }
.admin-display-devices > header { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.admin-display-devices > header h3 { margin: 3px 0 4px; }
.admin-display-devices > header p { max-width: 62ch; margin: 0; color: #686d83; font-size: .84rem; }
.admin-display-devices > header > strong { flex: 0 0 auto; padding: 6px 10px; border-radius: 999px; background: #eeecff; color: #5547b6; font-size: .7rem; text-transform: uppercase; }
.admin-display-device-list { display: grid; gap: 8px; }
.admin-display-device-list article { display: grid; grid-template-columns: 10px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid #e4e6ef; border-radius: 13px; background: #f8f9fc; }
.admin-display-device-list article > div { display: grid; min-width: 0; gap: 2px; }
.admin-display-device-list code { overflow: hidden; color: #575b73; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-display-device-list small { color: #878a9c; }
.admin-device-status { width: 9px; height: 9px; border-radius: 50%; background: #a4a8b5; box-shadow: 0 0 0 4px rgba(164,168,181,.14); }
.admin-device-status.online { background: #20ad72; box-shadow: 0 0 0 4px rgba(32,173,114,.14); }
.admin-device-empty { margin: 0; padding: 14px; border-radius: 12px; background: #f5f6fa; color: #777b90; }
.admin-device-link-form { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(180px,.7fr); gap: 10px; align-items: end; padding-top: 14px; border-top: 1px solid #e8eaf1; }
.admin-device-link-form .field { margin: 0; }
.admin-device-link-form .field:nth-child(3) { grid-column: 1 / -1; }
.admin-device-link-form .button { justify-self: start; }
.admin-device-plus-note { align-self: center; color: #8b5a13; }
.admin-override-form { background: #f3f2ff; border: 1px solid #d8d3ff; border-radius: 18px; display: grid; gap: 14px; grid-template-columns: 1fr 1fr; margin-top: 18px; padding: 20px; }
.admin-override-form > div,
.admin-override-form label:last-of-type { grid-column: 1 / -1; }
.admin-override-form h3,
.admin-audit-list h3 { margin: 3px 0 4px; }
.admin-override-form p { color: #686581; font-size: .84rem; margin: 0; }
.admin-override-form .button { justify-self: start; }
.admin-audit-list { margin-top: 25px; }
.admin-audit-list article { border-top: 1px solid #e5e7ef; display: grid; gap: 4px; padding: 14px 0; }
.admin-audit-list article strong { text-transform: capitalize; }
.admin-audit-list article span { color: #555970; }
.admin-audit-list article small { color: #85899b; }
.admin-magic-login { display: grid; min-height: calc(100vh - 150px); place-items: center; padding: 30px 16px; }
.admin-magic-login .auth-form { max-width: 520px; }
.admin-magic-login .auth-form > p { color: #696d83; line-height: 1.6; }
.admin-login-divider { display: flex; align-items: center; gap: 12px; color: #8a8da0; font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.admin-login-divider::before,
.admin-login-divider::after { height: 1px; flex: 1; background: #dfe2ec; content: ''; }
.admin-magic-status { background: #e9fbf3; border: 1px solid #b4ead4; border-radius: 12px; color: #176448 !important; padding: 12px; }
.admin-access-denied { margin: 80px auto; max-width: 660px; padding: 30px; text-align: center; }
.admin-access-denied > div { display: flex; gap: 12px; justify-content: center; margin-top: 20px; }

@media (max-width: 1100px) {
    .bootstrap-site .host-app.reference-design .account-plan-card { align-items: start; grid-template-columns: minmax(260px,1fr) 110px minmax(220px,.72fr); }
    .bootstrap-site .host-app.reference-design .account-plan-features { grid-column: 1 / 3; grid-row: 2; }
    .bootstrap-site .host-app.reference-design .account-plan-actions { grid-column: 3; grid-row: 1 / 3; align-self: center; }
    .admin-fact-strip { grid-template-columns: repeat(3, 1fr); }
    .admin-account-facts { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
    .bootstrap-site .host-app.reference-design .account-plan-card,
    .bootstrap-site .host-app.reference-design .plan-feature-card { align-items: start; grid-template-columns: minmax(0,1fr); padding: 22px; }
    .bootstrap-site .host-app.reference-design .account-plan-price { justify-self: start; text-align: left; }
    .bootstrap-site .host-app.reference-design .account-plan-features,
    .bootstrap-site .host-app.reference-design .account-plan-actions { grid-column: auto; grid-row: auto; }
    .bootstrap-site .host-app.reference-design .account-plan-actions { min-width: 0; width: 100%; }
    .bootstrap-site .host-app.reference-design .account-plan-actions .button,
    .bootstrap-site .host-app.reference-design .plan-feature-card .button { width: 100%; }
    .admin-topbar { align-items: flex-start; gap: 10px; }
    .admin-topbar > div { align-items: flex-end; flex-direction: column; gap: 6px; }
    .admin-topbar > div > span { display: none; }
    .admin-workspace { padding: 22px 14px; }
    .admin-page-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
    .admin-fact-strip { grid-template-columns: repeat(2, 1fr); }
    .admin-account-layout { grid-template-columns: 1fr; }
    .admin-account-list { position: static; }
    .admin-account-results { max-height: 360px; }
    .admin-account-facts,
    .admin-usage-grid { grid-template-columns: repeat(2, 1fr); }
    .admin-override-form { grid-template-columns: 1fr; }
    .admin-override-form > div,
    .admin-override-form label:last-of-type { grid-column: auto; }
    .admin-display-devices > header { flex-direction: column; }
    .admin-device-link-form { grid-template-columns: 1fr; }
    .admin-device-link-form .field:nth-child(3) { grid-column: auto; }
    .admin-v2 .admin-device-heading-actions { width: 100%; justify-content: space-between; }
}

/* Managed Raspberry Pi display registration and unattended standby screen. */
.display-device-mode { min-height: 100vh; overflow: hidden; background: #0d0922; }
.display-device-standby { position: relative; min-height: 100vh; min-height: 100dvh; overflow: hidden; background: #000; color: #fff; }
.display-device-standby-brand { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.display-device-standby-brand .wordmark { width: clamp(190px,22vw,320px); height: clamp(133px,15.4vw,224px); }
.display-device-standby-brand .wordmark-image { width: 109.4%; height: auto; object-fit: contain; }
.display-device-standby > footer { position: absolute; right: 0; bottom: clamp(22px,4vh,48px); left: 0; display: flex; justify-content: center; padding-inline: 20px; }
.display-device-standby .apexia-sponsor { gap: .68rem; color: rgba(255,255,255,.72); }
.display-device-standby .apexia-sponsor-intro { color: rgba(255,255,255,.72); }
.display-device-standby .apexia-sponsor > img { width: clamp(96px,8vw,116px); max-width: none; opacity: .9; filter: brightness(0) invert(1); }
.display-device-stage { display: grid; min-height: 100vh; grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; background: radial-gradient(circle at 18% 16%,rgba(119,83,255,.3),transparent 32%),radial-gradient(circle at 85% 78%,rgba(0,205,201,.2),transparent 34%),#0d0922; color: #fff; }
.display-device-stage > header,
.display-device-stage > footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: clamp(18px,3vw,34px) clamp(22px,5vw,68px); }
.display-device-stage > header .wordmark-image { width: clamp(52px,6vw,82px); height: clamp(52px,6vw,82px); object-fit: contain; }
.display-device-stage > header > span,
.display-device-stage > footer { color: #c7c2e8; font-size: clamp(.68rem,1vw,.9rem); font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.display-device-stage > footer { border-top: 1px solid rgba(255,255,255,.12); }
.display-device-stage > footer small { color: #7ff0cf; font-size: inherit; }
.display-device-card { display: grid; width: min(900px,88vw); min-width: 0; place-self: center; justify-items: center; gap: clamp(10px,1.8vh,22px); padding: clamp(26px,5vw,68px); border: 1px solid rgba(255,255,255,.18); border-radius: clamp(24px,3vw,42px); background: rgba(20,14,48,.84); box-shadow: 0 35px 100px rgba(0,0,0,.4); text-align: center; backdrop-filter: blur(20px); }
.display-device-symbol { display: grid; width: clamp(62px,7vw,92px); aspect-ratio: 1; place-items: center; border-radius: 28%; background: linear-gradient(145deg,#805fff,#5e3fd8); box-shadow: 0 0 0 10px rgba(128,95,255,.13); font-size: clamp(2rem,4vw,3.6rem); }
.display-device-card .section-label { margin: .4rem 0 0; color: #8ff6e2; }
.display-device-card h1 { max-width: 16ch; margin: 0; color: #fff; font-size: clamp(2.2rem,5vw,5rem); line-height: 1; letter-spacing: -.05em; }
.display-device-card > p:not(.section-label) { max-width: 60ch; margin: 0; color: #d3cfea; font-size: clamp(.92rem,1.45vw,1.25rem); line-height: 1.5; }
.display-device-uuid { display: grid; width: min(100%,760px); gap: 8px; padding: clamp(16px,2vw,24px); border: 1px solid rgba(141,245,225,.3); border-radius: 18px; background: rgba(7,5,20,.58); }
.display-device-uuid small { color: #8ff6e2; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.display-device-uuid strong { overflow-wrap: anywhere; color: #fff; font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size: clamp(1.05rem,2.5vw,2rem); letter-spacing: .05em; }
.display-device-security { color: #918ba8; }
.display-device-spinner { display: flex; gap: 8px; padding: 14px; }
.display-device-spinner i { width: 10px; height: 10px; border-radius: 50%; background: #8ff6e2; animation: display-device-pulse 1.1s ease-in-out infinite alternate; }
.display-device-spinner i:nth-child(2) { animation-delay: .18s; }
.display-device-spinner i:nth-child(3) { animation-delay: .36s; }
@keyframes display-device-pulse { to { opacity: .25; transform: translateY(-5px); } }

@media (min-width: 768px) and (max-height: 800px) {
    .display-device-stage > header,
    .display-device-stage > footer { padding: 10px clamp(22px,5vw,68px); }
    .display-device-stage > header .wordmark-image { width: 44px; height: 44px; }
    .display-device-card { gap: 8px; padding: 18px 30px; border-radius: 26px; }
    .display-device-symbol { width: 56px; border-radius: 16px; box-shadow: 0 0 0 7px rgba(128,95,255,.13); font-size: 2rem; }
    .display-device-card h1 { font-size: clamp(2rem,4vw,3.6rem); line-height: .96; }
    .display-device-card > p:not(.section-label) { font-size: .9rem; line-height: 1.35; }
    .display-device-uuid { gap: 4px; padding: 11px 16px; border-radius: 14px; }
    .display-device-uuid strong { font-size: clamp(1rem,2vw,1.55rem); }
    .display-device-security { font-size: .68rem; }
}

/* Overtime TV countdown: keep the last-chance clock dominant and legible.
   Overtime also carries the extra-time class, so these explicit descendants
   prevent the lower-contrast extra-time number and compact TV grid winning. */
.bootstrap-site .display-redesign .tv-question.automatic-overtime .tv-question-top {
    grid-template-columns: minmax(0,1fr) clamp(230px,26vw,360px);
}
.bootstrap-site .display-redesign .tv-question.automatic-overtime .tv-overtime-panel {
    width: 100%;
}
.bootstrap-site .display-redesign .tv-question.automatic-overtime .tv-overtime-panel .tv-timer.automatic-overtime {
    width: clamp(140px,12vw,176px);
    height: auto;
    aspect-ratio: 1;
    border: clamp(6px,.65vw,10px) solid #fff !important;
    background: #79051b !important;
    color: #fff !important;
    box-shadow: 0 0 0 clamp(7px,.7vw,11px) rgba(255,255,255,.16),0 0 36px rgba(255,85,108,.74),0 18px 42px rgba(65,0,12,.38) !important;
}
.bootstrap-site .display-redesign .tv-question.automatic-overtime .tv-overtime-panel .tv-timer.automatic-overtime strong {
    color: #fff !important;
    font-size: clamp(3.6rem,6vw,6.5rem);
    font-variant-numeric: tabular-nums;
    font-weight: 950;
    line-height: .78;
    text-shadow: 0 3px 0 rgba(54,0,10,.45),0 0 18px rgba(255,255,255,.22);
}
.bootstrap-site .display-redesign .tv-question.automatic-overtime .tv-overtime-panel .tv-timer.automatic-overtime span {
    margin-top: .7rem;
    color: #fff !important;
    font-size: clamp(.72rem,1vw,1rem);
    font-weight: 950;
    letter-spacing: .14em;
    line-height: 1;
    text-shadow: 0 2px 0 rgba(54,0,10,.38);
}

@media (max-height: 800px) and (min-width: 768px) {
    .bootstrap-site .display-redesign .tv-question.automatic-overtime .tv-question-top {
        grid-template-columns: minmax(0,1fr) clamp(260px,28vw,330px);
    }
    .bootstrap-site .display-redesign .tv-question.automatic-overtime .tv-overtime-panel {
        grid-template-columns: minmax(0,1fr) 112px;
        align-items: center;
        justify-items: stretch;
        gap: .7rem;
        padding: .7rem;
    }
    .bootstrap-site .display-redesign .tv-question.automatic-overtime .tv-overtime-panel .overtime-alert {
        min-width: 0;
        padding: 0;
    }
    .bootstrap-site .display-redesign .tv-question.automatic-overtime .tv-overtime-panel .tv-timer.automatic-overtime {
        width: 108px;
    }
    .bootstrap-site .display-redesign .tv-question.automatic-overtime .tv-overtime-panel .tv-timer.automatic-overtime strong {
        font-size: 3.35rem;
    }
    .bootstrap-site .display-redesign .tv-question.automatic-overtime .tv-overtime-panel .tv-timer.automatic-overtime span {
        margin-top: .35rem;
        font-size: .58rem;
    }
}

/* Sudden-death broadcast screen: high-contrast match presentation with the
   contenders and next action readable from the back of the room. */
.bootstrap-site .tv-stage.sudden-death-stage {
    background: radial-gradient(circle at 12% 12%,rgba(255,188,38,.16),transparent 28%),radial-gradient(circle at 88% 82%,rgba(123,74,255,.2),transparent 32%),linear-gradient(145deg,#10081f,#21103b 58%,#090717) !important;
    color: #fff;
    box-shadow: inset 0 0 0 clamp(7px,.8vw,14px) #ffbd26,inset 0 0 100px rgba(91,38,145,.3);
}
.bootstrap-site .tv-stage.sudden-death-stage .tv-top-rail { color: #ffe08a; }
.bootstrap-site .tv-sudden-death-intro,
.bootstrap-site .tv-sudden-death-result {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 0;
    place-items: stretch;
    align-content: stretch;
    gap: clamp(.75rem,1.4vw,1.35rem);
    padding: clamp(1rem,2.5vw,2.8rem) clamp(1.2rem,4vw,4.5rem);
    overflow: hidden;
    background: linear-gradient(115deg,rgba(10,7,25,.95),rgba(30,13,53,.9)) !important;
    color: #fff;
    text-align: left;
}
.bootstrap-site .tv-sudden-death-intro { grid-template-rows: auto minmax(0,1fr) auto auto; }
.bootstrap-site .tv-sudden-death-result { grid-template-rows: auto minmax(0,1fr) auto; }
.bootstrap-site .sudden-death-broadcast-header {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid rgba(255,214,112,.28);
    color: #fff;
}
.bootstrap-site .sudden-death-broadcast-header span { color: #ffd670; font-size: clamp(.68rem,1vw,.95rem); font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.bootstrap-site .sudden-death-broadcast-header strong { color: #fff; font-size: clamp(.78rem,1.15vw,1.05rem); }
.bootstrap-site .sudden-death-broadcast-main,
.bootstrap-site .sudden-death-result-main {
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-columns: minmax(0,1fr) clamp(160px,16vw,250px);
    align-items: center;
    gap: clamp(1.4rem,4vw,4.5rem);
}
.bootstrap-site .sudden-death-title-block { display: grid; min-width: 0; grid-template-columns: clamp(72px,7vw,112px) minmax(0,1fr); align-content: center; align-items: center; gap: .15rem clamp(1rem,2vw,1.8rem); }
.bootstrap-site .sudden-death-title-block .sudden-death-lightning { grid-row: 1 / 4; width: clamp(72px,7vw,112px); border-radius: 26px; background: linear-gradient(145deg,#ffd95b,#ff9e19); color: #2a103d; box-shadow: 0 0 0 10px rgba(255,190,47,.1),0 20px 50px rgba(0,0,0,.32); font-size: clamp(1.7rem,3vw,3.2rem); font-weight: 1000; letter-spacing: -.08em; transform: rotate(-3deg); }
.bootstrap-site .tv-sudden-death-intro .sudden-death-title-block .tv-kicker,
.bootstrap-site .tv-sudden-death-result .sudden-death-result-copy .tv-kicker { margin: 0; color: #ffd670; font-size: clamp(.72rem,1.2vw,1.05rem); }
.bootstrap-site .tv-sudden-death-intro .sudden-death-title-block h1,
.bootstrap-site .tv-sudden-death-result .sudden-death-result-copy h1 {
    max-width: none;
    margin: 0;
    color: #fff;
    font-size: clamp(3.5rem,7vw,7.8rem);
    letter-spacing: -.065em;
    line-height: 1.04;
    text-shadow: 0 6px 28px rgba(0,0,0,.34);
}
.bootstrap-site .tv-sudden-death-intro .sudden-death-title-block h1 span { color: #ffc329; }
.bootstrap-site .tv-sudden-death-intro .sudden-death-title-block > p:last-child,
.bootstrap-site .tv-sudden-death-result .sudden-death-result-copy > p:last-child {
    max-width: 64ch;
    margin: .5rem 0 0;
    color: #ded7eb;
    font-size: clamp(.82rem,1.25vw,1.2rem);
    font-weight: 720;
    line-height: 1.4;
}
.bootstrap-site .sudden-death-result-copy { display: grid; min-width: 0; align-content: center; gap: .35rem; }
.bootstrap-site .sudden-death-broadcast-timer {
    width: clamp(160px,16vw,250px);
    min-width: 0;
    aspect-ratio: 1;
    place-content: center;
    padding: 1rem;
    border: clamp(6px,.65vw,10px) solid #ffcb3d;
    border-radius: 50%;
    background: #130b26;
    box-shadow: 0 0 0 clamp(8px,.8vw,13px) rgba(255,196,41,.12),0 0 48px rgba(255,175,20,.36),0 28px 70px rgba(0,0,0,.35);
    text-align: center;
}
.bootstrap-site .sudden-death-broadcast-timer small { color: #cfc5df; font-size: clamp(.62rem,.9vw,.82rem); font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.bootstrap-site .sudden-death-broadcast-timer strong { margin: .25rem 0 .1rem; color: #ffd45b; font-size: clamp(4rem,7vw,7rem); font-weight: 1000; line-height: .78; text-shadow: 0 0 24px rgba(255,193,41,.3); }
.bootstrap-site .sudden-death-broadcast-timer:has(strong:not([data-live-seconds])) strong {
    margin-block: .45rem;
    font-size: clamp(1rem,2vw,1.55rem);
    line-height: 1;
    overflow-wrap: normal;
    word-break: normal;
}
.bootstrap-site .sudden-death-broadcast-timer span { color: #fff; font-size: clamp(.58rem,.85vw,.78rem); letter-spacing: .12em; }
.bootstrap-site .sudden-death-contender-panel { display: grid; min-width: 0; gap: .65rem; padding: clamp(.7rem,1vw,1rem); border: 1px solid rgba(255,214,112,.24); border-radius: 20px; background: rgba(255,255,255,.055); box-shadow: inset 0 1px rgba(255,255,255,.06); }
.bootstrap-site .sudden-death-contender-panel > header { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.bootstrap-site .sudden-death-contender-panel > header span { color: #ffd670; font-size: .7rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.bootstrap-site .sudden-death-contender-panel > header strong { color: #fff; font-size: .78rem; }
.bootstrap-site .sudden-death-contender-panel .sudden-death-contestants { width: 100%; max-width: none; justify-content: flex-start; flex-wrap: nowrap; overflow: hidden; }
.bootstrap-site .sudden-death-contender-panel .sudden-death-contestants > div { min-width: 0; flex: 1 1 0; border-color: rgba(255,210,93,.32); background: linear-gradient(145deg,rgba(67,34,95,.95),rgba(31,19,57,.95)); }
.bootstrap-site .sudden-death-contestants > div > span { display: grid; min-width: 0; gap: .08rem; }
.bootstrap-site .sudden-death-contestants > div > span strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .sudden-death-contestants > div > span small { color: #ffd670; font-size: clamp(.52rem,.7vw,.68rem); font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.bootstrap-site .sudden-death-rule-strip { display: flex; align-items: center; justify-content: center; gap: clamp(.65rem,1.8vw,1.5rem); color: #dcd3ea; font-size: clamp(.62rem,.9vw,.82rem); font-weight: 850; }
.bootstrap-site .sudden-death-rule-strip i { width: 4px; height: 4px; border-radius: 50%; background: #ffc329; }
.bootstrap-site .sudden-death-stage .tv-sponsor-footer .apexia-sponsor { color: #e4dcec; }
.bootstrap-site .sudden-death-stage .tv-sponsor-footer .apexia-sponsor > img { filter: brightness(0) invert(1); }

/* Standings: every row carries its authoritative total, while the phone gives
   its participant a clear signed position change for the completed question. */
.bootstrap-site .tv-leader-rows.has-scores > div { grid-template-columns: 42px 44px minmax(0,1fr) auto; }
.bootstrap-site .player-leader-rows.has-scores > div { grid-template-columns: 24px 36px minmax(0,1fr) auto; }
.bootstrap-site .leaderboard-total { display: grid; min-width: 62px; justify-items: end; gap: .08rem; color: #677086; font-size: .55rem; font-weight: 850; letter-spacing: .04em; line-height: 1; text-transform: uppercase; }
.bootstrap-site .leaderboard-total strong { color: #26223e; font-size: clamp(.9rem,1.3vw,1.2rem); line-height: 1; }
.bootstrap-site .audience-night .leaderboard-total { color: #aebbd3; }
.bootstrap-site .audience-night .leaderboard-total strong { color: #fff !important; }
.bootstrap-site .phone-leaderboard { display: grid; width: 100%; max-width: 520px; min-height: 100%; align-content: start; gap: .8rem; margin: 0 auto; padding: 1rem; overflow: hidden; box-sizing: border-box; }
.bootstrap-site .phone-leaderboard > .section-label { margin: 0; }
.bootstrap-site .phone-leaderboard-heading { display: flex; width: 100%; min-width: 0; align-items: center; justify-content: space-between; gap: .85rem; box-sizing: border-box; }
.bootstrap-site .phone-leaderboard-heading > div:first-child { min-width: 0; }
.bootstrap-site .phone-leaderboard-heading h1 { margin: 0; }
.bootstrap-site .phone-leaderboard-heading p { margin: .2rem 0 0; color: #667085; font-size: .76rem; font-weight: 800; }
.bootstrap-site .phone-position-change { display: grid; min-width: 92px; flex: 0 0 92px; justify-items: center; gap: .15rem; padding: .65rem .55rem; border: 1px solid; border-radius: 14px; box-sizing: border-box; text-align: center; }
.bootstrap-site .phone-position-change strong { font-size: 1.2rem; font-variant-numeric: tabular-nums; line-height: 1; }
.bootstrap-site .phone-position-change span { font-size: .55rem; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; }
.bootstrap-site .phone-position-change.position-up { border-color: #8ed8b5; background: #e8f9f1; color: #087a49; }
.bootstrap-site .phone-position-change.position-down { border-color: #efabb5; background: #fff0f2; color: #ad1831; }
.bootstrap-site .phone-position-change.position-steady { border-color: #c8ced9; background: #f2f4f7; color: #5b6272; }
.bootstrap-site .phone-leaderboard .player-leader-rows { width: 100%; min-width: 0; }
.bootstrap-site .phone-leaderboard .player-leader-rows > div { width: 100%; min-width: 0; border: 1px solid #e1e5ed; border-radius: 12px; box-sizing: border-box; }
.bootstrap-site .phone-leaderboard .player-leader-rows > div > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .phone-leaderboard .player-leader-rows > div.is-viewer-standing { border-color: #7358dc; background: #f0edff; box-shadow: 0 0 0 3px rgba(91,66,202,.1); }
.bootstrap-site .audience-night .phone-leaderboard-heading p { color: #aebbd3; }
.bootstrap-site .audience-night .phone-position-change.position-up { border-color: rgba(77,218,149,.5); background: rgba(14,111,71,.34); color: #73e5ad; }
.bootstrap-site .audience-night .phone-position-change.position-down { border-color: rgba(255,102,126,.5); background: rgba(142,20,46,.34); color: #ff8ba0; }
.bootstrap-site .audience-night .phone-position-change.position-steady { border-color: rgba(192,201,220,.28); background: rgba(255,255,255,.07); color: #cad2e2; }
.bootstrap-site .audience-night .phone-leaderboard .player-leader-rows > div.is-viewer-standing { border-color: #9e8cff; background: #28254d; }

/* Final display combines the podium with a complete, scored table so nobody's
   total disappears once the celebration screen appears. */
.bootstrap-site .display-redesign .final-scoreboard-screen { grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); grid-template-rows: minmax(0,1fr); align-items: stretch; gap: clamp(1rem,2.4vw,2.5rem); padding: clamp(1rem,2.6vw,2.8rem); }
.bootstrap-site .display-redesign .final-podium-panel { position: relative; z-index: 2; display: grid; min-width: 0; min-height: 0; grid-template-rows: auto minmax(0,1fr); }
.bootstrap-site .display-redesign .winner-custom-message { max-width: min(100%,620px); margin: .55rem auto 0; padding: .55rem .9rem; border: 1px solid rgba(150,99,0,.24); border-radius: 999px; background: rgba(255,244,185,.82); color: #583e00; font-size: clamp(.7rem,1vw,.95rem); font-weight: 900; line-height: 1.35; text-align: center; }
.bootstrap-site .display-redesign.audience-night .winner-custom-message { border-color: rgba(255,216,99,.42); background: rgba(92,62,0,.5); color: #fff2b4; }
.bootstrap-site .display-redesign .final-podium-panel .podium { min-height: 0; padding-top: clamp(.8rem,2vh,1.5rem); }
.bootstrap-site .display-redesign .final-podium-panel .podium-place.first { height: clamp(220px,36vh,360px); }
.bootstrap-site .display-redesign .final-podium-panel .podium-place.second { height: clamp(180px,29vh,290px); }
.bootstrap-site .display-redesign .final-podium-panel .podium-place.third { height: clamp(150px,24vh,240px); }
.bootstrap-site .display-redesign .podium-total { display: flex; align-items: baseline; gap: .28rem; color: #5f6476; font-size: clamp(.62rem,.8vw,.78rem); font-weight: 850; }
.bootstrap-site .display-redesign .podium-total strong { color: #211d35; font-size: clamp(1.1rem,1.7vw,1.55rem); }
.bootstrap-site .display-redesign .podium-place.first .podium-total,
.bootstrap-site .display-redesign .podium-place.first .podium-total strong { color: #3c2d00; }
.bootstrap-site .display-redesign .tv-final-standings { position: relative; z-index: 2; display: grid; min-width: 0; min-height: 0; grid-template-rows: auto minmax(0,1fr); gap: .75rem; padding: clamp(.8rem,1.4vw,1.25rem); border: 1px solid rgba(78,62,160,.18); border-radius: 22px; background: rgba(255,255,255,.82); box-shadow: 0 20px 60px rgba(43,32,98,.16); backdrop-filter: blur(18px); }
.bootstrap-site .display-redesign .tv-final-standings > header { display: flex; align-items: center; justify-content: space-between; gap: .8rem; color: #24203b; }
.bootstrap-site .display-redesign .tv-final-standings > header span { color: #5943cf; font-size: .72rem; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.bootstrap-site .display-redesign .tv-final-standings > header strong { font-size: .75rem; }
.bootstrap-site .display-redesign .tv-final-standings .tv-leader-rows { min-height: 0; align-content: start; gap: .42rem; overflow: hidden; }
.bootstrap-site .display-redesign .tv-final-standings .tv-leader-rows > div { min-height: 46px; gap: .55rem; padding: .4rem .65rem; border-radius: 11px; }
.bootstrap-site .display-redesign .tv-final-standings.is-many .tv-leader-rows,
.bootstrap-site .display-redesign .tv-final-standings.is-dense .tv-leader-rows { grid-template-columns: repeat(2,minmax(0,1fr)); }
.bootstrap-site .display-redesign .tv-final-standings.is-dense .tv-leader-rows > div { min-height: 40px; padding-block: .3rem; }
.bootstrap-site .display-redesign .tv-final-standings.is-crowded .tv-leader-rows { grid-template-columns: repeat(3,minmax(0,1fr)); }
.bootstrap-site .display-redesign .tv-final-standings.is-crowded .tv-leader-rows > div { min-height: 36px; grid-template-columns: 28px 32px minmax(0,1fr) auto; padding: .25rem .4rem; }
.bootstrap-site .display-redesign .tv-final-standings.is-crowded .leader-avatar { width: 30px; height: 30px; min-width: 30px; min-height: 30px; }
.bootstrap-site .display-redesign.audience-night .tv-final-standings { border-color: rgba(99,243,255,.24); background: rgba(8,12,38,.86); }
.bootstrap-site .display-redesign.audience-night .tv-final-standings > header { color: #fff; }
.bootstrap-site .display-redesign.audience-night .tv-final-standings > header span { color: #63f3ff; }

@media (max-height: 800px) and (min-width: 768px) {
    .bootstrap-site .tv-sudden-death-intro,
    .bootstrap-site .tv-sudden-death-result { gap: .55rem; padding-block: .75rem; }
    .bootstrap-site .sudden-death-broadcast-main,
    .bootstrap-site .sudden-death-result-main { grid-template-columns: minmax(0,1fr) 142px; }
    .bootstrap-site .sudden-death-broadcast-timer { width: 138px; border-width: 6px; }
    .bootstrap-site .sudden-death-broadcast-timer strong { font-size: 4rem; }
    .bootstrap-site .sudden-death-contender-panel { padding: .5rem .65rem; }
    .bootstrap-site .sudden-death-contender-panel .sudden-death-contestants > div { padding-block: .35rem; }
    .bootstrap-site .display-redesign .final-scoreboard-screen { gap: 1rem; padding: .75rem 1rem; }
    .bootstrap-site .display-redesign .final-podium-panel .podium-place.first { height: clamp(180px,34vh,250px); }
    .bootstrap-site .display-redesign .final-podium-panel .podium-place.second { height: clamp(145px,27vh,205px); }
    .bootstrap-site .display-redesign .final-podium-panel .podium-place.third { height: clamp(120px,22vh,170px); }
    .bootstrap-site .display-redesign .tv-final-standings .tv-leader-rows > div { min-height: 39px; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .sudden-death-broadcast-header strong,
    .bootstrap-site .sudden-death-rule-strip { display: none; }
    .bootstrap-site .sudden-death-broadcast-main,
    .bootstrap-site .sudden-death-result-main { grid-template-columns: minmax(0,1fr) 92px; gap: .65rem; }
    .bootstrap-site .sudden-death-title-block { grid-template-columns: 54px minmax(0,1fr); }
    .bootstrap-site .sudden-death-title-block .sudden-death-lightning { width: 52px; border-radius: 15px; font-size: 1.25rem; }
    .bootstrap-site .tv-sudden-death-intro .sudden-death-title-block h1,
    .bootstrap-site .tv-sudden-death-result .sudden-death-result-copy h1 { font-size: clamp(2rem,8vw,3rem); }
    .bootstrap-site .tv-sudden-death-intro .sudden-death-title-block > p:last-child,
    .bootstrap-site .tv-sudden-death-result .sudden-death-result-copy > p:last-child { font-size: .66rem; }
    .bootstrap-site .sudden-death-broadcast-timer { width: 88px; border-width: 4px; }
    .bootstrap-site .sudden-death-broadcast-timer strong { font-size: 2.6rem; }
    .bootstrap-site .sudden-death-contender-panel .sudden-death-contestants > div:nth-child(n+4) { display: none; }
    .bootstrap-site .display-redesign .final-scoreboard-screen { grid-template-columns: 1fr; grid-template-rows: auto minmax(0,1fr); overflow-y: auto; }
    .bootstrap-site .display-redesign .final-podium-panel .podium-place { height: 125px !important; }
    .bootstrap-site .display-redesign .tv-final-standings.is-many .tv-leader-rows,
    .bootstrap-site .display-redesign .tv-final-standings.is-dense .tv-leader-rows,
    .bootstrap-site .display-redesign .tv-final-standings.is-crowded .tv-leader-rows { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
    .bootstrap-site .phone-leaderboard { gap: .65rem; padding: .8rem; }
    .bootstrap-site .phone-leaderboard-heading { gap: .55rem; }
    .bootstrap-site .phone-position-change { min-width: 84px; flex-basis: 84px; padding: .55rem .35rem; }
    .bootstrap-site .phone-position-change strong { font-size: 1.05rem; }
    .bootstrap-site .player-leader-rows.has-scores > div { grid-template-columns: 22px 32px minmax(0,1fr) 52px; gap: .4rem; padding: .55rem .5rem; }
    .bootstrap-site .player-leader-rows .leader-avatar { width: 32px; height: 32px; min-width: 32px; min-height: 32px; flex-basis: 32px; }
    .bootstrap-site .leaderboard-total { min-width: 0; }
    .bootstrap-site .leaderboard-total strong { font-size: .92rem; }
    .bootstrap-site .leaderboard-total > span { font-size: .48rem; }
}

/* Quizmaster workspace modes: Desktop keeps the full editor while Tablet is
   a fixed, one-page operating console with its navigation down the left. */
.bootstrap-site .host-workspace-mode-action { min-height: 40px; display: inline-grid; flex: 0 0 auto; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: .48rem; padding: .36rem .62rem; border: 1px solid #dcd9ec; border-radius: 11px; background: linear-gradient(145deg,#fff,#f6f3ff); color: #40329a; font: inherit; text-align: left; box-shadow: 0 4px 14px rgba(38,31,88,.08); }
.bootstrap-site .host-workspace-mode-action > i { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: #ebe6ff; color: #5a3bd2; font-size: .76rem; font-style: normal; font-weight: 900; }
.bootstrap-site .host-workspace-mode-action > span { min-width: 0; display: grid; gap: .02rem; }
.bootstrap-site .host-workspace-mode-action small { color: #80799c; font-size: .46rem; font-weight: 900; letter-spacing: .06em; line-height: 1; text-transform: uppercase; }
.bootstrap-site .host-workspace-mode-action strong { font-size: .64rem; line-height: 1.15; white-space: nowrap; }
.bootstrap-site .host-workspace-mode-action:hover { border-color: #b9adef; background: #fff; box-shadow: 0 7px 18px rgba(38,31,88,.13); }
.bootstrap-site .host-workspace-mode-action:focus-visible { outline: 3px solid rgba(91,53,232,.24); outline-offset: 2px; }
.tablet-ops-display-frame { position: fixed; z-index: 20; display: block; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; pointer-events: none; transform-origin: top left; }
.tablet-ops-display-frame[hidden] { display: none; }
.bootstrap-site .host-app.reference-design.tablet-ops-mode .host-workspace > .host-display-control { position: absolute; top: 0; left: 0; z-index: 5000; width: 1px; height: 1px; min-width: 0; min-height: 0; margin: 0; padding: 0; overflow: visible; border: 0; }
.bootstrap-site .host-app.reference-design.tablet-ops-mode .host-workspace > .host-display-control > summary { display: none !important; }

@media (min-width: 768px) {
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-workspace { height: 100dvh; min-height: 0; display: grid; grid-template-columns: 202px minmax(0,1fr); grid-template-rows: minmax(0,1fr); padding-left: 0; overflow: hidden; background: #eff1f6; transition: grid-template-columns .38s cubic-bezier(.2,.9,.25,1); }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode.tablet-rail-collapsed .host-workspace { grid-template-columns: 0 minmax(0,1fr); }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-sidebar-shell { display: none; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-topbar { position: relative; z-index: 60; grid-column: 1; grid-row: 1; width: 202px; height: 100dvh; min-height: 0; display: flex; flex-direction: column !important; flex-wrap: nowrap; align-items: stretch; gap: .75rem; padding: .8rem .65rem; overflow: visible; border: 0; border-right: 1px solid rgba(255,255,255,.1); background: radial-gradient(circle at 15% 5%,rgba(111,72,255,.24),transparent 24%),linear-gradient(180deg,#111640,#080b2c); color: #fff; box-shadow: 8px 0 28px rgba(8,11,44,.13); transform: translateX(0) scale(1); transform-origin: left center; opacity: 1; transition: transform .38s cubic-bezier(.2,.9,.25,1),opacity .24s ease,box-shadow .3s ease; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode.tablet-rail-collapsed .host-topbar { pointer-events: none; transform: translateX(-108%) scale(.96); opacity: 0; box-shadow: none; }
    .bootstrap-site .tablet-rail-toggle { position: fixed; z-index: 72; top: 50%; left: 180px; width: 44px; min-width: 44px; height: 44px; display: grid; place-items: center; padding: 0; overflow: visible; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; background: linear-gradient(145deg,#7959ee,#5435d4); color: #fff; box-shadow: 0 8px 22px rgba(44,28,135,.34),inset 0 1px 0 rgba(255,255,255,.2); transform: translateY(-50%); transition: left .38s cubic-bezier(.2,.9,.25,1),width .28s ease,height .28s ease,border-radius .28s ease,background .2s ease,box-shadow .2s ease; }
    .bootstrap-site .tablet-rail-toggle-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.13); font-size: 1.35rem; font-style: normal; font-weight: 800; line-height: .8; transition: transform .22s ease,background .22s ease; }
    .bootstrap-site .tablet-rail-toggle-copy { position: absolute; left: calc(100% + 10px); display: flex; align-items: baseline; gap: .2rem; padding: .48rem .62rem; pointer-events: none; border: 1px solid #ded9f7; border-radius: 10px; background: #fff; color: #29233f; box-shadow: 0 8px 22px rgba(32,27,63,.16); opacity: 0; transform: translateX(-5px) scale(.96); transform-origin: left center; transition: opacity .18s ease,transform .18s ease; white-space: nowrap; }
    .bootstrap-site .tablet-rail-toggle-copy small { color: #5d3ed9; font-size: .57rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
    .bootstrap-site .tablet-rail-toggle-copy strong { font-size: .63rem; font-weight: 800; }
    .bootstrap-site .tablet-rail-toggle:not(.is-collapsed):hover .tablet-rail-toggle-copy,
    .bootstrap-site .tablet-rail-toggle:not(.is-collapsed):focus-visible .tablet-rail-toggle-copy { opacity: 1; transform: translateX(0) scale(1); }
    .bootstrap-site .tablet-rail-toggle:hover { background: linear-gradient(145deg,#8465f4,#5b3bdc); box-shadow: 0 10px 25px rgba(44,28,135,.4),inset 0 1px 0 rgba(255,255,255,.24); }
    .bootstrap-site .tablet-rail-toggle:hover .tablet-rail-toggle-icon { background: rgba(255,255,255,.2); transform: translateX(-1px); }
    .bootstrap-site .tablet-rail-toggle:focus-visible { outline: 4px solid rgba(101,70,223,.24); outline-offset: 3px; }
    .bootstrap-site .tablet-rail-toggle.is-collapsed { top: auto; right: auto; bottom: 12px; left: 12px; width: 118px; height: 48px; grid-template-columns: 34px minmax(0,1fr); justify-items: stretch; gap: .55rem; padding: 6px 12px 6px 7px; border-color: rgba(86,58,205,.18); border-radius: 15px; background: rgba(255,255,255,.96); color: #2a2540; box-shadow: 0 9px 25px rgba(38,31,88,.2),inset 0 1px 0 #fff; transform: none; backdrop-filter: blur(12px); }
    .bootstrap-site .tablet-rail-toggle.is-collapsed .tablet-rail-toggle-icon { width: 34px; height: 34px; background: linear-gradient(145deg,#7454ea,#5637d3); color: #fff; font-size: 1.18rem; }
    .bootstrap-site .tablet-rail-toggle.is-collapsed .tablet-rail-toggle-copy { position: static; display: grid; align-content: center; justify-items: start; gap: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; transform: none; }
    .bootstrap-site .tablet-rail-toggle.is-collapsed .tablet-rail-toggle-copy small { color: #6a51d0; font-size: .49rem; line-height: 1; }
    .bootstrap-site .tablet-rail-toggle.is-collapsed .tablet-rail-toggle-copy strong { color: #29243e; font-size: .65rem; line-height: 1.15; text-transform: capitalize; }
    .bootstrap-site .tablet-rail-toggle.is-collapsed:hover { background: #fff; box-shadow: 0 12px 30px rgba(38,31,88,.25),inset 0 1px 0 #fff; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-topbar-leading { min-width: 0; display: grid; flex: 0 0 auto; gap: .65rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-navbar-branding { display: grid; min-height: 42px; place-items: center; padding: .34rem .42rem; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; background: rgba(255,255,255,.06); }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-navbar-branding:empty { display: none; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-navbar-branding .personal-branding img { max-width: 105px; height: 25px; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-header-utilities { min-width: 0; min-height: 0; width: 100%; display: flex; flex: 1 1 auto; flex-direction: column; align-items: stretch; gap: .75rem; margin: 0; padding-right: 2px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-workspace-mode-action { width: 100%; min-height: 44px; border-color: rgba(255,255,255,.13); background: rgba(255,255,255,.075); color: #fff; box-shadow: none; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-workspace-mode-action > i { background: rgba(255,255,255,.1); color: #c9c1ff; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-workspace-mode-action small { color: #aeb1ce; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-workspace-mode-action:hover { border-color: rgba(199,188,255,.45); background: rgba(255,255,255,.12); }
    .bootstrap-site .tablet-rail-controls { min-width: 0; display: grid; gap: .48rem; }
    .bootstrap-site .tablet-rail-label { margin: .05rem .2rem; color: #aaaed0; font-size: .57rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
    .bootstrap-site .tablet-rail-display-label,
    .bootstrap-site .tablet-rail-settings-label { margin-top: .22rem; padding-top: .55rem; border-top: 1px solid rgba(255,255,255,.13); }
    .bootstrap-site .tablet-rail-controls :is(button,a) { width: 100%; min-width: 0; min-height: 52px; display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: .5rem; padding: .55rem; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; background: rgba(255,255,255,.065); color: #fff; text-align: left; text-decoration: none; }
    .bootstrap-site .tablet-rail-controls :is(button,a) > i { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: rgba(255,255,255,.1); color: #c8c1ff; font-size: .68rem; font-style: normal; font-weight: 900; }
    .bootstrap-site .tablet-rail-controls :is(button,a) > span { min-width: 0; display: grid; gap: .05rem; }
    .bootstrap-site .tablet-rail-controls :is(button,a) strong { overflow: hidden; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-rail-controls :is(button,a) small { overflow: hidden; color: #b7bad4; font-size: .52rem; line-height: 1.18; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-rail-controls .tablet-rail-primary { min-height: 68px; border-color: #7658f1; background: linear-gradient(135deg,#5638d5,#7650f1); box-shadow: 0 10px 22px rgba(59,35,170,.32); }
    .bootstrap-site .tablet-rail-controls .tablet-rail-primary > i { background: rgba(255,255,255,.17); color: #fff; }
    .bootstrap-site .tablet-rail-controls .tablet-rail-primary.has-pending { border-color: #ffd34e; background: linear-gradient(135deg,#ffd84f,#ffbe2e); color: #211900; box-shadow: 0 10px 22px rgba(0,0,0,.2); }
    .bootstrap-site .tablet-rail-controls .tablet-rail-primary.has-pending > i { background: rgba(40,30,0,.12); color: #211900; }
    .bootstrap-site .tablet-rail-controls .tablet-rail-primary.has-pending small { color: #604700; }
    .bootstrap-site .tablet-rail-controls button:disabled { cursor: not-allowed; opacity: .48; box-shadow: none; }
    .bootstrap-site .tablet-rail-controls :is(button:not(:disabled),a):hover,
    .bootstrap-site .tablet-rail-controls :is(button:not(:disabled),a):focus-visible { border-color: #c3b8ff; color: #fff; outline: 3px solid rgba(183,169,255,.2); outline-offset: 1px; }
    .bootstrap-site .tablet-rail-controls .pause-ready { border-color: rgba(54,215,142,.38); background: rgba(35,178,112,.12); }
    .bootstrap-site .tablet-rail-controls .pause-ready.is-queued { border-color: #ffd36c; background: rgba(255,190,56,.16); color: #fff4cf; }
    .bootstrap-site .run-pause-action.is-queued,
    .bootstrap-site .button.is-queued[data-command="break"] { border-color: #d89b17; background: #fff5d9; color: #745000; }
    .bootstrap-site .tablet-rail-controls .tablet-display-control-launcher { border-color: rgba(129,150,255,.34); background: rgba(101,117,220,.12); }
    .bootstrap-site .tablet-rail-controls .tablet-display-control-launcher > i { background: rgba(129,150,255,.16); color: #d7dcff; }
    .bootstrap-site .tablet-rail-controls .tablet-open-display { border-color: rgba(77,230,202,.4); background: linear-gradient(135deg,rgba(22,158,139,.28),rgba(52,104,191,.22)); }
    .bootstrap-site .tablet-rail-controls .tablet-open-display > i { background: rgba(77,230,202,.17); color: #91f4df; font-size: .9rem; }
    .bootstrap-site .tablet-rail-controls .tablet-quick-link { border-color: rgba(255,202,88,.38); background: rgba(245,177,47,.11); }
    .bootstrap-site .tablet-rail-controls .tablet-quick-link > i { background: rgba(255,202,88,.14); color: #ffd77b; font-size: .82rem; }
    .bootstrap-site .tablet-rail-controls .tablet-settings-launcher { border-color: rgba(194,171,255,.36); background: rgba(139,103,224,.13); }
    .bootstrap-site .tablet-rail-controls .tablet-settings-launcher > i { background: rgba(194,171,255,.15); color: #ddceff; font-size: .82rem; }
    .bootstrap-site .tablet-rail-controls .tablet-plus-launcher { border-color: rgba(245,200,66,.5); background: linear-gradient(135deg,rgba(245,200,66,.2),rgba(191,139,19,.1)); }
    .bootstrap-site .tablet-rail-controls .tablet-plus-launcher > i { background: #f5c842; color: #211900; font-size: .78rem; }
    .bootstrap-site .tablet-rail-controls .tablet-plus-launcher small { color: #f5dda0; }
    .bootstrap-site .tablet-rail-footer { min-width: 0; display: grid; gap: .35rem; margin-top: auto; }
    .bootstrap-site .tablet-stage-view-switch { width: min(300px,100%); min-width: 0; display: grid; padding: 2px; border: 1px solid #d9d5ed; border-radius: 11px; background: #f3f1fa; }
    .bootstrap-site .tablet-stage-view-switch > div { min-width: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 3px; padding: 3px; border-radius: 9px; background: #eae7f5; }
    .bootstrap-site .tablet-stage-view-switch button { min-width: 0; min-height: 44px; padding: .35rem .65rem; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #625d78; font-size: .62rem; font-weight: 900; line-height: 1.15; }
    .bootstrap-site .tablet-stage-view-switch button[aria-pressed="true"] { border-color: #6950dc; background: linear-gradient(135deg,#7656ec,#5a3ad4); color: #fff; box-shadow: 0 5px 12px rgba(69,45,164,.22); }
    .bootstrap-site .tablet-stage-view-switch button:hover,
    .bootstrap-site .tablet-stage-view-switch button:focus-visible { border-color: #7458e8; color: #322668; outline: 2px solid rgba(94,63,213,.2); outline-offset: 1px; }
    .bootstrap-site .tablet-stage-view-switch button[aria-pressed="true"]:hover,
    .bootstrap-site .tablet-stage-view-switch button[aria-pressed="true"]:focus-visible { color: #fff; }
    /* Keep destructive actions in their own footer zone, away from the live quiz controls. */
    .bootstrap-site .tablet-rail-danger-zone { min-width: 0; display: grid; gap: .42rem; padding-top: .68rem; border-top: 1px solid rgba(255,135,149,.3); }
    .bootstrap-site .tablet-rail-danger-zone #tabletCloseQuiz { width: 100%; min-width: 0; min-height: 52px; display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: .5rem; padding: .55rem; border: 1px solid #ed5267; border-radius: 11px; background: linear-gradient(135deg,#d92d48,#b91f38); color: #fff; box-shadow: 0 8px 20px rgba(165,24,46,.3); text-align: left; }
    .bootstrap-site .tablet-rail-danger-zone #tabletCloseQuiz > i { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: rgba(255,255,255,.16); color: #fff; font-size: .68rem; font-style: normal; font-weight: 900; }
    .bootstrap-site .tablet-rail-danger-zone #tabletCloseQuiz > span { min-width: 0; display: grid; gap: .05rem; }
    .bootstrap-site .tablet-rail-danger-zone #tabletCloseQuiz strong { overflow: hidden; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-rail-danger-zone #tabletCloseQuiz small { overflow: hidden; color: #ffe5e8; font-size: .52rem; line-height: 1.18; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-rail-danger-zone #tabletCloseQuiz:hover,
    .bootstrap-site .tablet-rail-danger-zone #tabletCloseQuiz:focus-visible { border-color: #ff8795; background: linear-gradient(135deg,#eb3855,#c92340); outline: 3px solid rgba(255,110,128,.3); outline-offset: 1px; }
    .bootstrap-site .tablet-rail-danger-zone #logoutHost { min-height: 44px; display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: center; gap: .45rem; padding: .48rem .6rem; border: 1px solid #e74a61; border-radius: 10px; background: linear-gradient(135deg,#cf2943,#ae1d34); color: #fff; box-shadow: 0 7px 18px rgba(151,19,41,.28); font-size: .68rem; font-weight: 900; text-align: left; text-decoration: none; }
    .bootstrap-site .tablet-rail-footer #logoutHost > span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 7px; background: rgba(255,255,255,.15); }
    .bootstrap-site .tablet-rail-footer #logoutHost:hover,
    .bootstrap-site .tablet-rail-footer #logoutHost:focus-visible { border-color: #ff8795; background: linear-gradient(135deg,#e43853,#bd233d); color: #fff; outline: 3px solid rgba(255,110,128,.28); outline-offset: 2px; }
    /* Tablet display controls use a bounded sheet with one scroll region and non-overlapping touch targets. */
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-presentation-bar.tablet-touch-dialog { width: min(900px,calc(100vw - 1.5rem)); height: min(760px,calc(100dvh - 1.5rem)); max-height: none; border: 1px solid #dfe3ec; background: #f5f6fa; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-control-header { position: relative; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "heading close" "status close"; align-items: center; column-gap: 1rem; row-gap: .28rem; padding: 1rem 1.15rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-control-header > div { grid-area: heading; padding-right: 0; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-control-header .display-status { grid-area: status; justify-self: start; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog #tabletCloseRoomTools { position: static; inset: auto; grid-area: close; min-width: 88px; min-height: 52px; align-self: center; font-size: .82rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-control-body { grid-template-columns: minmax(0,1fr); gap: 0; padding: 1rem 1.15rem; background: #f5f6fa; overscroll-behavior-y: contain; scrollbar-gutter: stable; -webkit-overflow-scrolling: touch; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-control-preview { display: none; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-control-settings { align-content: start; gap: .8rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-message-control,
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-control,
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-toggle-group,
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .audience-theme-control { min-width: 0; padding: .9rem; border: 1px solid #e0e3ec; border-radius: 15px; background: #fff; box-shadow: 0 4px 14px rgba(25,31,55,.045); }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-message-control { order: 1; grid-template-columns: minmax(0,1fr) auto auto; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-message-control .field { grid-column: auto; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-toggle-group { order: 2; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .audience-theme-control { order: 3; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .branding-plan-note { order: 4; margin: -.15rem .25rem .1rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-control { order: 5; gap: .8rem; padding: 1rem; background: #fff; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-fields { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-fields .field { display: grid; align-content: start; gap: .3rem; font-size: .76rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-fields input { height: 48px; margin-top: 0; padding-inline: .75rem; font-size: .86rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-password-input { grid-template-columns: minmax(0,1fr) 70px; align-items: stretch; gap: .5rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-password-input .plain-action { width: 70px; min-width: 70px; min-height: 48px; margin-top: 0; padding: .45rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-open-option { align-items: flex-start; gap: .75rem; padding: .8rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-open-option input { margin-top: .12rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-open-option strong { font-size: .8rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-open-option small,
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-control > p { font-size: .69rem; line-height: 1.4; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-actions { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(110px,.7fr) auto; align-items: stretch; gap: .55rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-actions .button { width: 100%; min-width: 0; padding-inline: .7rem; font-size: .76rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-wifi-actions > .plain-action { min-width: 94px; min-height: 48px; margin-left: 0; padding: .45rem .65rem; font-size: .72rem; text-align: center; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog :is(input,select,.display-message-control .button,.display-wifi-actions .button,.audience-theme-control button) { min-height: 48px; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .presentation-toggle { min-height: 76px; padding: .75rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .presentation-toggle strong { font-size: .84rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .presentation-toggle small { font-size: .7rem; line-height: 1.25; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-control-actions { padding: .85rem 1.15rem; background: #fff; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-control-actions > * { min-height: 52px; }
    /* The approval dialog must sit above its dimming layer, not beneath it. */
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .global-approval-queue.tablet-open { z-index: 1001; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-content[data-host-surface="tablet-operations"] { grid-column: 2; grid-row: 1; width: 100%; height: 100dvh; min-height: 0; padding: clamp(.55rem,1.2vw,.85rem); overflow: hidden; scrollbar-gutter: auto; }
    .bootstrap-site .tablet-operations { width: min(1400px,100%); height: 100%; min-height: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,310px); grid-template-rows: auto minmax(0,1fr); column-gap: .65rem; row-gap: .65rem; margin: 0 auto; transition: grid-template-columns .38s cubic-bezier(.2,.9,.25,1),column-gap .38s cubic-bezier(.2,.9,.25,1); }
    .bootstrap-site .tablet-operations.tablet-player-panel-collapsed { grid-template-columns: minmax(0,1fr) 0; column-gap: 0; }
    .bootstrap-site .tablet-ops-overview { grid-column: 1; grid-row: 1; min-width: 0; display: grid; grid-template-columns: minmax(270px,1fr) minmax(340px,.9fr); align-items: center; gap: 1rem; padding: .72rem .85rem; overflow: hidden; border: 1px solid #d9dce8; border-left: 5px solid #6546df; border-radius: 15px; background: linear-gradient(110deg,#fff 0%,#faf9ff 58%,#f1fbf7 100%); box-shadow: 0 8px 24px rgba(29,34,59,.065); }
    .bootstrap-site .tablet-ops-overview-copy { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .75rem; }
    .bootstrap-site .tablet-ops-overview-copy > div { min-width: 0; display: grid; gap: .05rem; }
    .bootstrap-site .tablet-ops-overview-copy > div > small { color: #6a53d1; font-size: .54rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
    .bootstrap-site .tablet-ops-player-toggle { min-width: 94px; min-height: 44px; display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: .42rem; padding: .38rem .5rem .38rem .38rem; border: 1px solid #dcd6f7; border-radius: 11px; background: #fff; color: #30284f; box-shadow: 0 4px 12px rgba(42,33,91,.08); text-align: left; transition: border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease; }
    .bootstrap-site .tablet-ops-player-toggle > i { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: #eeeaff; color: #5c3bd4; font-size: 1rem; font-style: normal; font-weight: 950; line-height: 1; }
    .bootstrap-site .tablet-ops-player-toggle > span { min-width: 0; display: grid; gap: .02rem; }
    .bootstrap-site .tablet-ops-player-toggle small { color: #745bd5; font-size: .47rem; font-weight: 900; letter-spacing: .06em; line-height: 1; text-transform: uppercase; }
    .bootstrap-site .tablet-ops-player-toggle strong { color: #302b43; font-size: .57rem; line-height: 1.15; white-space: nowrap; }
    .bootstrap-site .tablet-ops-player-toggle:hover,
    .bootstrap-site .tablet-ops-player-toggle:focus-visible { border-color: #7558e7; outline: 3px solid rgba(101,70,223,.14); outline-offset: 2px; box-shadow: 0 7px 16px rgba(42,33,91,.13); transform: translateY(-1px); }
    .bootstrap-site .tablet-ops-player-toggle.is-collapsed { border-color: #6748de; background: linear-gradient(135deg,#6546df,#7657e9); color: #fff; }
    .bootstrap-site .tablet-ops-player-toggle.is-collapsed > i { background: rgba(255,255,255,.17); color: #fff; }
    .bootstrap-site .tablet-ops-player-toggle.is-collapsed small { color: #ddd6ff; }
    .bootstrap-site .tablet-ops-player-toggle.is-collapsed strong { color: #fff; }
    .bootstrap-site .tablet-ops-overview h1 { overflow: hidden; margin: 0; color: #1e2235; font-size: clamp(1.08rem,1.8vw,1.38rem); line-height: 1.08; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-ops-overview p { overflow: hidden; margin: 0; color: #676d7e; font-size: .68rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-ops-stats { min-width: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .38rem; }
    .bootstrap-site .tablet-ops-stats > span { min-width: 0; display: grid; justify-items: center; gap: .06rem; padding: .43rem .28rem; border: 1px solid #e8e9ef; border-radius: 9px; background: rgba(255,255,255,.78); }
    .bootstrap-site .tablet-ops-stats small { color: #7a7f8f; font-size: .51rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
    .bootstrap-site .tablet-ops-stats strong { overflow: hidden; max-width: 100%; color: #282c3d; font-size: .82rem; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-ops-stats > span:first-child { border-color: #dcd5ff; background: #eeeaff; }
    .bootstrap-site .tablet-ops-stats > span:first-child strong { color: #5133d0; letter-spacing: .07em; }
    .bootstrap-site .tablet-ops-workspace { display: contents; }
    .bootstrap-site .tablet-ops-stage,
    .bootstrap-site .tablet-ops-player-panel { min-width: 0; min-height: 0; overflow: hidden; border: 1px solid #dcdfe8; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(30,35,61,.055); }
    .bootstrap-site .tablet-ops-stage { grid-column: 1; grid-row: 2; display: grid; grid-template-rows: auto minmax(0,1fr); gap: .55rem; padding: .65rem; }
    .bootstrap-site .tablet-ops-stage-toolbar { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .1rem .1rem 0; }
    .bootstrap-site .tablet-ops-stage-toolbar > span { min-width: 0; display: grid; gap: .02rem; }
    .bootstrap-site .tablet-ops-stage-toolbar > span small { color: #777b8d; font-size: .51rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
    .bootstrap-site .tablet-ops-stage-toolbar > span strong { color: #292d40; font-size: .75rem; }
    .bootstrap-site .tablet-ops-display-feed { min-width: 0; min-height: 0; display: grid; grid-template-rows: minmax(0,1fr); }
    /* The embedded audience display is the entire preview—no decorative blue frame behind it. */
    .bootstrap-site .tablet-ops-display-viewport { position: relative; min-width: 0; min-height: 0; display: grid; place-items: center; overflow: hidden; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
    .bootstrap-site .tablet-ops-question-view { min-width: 0; min-height: 0; display: grid; grid-template-rows: auto minmax(0,.8fr) minmax(0,1.55fr) auto; gap: clamp(.65rem,1.3vw,1rem); padding: clamp(.8rem,1.7vw,1.4rem); overflow-y: auto; border: 1px solid #e2def7; border-radius: 12px; background: radial-gradient(circle at 92% 7%,rgba(112,79,230,.12),transparent 25%),linear-gradient(145deg,#fbfaff,#fff 55%,#f3fbf8); animation: tablet-question-view-in .26s ease both; scrollbar-width: thin; }
    .bootstrap-site .tablet-ops-question-view > header { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding-bottom: .65rem; border-bottom: 1px solid #e6e3f1; }
    .bootstrap-site .tablet-ops-question-view > header > span:first-child { min-width: 0; display: grid; gap: .12rem; }
    .bootstrap-site .tablet-ops-question-view > header small { overflow: hidden; color: #765dd4; font-size: clamp(.55rem,1vw,.68rem); font-weight: 900; letter-spacing: .09em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
    .bootstrap-site .tablet-ops-question-view > header strong { color: #28243d; font-size: clamp(.75rem,1.35vw,.95rem); }
    .bootstrap-site .tablet-question-view-phase { flex: 0 0 auto; padding: .4rem .6rem; border-radius: 999px; background: #ebe7ff; color: #583bc8; font-size: clamp(.58rem,1vw,.72rem); font-weight: 900; white-space: nowrap; }
    .bootstrap-site .tablet-question-view-copy { min-width: 0; display: grid; align-content: center; gap: .55rem; }
    .bootstrap-site .tablet-question-view-copy > span { justify-self: start; padding: .3rem .48rem; border-radius: 999px; background: #fff1c7; color: #765300; font-size: .62rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
    .bootstrap-site .tablet-question-view-copy h2 { margin: 0; color: #1d2032; font-size: clamp(1.55rem,3.15vw,2.75rem); line-height: 1.12; letter-spacing: -.025em; text-wrap: balance; }
    .bootstrap-site .tablet-question-view-answers { min-width: 0; min-height: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: minmax(min-content,1fr); align-items: stretch; gap: clamp(.55rem,1.1vw,.85rem); }
    .bootstrap-site .tablet-question-view-answers > div { position: relative; min-width: 0; min-height: 92px; display: grid; grid-template-columns: clamp(38px,4vw,52px) minmax(0,1fr); grid-template-rows: minmax(min-content,1fr); align-items: center; column-gap: clamp(.55rem,1.2vw,.9rem); row-gap: .25rem; padding: clamp(.72rem,1.4vw,1.05rem); overflow: hidden; border: 2px solid #e1e3eb; border-radius: 14px; background: rgba(255,255,255,.94); box-shadow: 0 6px 18px rgba(32,35,59,.06); }
    .bootstrap-site .tablet-question-view-answers > div > b { grid-column: 1; grid-row: 1; align-self: center; display: grid; width: clamp(38px,4vw,52px); height: clamp(38px,4vw,52px); place-items: center; border-radius: 12px; background: #ece8ff; color: #5b3bd0; font-size: clamp(1rem,2vw,1.4rem); line-height: 1; }
    .bootstrap-site .tablet-question-view-answers > div > span { grid-column: 2; grid-row: 1; align-self: center; display: block; min-width: 0; max-width: 100%; color: #25283a; font-size: clamp(1rem,2.05vw,1.55rem); font-weight: 850; line-height: 1.22; overflow-wrap: break-word; word-break: normal; hyphens: auto; text-wrap: pretty; }
    .bootstrap-site .tablet-question-view-answers > div.is-long > span { font-size: clamp(.95rem,1.65vw,1.25rem); line-height: 1.28; }
    .bootstrap-site .tablet-question-view-answers > div.is-very-long > span { font-size: clamp(.9rem,1.45vw,1.08rem); line-height: 1.32; }
    .bootstrap-site .tablet-question-view-answers > div.is-correct { grid-template-rows: minmax(min-content,1fr) auto; border-color: #1ca66a; background: linear-gradient(145deg,#f3fff8,#e9faf1); box-shadow: 0 7px 20px rgba(18,133,82,.12); }
    .bootstrap-site .tablet-question-view-answers > div.is-correct > b { grid-row: 1 / span 2; background: #15945c; color: #fff; }
    .bootstrap-site .tablet-question-view-answers > div.is-correct > small { grid-column: 2; grid-row: 2; justify-self: start; color: #087747; font-size: .55rem; font-weight: 950; letter-spacing: .07em; line-height: 1.2; text-transform: uppercase; }
    .bootstrap-site .tablet-ops-question-view > footer { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding-top: .65rem; border-top: 1px solid #e6e3f1; color: #74798a; }
    .bootstrap-site .tablet-ops-question-view > footer span { color: #6549ce; font-size: .58rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
    .bootstrap-site .tablet-ops-question-view > footer strong { font-size: .62rem; text-align: right; }
    .bootstrap-site .tablet-ops-question-view.is-empty { place-content: center; justify-items: center; grid-template-rows: auto; text-align: center; }
    .bootstrap-site .tablet-ops-question-view.is-empty > span { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 18px; background: #ece8ff; color: #5d3bd6; font-size: 2rem; font-weight: 950; }
    .bootstrap-site .tablet-ops-question-view.is-empty h2 { margin: .7rem 0 0; color: #24283a; font-size: 1.5rem; }
    .bootstrap-site .tablet-ops-question-view.is-empty p { max-width: 360px; margin: .25rem 0 0; color: #73798a; font-size: .8rem; line-height: 1.45; }
    .bootstrap-site .tablet-ops-player-panel { grid-column: 2; grid-row: 1 / 3; display: flex; flex-direction: column; padding: .72rem; opacity: 1; transform: translateX(0); transform-origin: right center; transition: transform .34s cubic-bezier(.2,.9,.25,1),opacity .22s ease,border-color .22s ease,box-shadow .22s ease,padding .34s cubic-bezier(.2,.9,.25,1); }
    .bootstrap-site .tablet-operations.tablet-player-panel-collapsed .tablet-ops-player-panel { padding: 0; pointer-events: none; border-color: transparent; box-shadow: none; opacity: 0; transform: translateX(24px); }
    .bootstrap-site .tablet-ops-mode-switch { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .5rem; margin: -.15rem -.15rem .55rem; padding: .5rem; border: 1px solid #e1ddf7; border-radius: 11px; background: linear-gradient(110deg,#f4f1ff,#f7fbff); }
    .bootstrap-site .tablet-ops-mode-switch > span { min-width: 0; display: grid; gap: .05rem; }
    .bootstrap-site .tablet-ops-mode-switch small { color: #745bd5; font-size: .48rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
    .bootstrap-site .tablet-ops-mode-switch strong { overflow: hidden; color: #29263a; font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-ops-mode-switch button { min-height: 30px; padding: .32rem .48rem; border: 1px solid #cfc7f4; border-radius: 8px; background: #fff; color: #5135c3; font-size: .53rem; font-weight: 900; white-space: nowrap; }
    .bootstrap-site .tablet-ops-mode-switch button:hover,
    .bootstrap-site .tablet-ops-mode-switch button:focus-visible { border-color: #6c4ede; outline: 3px solid rgba(101,70,223,.13); outline-offset: 1px; }
    .bootstrap-site .tablet-ops-mode-switch button:disabled { cursor: not-allowed; filter: grayscale(.5); opacity: .58; }
    .bootstrap-site .tablet-ops-player-panel > header { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) 48px; align-items: center; gap: .65rem; padding: .3rem .2rem .7rem; border-bottom: 1px solid #eceef3; }
    .bootstrap-site .tablet-ops-player-panel > header > div { min-width: 0; }
    .bootstrap-site .tablet-ops-player-panel > header small { color: #6248d2; font-size: .54rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
    .bootstrap-site .tablet-ops-player-panel > header h2 { overflow: hidden; margin: .1rem 0; color: #202438; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-ops-player-panel > header p { overflow: hidden; margin: 0; color: #74798a; font-size: .6rem; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-ops-player-panel > header > strong { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; background: #eeeaff; color: #5537d0; font-size: 1.15rem; }
    .bootstrap-site .tablet-ops-player-progress { display: grid; gap: .45rem; margin: .65rem 0; padding: .6rem; border-radius: 11px; background: #f5f6fa; }
    .bootstrap-site .tablet-ops-player-progress > span { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
    .bootstrap-site .tablet-ops-player-progress strong { color: #343849; font-size: .68rem; }
    .bootstrap-site .tablet-ops-player-progress small { color: #7b8090; font-size: .54rem; }
    .bootstrap-site .tablet-ops-player-progress > i { height: 7px; overflow: hidden; border-radius: 99px; background: #dfe2e9; }
    .bootstrap-site .tablet-ops-player-progress > i > b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#5c3ddb,#28b776); }
    .bootstrap-site .tablet-ops-player-progress.is-readiness { grid-template-columns: minmax(0,1fr) auto; align-items: center; padding: .65rem .7rem; border: 1px solid rgba(255,255,255,.28); background: linear-gradient(135deg,#6747df,#4a31b7); color: #fff; box-shadow: 0 9px 22px rgba(75,49,183,.24); }
    .bootstrap-site .tablet-ops-player-progress.is-readiness.is-complete { background: linear-gradient(135deg,#10a461,#087441); box-shadow: 0 9px 22px rgba(8,116,65,.23); }
    .bootstrap-site .tablet-ops-player-progress .tablet-ready-count { display: flex; justify-content: flex-start; gap: .25rem; color: #fff; font-variant-numeric: tabular-nums; }
    .bootstrap-site .tablet-ops-player-progress .tablet-ready-count b { color: #fff; font-size: 1.35rem; font-weight: 950; line-height: 1; }
    .bootstrap-site .tablet-ops-player-progress .tablet-ready-count em { color: rgba(255,255,255,.68); font-size: 1rem; font-style: normal; font-weight: 900; }
    .bootstrap-site .tablet-ops-player-progress .tablet-ready-count small { align-self: center; margin-left: .18rem; color: rgba(255,255,255,.85); font-size: .5rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
    .bootstrap-site .tablet-ops-player-progress .tablet-ready-mode { color: rgba(255,255,255,.82); font-size: .52rem; font-weight: 850; white-space: nowrap; }
    .bootstrap-site .tablet-ops-player-progress.is-readiness > i { grid-column: 1 / -1; background: rgba(255,255,255,.22); }
    .bootstrap-site .tablet-ops-player-progress.is-readiness > i > b { background: #fff; box-shadow: 0 0 12px rgba(255,255,255,.45); }
    .bootstrap-site .tablet-ops-waiting-callout { min-width: 0; min-height: 58px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: .5rem; margin-bottom: .6rem; padding: .5rem; border: 1px solid #edc65c; border-radius: 11px; background: #fff7dc; color: #423300; text-align: left; }
    .bootstrap-site .tablet-ops-waiting-callout > i { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #ffd44f; font-size: .72rem; font-style: normal; font-weight: 900; }
    .bootstrap-site .tablet-ops-waiting-callout > span { min-width: 0; display: grid; gap: .05rem; }
    .bootstrap-site .tablet-ops-waiting-callout strong { font-size: .67rem; }
    .bootstrap-site .tablet-ops-waiting-callout small { overflow: hidden; color: #745f21; font-size: .53rem; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-ops-waiting-callout > b { font-size: 1rem; }
    .bootstrap-site .tablet-ops-player-feed { min-height: 0; display: grid; align-content: start; gap: .36rem; overflow: hidden; }
    .bootstrap-site .tablet-ops-player-feed article { min-width: 0; min-height: 46px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: .5rem; padding: .38rem .45rem; border: 1px solid #e7e8ee; border-radius: 10px; background: #fbfbfd; }
    .bootstrap-site .tablet-ops-player-avatar,
    .bootstrap-site .tablet-ops-player-photo { display: block; width: 34px; height: 34px; overflow: hidden; border-radius: 10px; object-fit: cover; }
    .bootstrap-site .tablet-ops-player-feed article > span:nth-child(2) { min-width: 0; display: grid; gap: .02rem; }
    .bootstrap-site .tablet-ops-player-feed article strong { overflow: hidden; color: #292d3e; font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-ops-player-feed article small { overflow: hidden; color: #7b8090; font-size: .52rem; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-ops-player-feed article em { padding: .24rem .38rem; border-radius: 999px; background: #fff1cc; color: #775300; font-size: .48rem; font-style: normal; font-weight: 900; white-space: nowrap; }
    .bootstrap-site .tablet-ops-player-feed article em.ready { background: #e4f7ec; color: #087441; }
    .bootstrap-site .tablet-ops-player-empty { min-height: 180px; display: grid; align-content: center; justify-items: center; gap: .4rem; padding: 1rem; color: #73798a; text-align: center; }
    .bootstrap-site .tablet-ops-player-empty > span { display: flex; align-items: end; gap: 5px; height: 30px; }
    .bootstrap-site .tablet-ops-player-empty > span i { width: 7px; height: 13px; border-radius: 99px; background: #7357e7; animation: tablet-waiting-bars 1.15s ease-in-out infinite alternate; }
    .bootstrap-site .tablet-ops-player-empty > span i:nth-child(2) { height: 25px; animation-delay: .18s; }
    .bootstrap-site .tablet-ops-player-empty > span i:nth-child(3) { height: 18px; animation-delay: .36s; }
    .bootstrap-site .tablet-ops-player-empty strong { color: #343849; font-size: .78rem; }
    .bootstrap-site .tablet-ops-player-empty small { max-width: 190px; font-size: .58rem; line-height: 1.35; }
    .bootstrap-site .tablet-ops-manual-ready > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; background: #eee9ff; color: #5b3bd4; font-size: 1.7rem; font-weight: 900; }
    .bootstrap-site .tablet-ops-manual-panel { gap: .55rem; }
    .bootstrap-site .tablet-ops-manual-panel > header { flex: 0 0 auto; }
    .bootstrap-site .tablet-manual-next { min-width: 0; min-height: 56px; display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: .55rem; padding: .55rem; border: 1px solid #6546df; border-radius: 12px; background: linear-gradient(135deg,#5738d4,#7958ed); color: #fff; text-align: left; box-shadow: 0 8px 18px rgba(75,49,184,.22); }
    .bootstrap-site .tablet-manual-next > i { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: rgba(255,255,255,.16); font-size: .75rem; font-style: normal; }
    .bootstrap-site .tablet-manual-next > span { min-width: 0; display: grid; gap: .05rem; }
    .bootstrap-site .tablet-manual-next strong { overflow: hidden; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-manual-next small { overflow: hidden; color: #ded9ff; font-size: .51rem; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-manual-next:disabled { cursor: not-allowed; border-color: #dfe1e8; background: #eef0f4; color: #6d7280; box-shadow: none; }
    .bootstrap-site .tablet-manual-next:disabled > i { background: #dfe2e8; color: #7d8290; }
    .bootstrap-site .tablet-manual-next:disabled small { color: #7c8190; }
    .bootstrap-site .tablet-manual-next:not(:disabled):hover,
    .bootstrap-site .tablet-manual-next:not(:disabled):focus-visible { outline: 3px solid rgba(101,70,223,.2); outline-offset: 2px; transform: translateY(-1px); }
    .bootstrap-site .tablet-manual-answer-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; padding: .12rem .12rem 0; }
    .bootstrap-site .tablet-manual-answer-heading > span { color: #4d34b7; font-size: .55rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
    .bootstrap-site .tablet-manual-answer-heading > strong { color: #777c8d; font-size: .52rem; }
    .bootstrap-site .tablet-manual-answer-list { min-height: 0; display: grid; flex: 1 1 auto; align-content: start; gap: .32rem; margin: 0; padding: 0 .1rem .15rem 0; overflow-y: auto; list-style: none; scrollbar-width: thin; }
    .bootstrap-site .tablet-manual-answer-list li { min-width: 0; display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: .48rem; padding: .38rem .42rem; border: 1px solid #e4e6ec; border-radius: 9px; background: #fafafd; }
    .bootstrap-site .tablet-manual-answer-list li > b { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: #e8eaf0; color: #606576; font-size: .58rem; }
    .bootstrap-site .tablet-manual-answer-list li > span { min-width: 0; display: grid; gap: .02rem; }
    .bootstrap-site .tablet-manual-answer-list li small { overflow: hidden; color: #7560ce; font-size: .44rem; font-weight: 850; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
    .bootstrap-site .tablet-manual-answer-list li strong { overflow: hidden; color: #202438; font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-manual-answer-list li em { overflow: hidden; color: #7a7f8e; font-size: .47rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
    .bootstrap-site .tablet-manual-answer-list li.is-current { border-color: #6e51df; background: #f1edff; box-shadow: 0 0 0 2px rgba(101,70,223,.09); }
    .bootstrap-site .tablet-manual-answer-list li.is-current > b { background: #6040d8; color: #fff; }
    .bootstrap-site .tablet-manual-answer-list li.is-complete > b { background: #daf4e6; color: #087747; }
    .bootstrap-site .tablet-manual-answer-list li.is-upcoming { opacity: .72; }
    .bootstrap-site .tablet-ops-player-panel > footer { margin-top: auto; padding: .55rem .2rem .1rem; border-top: 1px solid #eceef3; color: #7c8191; font-size: .54rem; text-align: center; }
}

.bootstrap-site .tablet-rail-controls .tablet-winner-history-launcher { border-color: rgba(255,213,105,.4); background: linear-gradient(135deg,rgba(210,153,34,.19),rgba(114,76,208,.17)); }
.bootstrap-site .tablet-rail-controls .tablet-winner-history-launcher > i { background: rgba(255,213,105,.16); color: #ffe19a; font-size: .84rem; }
.bootstrap-site .winner-history-page { display: grid; gap: 1rem; }
.bootstrap-site .winner-history-page > .workspace-heading { align-items: end; }
.bootstrap-site .winner-history-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; padding: 4px; border: 1px solid #dfe1e9; border-radius: 13px; background: #eceef4; }
.bootstrap-site .winner-history-tabs button { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: .5rem; border: 0; border-radius: 9px; background: transparent; color: #676c7d; font-size: .72rem; font-weight: 900; }
.bootstrap-site .winner-history-tabs button span { min-width: 24px; padding: .18rem .38rem; border-radius: 999px; background: rgba(91,75,213,.1); color: #5542b5; font-size: .58rem; }
.bootstrap-site .winner-history-tabs button.active { background: #fff; color: #2e3244; box-shadow: 0 3px 10px rgba(32,38,65,.1); }
.bootstrap-site .winner-history-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.bootstrap-site .winner-history-summary > span { min-width: 0; display: grid; align-content: center; gap: .18rem; min-height: 108px; padding: 1rem 1.15rem; border: 1px solid #e1e3eb; border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(28,34,57,.055); }
.bootstrap-site .winner-history-summary small { color: #767c8d; font-size: .66rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.bootstrap-site .winner-history-summary strong { overflow: hidden; color: #24283a; font-size: clamp(1.25rem,2vw,1.8rem); line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .winner-history-summary em { color: #6b54ce; font-size: .7rem; font-style: normal; font-weight: 900; }
.bootstrap-site .winner-history-summary > .is-leading { border-color: #dbc75e; background: linear-gradient(135deg,#fff8cf,#fffdf4); box-shadow: 0 9px 24px rgba(142,107,10,.1); }
.bootstrap-site .winner-overall-board,
.bootstrap-site .winner-quiz-archive { min-width: 0; display: grid; gap: .75rem; padding: 1rem; border: 1px solid #dfe1e9; border-radius: 18px; background: #fff; box-shadow: 0 9px 26px rgba(29,35,59,.06); }
.bootstrap-site :is(.winner-overall-board,.winner-quiz-archive) > header { min-width: 0; display: flex; align-items: end; justify-content: space-between; gap: .75rem; padding: 0 .15rem; }
.bootstrap-site :is(.winner-overall-board,.winner-quiz-archive) > header > span { min-width: 0; display: grid; gap: .08rem; }
.bootstrap-site :is(.winner-overall-board,.winner-quiz-archive) > header small { color: #7457d8; font-size: .6rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.bootstrap-site :is(.winner-overall-board,.winner-quiz-archive) > header strong { color: #24283a; font-size: 1rem; }
.bootstrap-site :is(.winner-overall-board,.winner-quiz-archive) > header > em { color: #7b8090; font-size: .65rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.bootstrap-site .winner-overall-rows { display: grid; gap: .5rem; }
.bootstrap-site .winner-overall-rows > article { min-width: 0; display: grid; grid-template-columns: 34px 54px minmax(0,1fr) minmax(68px,auto) minmax(94px,auto); align-items: center; gap: .7rem; padding: .65rem .75rem; border: 1px solid #e4e5ec; border-radius: 13px; background: #fafafd; }
.bootstrap-site .winner-overall-rows > article.is-first { border-color: #e3c94f; background: linear-gradient(100deg,#fff7c8,#fffdf4); box-shadow: 0 7px 18px rgba(139,102,0,.08); }
.bootstrap-site .winner-overall-rows > article > b { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 9px; background: #252a40; color: #fff; font-size: .74rem; }
.bootstrap-site .winner-overall-rows > article.is-first > b { background: #d49813; }
.bootstrap-site .winner-history-avatar { width: 54px; height: 54px; display: block; border: 2px solid #fff; border-radius: 15px; object-fit: cover; box-shadow: 0 0 0 1px #d9dce6; }
.bootstrap-site .winner-overall-rows > article > span { min-width: 0; display: grid; gap: .1rem; }
.bootstrap-site .winner-overall-rows > article > span strong { overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .winner-overall-rows > article > span small { overflow: hidden; color: #777d8e; font-size: .6rem; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .winner-overall-rows > article > em { display: grid; justify-items: end; gap: .02rem; font-style: normal; }
.bootstrap-site .winner-overall-rows > article > em strong { font-size: .8rem; }
.bootstrap-site .winner-overall-rows > article > em small { color: #7a8090; font-size: .52rem; }
.bootstrap-site .winner-quiz-archive > div { display: grid; grid-template-columns: repeat(auto-fit,minmax(245px,1fr)); gap: .6rem; }
.bootstrap-site .winner-quiz-archive article { min-width: 0; display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: .65rem; padding: .7rem; border: 1px solid #e5e6ed; border-radius: 14px; background: #fbfbfd; }
.bootstrap-site .winner-archive-avatar { width: 58px; height: 58px; display: block; border-radius: 16px; object-fit: cover; box-shadow: inset 0 0 0 1px rgba(0,0,0,.07); }
.bootstrap-site .winner-quiz-archive article > span { min-width: 0; display: grid; gap: .08rem; }
.bootstrap-site .winner-quiz-archive article > span small { overflow: hidden; color: #7053d5; font-size: .54rem; font-weight: 900; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.bootstrap-site .winner-quiz-archive article > span strong { overflow: hidden; color: #262a3c; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .winner-quiz-archive article > span em { color: #7a7f8e; font-size: .58rem; font-style: normal; }
.bootstrap-site .winner-quiz-archive article > b { display: grid; justify-items: end; color: #222638; }
.bootstrap-site .winner-quiz-archive article > b strong { font-size: .82rem; }
.bootstrap-site .winner-quiz-archive article > b small { color: #7d8291; font-size: .5rem; font-weight: 700; }
.bootstrap-site .winner-archive-actions { display: grid; justify-items: end; gap: .32rem; }
.bootstrap-site .winner-archive-actions > b { display: grid; justify-items: end; color: #222638; }
.bootstrap-site .winner-archive-actions > b strong { font-size: .82rem; }
.bootstrap-site .winner-archive-actions > b small { color: #7d8291; font-size: .5rem; font-weight: 700; }
.bootstrap-site .winner-archive-actions > button { min-height: 34px; padding: .28rem .45rem; font-size: .58rem; font-weight: 900; white-space: nowrap; }
.bootstrap-site .winner-removal-form { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: .6rem; padding: .7rem; border: 1px solid #efc0c8; border-radius: 11px; background: #fff5f6; }
.bootstrap-site .winner-removal-form[hidden] { display: none; }
.bootstrap-site .winner-removal-form label { display: grid; gap: .3rem; color: #783644; font-size: .64rem; font-weight: 900; }
.bootstrap-site .winner-removal-form textarea { width: 100%; min-height: 64px; padding: .55rem .65rem; resize: vertical; border: 1px solid #d8aab3; border-radius: 9px; background: #fff; color: #282b3b; font-size: 16px; font-weight: 500; }
.bootstrap-site .winner-removal-form > div { display: flex; gap: .4rem; }
.bootstrap-site .winner-removal-form .button { min-height: 44px; padding: .45rem .65rem; font-size: .63rem; white-space: nowrap; }
.bootstrap-site .winner-removal-form .button-danger { border: 0; background: #b42338; color: #fff; }
.bootstrap-site .winner-removed-archive article { opacity: .9; border-color: #e3d5d8; background: #f9f6f7; }
.bootstrap-site .winner-removed-archive .winner-archive-avatar { filter: grayscale(.7); opacity: .72; }
.bootstrap-site .winner-removal-record { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .45rem; margin: 0; padding: .55rem .65rem; border-radius: 9px; background: #fff; color: #676b7a; font-size: .6rem; line-height: 1.35; }
.bootstrap-site .winner-removal-record strong { color: #922f42; }
.bootstrap-site .winner-removal-record small { color: #888b98; }
.bootstrap-site .winner-history-empty.compact { min-height: 180px; }
.bootstrap-site .winner-history-loading,
.bootstrap-site .winner-history-empty { min-height: 250px; display: grid; place-items: center; align-content: center; gap: .65rem; padding: 2rem; border: 1px dashed #d7d9e3; border-radius: 18px; background: #fbfbfd; color: #707687; text-align: center; }
.bootstrap-site .winner-history-loading i { width: 30px; height: 30px; border: 3px solid #ded9f5; border-top-color: #6546df; border-radius: 50%; animation: winner-history-spin .75s linear infinite; }
.bootstrap-site .winner-history-empty > span { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 16px; background: #fff2b7; color: #8a6200; font-size: 1.2rem; font-weight: 900; }
.bootstrap-site .winner-history-empty strong { color: #2d3144; }
.bootstrap-site .winner-history-empty p { max-width: 480px; margin: 0; font-size: .74rem; line-height: 1.5; }
.bootstrap-site .quizzme-redesign .tablet-winner-history-modal { width: min(920px,calc(100vw - 2rem)); max-width: 920px; height: min(780px,calc(100dvh - 2rem)); max-height: calc(100dvh - 2rem); display: grid; grid-template-rows: auto minmax(0,1fr); padding: 0; overflow: hidden; text-align: left; }
.bootstrap-site .tablet-winner-history-heading { min-width: 0; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: .8rem; padding: 1rem 1.1rem; border-bottom: 1px solid #e3e4eb; background: linear-gradient(110deg,#fff9d8,#faf8ff); }
.bootstrap-site .tablet-winner-history-heading .host-confirm-icon { margin: 0; }
.bootstrap-site .tablet-winner-history-heading > div { min-width: 0; }
.bootstrap-site .tablet-winner-history-heading h2 { margin: .08rem 0; font-size: 1.25rem; }
.bootstrap-site .tablet-winner-history-heading p:last-child { margin: 0; color: #73798a; font-size: .7rem; }
.bootstrap-site .tablet-winner-history-heading > button { align-self: start; min-height: 38px; padding: .35rem .6rem; color: #5742ba; font-size: .7rem; font-weight: 900; }
.bootstrap-site .tablet-winner-history-body { min-height: 0; display: grid; align-content: start; gap: .8rem; padding: 1rem; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; background: #f5f6fa; }
@keyframes winner-history-spin { to { transform: rotate(360deg); } }

@media (max-width: 700px) {
    .bootstrap-site .winner-history-summary { grid-template-columns: 1fr; }
    .bootstrap-site .winner-history-summary > span { min-height: 82px; }
    .bootstrap-site .winner-overall-rows > article { grid-template-columns: 30px 48px minmax(0,1fr) auto; gap: .5rem; }
    .bootstrap-site .winner-history-avatar { width: 48px; height: 48px; }
    .bootstrap-site .winner-overall-rows > article > em:last-child { display: none; }
    .bootstrap-site .winner-quiz-archive > div { grid-template-columns: 1fr; }
    .bootstrap-site .winner-removal-form { grid-template-columns: 1fr; }
    .bootstrap-site .winner-removal-form > div { display: grid; grid-template-columns: 1fr 1fr; }
    .bootstrap-site .winner-removal-record { grid-template-columns: 1fr; }
    .bootstrap-site .quizzme-redesign .tablet-winner-history-modal { width: calc(100vw - 1rem); height: calc(100dvh - 1rem); max-height: calc(100dvh - 1rem); }
    .bootstrap-site .tablet-winner-history-heading { grid-template-columns: 42px minmax(0,1fr) auto; padding: .8rem; }
    .bootstrap-site .tablet-winner-history-heading p:last-child { display: none; }
    .bootstrap-site .tablet-winner-history-body { padding: .65rem; }
}

@keyframes tablet-live-pulse { 75%,100% { box-shadow: 0 0 0 10px rgba(34,184,111,0); } }
@keyframes tablet-waiting-bars { to { height: 29px; opacity: .45; } }
@keyframes tablet-question-view-in { from { opacity: 0; transform: translateY(7px) scale(.992); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) {
    .bootstrap-site .tablet-ops-player-empty > span i { animation: none; }
    .bootstrap-site .tablet-ops-question-view { animation: none; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-workspace,
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-topbar,
    .bootstrap-site .tablet-rail-toggle,
    .bootstrap-site .tablet-operations,
    .bootstrap-site .tablet-ops-player-panel,
    .bootstrap-site .tablet-ops-player-toggle { transition: none; }
}

@media (min-width: 768px) and (max-width: 900px) {
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-workspace { grid-template-columns: 174px minmax(0,1fr); }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode.tablet-rail-collapsed .host-workspace { grid-template-columns: 0 minmax(0,1fr); }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-topbar { width: 174px; padding-inline: .5rem; }
    .bootstrap-site .tablet-rail-toggle { left: 152px; }
    .bootstrap-site .tablet-rail-toggle.is-collapsed { left: 12px; }
    .bootstrap-site .tablet-rail-controls :is(button,a) { grid-template-columns: 28px minmax(0,1fr); padding-inline: .42rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-message-control { grid-template-columns: 1fr 1fr; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-message-control .field { grid-column: 1 / -1; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .tablet-touch-dialog .display-toggle-group { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .tablet-ops-overview { grid-template-columns: 1fr; gap: .5rem; }
    .bootstrap-site .tablet-operations { grid-template-columns: minmax(0,1fr) minmax(215px,240px); }
    .bootstrap-site .tablet-ops-player-panel { padding: .58rem; }
    .bootstrap-site .tablet-ops-player-feed article { grid-template-columns: 31px minmax(0,1fr); }
    .bootstrap-site .tablet-ops-player-feed article em { display: none; }
    .bootstrap-site .tablet-ops-player-avatar,
    .bootstrap-site .tablet-ops-player-photo { width: 31px; height: 31px; }
}

@media (min-width: 901px) and (max-width: 1100px) {
    .bootstrap-site .tablet-ops-overview { grid-template-columns: 1fr; gap: .5rem; }
}

@media (min-width: 768px) and (max-height: 800px) {
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-header-utilities { gap: .45rem; }
    .bootstrap-site .tablet-rail-controls { gap: .3rem; }
    .bootstrap-site .tablet-rail-controls :is(button,a) { min-height: 46px; padding-block: .42rem; }
    .bootstrap-site .tablet-rail-controls .tablet-rail-primary { min-height: 56px; }
    .bootstrap-site .tablet-rail-footer { gap: 4px; }
    .bootstrap-site .tablet-rail-danger-zone { gap: 3px; padding-top: 2px; }
    .bootstrap-site .tablet-rail-danger-zone #tabletCloseQuiz { min-height: 44px; padding-block: .4rem; }
    .bootstrap-site .tablet-rail-danger-zone #tabletCloseQuiz small { display: none; }
}

@media (min-width: 768px) and (max-width: 900px) and (orientation: portrait) {
    .bootstrap-site .tablet-operations { grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto minmax(0,1fr); }
    .bootstrap-site .tablet-operations.tablet-player-panel-collapsed { grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto 0; align-content: start; }
    .bootstrap-site .tablet-ops-overview { grid-template-columns: 1fr; gap: .5rem; }
    .bootstrap-site .tablet-ops-stage { grid-column: 1; grid-row: 2; }
    .bootstrap-site .tablet-ops-player-panel { grid-column: 1; grid-row: 3; }
    .bootstrap-site .tablet-operations.tablet-player-panel-collapsed .tablet-ops-player-panel { transform: translateY(24px); }
    .bootstrap-site .tablet-ops-stage { height: auto; min-height: 0; }
    .bootstrap-site .tablet-ops-display-viewport { aspect-ratio: 16 / 9; }
    .bootstrap-site .tablet-ops-player-feed { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .tablet-ops-player-empty { grid-column: 1 / -1; min-height: 140px; }
}

@media (min-width: 768px) and (max-height: 700px) {
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-topbar { gap: .45rem; padding-block: .45rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-topbar-leading { gap: .35rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-navbar-branding { min-height: 34px; padding-block: .25rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-navbar-branding .personal-branding small { display: none; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-navbar-branding .personal-branding img { max-width: 92px; height: 22px; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-header-utilities { gap: .45rem; }
    .bootstrap-site .host-app.reference-design.tablet-ops-mode .host-workspace-mode-action { min-height: 36px; padding-block: .28rem; }
    .bootstrap-site .tablet-rail-controls { gap: .3rem; }
    .bootstrap-site .tablet-rail-controls :is(button,a) { min-height: 44px; }
    .bootstrap-site .tablet-rail-controls .tablet-rail-primary { min-height: 54px; }
    .bootstrap-site .tablet-rail-danger-zone { gap: .3rem; padding-top: .45rem; }
    .bootstrap-site .tablet-rail-danger-zone #tabletCloseQuiz { min-height: 46px; }
    .bootstrap-site .tablet-rail-danger-zone #tabletCloseQuiz small { display: none; }
    .bootstrap-site .tablet-operations { gap: .45rem; }
    .bootstrap-site .tablet-ops-overview { padding-block: .48rem; }
    .bootstrap-site .tablet-ops-stage { padding: .45rem; }
    .bootstrap-site .tablet-ops-question-view { gap: .48rem; padding: .65rem; }
    .bootstrap-site .tablet-question-view-copy h2 { font-size: clamp(1.25rem,2.7vw,2rem); }
    .bootstrap-site .tablet-question-view-answers { grid-auto-rows: minmax(min-content,1fr); gap: .42rem; }
    .bootstrap-site .tablet-question-view-answers > div { min-height: 72px; padding: .55rem; }
    .bootstrap-site .tablet-ops-player-panel { padding-block: .5rem; }
    .bootstrap-site .tablet-ops-player-progress { margin-block: .45rem; padding: .45rem; }
    .bootstrap-site .tablet-ops-player-feed { gap: .25rem; }
    .bootstrap-site .tablet-ops-player-feed article { min-height: 39px; padding-block: .24rem; }
    .bootstrap-site .tablet-ops-player-avatar,
    .bootstrap-site .tablet-ops-player-photo { width: 29px; height: 29px; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .host-workspace-mode-action { display: none; }
    .bootstrap-site .tablet-rail-toggle { display: none; }
    .tablet-ops-display-frame { display: none !important; }
}

/* One switch primitive for auth, setup, builder and display settings.
   These !important resets deliberately beat Bootstrap's injected
   .form-check-input rules without changing ordinary checkboxes or radios. */
.bootstrap-site .toggle-row { --site-switch-on: var(--ref-green,#168655); }
.bootstrap-site input.site-switch,
.bootstrap-site input.site-switch.form-check-input {
    position: relative !important;
    float: none !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 26px !important;
    min-height: 26px !important;
    flex: 0 0 46px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 1px solid #b9bdca !important;
    border-radius: 999px !important;
    background: #d7d9e1 !important;
    background-image: none !important;
    box-shadow: inset 0 1px 2px rgba(23,25,43,.12) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer;
    box-sizing: border-box;
    vertical-align: middle;
    transition: border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.bootstrap-site input.site-switch::before,
.bootstrap-site input.site-switch.form-check-input::before {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    display: block;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 5px rgba(26,28,48,.28);
    content: '';
    transition: transform .18s ease;
}
.bootstrap-site input.site-switch::after,
.bootstrap-site input.site-switch.form-check-input::after { display: none !important; content: none !important; }
.bootstrap-site input.site-switch:checked,
.bootstrap-site input.site-switch.form-check-input:checked {
    border-color: var(--site-switch-on,#6047d5) !important;
    background: var(--site-switch-on,#6047d5) !important;
    background-image: none !important;
}
.bootstrap-site input.site-switch:checked::before,
.bootstrap-site input.site-switch.form-check-input:checked::before { transform: translateX(20px); }
.bootstrap-site input.site-switch:focus,
.bootstrap-site input.site-switch.form-check-input:focus { box-shadow: inset 0 1px 2px rgba(23,25,43,.1),0 0 0 4px rgba(96,71,213,.16) !important; }
.bootstrap-site input.site-switch:focus:not(:focus-visible),
.bootstrap-site input.site-switch.form-check-input:focus:not(:focus-visible) { box-shadow: inset 0 1px 2px rgba(23,25,43,.1) !important; }
.bootstrap-site input.site-switch:focus-visible,
.bootstrap-site input.site-switch.form-check-input:focus-visible { outline: 2px solid var(--site-switch-on,#6047d5); outline-offset: 3px; }
.bootstrap-site input.site-switch:disabled,
.bootstrap-site input.site-switch.form-check-input:disabled { border-color: #cfd1d8 !important; background: #e3e4e9 !important; opacity: .68 !important; cursor: not-allowed; }
.bootstrap-site input.site-switch:checked:disabled,
.bootstrap-site input.site-switch.form-check-input:checked:disabled { border-color: #9994b4 !important; background: #9994b4 !important; }
.bootstrap-site :is(.toggle-row,.auth-remember-option,.builder-pause-toggle,.round-intro-toggle,.round-pause-option,.display-wifi-open-option):has(> .site-switch:disabled) { cursor: not-allowed; }

.bootstrap-site :is(.presentation-toggle,.audience-theme-control button,.sound-toggle) { cursor: pointer; transition: border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease; }
.bootstrap-site :is(.presentation-toggle,.audience-theme-control button,.sound-toggle):focus-visible { outline: 3px solid rgba(96,71,213,.3); outline-offset: 2px; }
.bootstrap-site :is(.presentation-toggle,.audience-theme-control button,.sound-toggle):disabled { cursor: not-allowed; opacity: .58; transform: none; }

@media (prefers-reduced-motion: reduce) {
    .bootstrap-site input.site-switch,
    .bootstrap-site input.site-switch::before,
    .bootstrap-site :is(.presentation-toggle,.audience-theme-control button,.sound-toggle) { transition: none; }
}

@media (forced-colors: active) {
    .bootstrap-site input.site-switch,
    .bootstrap-site input.site-switch.form-check-input { border: 2px solid CanvasText !important; background: Canvas !important; forced-color-adjust: none; }
    .bootstrap-site input.site-switch:checked,
    .bootstrap-site input.site-switch.form-check-input:checked { border-color: Highlight !important; background: Highlight !important; }
    .bootstrap-site input.site-switch::before,
    .bootstrap-site input.site-switch.form-check-input::before { background: CanvasText; box-shadow: none; }
}

/* The homepage footer owns a real grid row. Keeping it out of the hero's
   positioning layer guarantees that branding cannot cover either action. */
.bootstrap-site .home-page.reference-design.home-full-bleed .home-reference-hero {
    height: 100dvh;
    min-height: 100dvh;
    display: grid;
    grid-template-rows: minmax(0,1fr) auto;
    overflow: hidden;
}
.bootstrap-site .home-page.reference-design.home-full-bleed .home-simple-inner {
    position: relative;
    inset: auto;
    grid-row: 1;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: clamp(1rem,4vh,3rem) 1rem;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
}
.bootstrap-site .home-page.reference-design.home-full-bleed .home-sponsor-footer {
    position: relative;
    inset: auto;
    grid-row: 2;
    flex: 0 0 auto;
}

@media (max-height: 700px) {
    .bootstrap-site .home-page.reference-design.home-full-bleed .home-simple-inner { padding-block: .65rem; }
    .bootstrap-site .home-page.reference-design.home-full-bleed .home-sponsor-footer { padding: .55rem 1rem max(.45rem,env(safe-area-inset-bottom)); }
    .bootstrap-site .home-page.reference-design.home-full-bleed .home-sponsor-footer .apexia-sponsor-home { padding-block: .2rem; }
}

/* Tablet account entry uses the middle grid row as its scrollport. The form
   remains centred on tall tablets and starts safely at the top when landscape
   height is tight, while the header and sponsor footer stay unobstructed. */
@media (min-width: 600px) and (max-width: 1199.98px) {
    .bootstrap-site .host-auth-shell .public-header {
        width: min(1080px,calc(100% - 2rem));
        height: clamp(58px,8dvh,70px);
        min-height: 58px;
    }
    .bootstrap-site .host-auth-shell .host-auth-polished {
        width: 100%;
        height: 100%;
        min-height: 0;
        grid-template-columns: minmax(0,1fr);
        align-items: start;
        padding: clamp(.75rem,2dvh,1.25rem) 1rem;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
        -webkit-overflow-scrolling: touch;
    }
    .bootstrap-site .host-auth-shell .host-auth-polished > .auth-context { display: none; }
    .bootstrap-site .host-auth-shell .host-auth-polished > .auth-form-wrap {
        width: min(560px,calc(100% - 1rem));
        height: auto;
        min-height: 0;
        max-height: none;
        justify-self: center;
        margin-block: auto;
        padding: clamp(1.1rem,2.8vw,1.75rem);
        border-radius: 20px;
    }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form { width: min(440px,100%); }
}

@media (min-width: 600px) and (max-width: 1199.98px) and (max-height: 820px) {
    .bootstrap-site .host-auth-shell .public-header { height: 58px; min-height: 58px; }
    .bootstrap-site .host-auth-shell .host-auth-polished { padding-block: .55rem; }
    .bootstrap-site .host-auth-shell .host-auth-polished > .auth-form-wrap { padding: .8rem 1.25rem; border-radius: 16px; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form { gap: .45rem; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form > .section-label { display: block; }
    .bootstrap-site .host-auth-shell .host-auth-polished .auth-form :is(h1,h2) { margin-bottom: .1rem; font-size: clamp(1.45rem,3vw,1.85rem); }
    .bootstrap-site .host-auth-shell .auth-form .segmented { padding: 3px; }
    .bootstrap-site .host-auth-shell .auth-form .segmented button { min-height: 36px; }
    .bootstrap-site .host-auth-shell .auth-form .field { gap: .15rem; font-size: .74rem; }
    .bootstrap-site .host-auth-shell .auth-form input:not(.site-switch) { min-height: 42px; margin-top: 0; padding-block: .45rem; }
    .bootstrap-site .host-auth-shell .auth-form .button-primary { min-height: 44px; }
    .bootstrap-site .host-auth-shell .auth-remember-option { margin-block: .05rem; padding: .55rem .65rem; }
    .bootstrap-site .host-auth-shell #authPanel { gap: .42rem; }
    .bootstrap-site .host-auth-shell .auth-action-status { min-height: 1em; }
    .bootstrap-site .host-auth-shell .auth-note { margin-top: .1rem; }
}

@media (max-height: 700px) {
    .bootstrap-site .home-page.reference-design.home-full-bleed .home-simple-inner { place-items: center; }
    .bootstrap-site .home-page.reference-design .home-legacy-logo-link { margin-bottom: .3rem; }
    .bootstrap-site .home-page.reference-design .home-legacy-logo { width: clamp(82px,15dvh,108px); }
    .bootstrap-site .home-page.reference-design .home-simple-copy h1 { font-size: clamp(2.15rem,7dvh,2.9rem); }
    .bootstrap-site .home-page.reference-design .home-simple-copy .home-intro { margin: .45rem auto .7rem; font-size: .86rem; line-height: 1.3; }
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join { padding: .7rem; border-radius: 14px; }
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join label { margin-bottom: .3rem; }
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join input,
    .bootstrap-site .home-page.reference-design .home-simple-copy .hero-join .button { min-height: 44px; }
    .bootstrap-site .home-page.reference-design .home-host-prompt { margin-top: .55rem; }
    .bootstrap-site .home-page.reference-design .home-host-link { min-height: 40px; padding: .5rem .8rem; }
}

/* Builder journey: setup, focused question editing, then review/save. */
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-progress-nav {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .35rem;
    margin: 0 0 1rem;
    padding: .4rem;
    border: 1px solid #dfe2eb;
    border-radius: 16px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 10px 30px rgba(24,28,50,.09);
    backdrop-filter: blur(14px);
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-progress-nav a {
    min-width: 0;
    min-height: 58px;
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    align-items: center;
    gap: .6rem;
    padding: .55rem .65rem;
    border: 1px solid transparent;
    border-radius: 12px;
    color: #34384b;
    text-decoration: none;
    transition: border-color .16s ease,background .16s ease,transform .16s ease;
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-progress-nav a:hover { border-color: #d8d3f6; background: #f7f5ff; transform: translateY(-1px); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-progress-nav a:focus-visible { outline: 3px solid rgba(91,75,213,.25); outline-offset: 1px; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-progress-nav b,
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-step-badge {
    width: 34px;
    height: 34px;
    display: grid;
    flex: 0 0 34px;
    place-items: center;
    border-radius: 10px;
    background: #e9e6ff;
    color: var(--builder-accent-dark);
    font-size: .78rem;
    font-weight: 900;
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-progress-nav a:nth-child(2) b { background: #e7f7f1; color: #176844; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-progress-nav a:nth-child(3) b { background: #fff2cc; color: #805300; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-progress-nav a > span { min-width: 0; display: grid; gap: .08rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-progress-nav strong { overflow: hidden; color: var(--builder-ink); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-progress-nav small { overflow: hidden; color: var(--builder-muted); font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }

.bootstrap-site .host-content[data-host-surface="quiz-builder"] :is(.builder-setup-panel,.builder-question-stage,.builder-bottom-actions) { scroll-margin-top: 84px; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-panel,
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-question-stage {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--builder-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 36px rgba(25,30,55,.06);
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-section-heading {
    min-width: 0;
    display: grid;
    grid-template-columns: 42px minmax(0,1fr) auto;
    align-items: center;
    gap: .8rem;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid var(--builder-line);
    background: linear-gradient(110deg,#faf9ff,#fff 68%);
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-section-heading > div { min-width: 0; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-section-heading .section-label { margin: 0 0 .12rem; color: var(--builder-accent); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-section-heading h2 { margin: 0; color: var(--builder-ink); font-size: clamp(1.05rem,1.8vw,1.35rem); letter-spacing: -.025em; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-section-heading p:last-child { margin: .2rem 0 0; color: var(--builder-muted); font-size: .72rem; line-height: 1.4; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-grid {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: .85rem;
    padding: 1rem;
    background: #f7f8fb;
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-grid > .quiz-title-row {
    margin: 0;
    border-color: #dfe2eb;
    box-shadow: none;
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-grid > .builder-edit-toolbar {
    min-width: 0;
    min-height: 100%;
    display: grid;
    grid-template-columns: minmax(0,1fr);
    align-content: start;
    gap: .75rem;
    margin: 0;
    padding: 1rem;
    border-color: #dedbea;
    background: #fff;
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-grid .builder-back-to-sources { width: fit-content; margin: 0; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-grid .builder-toolbar-heading { width: 100%; min-width: 0; margin: 0; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-grid .builder-duration-control {
    width: 100%;
    grid-template-columns: minmax(0,1fr) 92px auto;
    gap: .5rem;
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-grid .builder-duration-control > label { grid-column: 1 / -1; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-grid > .builder-controlled-pause { min-width: 0; min-height: 100%; align-content: start; box-shadow: none; }

.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-question-stage { background: #f4f6fa; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-question-stage-heading { background: linear-gradient(110deg,#f1fbf6,#fff 68%); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-question-stage-heading .builder-step-badge { background: #dff4e9; color: #176844; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-stage-progress { min-width: 180px; display: grid; justify-items: end; gap: .1rem; padding: .55rem .7rem; border: 1px solid #cfe6d9; border-radius: 11px; background: #fff; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-stage-progress strong { color: #176844; font-size: .76rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-stage-progress small { color: var(--builder-muted); font-size: .62rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-question-stage > .tablet-question-workspace { gap: .9rem; padding: 1rem; }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-question-stage .round-editor { box-shadow: 0 8px 24px rgba(25,30,55,.055); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-question-stage .round-header { background: linear-gradient(110deg,#f8f7ff,#fff); }
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-question-stage .round-format-editor { background: #fafbfe; }

.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-bottom-actions {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr) auto;
}
.bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-bottom-actions .builder-step-badge { background: #fff0c0; color: #805300; }

@media (min-width: 960px) {
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-grid { grid-template-columns: minmax(280px,.78fr) minmax(380px,1.22fr); }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-grid > .quiz-title-row { grid-column: 1 / -1; }
}

@media (min-width: 768px) {
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-question-stage .tablet-question-index { top: 1rem; }
}

@media (min-width: 768px) and (max-width: 900px) {
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-question-stage .tablet-question-workspace { grid-template-columns: minmax(178px,205px) minmax(0,1fr); gap: .75rem; }
}

@media (max-width: 767.98px) {
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-progress-nav { position: relative; top: auto; grid-template-columns: repeat(3,minmax(150px,1fr)); overflow-x: auto; scrollbar-width: thin; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-section-heading { grid-template-columns: 38px minmax(0,1fr); padding: .85rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-question-stage-heading .builder-stage-progress { grid-column: 1 / -1; width: 100%; min-width: 0; justify-items: start; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-grid,
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-question-stage > .tablet-question-workspace { padding: .7rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-grid > .quiz-title-row { padding: .85rem; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-grid .builder-duration-control { grid-template-columns: minmax(0,1fr) auto; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-setup-grid .builder-duration-control > label { grid-column: 1 / -1; }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-bottom-actions { display: grid; grid-template-columns: 38px minmax(0,1fr); }
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-bottom-actions .button { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
    .bootstrap-site .host-content[data-host-surface="quiz-builder"] .builder-progress-nav a { transition: none; }
}

/* Live media continuity and compact controller layouts. */
.bootstrap-site .apexia-sponsor-static { cursor: default; pointer-events: none !important; }

.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback.media-type-movies,
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback.media-type-video,
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-viewing.media-type-picture {
    position: relative;
    width: 100%;
    height: 100%;
    max-width: none;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #050711;
}
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback.media-type-movies > header,
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback.media-type-video > header,
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-viewing.media-type-picture > header { display: none; }
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback.media-type-movies .question-media-video,
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback.media-type-video .question-media-video {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #050711;
    box-shadow: none;
}
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback.media-type-movies .question-media-video video,
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback.media-type-video .question-media-video video {
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    border-radius: 0;
    object-fit: contain;
}
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback.media-type-movies .question-media-clip-copy,
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback.media-type-video .question-media-clip-copy,
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback.media-type-movies [data-play-question-media],
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback.media-type-video [data-play-question-media] { display: none; }
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback .question-media-video[data-autoplay-blocked="true"] [data-play-question-media] {
    position: absolute;
    left: 50%;
    bottom: clamp(1rem,3vw,2rem);
    z-index: 4;
    display: inline-flex;
    width: auto;
    min-width: 180px;
    min-height: 48px;
    justify-content: center;
    border-color: rgba(255,255,255,.38);
    background: rgba(255,255,255,.94);
    color: #171a27;
    box-shadow: 0 14px 34px rgba(0,0,0,.38);
    transform: translateX(-50%);
}
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-viewing.media-type-picture .media-picture-preview-tv {
    display: grid;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    place-items: center;
    background: #050711;
}
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-viewing.media-type-picture .media-picture-preview-tv > div {
    width: auto;
    height: 100%;
    max-width: 100%;
    max-height: none;
    aspect-ratio: 16 / 9;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-viewing.media-type-picture .media-picture-preview-tv figcaption { display: none; }
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback.media-type-movies > .media-round-stage-timer,
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-playback.media-type-video > .media-round-stage-timer,
.bootstrap-site .display-redesign .media-question-prelude-tv.media-stage-viewing.media-type-picture > .media-round-stage-timer {
    position: absolute;
    right: clamp(.8rem,2vw,1.5rem);
    bottom: clamp(.8rem,2vw,1.5rem);
    z-index: 3;
    margin: 0;
    border: 1px solid rgba(255,255,255,.3);
    background: rgba(5,7,17,.86);
    box-shadow: 0 12px 34px rgba(0,0,0,.38);
    backdrop-filter: blur(12px);
}

.bootstrap-site .display-redesign .tv-reveal {
    min-width: 0;
    min-height: 0;
    grid-template-columns: minmax(0,.82fr) minmax(320px,1.18fr);
    gap: clamp(1rem,4vw,4rem);
    padding: clamp(1rem,4vh,3rem) clamp(1rem,5vw,5rem);
    overflow: hidden;
}
.bootstrap-site .display-redesign .tv-reveal .reveal-answer,
.bootstrap-site .display-redesign .tv-reveal .answer-results { min-width: 0; min-height: 0; }
.bootstrap-site .display-redesign .tv-reveal .reveal-answer h1 {
    margin-block: clamp(.5rem,1.5vh,1rem);
    overflow-wrap: anywhere;
    font-size: clamp(1.8rem,4vw,4.5rem);
    line-height: 1.02;
}
.bootstrap-site .display-redesign .tv-reveal .reveal-answer > p:last-of-type {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.bootstrap-site .display-redesign .tv-reveal .answer-results { align-content: center; gap: clamp(.45rem,1vh,.75rem); }
.bootstrap-site .display-redesign .tv-reveal .answer-results > div {
    min-width: 0;
    grid-template-columns: minmax(130px,.8fr) minmax(90px,1fr) 32px;
    gap: clamp(.5rem,1vw,.85rem);
    padding: clamp(.65rem,1.25vh,.9rem);
}
.bootstrap-site .display-redesign .tv-reveal.has-picture-reveal .media-picture-preview-tv-reveal {
    width: min(100%,46vh);
    margin: clamp(.45rem,1vh,.75rem) 0 0;
}
.bootstrap-site .display-redesign .tv-reveal.has-picture-reveal .media-picture-preview-tv-reveal > div {
    max-height: 24vh;
    border-width: 4px;
    border-radius: 13px;
}
.bootstrap-site .display-redesign .tv-reveal.has-picture-reveal .media-picture-preview-tv-reveal figcaption { display: none; }

@media (max-width: 620px) {
    .bootstrap-site .player-main:has(.phone-question.picture-question) { overflow: hidden; }
    .bootstrap-site .phone-question.picture-question {
        height: 100%;
        min-height: 0;
        grid-template-rows: auto auto minmax(64px,18dvh) minmax(0,1fr);
        gap: clamp(.25rem,.8dvh,.42rem);
        padding: .45rem .65rem .5rem;
        overflow: hidden;
    }
    .bootstrap-site .phone-question.picture-question.has-provisional-answer {
        grid-template-rows: auto auto minmax(58px,15dvh) auto minmax(0,1fr);
    }
    .bootstrap-site .phone-question.picture-question.automatic-overtime {
        grid-template-rows: auto auto auto minmax(54px,14dvh) minmax(0,1fr);
    }
    .bootstrap-site .phone-question.picture-question.automatic-overtime.has-provisional-answer {
        grid-template-rows: auto auto auto minmax(46px,11dvh) auto minmax(0,1fr);
    }
    .bootstrap-site .phone-question.picture-question .phone-question-meta { min-height: 44px; }
    .bootstrap-site .phone-question.picture-question .phone-question-timer {
        min-width: 74px;
        min-height: 42px;
        padding: .24rem .5rem;
        border-width: 2px;
        border-radius: 12px;
        box-shadow: 0 0 0 3px rgba(22,140,255,.12);
    }
    .bootstrap-site .phone-question.picture-question .phone-question-timer strong { font-size: 1.28rem; }
    .bootstrap-site .phone-question.picture-question h1 {
        margin: 0;
        font-size: clamp(.96rem,4.15vw,1.2rem);
        line-height: 1.1;
    }
    .bootstrap-site .phone-question.picture-question .media-picture-preview-phone-answer {
        align-self: stretch;
        width: 100%;
        height: 100%;
        min-height: 0;
        margin: 0 auto;
    }
    .bootstrap-site .phone-question.picture-question .media-picture-preview-phone-answer > div {
        width: auto;
        height: 100%;
        max-width: 100%;
        min-height: 0;
        aspect-ratio: 16 / 9;
        margin-inline: auto;
        border-width: 3px;
        border-radius: 10px;
    }
    .bootstrap-site .phone-question.picture-question .media-picture-preview-phone-answer figcaption { display: none; }
    .bootstrap-site .phone-question.picture-question .phone-answer-grid {
        min-height: 0;
        grid-template-rows: repeat(4,minmax(44px,1fr));
        gap: .28rem;
    }
    .bootstrap-site .phone-question.picture-question .phone-answer {
        min-height: 44px;
        grid-template-columns: 34px minmax(0,1fr);
        gap: .55rem;
        padding: .38rem .6rem;
        border-radius: 9px;
    }
    .bootstrap-site .phone-question.picture-question .phone-answer b { width: 31px; height: 31px; }
    .bootstrap-site .phone-question.picture-question .phone-answer span { font-size: clamp(.8rem,3.6vw,.98rem); }
    .bootstrap-site .phone-question.picture-question .provisional-answer-status { padding: .3rem .45rem; }
    .bootstrap-site .phone-question.picture-question .provisional-answer-status strong { font-size: .68rem; }
    .bootstrap-site .phone-question.picture-question .provisional-answer-status span { font-size: .58rem; }
}

@media (max-height: 700px) and (min-width: 621px) {
    .bootstrap-site .display-redesign .tv-reveal { padding-block: .7rem; }
    .bootstrap-site .display-redesign .tv-reveal .answer-results > div { padding-block: .55rem; }
}

@media (min-width: 768px) and (max-width: 1099.98px) {
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] {
        height: auto;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
    }
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard,
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-step {
        height: auto;
        min-height: 0;
        overflow: visible;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-step {
        width: 100%;
        grid-template-columns: minmax(0,1fr);
        grid-template-rows: auto auto;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar,
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid {
        grid-column: 1;
        grid-row: auto;
        width: 100%;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar {
        grid-template-columns: minmax(140px,.55fr) minmax(0,1.45fr);
        align-items: stretch;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-back-to-quiz,
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-final-summary {
        grid-column: auto;
        grid-row: auto;
        width: 100%;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-open-room-action {
        grid-column: 1 / -1;
        grid-row: auto;
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        min-width: 0;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-open-room-action .button {
        min-width: 170px;
        white-space: normal;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid > .setup-rule-section,
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid > .setup-advanced-options {
        grid-column: 1;
        grid-row: auto;
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid > .setup-rule-section,
    .bootstrap-site .host-app.reference-design.guided-room .setup-advanced-controls { max-height: min(52dvh,32rem); }
    .bootstrap-site .host-app.reference-design.guided-room .setup-mode-context { flex-wrap: wrap; }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-summary,
    .bootstrap-site .host-app.reference-design.guided-room .setup-open-room-action,
    .bootstrap-site .host-app.reference-design.guided-room .mode-option span { overflow-wrap: anywhere; }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar {
        grid-template-columns: minmax(0,1fr);
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-back-to-quiz,
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-final-summary,
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-open-room-action {
        grid-column: 1;
        width: 100%;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-back-to-quiz {
        min-height: 44px;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-open-room-action {
        grid-template-columns: minmax(0,1fr);
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-open-room-action .button {
        width: 100%;
        min-width: 0;
    }
}

@media (min-width: 768px) and (max-width: 1099.98px) and (max-height: 700px) {
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid > .setup-rule-section,
    .bootstrap-site .host-app.reference-design.guided-room .setup-advanced-controls { max-height: min(44dvh,23rem); }
}

/* Keep dense audience states readable on common 720p and 4:3 displays. */
@media (min-width: 768px) and (max-height: 800px) {
    .bootstrap-site .display-redesign .tv-lobby:has(.team-lobby-roster) {
        grid-template-columns: minmax(0,1fr) minmax(220px,280px);
        grid-template-rows: minmax(0,1fr) auto;
        align-items: center;
        gap: .65rem 2rem;
        padding: .85rem 5vw .65rem;
        overflow: hidden;
    }
    .bootstrap-site .display-redesign .tv-lobby:has(.team-lobby-roster) .tv-lobby-copy h1 {
        max-width: 22ch;
        margin-bottom: .55rem;
        font-size: clamp(2rem,3.25vw,2.75rem);
        line-height: 1;
    }
    .bootstrap-site .display-redesign .tv-lobby:has(.team-lobby-roster) .pin-display {
        padding: .55rem .8rem;
    }
    .bootstrap-site .display-redesign .tv-lobby:has(.team-lobby-roster) .pin-display strong {
        font-size: clamp(2.25rem,4vw,3rem);
    }
    .bootstrap-site .display-redesign .tv-lobby:has(.team-lobby-roster) .lobby-counts {
        gap: .8rem;
        margin-top: .55rem;
        font-size: .78rem;
    }
    .bootstrap-site .display-redesign .tv-lobby:has(.team-lobby-roster) .tv-qr {
        width: min(100%,270px);
        max-height: 100%;
        justify-self: end;
        padding: .7rem;
    }
    .bootstrap-site .display-redesign .tv-lobby:has(.team-lobby-roster) .team-lobby-roster {
        grid-template-columns: repeat(3,minmax(0,1fr));
        align-self: end;
        gap: .5rem;
    }
    .bootstrap-site .display-redesign .tv-lobby:has(.team-lobby-roster) .joiner-rail .lobby-participant {
        padding: .4rem .5rem;
    }
    .bootstrap-site .display-redesign .tv-lobby:has(.team-lobby-roster) .lobby-team-members {
        gap: .25rem;
        margin-top: .3rem;
    }

    .bootstrap-site .display-redesign.has-join-overlays .tv-lobby .joiner-rail { display: none; }
    .bootstrap-site .display-redesign:has(.tv-announcement) .tv-lobby { padding-top: 1.25rem; }
    .bootstrap-site .display-redesign .tv-join-overlays .tv-wifi-card-qr > span { display: none; }

    .bootstrap-site .display-redesign .question-winners-layout {
        grid-template-columns: minmax(17rem,.62fr) minmax(0,1.38fr);
        gap: 2vw;
        padding: .75rem 3vw;
    }
    .bootstrap-site .display-redesign .question-winner-rows {
        align-content: center;
        gap: .3rem;
        overflow: hidden;
    }
    .bootstrap-site .display-redesign .question-winner-rows > div {
        min-height: 0;
        grid-template-columns: 42px minmax(0,1fr) auto;
        gap: .65rem;
        padding: .32rem .65rem;
        border-radius: .85rem;
    }
    .bootstrap-site .display-redesign .question-winner-avatar { width: 40px; height: 40px; }
    .bootstrap-site .display-redesign .question-winner-rows > div > span { font-size: .92rem; -webkit-line-clamp: 1; }
    .bootstrap-site .display-redesign .question-winner-rows .response-time { font-size: .55rem; }
    .bootstrap-site .display-redesign .question-winner-rows .response-time strong { font-size: 1rem; }
    .bootstrap-site .display-redesign .question-winner-rows > div.is-first::before {
        top: .15rem;
        right: .55rem;
        padding: .12rem .38rem;
        font-size: .46rem;
    }

    .bootstrap-site .display-redesign .final-podium-panel .podium-place {
        gap: .2rem;
        padding: .5rem .35rem;
        align-content: center;
    }
    .bootstrap-site .display-redesign .final-podium-panel .podium-place > span {
        width: 34px;
        height: 34px;
        font-size: 1rem;
    }
    .bootstrap-site .display-redesign .final-podium-panel .podium-avatar,
    .bootstrap-site .display-redesign .final-podium-panel .podium-place.first .podium-avatar,
    .bootstrap-site .display-redesign .final-podium-panel .podium-place.third .podium-avatar {
        width: clamp(48px,5.25vw,68px);
    }
    .bootstrap-site .display-redesign .final-podium-panel .podium-place > strong { font-size: .82rem; }
    .bootstrap-site .display-redesign .final-podium-panel .podium-total,
    .bootstrap-site .display-redesign .final-podium-panel .podium-total strong { font-size: .76rem; }
}

@media (min-width: 768px) and (max-width: 1400px) {
    .bootstrap-site .display-redesign .tv-final-standings.is-crowded .tv-leader-rows {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: .2rem;
    }
    .bootstrap-site .display-redesign .tv-final-standings.is-crowded .tv-leader-rows > div {
        min-height: 30px;
        grid-template-columns: 22px 26px minmax(0,1fr) 30px;
        gap: .25rem;
        padding: .12rem .3rem;
    }
    .bootstrap-site .display-redesign .tv-final-standings.is-crowded .leader-avatar {
        width: 25px;
        height: 25px;
        min-width: 25px;
        min-height: 25px;
    }
    .bootstrap-site .display-redesign .tv-final-standings.is-crowded .tv-leader-rows > div > span:not(.leaderboard-total) {
        min-width: 0;
        overflow: hidden;
        font-size: .68rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .bootstrap-site .display-redesign .tv-final-standings.is-crowded .tv-leader-rows b { font-size: .78rem; }
    .bootstrap-site .display-redesign .tv-final-standings.is-crowded .leaderboard-total {
        min-width: 0;
        justify-items: end;
    }
    .bootstrap-site .display-redesign .tv-final-standings.is-crowded .leaderboard-total > span { display: none; }
    .bootstrap-site .display-redesign .tv-final-standings.is-crowded .leaderboard-total strong { font-size: .78rem; }
}

/* Small-tablet setup repair: keep every card in flow and remove the narrow
   stacked launch panel that previously consumed the whole landscape view. */
@media (min-width: 680px) and (max-width: 899.98px) {
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar {
        grid-template-columns: minmax(170px,.42fr) minmax(0,1fr);
        align-items: stretch;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-back-to-quiz,
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-final-summary {
        grid-column: auto;
        grid-row: 1;
        width: 100%;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-back-to-quiz {
        min-height: 64px;
        padding: .65rem;
        line-height: 1.25;
        white-space: normal;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-final-summary {
        display: grid;
        min-height: 64px;
        align-content: center;
        padding: .6rem .75rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-summary h2 {
        overflow: hidden;
        font-size: 1rem;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-toolbar .setup-open-room-action {
        grid-column: 1 / -1;
        grid-row: 2;
        min-height: 66px;
        grid-template-columns: minmax(0,1fr) minmax(180px,.55fr);
        align-items: center;
        padding: .6rem .75rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-open-room-action .button {
        width: 100%;
        min-width: 0;
        min-height: 46px;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-simple-modes {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-default-config {
        grid-template-columns: auto minmax(0,1fr) auto;
        justify-items: start;
        text-align: left;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-default-config .button#saveSetupDefaults {
        justify-self: end;
        white-space: nowrap;
    }
}

@media (min-width: 768px) and (max-width: 1099.98px) {
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid > .setup-rule-section {
        overflow-x: hidden;
        overflow-y: auto;
    }
    .bootstrap-site .host-app.reference-design.guided-room .setup-final-settings-grid > .setup-advanced-options {
        overflow: hidden;
    }
}

@media (min-width: 680px) and (max-height: 700px) {
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] {
        padding-top: .4rem;
    }
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard-heading {
        min-height: 42px;
        align-items: center;
    }
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard-heading .section-label,
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard-heading p:not(.section-label) {
        display: none;
    }
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard-heading h1 {
        margin: 0;
        font-size: 1.3rem;
    }
}

/* Admin workspace refresh. */
.admin-auth-shell,
.admin-app { min-width: 0; min-height: 100dvh; color: #191b2f; background: #f4f5fa; }
.admin-auth-shell { display: grid; grid-template-rows: 76px minmax(0,1fr); overflow-x: hidden; }
.admin-auth-topbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem clamp(1rem,4vw,3.5rem); background: #0d1034; color: #fff; }
.admin-auth-topbar .wordmark-image { display: block; width: 52px; height: 52px; object-fit: contain; }
.admin-auth-topbar > span { color: #c2c8ed; font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.admin-auth-main { display: grid; width: min(1180px,100%); min-width: 0; margin-inline: auto; grid-template-columns: minmax(0,1fr) minmax(360px,.78fr); align-items: center; gap: clamp(2rem,6vw,6rem); padding: clamp(2rem,6vw,5.5rem); }
.admin-auth-intro { min-width: 0; }
.admin-auth-intro .section-label { color: #664be2; }
.admin-auth-intro h1 { max-width: 11ch; margin: .35rem 0 1rem; color: #17192e; font-size: clamp(2.6rem,5.4vw,5rem); line-height: .95; letter-spacing: -.055em; }
.admin-auth-intro > p:not(.section-label) { max-width: 54ch; margin: 0; color: #61677d; font-size: 1rem; line-height: 1.65; }
.admin-auth-card { min-width: 0; padding: clamp(1.5rem,3vw,2.4rem); border: 1px solid #dedfea; border-radius: 24px; background: #fff; box-shadow: 0 24px 70px rgba(25,28,74,.12); }
.admin-auth-card h2 { margin: .25rem 0 .55rem; color: #181a30; font-size: clamp(1.8rem,3vw,2.35rem); letter-spacing: -.035em; }
.admin-auth-card > p:not(.section-label) { margin: 0 0 1.25rem; color: #696e82; line-height: 1.5; }
.admin-login-form { display: grid; gap: .9rem; }
.admin-login-form .field { display: grid; min-width: 0; gap: .38rem; margin: 0; color: #3f4355; font-size: .78rem; font-weight: 850; }
.admin-login-form :is(input,button) { width: 100%; min-width: 0; min-height: 48px; }
.admin-login-form input { padding: .7rem .8rem; border: 1px solid #d5d8e3; border-radius: 10px; background: #fbfbfd; }
.admin-login-form input:focus { border-color: #6b4ee2; outline: 3px solid rgba(107,78,226,.14); }
.admin-auth-help { display: block; margin-top: 1rem; color: #818598; font-size: .7rem; line-height: 1.45; text-align: center; }
.admin-access-denied { width: min(640px,calc(100% - 2rem)); margin: clamp(2rem,10vh,6rem) auto; padding: clamp(1.5rem,4vw,2.5rem); border: 1px solid #dedfea; border-radius: 22px; background: #fff; box-shadow: 0 22px 65px rgba(25,28,74,.1); }
.admin-access-denied h1 { margin: .35rem 0 .75rem; color: #181a30; font-size: clamp(1.8rem,4vw,2.7rem); letter-spacing: -.035em; }
.admin-access-denied > p:not(.section-label) { margin: 0; color: #696e82; line-height: 1.55; }

.admin-app { padding-bottom: 3rem; }
.admin-topbar { position: sticky; z-index: 20; top: 0; min-height: 72px; box-shadow: 0 8px 24px rgba(9,12,43,.16); }
.admin-topbar > a .wordmark-image { display: block; object-fit: contain; }
.admin-workspace { width: min(1500px,100%); min-width: 0; }
.admin-page-heading > div { min-width: 0; }
.admin-page-heading h1 { color: #17192e; }
.admin-fact-strip > div { min-width: 0; border-radius: 12px; box-shadow: 0 5px 16px rgba(26,29,70,.04); }
.admin-account-layout > * { min-width: 0; }
.admin-account-list,
.admin-account-detail,
.admin-empty-detail { border-radius: 16px; box-shadow: 0 14px 40px rgba(28,23,76,.065); }
.admin-account-list form :is(input,button),
.admin-account-detail :is(input,select,textarea) { min-width: 0; }
.admin-account-results > p { margin: 0; padding: 1.25rem; color: #777c90; text-align: center; }
.admin-detail-heading > div { min-width: 0; }
.admin-detail-heading h2,
.admin-detail-heading a { overflow-wrap: anywhere; }
.admin-account-facts div,
.admin-usage-grid div { min-width: 0; }
.admin-override-form > .admin-override-heading { grid-column: 1; }
.admin-override-form > .admin-override-current { display: grid; grid-column: 2; align-content: center; gap: .2rem; padding: .8rem 1rem; border: 1px solid #d8d3ff; border-radius: 12px; background: #fff; }
.admin-override-current small { color: #77748e; font-size: .65rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.admin-override-current strong { color: #3d2da1; font-size: .9rem; }
.admin-override-form > .admin-override-expiry { display: grid; min-width: 0; grid-column: 2; grid-template-columns: minmax(150px,.72fr) minmax(220px,1.28fr); gap: .65rem; }
.admin-override-expiry .field { min-width: 0; margin: 0; }
.admin-never-expire-option { --site-switch-on: #6047d5; display: grid; min-width: 0; grid-template-columns: 46px minmax(0,1fr); align-items: center; gap: .65rem; padding: .65rem .75rem; border: 1px solid #d8d3ff; border-radius: 11px; background: #fff; cursor: pointer; }
.admin-never-expire-option > span { display: grid; min-width: 0; gap: .1rem; }
.admin-override-form .admin-override-expiry > .admin-never-expire-option { grid-column: auto; }
.admin-never-expire-option strong { font-size: .78rem; }
.admin-never-expire-option small { color: #74788d; font-size: .66rem; line-height: 1.3; }
.admin-never-expire-option:has(input:checked) { border-color: #a99aec; background: #f7f5ff; }
.admin-never-expire-option:has(input:disabled) { cursor: not-allowed; opacity: .58; }
.admin-danger-zone { display: grid; gap: 1rem; margin-top: 1.25rem; padding: 1.15rem; border: 1px solid #f0c7cd; border-radius: 16px; background: #fff8f9; }
.admin-danger-zone h3 { margin: .2rem 0 .35rem; color: #721c2a; }
.admin-danger-zone p { max-width: 76ch; margin: 0; color: #725b60; font-size: .82rem; line-height: 1.5; }
.admin-danger-zone form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; align-items: end; gap: .75rem; }
.admin-danger-zone .field { min-width: 0; margin: 0; }
.admin-danger-zone .field :is(input,textarea) { width: 100%; min-width: 0; }
.admin-delete-account-button { min-height: 46px; border: 1px solid #b6223b !important; background: #c92d48 !important; color: #fff !important; box-shadow: 0 8px 18px rgba(174,28,53,.18); white-space: nowrap; }
.admin-delete-account-button:hover,
.admin-delete-account-button:focus-visible { background: #a91831 !important; color: #fff !important; }
.admin-protected-account { padding: .75rem; border-radius: 10px; background: #f4e9eb; color: #7b2c3a !important; font-weight: 800; }
.admin-billing-blocked-account { padding: .8rem .9rem; border: 1px solid #efcf8f; border-radius: 10px; background: #fff7df; color: #6e5014 !important; font-weight: 750; }

@media (max-width: 1100px) {
    .admin-account-layout { grid-template-columns: 1fr; }
    .admin-account-list { position: static; }
    .admin-account-results { display: grid; max-height: 300px; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid #e5e7f0; }
    .admin-account-results > button { min-width: 0; border-right: 1px solid #eceef5; }
    .admin-danger-zone form { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-delete-account-button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 780px) {
    .admin-auth-shell { grid-template-rows: 64px auto; }
    .admin-auth-topbar { min-height: 64px; }
    .admin-auth-topbar .wordmark-image { width: 44px; height: 44px; }
    .admin-auth-main { grid-template-columns: 1fr; gap: 1.25rem; padding: 1.25rem; }
    .admin-auth-intro h1 { max-width: 15ch; font-size: clamp(2rem,8vw,3rem); }
    .admin-auth-intro > p:not(.section-label) { display: none; }
    .admin-auth-card { width: min(100%,540px); justify-self: center; padding: 1.25rem; border-radius: 18px; }
    .admin-topbar { align-items: center; flex-direction: row; }
    .admin-topbar > div { align-items: center; flex-direction: row; }
    .admin-topbar > div > span { display: none; }
    .admin-topbar .button { min-height: 42px; padding-inline: .7rem; }
    .admin-workspace { padding: 1.25rem .8rem; }
    .admin-account-results { grid-template-columns: 1fr; }
    .admin-account-detail { padding: 1rem; }
    .admin-detail-heading { gap: .75rem; }
    .admin-detail-heading h2 { font-size: 1.55rem; }
    .admin-override-form > .admin-override-current,
    .admin-override-form > .admin-override-heading,
    .admin-override-form > .admin-override-expiry { grid-column: auto; }
    .admin-override-form > .admin-override-expiry { grid-template-columns: 1fr; }
    .admin-danger-zone form { grid-template-columns: 1fr; }
    .admin-delete-account-button { grid-column: auto; width: 100%; }
}

@media (max-width: 520px) {
    .admin-auth-topbar > span { display: none; }
    .admin-auth-main { padding: .85rem; }
    .admin-auth-intro { padding-inline: .25rem; }
    .admin-auth-intro h1 { margin-bottom: 0; font-size: 1.8rem; }
    .admin-topbar > div { gap: .4rem; }
    .admin-topbar > div > .button { display: none; }
    .admin-page-heading h1 { font-size: 2rem; }
    .admin-fact-strip,
    .admin-account-facts,
    .admin-usage-grid { grid-template-columns: 1fr 1fr; }
    .admin-detail-heading { align-items: flex-start; flex-direction: column; }
    .admin-display-devices,
    .admin-override-form,
    .admin-danger-zone { padding: .9rem; border-radius: 13px; }
    .admin-display-device-list article { grid-template-columns: 10px minmax(0,1fr); }
    .admin-display-device-list article .plain-action { grid-column: 2; justify-self: start; }
    .admin-v2 .admin-managed-device { grid-template-columns: minmax(0,1fr); }
    .admin-v2 .admin-managed-device-heading { grid-template-columns: 9px minmax(0,1fr); }
    .admin-v2 .admin-managed-device-heading code { grid-column: 2; }
    .admin-v2 .admin-device-live-facts,
    .admin-v2 .admin-device-system-facts,
    .admin-v2 .admin-stripe-payment-grid,
    .admin-v2 .admin-device-controls { grid-template-columns: minmax(0,1fr); }
    .admin-v2 .admin-device-unlink { grid-column: auto !important; justify-self: start !important; }
    .admin-access-denied > div { align-items: stretch; flex-direction: column; }
    .admin-access-denied :is(.button,.plain-action) { width: 100%; min-height: 44px; }
}

/* Staged room-opening flow. */

.bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] {
    padding: clamp(.75rem,2vw,1.35rem) clamp(.85rem,3vw,2rem) 2rem;
    overflow-x: hidden;
    overflow-y: auto;
}
.bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard {
    width: min(1040px,100%);
    height: auto;
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto;
    align-content: start;
    gap: .85rem;
    margin: 0 auto;
}
.bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard-heading {
    min-height: 0;
    align-items: end;
}
.bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard-heading h1 {
    margin: .08rem 0;
    font-size: clamp(1.75rem,3vw,2.45rem);
}
.bootstrap-site .host-app.reference-design .setup-room-flow {
    width: 100%;
    min-width: 0;
    display: grid;
    gap: .85rem;
}
.bootstrap-site .host-app.reference-design .setup-room-progress {
    position: relative;
    width: min(900px,100%);
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: .35rem;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
.bootstrap-site .host-app.reference-design .setup-room-progress::before {
    position: absolute;
    z-index: 0;
    top: 19px;
    right: 11%;
    left: 11%;
    height: 2px;
    background: #dfe1ea;
    content: '';
}
.bootstrap-site .host-app.reference-design .setup-room-progress li { position: relative; z-index: 1; min-width: 0; }
.bootstrap-site .host-app.reference-design .setup-room-progress button {
    width: 100%;
    min-width: 0;
    display: grid;
    justify-items: center;
    gap: .35rem;
    padding: 0 .3rem;
    border: 0;
    background: transparent;
    color: #777c8e;
    text-align: center;
}
.bootstrap-site .host-app.reference-design .setup-room-progress button > span {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 4px solid #f7f8fc;
    border-radius: 50%;
    background: #e7e9f0;
    color: #656b7d;
    font-size: .78rem;
    font-weight: 950;
}
.bootstrap-site .host-app.reference-design .setup-room-progress b { min-width: 0; display: grid; gap: .06rem; font-weight: inherit; }
.bootstrap-site .host-app.reference-design .setup-room-progress strong { color: inherit; font-size: .76rem; line-height: 1.2; }
.bootstrap-site .host-app.reference-design .setup-room-progress small { color: #969aaa; font-size: .62rem; line-height: 1.25; }
.bootstrap-site .host-app.reference-design .setup-room-progress button:not(:disabled):hover > span,
.bootstrap-site .host-app.reference-design .setup-room-progress button:not(:disabled):focus-visible > span { outline: 3px solid rgba(91,53,232,.14); outline-offset: 2px; }
.bootstrap-site .host-app.reference-design .setup-room-progress .is-current button { color: #5237d1; }
.bootstrap-site .host-app.reference-design .setup-room-progress .is-current button > span {
    background: linear-gradient(145deg,#6949e6,#5636d0);
    color: #fff;
    box-shadow: 0 7px 18px rgba(91,53,232,.24);
}
.bootstrap-site .host-app.reference-design .setup-room-progress .is-complete button > span { background: #dff6eb; color: #08784a; }
.bootstrap-site .host-app.reference-design .setup-room-progress button:disabled { cursor: default; opacity: .62; }

.bootstrap-site .host-app.reference-design .setup-room-stage {
    width: 100%;
    max-width: none;
    min-width: 0;
    display: grid;
    gap: 1.1rem;
    margin: 0;
    padding: clamp(1.15rem,2.8vw,2rem);
    overflow: visible;
    border: 1px solid #e0e2eb;
    border-radius: 20px;
    background: linear-gradient(160deg,#fff 0%,#fdfcff 100%);
    box-shadow: 0 18px 55px rgba(22,24,68,.075);
}
.bootstrap-site .host-app.reference-design .setup-room-stage-heading { display: grid; justify-items: center; gap: .18rem; text-align: center; }
.bootstrap-site .host-app.reference-design .setup-room-stage-heading > span {
    color: #6046da;
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.bootstrap-site .host-app.reference-design .setup-room-stage-heading h2 { margin: 0; color: #171a33; font-size: clamp(1.4rem,2.5vw,2rem); letter-spacing: -.035em; }
.bootstrap-site .host-app.reference-design .setup-room-stage-heading h2:focus { outline: none; }
.bootstrap-site .host-app.reference-design .setup-room-stage-heading p { max-width: 62ch; margin: 0; color: #6b7081; font-size: .85rem; line-height: 1.45; }
.bootstrap-site .host-app.reference-design .setup-mode-stage { width: min(800px,100%); margin: 0 auto; }
.bootstrap-site .host-app.reference-design .setup-mode-stage .setup-simple-modes { gap: .85rem; }
.bootstrap-site .host-app.reference-design .setup-mode-stage .mode-option { min-height: 132px; padding: 1rem; border-radius: 15px; }
.bootstrap-site .host-app.reference-design .setup-mode-stage .mode-option strong { font-size: 1.05rem; }
.bootstrap-site .host-app.reference-design .setup-mode-stage .mode-option small { margin-top: .35rem; font-size: .78rem; line-height: 1.45; }

.bootstrap-site .host-app.reference-design .setup-rules-stage { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(290px,.8fr); align-items: start; gap: 1rem; }
.bootstrap-site .host-app.reference-design .setup-rule-cluster { min-width: 0; display: grid; gap: .85rem; padding: 1rem; border: 1px solid #e3e4ec; border-radius: 15px; background: #fafafe; }
.bootstrap-site .host-app.reference-design .setup-rule-cluster .setup-rule-title { align-items: end; }
.bootstrap-site .host-app.reference-design .setup-rule-cluster .setup-rule-title h3 { margin: 0; color: #20233a; font-size: 1.04rem; }
.bootstrap-site .host-app.reference-design .setup-rule-cluster .setup-rule-title .section-label { margin-bottom: .12rem; }
.bootstrap-site .host-app.reference-design .setup-rule-cluster .setup-number-rules { grid-template-columns: repeat(2,minmax(0,1fr)); }
.bootstrap-site .host-app.reference-design .setup-rule-cluster .field { min-width: 0; margin: 0; }
.bootstrap-site .host-app.reference-design .setup-rule-cluster .field input { width: 100%; min-width: 0; min-height: 44px; }
.bootstrap-site .host-app.reference-design .setup-rule-cluster .setup-toggle-rules { grid-template-columns: 1fr; }
.bootstrap-site .host-app.reference-design .setup-rule-cluster .toggle-row { min-height: 64px; border-radius: 11px; background: #fff; }
.bootstrap-site .host-app.reference-design .setup-inline-display-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.bootstrap-site .host-app.reference-design .setup-inline-display-options .setup-display-choice-card { min-height: 174px; padding: 1rem .75rem .8rem; }
.bootstrap-site .host-app.reference-design .setup-inline-display-options .setup-display-choice-card strong { font-size: .85rem; }
.bootstrap-site .host-app.reference-design .setup-inline-display-options .setup-display-choice-card small { font-size: .68rem; }

.bootstrap-site .host-app.reference-design .setup-bonus-stage { width: min(880px,100%); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; margin: 0 auto; }
.bootstrap-site .host-app.reference-design .setup-feature-card,
.bootstrap-site .host-app.reference-design .setup-default-choice {
    --site-switch-on: #5b3cda;
    min-width: 0;
    display: grid;
    grid-template-columns: 52px minmax(0,1fr) auto;
    align-items: center;
    gap: .85rem;
    margin: 0;
    padding: .9rem 1rem;
    border: 1px solid #dedfea;
    border-radius: 15px;
    background: #fff;
    cursor: pointer;
    transition: border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.bootstrap-site .host-app.reference-design .setup-feature-card:hover,
.bootstrap-site .host-app.reference-design .setup-default-choice:hover { border-color: #aa9cec; transform: translateY(-1px); }
.bootstrap-site .host-app.reference-design .setup-feature-card:has(input:checked),
.bootstrap-site .host-app.reference-design .setup-default-choice:has(input:checked) { border-color: #7457e4; background: #f5f2ff; box-shadow: 0 0 0 3px rgba(91,53,232,.08); }
.bootstrap-site .host-app.reference-design .setup-feature-card > span:nth-child(2),
.bootstrap-site .host-app.reference-design .setup-default-choice > span:nth-child(2) { min-width: 0; display: grid; gap: .08rem; }
.bootstrap-site .host-app.reference-design .setup-feature-card small { color: #7055df; font-size: .6rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.bootstrap-site .host-app.reference-design .setup-feature-card strong,
.bootstrap-site .host-app.reference-design .setup-default-choice strong { color: #20233a; font-size: .9rem; }
.bootstrap-site .host-app.reference-design .setup-feature-card em { color: #697083; font-size: .69rem; font-style: normal; line-height: 1.4; }
.bootstrap-site .host-app.reference-design .setup-feature-icon {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 14px;
    background: #fff0e8;
    font-size: 1.35rem;
}
.bootstrap-site .host-app.reference-design .setup-feature-icon.sudden-death { background: #fff7d9; }
.bootstrap-site .host-app.reference-design .setup-bonus-stage .media-round-settings { grid-column: 1 / -1; margin: 0; padding: 1rem; border: 1px solid #e1e3ec; border-radius: 15px; background: #fafafe; }
.bootstrap-site .host-app.reference-design .setup-bonus-stage .media-round-settings > div { grid-template-columns: repeat(3,minmax(0,1fr)); }

.bootstrap-site .host-app.reference-design .setup-review-stage { width: min(850px,100%); display: grid; gap: .85rem; margin: 0 auto; }
.bootstrap-site .host-app.reference-design .setup-review-card { min-width: 0; display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: .85rem; padding: .9rem 1rem; border: 1px solid #e0e2ea; border-radius: 15px; background: #fafafe; }
.bootstrap-site .host-app.reference-design .setup-review-quiz-mark { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 14px; background: linear-gradient(145deg,#6345dc,#4930c1); color: #fff; font-size: 1.25rem; font-weight: 950; }
.bootstrap-site .host-app.reference-design .setup-review-card > div:nth-child(2) { min-width: 0; }
.bootstrap-site .host-app.reference-design .setup-review-card h3 { margin: 0; overflow-wrap: anywhere; color: #1d2037; font-size: 1.1rem; }
.bootstrap-site .host-app.reference-design .setup-review-card p { margin: .12rem 0 0; color: #707587; font-size: .74rem; }
.bootstrap-site .host-app.reference-design .setup-review-card .plain-action { color: #5940cd; font-size: .72rem; font-weight: 850; }
.bootstrap-site .host-app.reference-design .setup-review-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .6rem; margin: 0; }
.bootstrap-site .host-app.reference-design .setup-review-facts > div { min-width: 0; display: grid; align-content: start; gap: .2rem; padding: .75rem; border: 1px solid #e4e5ec; border-radius: 12px; background: #fff; }
.bootstrap-site .host-app.reference-design .setup-review-facts dt { color: #85899a; font-size: .6rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.bootstrap-site .host-app.reference-design .setup-review-facts dd { margin: 0; overflow-wrap: anywhere; color: #25283e; font-size: .72rem; font-weight: 750; line-height: 1.35; }
.bootstrap-site .host-app.reference-design .setup-default-choice { grid-template-columns: 46px minmax(0,1fr) auto; }
.bootstrap-site .host-app.reference-design .setup-default-choice .setup-feature-icon { width: 46px; height: 46px; background: #e8f7f4; color: #087c72; }
.bootstrap-site .host-app.reference-design .setup-default-choice small { margin-top: .15rem; color: #717688; font-size: .68rem; line-height: 1.4; }
.bootstrap-site .host-app.reference-design .setup-open-room-panel { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border-radius: 15px; background: linear-gradient(120deg,#101642,#1a215a); color: #fff; box-shadow: 0 12px 28px rgba(13,18,61,.18); }
.bootstrap-site .host-app.reference-design .setup-open-room-panel > span { min-width: 0; display: grid; gap: .1rem; }
.bootstrap-site .host-app.reference-design .setup-open-room-panel small { color: #56dfd2; font-size: .62rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.bootstrap-site .host-app.reference-design .setup-open-room-panel strong { color: #fff; font-size: .98rem; }
.bootstrap-site .host-app.reference-design .setup-open-room-panel em { color: rgba(255,255,255,.68); font-size: .7rem; font-style: normal; }
.bootstrap-site .host-app.reference-design .setup-open-room-panel .button { flex: 0 0 auto; min-width: 190px; background: linear-gradient(135deg,#ee2b7b,#9f36d8); box-shadow: 0 9px 22px rgba(221,40,127,.28); }
.bootstrap-site .host-app.reference-design .setup-room-stage-actions { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding-top: .85rem; border-top: 1px solid #ececf2; }
.bootstrap-site .host-app.reference-design .setup-room-stage-actions .button { min-width: 132px; min-height: 44px; }
.bootstrap-site .host-app.reference-design .setup-room-stage-actions .button-primary { margin-left: auto; }

@media (max-width: 900px) {
    .bootstrap-site .host-app.reference-design .setup-rules-stage { grid-template-columns: 1fr; }
    .bootstrap-site .host-app.reference-design .setup-inline-display-options .setup-display-choice-card { min-height: 142px; }
    .bootstrap-site .host-app.reference-design .setup-review-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767.98px) {
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] { padding: .65rem .75rem 6.5rem; }
    .bootstrap-site .host-app.reference-design.guided-room .host-content[data-host-surface="setup-final"] .setup-wizard-heading p:not(.section-label) { display: block; }
    .bootstrap-site .host-app.reference-design .setup-room-progress { gap: .1rem; }
    .bootstrap-site .host-app.reference-design .setup-room-progress button { padding: 0 .08rem; }
    .bootstrap-site .host-app.reference-design .setup-room-progress button > span { width: 34px; height: 34px; border-width: 3px; }
    .bootstrap-site .host-app.reference-design .setup-room-progress::before { top: 16px; }
    .bootstrap-site .host-app.reference-design .setup-room-progress small { display: none; }
    .bootstrap-site .host-app.reference-design .setup-room-progress strong { font-size: .65rem; }
    .bootstrap-site .host-app.reference-design .setup-room-stage { gap: .9rem; padding: 1rem; border-radius: 16px; }
    .bootstrap-site .host-app.reference-design .setup-room-stage-heading { justify-items: start; text-align: left; }
    .bootstrap-site .host-app.reference-design .setup-bonus-stage { grid-template-columns: 1fr; }
    .bootstrap-site .host-app.reference-design .setup-bonus-stage .media-round-settings { grid-column: 1; }
    .bootstrap-site .host-app.reference-design .setup-bonus-stage .media-round-settings > div { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    .bootstrap-site .host-app.reference-design .setup-room-progress b { display: none; }
    .bootstrap-site .host-app.reference-design .setup-room-progress::before { right: 12%; left: 12%; }
    .bootstrap-site .host-app.reference-design .setup-mode-stage .setup-simple-modes,
    .bootstrap-site .host-app.reference-design .setup-rule-cluster .setup-number-rules,
    .bootstrap-site .host-app.reference-design .setup-inline-display-options,
    .bootstrap-site .host-app.reference-design .setup-review-facts { grid-template-columns: 1fr; }
    .bootstrap-site .host-app.reference-design .setup-inline-display-options .setup-display-choice-card { min-height: 128px; }
    .bootstrap-site .host-app.reference-design .setup-feature-card { grid-template-columns: 44px minmax(0,1fr) auto; padding: .8rem; }
    .bootstrap-site .host-app.reference-design .setup-feature-icon { width: 44px; height: 44px; }
    .bootstrap-site .host-app.reference-design .setup-review-card { grid-template-columns: 44px minmax(0,1fr); padding: .8rem; }
    .bootstrap-site .host-app.reference-design .setup-review-quiz-mark { width: 44px; height: 44px; }
    .bootstrap-site .host-app.reference-design .setup-review-card .plain-action { grid-column: 2; justify-self: start; }
    .bootstrap-site .host-app.reference-design .setup-default-choice { grid-template-columns: 42px minmax(0,1fr) auto; padding: .8rem; }
    .bootstrap-site .host-app.reference-design .setup-default-choice .setup-feature-icon { width: 42px; height: 42px; }
    .bootstrap-site .host-app.reference-design .setup-open-room-panel { align-items: stretch; flex-direction: column; }
    .bootstrap-site .host-app.reference-design .setup-open-room-panel .button { width: 100%; min-width: 0; }
    .bootstrap-site .host-app.reference-design .setup-room-stage-actions .button { min-width: 0; padding-inline: .8rem; }
}

/* Final v2 specificity repairs after the legacy admin fallback rules. */
.bootstrap-site .admin-v2 .admin-override-form > .admin-override-expiry { display: grid; grid-column: auto; grid-template-columns: 1fr; gap: .55rem; }
.bootstrap-site .admin-v2 .admin-override-form > .admin-override-heading,
.bootstrap-site .admin-v2 .admin-override-form > .admin-override-current,
.bootstrap-site .admin-v2 .admin-override-form > label { grid-column: auto; }
.bootstrap-site .admin-v2 .admin-danger-zone form { grid-template-columns: 1fr; }
.bootstrap-site .admin-v2 .admin-delete-account-button { grid-column: auto; width: 100%; }

/* Admin v3 is the sole shell/layout layer for the protected workspace. */
.bootstrap-site .admin-v3 .admin-brand {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: .65rem;
    color: #fff;
    text-decoration: none;
}
.bootstrap-site .admin-v3 .admin-brand-logo {
    display: block;
    width: 120px;
    height: 84px;
    flex: 0 0 120px;
    overflow: hidden;
}
.bootstrap-site .admin-v3 .admin-brand-logo img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    object-position: center;
}
.bootstrap-site .admin-auth-shell.admin-v3 {
    display: grid;
    min-height: 100dvh;
    grid-template-rows: auto minmax(0,1fr) auto;
    overflow-x: hidden;
    overflow-y: auto;
}
.bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-topbar {
    display: block;
    min-height: 88px;
    padding: 0 clamp(.85rem,4vw,3.5rem);
    border: 0;
}
.bootstrap-site .admin-v3 .admin-auth-topbar-inner {
    display: flex;
    width: min(1440px,100%);
    min-width: 0;
    min-height: 88px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-inline: auto;
}
.bootstrap-site .admin-v3 .admin-back-home {
    min-height: 40px;
    flex: 0 0 auto;
    padding: .5rem .75rem;
    font-size: .72rem;
    white-space: nowrap;
}
.bootstrap-site .admin-v3 .admin-back-short { display: none; }
.bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-main {
    display: grid;
    width: min(1120px,100%);
    min-width: 0;
    grid-template-columns: minmax(0,1fr) minmax(360px,410px);
    align-items: center;
    gap: clamp(2rem,6vw,5.5rem);
    margin: auto;
    padding: clamp(1.75rem,4vw,3.5rem);
}
.bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-intro,
.bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-card { min-width: 0; }
.bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-intro h1 {
    max-width: 10ch;
    font-size: clamp(3rem,5.5vw,5rem);
}
.bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-card {
    width: 100%;
    padding: clamp(1.35rem,2.5vw,2rem);
}
.bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-card-heading > div { min-width: 0; }
.bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-card h2 {
    display: flex;
    flex-wrap: wrap;
    gap: 0 .22em;
    font-size: clamp(2rem,3vw,2.35rem);
    line-height: 1;
}
.bootstrap-site .admin-auth-shell.admin-v3 .admin-login-form { display: grid; gap: .72rem; }
.bootstrap-site .admin-auth-shell.admin-v3 .admin-login-form :is(input,button) { width: 100%; min-width: 0; }
.bootstrap-site .admin-auth-shell.admin-v3 .admin-login-form input { min-height: 49px; }
.bootstrap-site .admin-auth-shell.admin-v3 .admin-login-form button:disabled { cursor: wait; opacity: .72; }
.bootstrap-site .admin-v3 .admin-auth-status {
    display: block;
    margin: .15rem 0 0;
    padding: .7rem .75rem;
    border: 1px solid #dfe2ea;
    border-radius: 10px;
    background: #f5f6fa;
    color: #5e6377;
    font-size: .72rem;
    line-height: 1.4;
}
.bootstrap-site .admin-v3 .admin-auth-status:empty { display: none; }
.bootstrap-site .admin-v3 .admin-auth-status.is-pending { border-color: #d9d0ff; background: #f5f2ff; color: #544093; }
.bootstrap-site .admin-v3 .admin-auth-status.is-success { border-color: #b8ead6; background: #ebfbf4; color: #176448; }
.bootstrap-site .admin-v3 .admin-auth-status.is-error { border-color: #f0c5cc; background: #fff2f4; color: #9a263a; }

.bootstrap-site .admin-app.admin-v3 {
    display: block;
    height: auto;
    min-height: 100dvh;
    padding: 0;
    overflow: visible;
    background: #f3f4f9;
}
.bootstrap-site .admin-v3 .admin-dashboard-topbar {
    position: sticky;
    z-index: 80;
    top: 0;
    min-height: 88px;
    border-bottom: 1px solid rgba(255,255,255,.1);
    background: radial-gradient(circle at 12% 0,rgba(90,55,190,.48),transparent 26%),linear-gradient(100deg,#080a30,#15114d 70%,#21145d);
    box-shadow: 0 10px 30px rgba(18,16,60,.16);
}
.bootstrap-site .admin-v3 .admin-dashboard-topbar-inner {
    display: flex;
    width: min(1500px,100%);
    min-width: 0;
    min-height: 88px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-inline: auto;
    padding: 0 clamp(.85rem,3vw,2rem);
}
.bootstrap-site .admin-v3 .admin-dashboard-actions {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
}
.bootstrap-site .admin-v3 :is(.admin-nav-action,.admin-nav-logout) {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .45rem .65rem;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 9px;
    background: rgba(255,255,255,.04);
    color: rgba(255,255,255,.82);
    font-size: .68rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}
.bootstrap-site .admin-v3 :is(.admin-nav-action,.admin-nav-logout):hover {
    transform: translateY(-1px);
}
.bootstrap-site .admin-v3 .admin-nav-action {
    border-color: #ffd44a;
    background: #ffd44a;
    color: #17152f;
}
.bootstrap-site .admin-v3 .admin-nav-action:hover {
    border-color: #ffe273;
    background: #ffe273;
    color: #17152f;
}
.bootstrap-site .admin-v3 .admin-workspace-nav { border-color: rgba(255,255,255,.26); background: rgba(255,255,255,.08); color: #fff; }
.bootstrap-site .admin-v3 .admin-workspace-nav:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.16); color: #fff; }
.bootstrap-site .admin-v3 .admin-workspace-nav.is-current { border-color: #8ff6e2; background: #8ff6e2; color: #151334; }
.bootstrap-site .admin-v3 .admin-nav-logout {
    border-color: #d52843;
    background: #d52843;
    color: #fff;
}
.bootstrap-site .admin-v3 .admin-nav-logout:hover {
    border-color: #ec3b56;
    background: #ec3b56;
    color: #fff;
}
.bootstrap-site .admin-v3 .admin-workspace {
    width: min(1500px,100%);
    max-width: 1500px;
    margin-inline: auto;
    padding: clamp(1rem,2.5vw,2rem);
    overflow: visible;
}
.bootstrap-site .admin-v3 .admin-page-heading { margin-bottom: 1rem; }
.bootstrap-site .admin-v3 .admin-page-heading h1 { font-size: clamp(2rem,3.6vw,3.25rem); }
.bootstrap-site .admin-v3 .admin-account-layout { grid-template-columns: minmax(270px,310px) minmax(0,1fr); }
.bootstrap-site .admin-v3 .admin-account-list { top: 104px; }
.bootstrap-site .admin-v3 .admin-detail-side { grid-template-columns: 1fr; }
.bootstrap-site .admin-v3 .admin-detail-side .admin-danger-zone { grid-column: auto; }
.bootstrap-site .admin-v3 .admin-panel,
.bootstrap-site .admin-v3 .admin-account-hero,
.bootstrap-site .admin-v3 .admin-account-list { overflow: hidden; }
.bootstrap-site .admin-v3 .admin-device-fleet {
    display: grid;
    gap: .85rem;
    margin-bottom: 1rem;
    padding: 1rem;
    border-color: #dedfea;
    border-radius: 18px;
    box-shadow: 0 12px 34px rgba(28,29,70,.06);
}
.bootstrap-site .admin-v3 .admin-device-fleet-heading { align-items: center; margin: 0; }
.bootstrap-site .admin-v3 .admin-device-fleet-heading h2 { margin: .08rem 0 0; color: var(--admin-ink); font-size: 1.45rem; letter-spacing: -.035em; }
.bootstrap-site .admin-v3 .admin-device-fleet-heading p { max-width: 70ch; }
.bootstrap-site .admin-v3 .admin-device-fleet-summary { color: #707488; font-size: .64rem; white-space: nowrap; }
.bootstrap-site .admin-v3 .admin-device-fleet-summary strong { color: #393c53; }
.bootstrap-site .admin-v3 .admin-device-fleet-summary strong.needs-action { color: #b64b12; }
.bootstrap-site .admin-v3 .admin-device-fleet-group { min-width: 0; display: grid; gap: .7rem; }
.bootstrap-site .admin-v3 .admin-device-fleet-group.is-unallocated { padding: .8rem; border: 1px solid #edd5a4; border-radius: 14px; background: linear-gradient(145deg,#fffbf1,#fff 62%); }
.bootstrap-site .admin-v3 .admin-device-fleet-group.is-allocated { padding-top: .8rem; border-top: 1px solid #e3e5ee; }
.bootstrap-site .admin-v3 .admin-device-fleet-group.is-offline { padding: .8rem; border: 1px solid #dadde6; border-radius: 14px; background: #f6f7fa; }
.bootstrap-site .admin-v3 .admin-device-fleet-group.is-revoked { padding-top: .8rem; border-top: 1px solid #edcfd5; }
.bootstrap-site .admin-v3 .admin-device-fleet-group.is-destroyed { padding-top: .8rem; border-top: 1px solid #cfd1da; }
.bootstrap-site .admin-v3 .admin-device-fleet-group-heading { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .75rem; }
.bootstrap-site .admin-v3 .admin-device-fleet-group-heading > div { min-width: 0; }
.bootstrap-site .admin-v3 .admin-device-fleet-group-heading h3 { margin: .06rem 0 0; color: #303247; font-size: 1rem; }
.bootstrap-site .admin-v3 .admin-device-fleet-group-heading p { margin: .16rem 0 0; color: #7c7f90; font-size: .65rem; }
.bootstrap-site .admin-v3 .admin-device-fleet-group-heading > strong { display: grid; flex: 0 0 auto; min-width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #eeebf9; color: #5842b3; font-size: .78rem; }
.bootstrap-site .admin-v3 .admin-device-fleet-group.is-unallocated .admin-device-fleet-group-heading > strong { background: #ffe3ae; color: #884b08; }
.bootstrap-site .admin-v3 .admin-device-fleet-group.is-revoked .admin-device-fleet-group-heading > strong { background: #fde5ea; color: #962b42; }
.bootstrap-site .admin-v3 .admin-device-fleet-group.is-offline .admin-device-fleet-group-heading > strong { background: #e3e5eb; color: #555b69; }
.bootstrap-site .admin-v3 .admin-device-fleet-group.is-destroyed .admin-device-fleet-group-heading > strong { background: #292b35; color: #fff; }
.bootstrap-site .admin-v3 .admin-device-fleet-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.bootstrap-site .admin-v3 .admin-fleet-device { align-content: start; padding: .85rem; border: 1px solid #e3e5ee; border-radius: 13px; background: #f8f9fc; }
.bootstrap-site .admin-v3 .admin-fleet-device.is-unallocated { border-color: #e5c782; background: #fffdf8; box-shadow: 0 8px 24px rgba(111,74,12,.07); }
.bootstrap-site .admin-v3 .admin-fleet-device.is-revoked { border-color: #ebcbd2; background: #fff8f9; opacity: .92; }
.bootstrap-site .admin-v3 .admin-fleet-device.is-destroyed { border-color: #d3d5dc; background: #f0f1f4; opacity: .88; }
.bootstrap-site .admin-v3 .admin-fleet-device-account { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .65rem; padding: .6rem; border: 1px solid #e5e6ee; border-radius: 10px; background: #fff; }
.bootstrap-site .admin-v3 .admin-fleet-device-account > span { display: grid; min-width: 0; gap: .05rem; }
.bootstrap-site .admin-v3 .admin-fleet-device-account small { color: #8a8e9f; font-size: .53rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.bootstrap-site .admin-v3 .admin-fleet-device-account strong { overflow: hidden; color: #34374d; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .admin-v3 .admin-fleet-device-account em { overflow: hidden; color: #85899b; font-size: .6rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .admin-v3 .admin-fleet-device-account a { flex: 0 0 auto; min-height: 32px; display: inline-flex; align-items: center; padding: .35rem .5rem; border: 1px solid #d8d4ed; border-radius: 8px; background: #f0edff; color: #503ca6; font-size: .59rem; font-weight: 900; text-decoration: none; }
.bootstrap-site .admin-v3 .admin-fleet-device-account a:hover { border-color: #bdb4e7; background: #e8e3ff; }
.bootstrap-site .admin-v3 .admin-fleet-system-facts { grid-template-columns: repeat(3,minmax(0,1fr)); }
.bootstrap-site .admin-v3 .admin-device-allocation-panel { min-width: 0; display: grid; gap: .65rem; padding: .75rem; border: 1px solid #e8cf97; border-radius: 11px; background: #fff9e9; }
.bootstrap-site .admin-v3 .admin-device-allocation-panel > div { min-width: 0; }
.bootstrap-site .admin-v3 .admin-device-allocation-panel h4 { margin: .08rem 0 0; color: #3d3423; font-size: .82rem; }
.bootstrap-site .admin-v3 .admin-device-allocation-panel p { margin: .2rem 0 0; color: #776b55; font-size: .63rem; line-height: 1.4; }
.bootstrap-site .admin-v3 .admin-device-allocation-form { min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: end; gap: .55rem; }
.bootstrap-site .admin-v3 .admin-device-allocation-form .field { min-width: 0; margin: 0; color: #554b39; font-size: .61rem; }
.bootstrap-site .admin-v3 .admin-device-allocation-form :is(select,input) { width: 100%; min-width: 0; min-height: 40px; margin-top: .24rem; border-color: #d9c69c; background-color: #fff; font-size: .66rem; }
.bootstrap-site .admin-v3 .admin-device-allocation-form :is(select,input):focus { border-color: #8767dd; box-shadow: 0 0 0 3px rgba(108,78,205,.12); }
.bootstrap-site .admin-v3 .admin-device-allocation-form .button { grid-column: 1 / -1; justify-self: start; min-height: 40px; }
.bootstrap-site .admin-v3 .admin-device-allocation-empty { color: #8a5819; font-size: .62rem; font-weight: 800; }
.bootstrap-site .admin-v3 .admin-fleet-link-form { grid-template-columns: minmax(170px,1.1fr) repeat(2,minmax(160px,1fr)) auto; align-items: end; }
.bootstrap-site .admin-v3 .admin-fleet-link-form .admin-device-link-heading { display: grid; min-width: 0; gap: .08rem; }
.bootstrap-site .admin-v3 .admin-fleet-link-form .admin-device-link-heading strong { color: #33364a; font-size: .75rem; }
.bootstrap-site .admin-v3 .admin-fleet-link-form .admin-device-link-heading small { color: #85899a; font-size: .6rem; }
.bootstrap-site .admin-v3 .admin-fleet-link-form :is(input,select) { width: 100%; min-width: 0; }
.bootstrap-site .admin-v3 .admin-fleet-link-form .field:nth-child(3) { grid-column: auto; }
.bootstrap-site .admin-v3 .admin-unallocated-clear { display: grid; min-width: 0; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: .08rem .6rem; margin: 0; padding: .7rem; border: 1px solid #cfe8d9; border-radius: 11px; background: #f3fcf7; }
.bootstrap-site .admin-v3 .admin-unallocated-clear > span { grid-row: 1 / span 2; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #d9f3e4; color: #167449; font-weight: 950; }
.bootstrap-site .admin-v3 .admin-unallocated-clear strong { color: #245d42; font-size: .7rem; }
.bootstrap-site .admin-v3 .admin-unallocated-clear small { color: #648171; font-size: .61rem; }
.bootstrap-site .admin-v3 .admin-display-preview-launcher {
    width: 100%; min-width: 0; display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: .6rem;
    padding: .58rem .65rem; border: 1px solid #d8d4ed; border-radius: 10px; background: linear-gradient(135deg,#f3f0ff,#fff);
    color: #3c326d; cursor: pointer; text-align: left;
}
.bootstrap-site .admin-v3 .admin-display-preview-launcher:hover { border-color: #b8afe2; background: linear-gradient(135deg,#ebe6ff,#fff); }
.bootstrap-site .admin-v3 .admin-display-preview-launcher > span:first-child { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 8px; background: #5a45b4; color: #fff; font-size: .8rem; }
.bootstrap-site .admin-v3 .admin-display-preview-launcher > span:nth-child(2) { display: grid; min-width: 0; gap: .04rem; }
.bootstrap-site .admin-v3 .admin-display-preview-launcher strong { color: #37304e; font-size: .68rem; }
.bootstrap-site .admin-v3 .admin-display-preview-launcher small { color: #7a7d8f; font-size: .58rem; }
.bootstrap-site .admin-v3 .admin-display-preview-launcher i { color: #6d59bc; font-size: 1.1rem; font-style: normal; }
.bootstrap-site .admin-v3 .admin-display-preview-backdrop { position: fixed; z-index: 1400; inset: 0; display: grid; place-items: center; padding: clamp(.65rem,2vw,1.5rem); background: rgba(15,14,38,.78); backdrop-filter: blur(8px); }
.bootstrap-site .admin-v3 .admin-display-preview-dialog { width: min(1180px,100%); max-height: calc(100dvh - 1.3rem); display: grid; grid-template-rows: auto minmax(0,1fr) auto; overflow: auto; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: #fff; box-shadow: 0 28px 90px rgba(3,3,20,.45); }
.bootstrap-site .admin-v3 .admin-display-preview-dialog > header { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; border-bottom: 1px solid #e3e4ec; }
.bootstrap-site .admin-v3 .admin-display-preview-dialog > header > div { min-width: 0; }
.bootstrap-site .admin-v3 .admin-display-preview-dialog h2 { overflow: hidden; margin: .08rem 0 0; color: #292b41; font-size: 1.15rem; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .admin-v3 .admin-display-preview-dialog header p { display: flex; align-items: center; gap: .35rem; margin: .14rem 0 0; color: #777b8d; font-size: .64rem; }
.bootstrap-site .admin-v3 .admin-display-preview-dialog header .admin-device-status { width: 8px; height: 8px; }
.bootstrap-site .admin-v3 #adminCloseDisplayPreview { display: grid; flex: 0 0 auto; width: 38px; height: 38px; place-items: center; border: 1px solid #dfe1e9; border-radius: 10px; background: #f7f8fb; color: #36394d; cursor: pointer; font: inherit; font-size: 1.35rem; line-height: 1; }
.bootstrap-site .admin-v3 #adminCloseDisplayPreview:hover { border-color: #c6c2de; background: #efedf8; }
.bootstrap-site .admin-v3 .admin-display-preview-viewport { position: relative; width: 100%; aspect-ratio: 16 / 9; min-height: 0; overflow: hidden; background: #080716; }
.bootstrap-site .admin-v3 .admin-display-preview-viewport iframe { position: absolute; inset: 0 auto auto 0; width: 1280px; height: 720px; border: 0; background: #080716; pointer-events: none; transform-origin: top left; }
.bootstrap-site .admin-v3 .admin-display-preview-viewport > .display-device-standby { width: 100%; height: 100%; min-height: 0; }
.bootstrap-site .admin-v3 .admin-display-preview-dialog > footer { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-top: 1px solid #e3e4ec; }
.bootstrap-site .admin-v3 .admin-display-preview-dialog footer p { max-width: 78ch; margin: 0; color: #6e7285; font-size: .66rem; line-height: 1.45; }
.bootstrap-site .admin-v3 .admin-display-preview-dialog footer .button { flex: 0 0 auto; min-height: 38px; }

.bootstrap-site .admin-v3 .admin-branding-panel { display: grid; gap: .75rem; }
.bootstrap-site .admin-v3 .admin-branding-preview {
    display: grid;
    min-width: 0;
    grid-template-columns: 56px minmax(0,1fr);
    align-items: center;
    gap: .7rem;
    padding: .7rem;
    border: 1px dashed #d9dce8;
    border-radius: 12px;
    background: #f8f9fc;
}
.bootstrap-site .admin-v3 .admin-branding-preview > span,
.bootstrap-site .admin-v3 .admin-branding-preview > img {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border-radius: 11px;
    background: #ebe8f8;
    color: #5d45b6;
    object-fit: contain;
}
.bootstrap-site .admin-v3 .admin-branding-preview > img { padding: .25rem; background: #15123f; }
.bootstrap-site .admin-v3 .admin-branding-preview > div { display: grid; min-width: 0; gap: .12rem; }
.bootstrap-site .admin-v3 .admin-branding-preview strong { color: #292b41; font-size: .74rem; }
.bootstrap-site .admin-v3 .admin-branding-preview small { color: #7c8092; font-size: .64rem; line-height: 1.35; }
.bootstrap-site .admin-v3 .admin-branding-panel form { display: grid; min-width: 0; gap: .65rem; }
.bootstrap-site .admin-v3 .admin-branding-panel .field { margin: 0; }
.bootstrap-site .admin-v3 .admin-branding-panel :is(input,textarea) { min-width: 0; }
.bootstrap-site .admin-v3 .admin-branding-file input { padding: .4rem; font-size: .68rem; }
.bootstrap-site .admin-v3 .admin-branding-toggle {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .65rem .7rem;
    border: 1px solid #e0e2eb;
    border-radius: 11px;
    background: #fafbfc;
}
.bootstrap-site .admin-v3 .admin-branding-toggle > span { display: grid; min-width: 0; gap: .08rem; }
.bootstrap-site .admin-v3 .admin-branding-toggle strong { color: #34364b; font-size: .72rem; }
.bootstrap-site .admin-v3 .admin-branding-toggle small { color: #818597; font-size: .61rem; line-height: 1.35; }
.bootstrap-site .admin-v3 .admin-branding-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.bootstrap-site .admin-v3 .admin-branding-actions .button { min-height: 40px; flex: 1 1 130px; }
.bootstrap-site .admin-v3 .admin-remove-branding {
    border: 1px solid #e5aeb8 !important;
    background: #fff !important;
    color: #a1273e !important;
}

@media (max-width: 1180px) {
    .bootstrap-site .admin-v3 .admin-detail-columns { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v3 .admin-detail-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .admin-v3 .admin-detail-side .admin-branding-panel,
    .bootstrap-site .admin-v3 .admin-detail-side .admin-danger-zone { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-main {
        grid-template-columns: minmax(0,1fr);
        gap: 1.25rem;
        padding: 1.4rem;
    }
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-intro { width: min(540px,100%); justify-self: center; }
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-intro h1 { max-width: 15ch; margin: .55rem 0; font-size: clamp(2.25rem,7vw,3.5rem); }
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-intro > p { font-size: .88rem; }
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-card { width: min(540px,100%); justify-self: center; }
    .bootstrap-site .admin-v3 .admin-device-fleet-grid { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v3 .admin-fleet-link-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .admin-v3 .admin-fleet-link-form .admin-device-link-heading { grid-column: 1 / -1; }
    .bootstrap-site .admin-v3 .admin-account-layout { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v3 .admin-account-list { position: static; }
}

@media (max-width: 700px) {
    .bootstrap-site .admin-v3 .admin-dashboard-topbar,
    .bootstrap-site .admin-v3 .admin-dashboard-topbar-inner { min-height: 74px; }
    .bootstrap-site .admin-v3 .admin-dashboard-topbar-inner { gap: .5rem; padding-inline: .65rem; }
    .bootstrap-site .admin-v3 .admin-brand-logo { width: 100px; height: 70px; flex-basis: 100px; }
    .bootstrap-site .admin-v3 .admin-account-results { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v3 .admin-detail-side { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v3 .admin-detail-side .admin-branding-panel,
    .bootstrap-site .admin-v3 .admin-detail-side .admin-danger-zone { grid-column: auto; }
    .bootstrap-site .admin-v3 .admin-section-nav { position: static; }
    .bootstrap-site .admin-v3 .admin-device-fleet-group.is-unallocated { padding: .6rem; }
    .bootstrap-site .admin-v3 .admin-device-allocation-form { grid-template-columns: minmax(0,1fr); }
    .bootstrap-site .admin-v3 .admin-fleet-link-form { grid-template-columns: minmax(0,1fr); }
    .bootstrap-site .admin-v3 .admin-fleet-link-form .admin-device-link-heading { grid-column: auto; }
    .admin-v2 .admin-account-display-summary { align-items: stretch; flex-direction: column; }
    .admin-v2 .admin-account-display-summary .button { width: 100%; }
    .bootstrap-site .admin-v3 .admin-device-allocation-form .button { grid-column: auto; }
    .bootstrap-site .admin-v3 .admin-device-allocation-form .button { width: 100%; }
    .bootstrap-site .admin-v3 .admin-display-preview-dialog > footer { align-items: stretch; flex-direction: column; }
    .bootstrap-site .admin-v3 .admin-display-preview-dialog footer .button { width: 100%; }
}

@media (max-width: 480px) {
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-topbar,
    .bootstrap-site .admin-v3 .admin-auth-topbar-inner { min-height: 74px; }
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-topbar { padding-inline: .65rem; }
    .bootstrap-site .admin-v3 .admin-auth-topbar-inner { gap: .5rem; }
    .bootstrap-site .admin-v3 .admin-brand-logo { width: 94px; height: 66px; flex-basis: 94px; }
    .bootstrap-site .admin-v3 .admin-back-label { display: none; }
    .bootstrap-site .admin-v3 .admin-back-short { display: inline; }
    .bootstrap-site .admin-v3 .admin-back-home { min-height: 36px; padding: .4rem .55rem; }
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-main { gap: 1rem; padding: 1rem; }
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-intro h1 { margin-bottom: 0; font-size: clamp(1.8rem,9vw,2.4rem); }
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-card { padding: 1.15rem; border-radius: 18px; }
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-card h2 { font-size: 1.85rem; }
    .bootstrap-site .admin-v3 .admin-dashboard-actions { gap: .3rem; }
    .bootstrap-site .admin-v3 :is(.admin-nav-action,.admin-nav-logout) { min-height: 36px; padding: .38rem .48rem; font-size: .62rem; }
    .bootstrap-site .admin-v3 .admin-workspace { padding: .8rem .65rem 1.5rem; }
}

@media (min-width: 901px) and (max-height: 800px) {
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-topbar,
    .bootstrap-site .admin-v3 .admin-auth-topbar-inner { min-height: 78px; }
    .bootstrap-site .admin-v3 .admin-brand-logo { width: 108px; height: 76px; flex-basis: 108px; }
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-main { gap: 3rem; padding-block: 1.2rem; }
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-intro h1 { margin-block: .65rem; font-size: clamp(3rem,5vw,4.3rem); }
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-card { padding: 1.35rem 1.55rem; }
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-card > p { margin-bottom: .9rem; }
    .bootstrap-site .admin-auth-shell.admin-v3 .admin-auth-help { margin-top: .7rem; }
}

/* Admin v4: touch-first operations workspace for landscape and portrait tablets. */
.bootstrap-site .admin-v4 {
    --admin-v4-ink: #17182f;
    --admin-v4-muted: #686d82;
    --admin-v4-line: #e2e4ed;
    --admin-v4-purple: #5536b8;
    --admin-v4-pink: #e92778;
    --admin-v4-teal: #0a9f91;
    --admin-v4-yellow: #ffd84d;
    --admin-v4-surface: #fff;
    color: var(--admin-v4-ink);
}
.bootstrap-site .admin-app.admin-v4 { min-height: 100dvh; background: #f5f6fa; }
.bootstrap-site .admin-v4 :is(a,button,input,select,textarea,summary):focus-visible {
    outline: 3px solid rgba(86,55,185,.3);
    outline-offset: 2px;
}
.bootstrap-site .admin-v4 [hidden] { display: none !important; }

/* Compact persistent navigation. */
.bootstrap-site .admin-v4 .admin-dashboard-topbar { min-height: 76px; background: linear-gradient(115deg,#090b32 0%,#17134d 68%,#2b1767 100%); }
.bootstrap-site .admin-v4 .admin-dashboard-topbar-inner {
    display: grid;
    min-height: 76px;
    grid-template-columns: minmax(180px,1fr) auto minmax(180px,1fr);
    gap: 1rem;
    padding: 0 clamp(1rem,2.6vw,2rem);
}
.bootstrap-site .admin-v4 .admin-dashboard-identity { display: flex; min-width: 0; align-items: center; gap: .7rem; }
.bootstrap-site .admin-v4 .admin-dashboard-identity > span { display: grid; gap: 0; line-height: 1.05; }
.bootstrap-site .admin-v4 .admin-dashboard-identity small { color: rgba(255,255,255,.55); font-size: .64rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.bootstrap-site .admin-v4 .admin-dashboard-identity strong { color: #fff; font-size: .92rem; letter-spacing: -.02em; }
.bootstrap-site .admin-v4 .admin-brand-logo,
.bootstrap-site .admin-v4 .admin-brand-logo img { width: 54px; height: 54px; flex-basis: 54px; border-radius: 14px; object-fit: contain; }
.bootstrap-site .admin-v4 .admin-dashboard-primary { display: grid; grid-template-columns: repeat(2,minmax(112px,1fr)); gap: .45rem; padding: .32rem; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(0,0,0,.16); }
.bootstrap-site .admin-v4 .admin-dashboard-primary .admin-nav-action { min-height: 47px; gap: .5rem; padding: .55rem .9rem; border: 0; border-radius: 11px; background: transparent; color: rgba(255,255,255,.68); font-size: .78rem; }
.bootstrap-site .admin-v4 .admin-dashboard-primary .admin-nav-action > span { font-size: 1rem; }
.bootstrap-site .admin-v4 .admin-dashboard-primary .admin-nav-action.is-current { background: #fff; color: #251b58; box-shadow: 0 5px 16px rgba(0,0,0,.17); }
.bootstrap-site .admin-v4 .admin-utility-menu { position: relative; justify-self: end; }
.bootstrap-site .admin-v4 .admin-utility-menu > summary {
    display: inline-flex;
    min-width: 84px;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .5rem .72rem;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 12px;
    background: rgba(255,255,255,.08);
    color: #fff;
    cursor: pointer;
    font-size: .72rem;
    list-style: none;
}
.bootstrap-site .admin-v4 .admin-utility-menu > summary::-webkit-details-marker { display: none; }
.bootstrap-site .admin-v4 .admin-utility-menu[open] > summary { border-color: rgba(255,255,255,.42); background: rgba(255,255,255,.15); }
.bootstrap-site .admin-v4 .admin-utility-menu > div {
    position: absolute;
    z-index: 100;
    top: calc(100% + .55rem);
    right: 0;
    display: grid;
    width: min(270px,calc(100vw - 1.5rem));
    gap: .45rem;
    padding: .7rem;
    border: 1px solid #dedfe8;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(11,10,42,.25);
}
.bootstrap-site .admin-v4 .admin-utility-user { display: grid; min-width: 0; gap: .08rem; padding: .45rem .55rem .65rem; border-bottom: 1px solid #ececf2; }
.bootstrap-site .admin-v4 .admin-utility-user small { color: #898c9c; font-size: .62rem; }
.bootstrap-site .admin-v4 .admin-utility-user strong { overflow: hidden; color: #292b42; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .admin-v4 .admin-utility-menu :is(.admin-nav-action,.admin-nav-logout) { width: 100%; min-height: 46px; justify-content: space-between; padding: .65rem .75rem; border: 1px solid #dedfe8; border-radius: 10px; background: #f7f7fa; color: #303248; font-size: .74rem; }
.bootstrap-site .admin-v4 .admin-utility-menu .admin-nav-logout { justify-content: center; border-color: #e8aeba; background: #fff1f4; color: #9c1f3a; }

/* Page heading and concise operational totals. */
.bootstrap-site .admin-v4 .admin-workspace { width: min(1440px,100%); max-width: 1440px; padding: clamp(1.1rem,2.4vw,2rem); }
.bootstrap-site .admin-v4 .admin-page-heading { display: flex; min-width: 0; flex-direction: row; align-items: end; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; }
.bootstrap-site .admin-v4 .admin-page-heading > div { min-width: 0; }
.bootstrap-site .admin-v4 .admin-page-heading h1 { margin: .1rem 0 .25rem; font-size: clamp(2rem,3.2vw,3rem); }
.bootstrap-site .admin-v4 .admin-page-heading p { margin: 0; font-size: .82rem; }
.bootstrap-site .admin-v4 .admin-page-shortcut { display: inline-flex; min-height: 46px; flex: 0 0 auto; align-items: center; gap: .45rem; padding: .55rem .8rem; border: 1px solid #d8d4ed; border-radius: 12px; background: #fff; color: #4f399f; font-size: .74rem; font-weight: 850; text-decoration: none; box-shadow: 0 5px 14px rgba(36,28,81,.05); }
.bootstrap-site .admin-v4 .admin-fact-strip {
    display: grid;
    grid-template-columns: repeat(6,minmax(138px,1fr));
    gap: .65rem;
    margin: 0 0 1rem;
    padding: 0 0 .2rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
    scrollbar-width: none;
}
.bootstrap-site .admin-v4 .admin-fact-strip::-webkit-scrollbar,
.bootstrap-site .admin-v4 .admin-section-nav::-webkit-scrollbar { display: none; }
.bootstrap-site .admin-v4 .admin-fact-strip > div {
    display: flex;
    min-width: 0;
    min-height: 82px;
    align-items: center;
    gap: .7rem;
    padding: .8rem;
    border: 1px solid var(--admin-v4-line);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(29,30,65,.045);
    scroll-snap-align: start;
}
.bootstrap-site .admin-v4 .admin-fact-strip > div::after { display: none; }
.bootstrap-site .admin-v4 .admin-stat-icon { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 11px; font-size: .85rem; }
.bootstrap-site .admin-v4 .admin-fact-strip > div > span:last-child { display: grid; min-width: 0; grid-column: auto; grid-row: auto; gap: .05rem; color: inherit; text-transform: none; }
.bootstrap-site .admin-v4 .admin-fact-strip > div > span:last-child strong { grid-column: auto; grid-row: auto; align-self: auto; justify-self: auto; color: var(--admin-v4-ink); font-size: 1.35rem; line-height: 1; }
.bootstrap-site .admin-v4 .admin-fact-strip > div > span:last-child small { color: #74788b; font-size: .68rem; font-weight: 750; text-transform: none; white-space: nowrap; }

/* Tablet master-detail account browser. */
.bootstrap-site .admin-v4 .admin-account-layout { display: grid; grid-template-columns: minmax(245px,290px) minmax(0,1fr); align-items: start; gap: 1rem; }
.bootstrap-site .admin-v4 .admin-account-list { position: sticky; top: 92px; max-height: calc(100dvh - 110px); border: 1px solid var(--admin-v4-line); border-radius: 18px; box-shadow: 0 12px 30px rgba(28,29,70,.06); }
.bootstrap-site .admin-v4 .admin-account-list > header { min-height: 72px; padding: .9rem; }
.bootstrap-site .admin-v4 .admin-account-list > header h2 { font-size: 1.2rem; }
.bootstrap-site .admin-v4 .admin-account-list form { grid-template-columns: 30px minmax(0,1fr) auto; padding: .55rem .65rem; }
.bootstrap-site .admin-v4 .admin-account-list form input { min-height: 46px; font-size: .78rem; }
.bootstrap-site .admin-v4 .admin-account-list form .button { min-height: 42px; padding-inline: .7rem; font-size: .72rem; }
.bootstrap-site .admin-v4 .admin-account-results { display: grid; max-height: calc(100dvh - 270px); grid-template-columns: 1fr; overflow-y: auto; overscroll-behavior: contain; }
.bootstrap-site .admin-v4 .admin-account-results > button { min-height: 68px; grid-template-columns: 42px minmax(0,1fr) auto 12px; gap: .65rem; padding: .7rem; border-left-width: 4px; text-align: left; }
.bootstrap-site .admin-v4 .admin-directory-avatar { width: 42px; height: 42px; border-radius: 13px; font-size: .72rem; }
.bootstrap-site .admin-v4 .admin-directory-copy strong { font-size: .78rem; }
.bootstrap-site .admin-v4 .admin-directory-copy small { font-size: .66rem; }
.bootstrap-site .admin-v4 .admin-account-results b { font-size: .6rem; }

.bootstrap-site .admin-v4 .admin-account-detail { min-width: 0; }
.bootstrap-site .admin-v4 .admin-account-hero { min-height: 80px; grid-template-columns: 52px minmax(0,1fr) auto; margin: 0 0 .65rem; padding: .8rem .9rem; border-radius: 17px; }
.bootstrap-site .admin-v4 .admin-account-avatar { width: 52px; height: 52px; border-radius: 15px; }
.bootstrap-site .admin-v4 .admin-account-title h2 { font-size: clamp(1.35rem,2.5vw,1.85rem); }
.bootstrap-site .admin-v4 .admin-account-title a { font-size: .75rem; }
.bootstrap-site .admin-v4 .admin-section-nav {
    position: sticky;
    z-index: 20;
    top: 84px;
    display: flex;
    gap: .35rem;
    margin: 0 0 .7rem;
    padding: .4rem;
    overflow-x: auto;
    border: 1px solid var(--admin-v4-line);
    border-radius: 14px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 8px 24px rgba(28,29,70,.07);
    backdrop-filter: blur(12px);
    scrollbar-width: none;
}
.bootstrap-site .admin-v4 .admin-section-nav button { display: inline-flex; min-width: 94px; min-height: 46px; flex: 1 0 auto; align-items: center; justify-content: center; gap: .4rem; padding: .55rem .7rem; border: 0; border-radius: 10px; background: transparent; color: #696d80; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 850; }
.bootstrap-site .admin-v4 .admin-section-nav button > span { color: #806bd0; font-size: .9rem; }
.bootstrap-site .admin-v4 .admin-section-nav button[aria-selected="true"] { background: #eeeaff; color: #3f288f; box-shadow: inset 0 0 0 1px #d9d1fa; }
.bootstrap-site .admin-v4 .admin-section-nav button[aria-selected="true"] > span { color: #5536b8; }
.bootstrap-site .admin-v4 .admin-account-panels,
.bootstrap-site .admin-v4 .admin-tab-panel { min-width: 0; }
.bootstrap-site .admin-v4 .admin-panel { padding: clamp(1rem,2vw,1.35rem); border-radius: 17px; box-shadow: 0 9px 26px rgba(28,29,70,.045); }
.bootstrap-site .admin-v4 .admin-panel-heading h3,
.bootstrap-site .admin-v4 .admin-override-heading h3 { font-size: 1.18rem; }
.bootstrap-site .admin-v4 .admin-panel-heading p,
.bootstrap-site .admin-v4 .admin-override-heading p { font-size: .78rem; }
.bootstrap-site .admin-v4 .admin-panel-heading > small { font-size: .68rem; }
.bootstrap-site .admin-v4 .admin-overview-status-grid { display: grid; min-width: 0; grid-template-columns: minmax(0,1.25fr) minmax(250px,.75fr); align-items: stretch; gap: .75rem; }
.bootstrap-site .admin-v4 .admin-account-facts { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: .6rem; margin: 0; }
.bootstrap-site .admin-v4 .admin-account-facts div { min-height: 100%; padding: .8rem; }
.bootstrap-site .admin-v4 .admin-account-facts dt { font-size: .64rem; }
.bootstrap-site .admin-v4 .admin-account-facts dd { font-size: .78rem; }
.bootstrap-site .admin-v4 .admin-room-fact { min-height: 100%; margin: 0; padding: .9rem; }
.bootstrap-site .admin-v4 .admin-room-fact strong { font-size: 1rem; }
.bootstrap-site .admin-v4 .admin-room-fact p { font-size: .72rem; }
.bootstrap-site .admin-v4 .admin-room-fact small { font-size: .65rem; }
.bootstrap-site .admin-v4 .admin-usage-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: .6rem; margin-top: .75rem; }
.bootstrap-site .admin-v4 .admin-usage-grid div { min-height: 78px; justify-content: center; padding: .8rem; border: 1px solid #ececf3; border-radius: 12px; background: #fafafe; }
.bootstrap-site .admin-v4 .admin-usage-grid strong { font-size: 1.45rem; }
.bootstrap-site .admin-v4 .admin-usage-grid span { font-size: .69rem; }

/* Each operation gets one focused, comfortably-sized panel. */
.bootstrap-site .admin-v4 .admin-stripe-payment-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.bootstrap-site .admin-v4 .admin-stripe-payment-grid > div { min-height: 76px; padding: .78rem; }
.bootstrap-site .admin-v4 .admin-stripe-payment-grid dt { font-size: .64rem; }
.bootstrap-site .admin-v4 .admin-stripe-payment-grid dd { font-size: .76rem; }
.bootstrap-site .admin-v4 .admin-stripe-privacy-note { display: block; margin-top: .75rem; font-size: .67rem; line-height: 1.5; }
.bootstrap-site .admin-v4 .admin-account-display-summary { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 1rem; min-height: 210px; }
.bootstrap-site .admin-v4 .admin-display-summary-icon { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 18px; background: #e9e4ff; color: #5439ad; font-size: 1.6rem; }
.bootstrap-site .admin-v4 .admin-account-display-summary h3 { margin: .12rem 0; font-size: 1.25rem; }
.bootstrap-site .admin-v4 .admin-account-display-summary p { font-size: .8rem; }
.bootstrap-site .admin-v4 .admin-account-display-summary small { display: block; max-width: 58ch; margin-top: .35rem; color: #85899b; font-size: .7rem; line-height: 1.45; }
.bootstrap-site .admin-v4 .admin-account-display-summary .button { min-height: 48px; padding-inline: 1rem; }
.bootstrap-site .admin-v4 .admin-branding-panel { max-width: 860px; gap: 1rem; }
.bootstrap-site .admin-v4 .admin-branding-preview { min-height: 86px; grid-template-columns: 68px minmax(0,1fr); padding: .8rem; }
.bootstrap-site .admin-v4 .admin-branding-preview > :is(span,img) { width: 68px; height: 68px; }
.bootstrap-site .admin-v4 .admin-branding-preview strong { font-size: .82rem; }
.bootstrap-site .admin-v4 .admin-branding-preview small { font-size: .72rem; }
.bootstrap-site .admin-v4 .admin-branding-panel form { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.bootstrap-site .admin-v4 .admin-branding-panel form > :is(.admin-branding-toggle,.field:nth-child(3),.admin-branding-actions) { grid-column: 1 / -1; }
.bootstrap-site .admin-v4 .admin-branding-toggle { min-height: 70px; }
.bootstrap-site .admin-v4 .admin-branding-toggle strong { font-size: .78rem; }
.bootstrap-site .admin-v4 .admin-branding-toggle small { font-size: .69rem; }
.bootstrap-site .admin-v4 .admin-branding-panel .field,
.bootstrap-site .admin-v4 .admin-override-form .field,
.bootstrap-site .admin-v4 .admin-danger-zone .field,
.bootstrap-site .admin-v4 .admin-fleet-link-form .field,
.bootstrap-site .admin-v4 .admin-device-allocation-form .field { font-size: .72rem; }
.bootstrap-site .admin-v4 :is(.admin-branding-panel,.admin-override-form,.admin-danger-zone,.admin-fleet-link-form,.admin-device-allocation-form) :is(input,select,textarea) { min-height: 48px; border-radius: 10px; font-size: .78rem; }
.bootstrap-site .admin-v4 .admin-branding-actions .button { min-height: 48px; }
.bootstrap-site .admin-v4 .admin-access-panel-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(290px,.85fr); align-items: start; gap: .8rem; }
.bootstrap-site .admin-v4 .admin-override-form { gap: .8rem; }
.bootstrap-site .admin-v4 .admin-override-current { min-height: 64px; justify-content: center; padding: .8rem; }
.bootstrap-site .admin-v4 .admin-override-current strong { font-size: .78rem; }
.bootstrap-site .admin-v4 .admin-never-expire-option { min-height: 64px; }
.bootstrap-site .admin-v4 .admin-override-form .button,
.bootstrap-site .admin-v4 .admin-delete-account-button { min-height: 48px; font-size: .74rem; }
.bootstrap-site .admin-v4 .admin-danger-zone { gap: .85rem; }
.bootstrap-site .admin-v4 .admin-danger-zone h3 { font-size: 1.12rem; }
.bootstrap-site .admin-v4 .admin-danger-zone p { font-size: .73rem; line-height: 1.5; }
.bootstrap-site .admin-v4 .admin-audit-list { max-width: 920px; }
.bootstrap-site .admin-v4 .admin-audit-list article { min-height: 72px; padding: .8rem 0; }
.bootstrap-site .admin-v4 .admin-audit-list article strong { font-size: .76rem; text-transform: capitalize; }
.bootstrap-site .admin-v4 .admin-audit-list article span { font-size: .72rem; }
.bootstrap-site .admin-v4 .admin-audit-list article small { font-size: .66rem; }

/* Fleet sections collapse cleanly and controls meet tablet touch sizing. */
.bootstrap-site .admin-v4 .admin-device-fleet { gap: .8rem; padding: clamp(.8rem,2vw,1.2rem); }
.bootstrap-site .admin-v4 .admin-device-fleet-heading { align-items: center; gap: 1rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-heading h2 { font-size: 1.4rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-heading p { font-size: .77rem; }
.bootstrap-site .admin-v4 .admin-device-heading-actions { display: grid; justify-items: end; gap: .65rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-summary { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .4rem; font-size: .68rem; white-space: normal; }
.bootstrap-site .admin-v4 .admin-device-fleet-summary > span { padding: .35rem .55rem; border-radius: 999px; background: #f0f1f5; color: #646879; }
.bootstrap-site .admin-v4 .admin-device-fleet-summary > span.is-online { background: #e5f8f2; color: #176c58; }
.bootstrap-site .admin-v4 .admin-device-fleet-summary > span.needs-action { background: #fff0d5; color: #8b5510; }
.bootstrap-site .admin-v4 #adminRefreshDisplayFleet { min-height: 44px; padding: .5rem .8rem; border: 1px solid #d9d5eb; border-radius: 10px; background: #f1effb; color: #4c3b9c; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 850; }
.bootstrap-site .admin-v4 .admin-device-fleet-group { padding: .75rem; border: 1px solid #e2e4ec; border-radius: 14px; background: #fafbfc; }
.bootstrap-site .admin-v4 .admin-device-fleet-group.is-allocated { padding: .75rem; border: 1px solid #cde9df; border-radius: 14px; background: #f7fcfa; }
.bootstrap-site .admin-v4 .admin-device-fleet-group.is-unallocated { padding: .75rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-group.is-revoked,
.bootstrap-site .admin-v4 .admin-device-fleet-group.is-destroyed { padding: .75rem; border: 1px solid #e2e4ec; }
.bootstrap-site .admin-v4 .admin-device-fleet-group > summary { min-height: 64px; cursor: pointer; list-style: none; }
.bootstrap-site .admin-v4 .admin-device-fleet-group > summary::-webkit-details-marker { display: none; }
.bootstrap-site .admin-v4 .admin-device-fleet-group-heading h3 { font-size: 1.03rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-group-heading p { font-size: .7rem; }
.bootstrap-site .admin-v4 .admin-fleet-group-meta { display: flex; flex: 0 0 auto; align-items: center; gap: .55rem; }
.bootstrap-site .admin-v4 .admin-fleet-group-meta > strong { display: grid; min-width: 38px; height: 38px; place-items: center; border-radius: 11px; background: #ebe8f8; color: #513ba8; font-size: .8rem; }
.bootstrap-site .admin-v4 .admin-fleet-group-meta > i { color: #777b8d; font-size: 1rem; font-style: normal; transition: transform .2s ease; }
.bootstrap-site .admin-v4 .admin-device-fleet-group[open] .admin-fleet-group-meta > i { transform: rotate(180deg); }
.bootstrap-site .admin-v4 .admin-device-fleet-group > .admin-device-fleet-grid,
.bootstrap-site .admin-v4 .admin-device-fleet-group > .admin-unallocated-clear { margin-top: .75rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.bootstrap-site .admin-v4 .admin-fleet-device { gap: .75rem; padding: 1rem; border-radius: 14px; background: #fff; }
.bootstrap-site .admin-v4 .admin-managed-device-heading { min-height: 52px; }
.bootstrap-site .admin-v4 .admin-managed-device-heading > div strong { font-size: .9rem; }
.bootstrap-site .admin-v4 .admin-managed-device-heading > div span { font-size: .7rem; }
.bootstrap-site .admin-v4 .admin-device-live-facts dd,
.bootstrap-site .admin-v4 .admin-device-system-facts dd { font-size: .72rem; }
.bootstrap-site .admin-v4 .admin-device-live-facts dt,
.bootstrap-site .admin-v4 .admin-device-system-facts dt { font-size: .59rem; }
.bootstrap-site .admin-v4 .admin-display-preview-launcher { min-height: 58px; }
.bootstrap-site .admin-v4 .admin-display-preview-launcher strong { font-size: .74rem; }
.bootstrap-site .admin-v4 .admin-display-preview-launcher small { font-size: .65rem; }
.bootstrap-site .admin-v4 .admin-device-details summary { min-height: 46px; display: flex; align-items: center; padding: .6rem 0; font-size: .72rem; }
.bootstrap-site .admin-v4 .admin-device-controls { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }
.bootstrap-site .admin-v4 .admin-device-controls button { min-height: 46px; font-size: .68rem; }
.bootstrap-site .admin-v4 .admin-device-lifecycle-actions { gap: .45rem; }
.bootstrap-site .admin-v4 .admin-device-lifecycle-actions button { min-height: 42px; padding: .5rem .65rem; }
.bootstrap-site .admin-v4 .admin-device-allocation-form { grid-template-columns: minmax(0,1fr) auto; }
.bootstrap-site .admin-v4 .admin-device-allocation-form .button { min-height: 48px; grid-column: auto; }
.bootstrap-site .admin-v4 .admin-manual-link { border: 1px dashed #d8d9e4; border-radius: 13px; background: #fafafe; }
.bootstrap-site .admin-v4 .admin-manual-link > summary { display: grid; min-height: 64px; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: .65rem; padding: .65rem .8rem; cursor: pointer; list-style: none; }
.bootstrap-site .admin-v4 .admin-manual-link > summary::-webkit-details-marker { display: none; }
.bootstrap-site .admin-v4 .admin-manual-link > summary > span:first-child { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: #ece9fb; color: #543eaa; font-size: 1rem; }
.bootstrap-site .admin-v4 .admin-manual-link > summary > span:nth-child(2) { display: grid; gap: .08rem; }
.bootstrap-site .admin-v4 .admin-manual-link > summary strong { color: #383a50; font-size: .78rem; }
.bootstrap-site .admin-v4 .admin-manual-link > summary small { color: #85899a; font-size: .66rem; }
.bootstrap-site .admin-v4 .admin-manual-link > summary > i { color: #777b8d; font-style: normal; transition: transform .2s ease; }
.bootstrap-site .admin-v4 .admin-manual-link[open] > summary > i { transform: rotate(180deg); }
.bootstrap-site .admin-v4 .admin-manual-link .admin-fleet-link-form { grid-template-columns: repeat(2,minmax(0,1fr)) auto; gap: .7rem; margin: 0; padding: .2rem .8rem .8rem; border: 0; }
.bootstrap-site .admin-v4 .admin-manual-link .admin-fleet-link-form .button { min-height: 48px; grid-column: auto; }

/* Login follows the same touch scale without wasting portrait space. */
.bootstrap-site .admin-auth-shell.admin-v4 .admin-login-form input,
.bootstrap-site .admin-auth-shell.admin-v4 .admin-login-form button { min-height: 52px; font-size: .8rem; }
.bootstrap-site .admin-auth-shell.admin-v4 .admin-back-home { min-height: 44px; }

@media (max-width: 1120px) {
    .bootstrap-site .admin-v4 .admin-dashboard-topbar-inner { grid-template-columns: minmax(150px,1fr) auto minmax(90px,1fr); }
    .bootstrap-site .admin-v4 .admin-account-layout { grid-template-columns: 245px minmax(0,1fr); }
    .bootstrap-site .admin-v4 .admin-overview-status-grid { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v4 .admin-account-facts { min-height: 0; }
    .bootstrap-site .admin-v4 .admin-access-panel-grid { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v4 .admin-device-fleet-heading { align-items: flex-start; flex-direction: column; }
    .bootstrap-site .admin-v4 .admin-device-heading-actions { width: 100%; grid-template-columns: minmax(0,1fr) auto; align-items: center; }
    .bootstrap-site .admin-v4 .admin-device-fleet-summary { justify-content: flex-start; }
}

@media (max-width: 860px) {
    .bootstrap-site .admin-v4 .admin-dashboard-topbar-inner { gap: .6rem; padding-inline: .75rem; }
    .bootstrap-site .admin-v4 .admin-dashboard-identity > span { display: none; }
    .bootstrap-site .admin-v4 .admin-brand-logo,
    .bootstrap-site .admin-v4 .admin-brand-logo img { width: 48px; height: 48px; flex-basis: 48px; }
    .bootstrap-site .admin-v4 .admin-dashboard-primary { grid-template-columns: repeat(2,minmax(100px,1fr)); }
    .bootstrap-site .admin-v4 .admin-workspace { padding: 1rem .75rem 1.5rem; }
    .bootstrap-site .admin-v4 .admin-page-heading h1 { font-size: 2rem; }
    .bootstrap-site .admin-v4 .admin-account-layout { grid-template-columns: 232px minmax(0,1fr); gap: .75rem; }
    .bootstrap-site .admin-v4 .admin-account-hero { grid-template-columns: 48px minmax(0,1fr); }
    .bootstrap-site .admin-v4 .admin-account-avatar { width: 48px; height: 48px; }
    .bootstrap-site .admin-v4 .admin-account-badges { grid-column: 2; justify-self: start; }
    .bootstrap-site .admin-v4 .admin-account-facts { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v4 .admin-account-facts div { min-height: 62px; }
    .bootstrap-site .admin-v4 .admin-usage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .admin-v4 .admin-stripe-payment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .admin-v4 .admin-branding-panel form { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v4 .admin-branding-panel form > * { grid-column: auto !important; }
    .bootstrap-site .admin-v4 .admin-account-display-summary { grid-template-columns: 54px minmax(0,1fr); }
    .bootstrap-site .admin-v4 .admin-display-summary-icon { width: 54px; height: 54px; }
    .bootstrap-site .admin-v4 .admin-account-display-summary .button { grid-column: 1 / -1; width: 100%; }
    .bootstrap-site .admin-v4 .admin-device-fleet-grid { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v4 .admin-fleet-system-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
    .bootstrap-site .admin-v4 .admin-dashboard-topbar-inner { grid-template-columns: 48px minmax(0,1fr) auto; }
    .bootstrap-site .admin-v4 .admin-dashboard-primary { min-width: 0; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .admin-v4 .admin-dashboard-primary .admin-nav-action { min-width: 0; padding-inline: .55rem; }
    .bootstrap-site .admin-v4 .admin-utility-menu > summary { min-width: 48px; padding: .5rem; }
    .bootstrap-site .admin-v4 .admin-utility-menu > summary strong { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .bootstrap-site .admin-v4 .admin-page-heading { align-items: flex-start; flex-direction: column; }
    .bootstrap-site .admin-v4 .admin-page-shortcut { width: 100%; justify-content: center; }
    .bootstrap-site .admin-v4 .admin-account-layout { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v4 .admin-account-list { position: static; max-height: none; }
    .bootstrap-site .admin-v4 .admin-account-results { max-height: 280px; }
    .bootstrap-site .admin-v4 .admin-section-nav { top: 82px; }
    .bootstrap-site .admin-v4 .admin-device-heading-actions { grid-template-columns: 1fr; justify-items: stretch; }
    .bootstrap-site .admin-v4 .admin-device-fleet-summary { justify-content: flex-start; }
    .bootstrap-site .admin-v4 #adminRefreshDisplayFleet { width: 100%; }
    .bootstrap-site .admin-v4 .admin-manual-link .admin-fleet-link-form { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v4 .admin-manual-link .admin-fleet-link-form .button { grid-column: auto; }
}

@media (max-width: 480px) {
    .bootstrap-site .admin-v4 .admin-dashboard-primary .admin-nav-action { gap: .3rem; font-size: .68rem; }
    .bootstrap-site .admin-v4 .admin-page-heading h1 { font-size: 1.8rem; }
    .bootstrap-site .admin-v4 .admin-fact-strip { grid-template-columns: repeat(6,145px); }
    .bootstrap-site .admin-v4 .admin-account-title h2 { font-size: 1.25rem; }
    .bootstrap-site .admin-v4 .admin-section-nav button { min-width: 88px; }
    .bootstrap-site .admin-v4 .admin-stripe-payment-grid { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v4 .admin-device-live-facts,
    .bootstrap-site .admin-v4 .admin-fleet-system-facts { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v4 .admin-device-controls { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v4 .admin-device-fleet-group-heading p { display: none; }
}

/* Quiz Pi fleet: calm status overview with progressive operational controls. */
.bootstrap-site .admin-v4 .admin-device-fleet-v2 { gap: 1rem; padding: clamp(1rem,2.2vw,1.45rem); overflow: visible; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-heading { display: flex; align-items: center; flex-direction: row; justify-content: space-between; gap: 1.25rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-heading > div { min-width: 0; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-heading h2 { margin: .12rem 0 .25rem; font-size: clamp(1.55rem,2.4vw,2rem); }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-heading p { max-width: 62ch; margin: 0; color: #73778b; font-size: .8rem; }
.bootstrap-site .admin-v4 .admin-device-refresh { display: grid; min-width: 162px; min-height: 50px; flex: 0 0 auto; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: .55rem; padding: .5rem .7rem; border: 1px solid #d7d3e9; border-radius: 13px; background: #fff; color: #413389; cursor: pointer; text-align: left; box-shadow: 0 5px 16px rgba(40,31,89,.06); }
.bootstrap-site .admin-v4 .admin-device-refresh > span:first-child { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: #ede9ff; font-size: 1rem; }
.bootstrap-site .admin-v4 .admin-device-refresh > span:last-child { display: grid; gap: .05rem; }
.bootstrap-site .admin-v4 .admin-device-refresh strong { font-size: .72rem; }
.bootstrap-site .admin-v4 .admin-device-refresh small { color: #85899a; font-size: .6rem; }
.bootstrap-site .admin-v4 .admin-device-refresh:hover,
.bootstrap-site .admin-v4 .admin-device-refresh:focus-visible { border-color: #765fd2; background: #f8f6ff; outline: 3px solid rgba(100,74,204,.13); outline-offset: 2px; }

.bootstrap-site .admin-v4 .admin-device-fleet-v2 > .admin-device-fleet-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 > .admin-device-fleet-summary > span { display: grid; min-height: 66px; grid-template-columns: 12px minmax(0,1fr); align-items: center; gap: .65rem; padding: .65rem .8rem; border: 1px solid #e1e3eb; border-radius: 14px; background: #fff; color: #686c7d; box-shadow: 0 4px 14px rgba(29,31,65,.04); }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 > .admin-device-fleet-summary > span > i { width: 10px; height: 10px; border: 3px solid #e6e7ec; border-radius: 50%; background: #8f93a0; box-sizing: content-box; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 > .admin-device-fleet-summary > span > span { display: grid; gap: .08rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 > .admin-device-fleet-summary strong { color: #23253d; font-size: 1.15rem; line-height: 1; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 > .admin-device-fleet-summary small { font-size: .65rem; font-weight: 800; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 > .admin-device-fleet-summary .is-online > i { border-color: #d8f3e9; background: #16a67e; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 > .admin-device-fleet-summary .is-offline > i { background: #8b8f9d; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 > .admin-device-fleet-summary .needs-action { border-color: #edcf91; background: #fffaf0; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 > .admin-device-fleet-summary .needs-action > i { border-color: #fff0ca; background: #dc8b18; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 > .admin-device-fleet-summary .is-destroyed > i { border-color: #e2e3e7; background: #323542; }

.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-group { padding: 0; overflow: hidden; border: 1px solid #e0e2ea; border-radius: 16px; background: #f8f9fb; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-group.is-allocated { border-color: #cce5dc; background: #f4faf8; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-group.is-unallocated { border-color: #ead39d; background: #fffbf3; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-group > summary { min-height: 72px; padding: .8rem 1rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-group[open] > summary { border-bottom: 1px solid rgba(101,105,127,.13); }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-group-heading h3 { font-size: 1.08rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-group-meta { min-width: 56px; min-height: 40px; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1px rgba(73,75,96,.1); }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-group > .admin-device-fleet-grid,
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-group > .admin-unallocated-clear { margin: 0; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-grid { grid-template-columns: 1fr; gap: .8rem; padding: .9rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-unallocated-clear { padding: 1rem; background: rgba(255,255,255,.62); }

.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-device { position: relative; gap: .85rem; padding: 1rem; overflow: hidden; border: 1px solid #dde1ea; border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(30,34,69,.055); }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-device::before { position: absolute; top: 0; bottom: 0; left: 0; width: 4px; background: #16a67e; content: ''; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-device.needs-attention::before { background: #e49a27; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-device.is-offline::before { background: #9a9dab; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-device.is-destroyed::before { background: #3b3d48; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-managed-device-heading { min-height: 58px; grid-template-columns: 12px minmax(0,1fr) auto auto; gap: .75rem; padding-left: .15rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-status { width: 10px; height: 10px; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-managed-device-heading > div strong { color: #202238; font-size: 1.05rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-managed-device-heading > div span { font-size: .7rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-id-label { padding: .28rem .45rem; border-radius: 7px; background: #f1f2f6; color: #7c8090; font-size: .55rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.bootstrap-site .admin-v4 .admin-device-health-badge { display: inline-flex; min-height: 30px; align-items: center; gap: .3rem; padding: .3rem .55rem; border-radius: 999px; font-size: .62rem; font-weight: 900; }
.bootstrap-site .admin-v4 .admin-device-health-badge.is-healthy { background: #e1f7ef; color: #127057; }
.bootstrap-site .admin-v4 .admin-device-health-badge.is-warning { background: #fff1d8; color: #955f0d; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-device-account { padding: .7rem .8rem; border-color: #e3e4ec; border-radius: 12px; background: #f8f8fb; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-device-account strong { font-size: .76rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-device-account a { min-height: 38px; padding-inline: .7rem; border-radius: 9px; }

.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-live-facts { grid-template-columns: repeat(4,minmax(0,1fr)); gap: .55rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-live-facts > div { min-height: 74px; grid-template-columns: 30px minmax(0,1fr); grid-template-rows: auto auto; align-content: center; column-gap: .55rem; padding: .65rem .7rem; border-color: #e2e4ec; border-radius: 12px; background: #fafbfc; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-live-facts > div > span { display: grid; width: 30px; height: 30px; grid-row: 1 / 3; place-items: center; border-radius: 9px; background: #ece9fb; color: #5941b5; font-size: .72rem; font-weight: 900; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-live-facts > div.is-healthy > span { background: #dff5ed; color: #12745a; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-live-facts > div.is-warning { border-color: #ead098; background: #fffaf0; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-live-facts > div.is-warning > span { background: #ffebbe; color: #9b630d; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-live-facts dt { align-self: end; font-size: .55rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-live-facts dd { align-self: start; overflow: hidden; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-display-preview-launcher { min-height: 58px; border-radius: 12px; }

.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-details { overflow: hidden; border: 1px solid #dedfea; border-radius: 13px; background: #fafafe; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-details > summary { display: grid; min-height: 64px; grid-template-columns: 38px minmax(0,1fr) auto; gap: .7rem; padding: .65rem .8rem; cursor: pointer; list-style: none; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-details > summary::-webkit-details-marker { display: none; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-details > summary > span:first-child { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; background: #eae7fa; color: #523eaa; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-details > summary > span:nth-child(2) { display: grid; gap: .08rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-details > summary strong { color: #303248; font-size: .76rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-details > summary small { color: #7e8294; font-size: .64rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-details > summary > i { color: #777b8d; font-style: normal; transition: transform .2s ease; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-details[open] > summary { border-bottom: 1px solid #e1e2eb; background: #f5f3fc; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-details[open] > summary > i { transform: rotate(180deg); }
.bootstrap-site .admin-v4 .admin-device-details-body { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(310px,.9fr); gap: .85rem; padding: .85rem; }
.bootstrap-site .admin-v4 .admin-device-diagnostics,
.bootstrap-site .admin-v4 .admin-device-operations { min-width: 0; }
.bootstrap-site .admin-v4 .admin-device-diagnostics > header,
.bootstrap-site .admin-v4 .admin-device-command-centre > header { margin-bottom: .65rem; }
.bootstrap-site .admin-v4 .admin-device-diagnostics h4,
.bootstrap-site .admin-v4 .admin-device-command-centre h4 { margin: .08rem 0 .12rem; color: #292b41; font-size: .92rem; }
.bootstrap-site .admin-v4 .admin-device-command-centre header p { margin: 0; color: #7f8394; font-size: .63rem; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-system-facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; margin: 0; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-system-facts > div { min-height: 58px; padding: .52rem .6rem; border: 1px solid #e4e5ec; border-radius: 9px; background: #fff; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-system-facts > div.is-wide { grid-column: 1 / -1; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-system-facts > div.is-healthy { border-left: 3px solid #41ad8a; }
.bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-system-facts > div.is-warning { border-color: #e7c77e; border-left: 3px solid #e19a24; background: #fffaf0; }
.bootstrap-site .admin-v4 .admin-device-operations { display: grid; align-content: start; gap: .7rem; }
.bootstrap-site .admin-v4 .admin-device-operations > .admin-device-last-command { margin: 0; padding: .7rem .75rem; border: 1px solid #ded9f1; border-left: 4px solid #6d56c8; border-radius: 10px; background: #f4f1ff; }
.bootstrap-site .admin-v4 .admin-device-operations > .admin-device-last-command.is-latest { border-color: #e3e4ea; border-left-color: #8b8f9f; background: #fff; }
.bootstrap-site .admin-v4 .admin-device-command-centre { padding: .75rem; border: 1px solid #e1e2eb; border-radius: 11px; background: #fff; }
.bootstrap-site .admin-v4 .admin-device-command-centre .admin-device-controls { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; }
.bootstrap-site .admin-v4 .admin-device-command-centre .admin-device-controls button { display: grid; min-height: 58px; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: .5rem; padding: .5rem; border-radius: 10px; text-align: left; }
.bootstrap-site .admin-v4 .admin-device-command-centre .admin-device-controls button > i { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; background: rgba(93,69,190,.1); font-size: .78rem; font-style: normal; }
.bootstrap-site .admin-v4 .admin-device-command-centre .admin-device-controls button > span { display: grid; min-width: 0; gap: .08rem; }
.bootstrap-site .admin-v4 .admin-device-command-centre .admin-device-controls button strong { font-size: .64rem; }
.bootstrap-site .admin-v4 .admin-device-command-centre .admin-device-controls button small { color: currentColor; font-size: .55rem; font-weight: 650; opacity: .7; }
.bootstrap-site .admin-v4 .admin-device-command-centre .admin-device-command-note { display: block; margin: .6rem 0 0; color: #7b7f91; font-size: .58rem; line-height: 1.45; }

.bootstrap-site .admin-v4 .admin-device-lifecycle { border-top: 1px solid #ececf1; }
.bootstrap-site .admin-v4 .admin-device-lifecycle > summary { display: flex; min-height: 46px; align-items: center; justify-content: space-between; gap: .75rem; padding: .45rem .15rem 0; color: #777b8d; cursor: pointer; list-style: none; }
.bootstrap-site .admin-v4 .admin-device-lifecycle > summary::-webkit-details-marker { display: none; }
.bootstrap-site .admin-v4 .admin-device-lifecycle > summary > span { display: grid; gap: .04rem; }
.bootstrap-site .admin-v4 .admin-device-lifecycle > summary strong { color: #55596b; font-size: .65rem; }
.bootstrap-site .admin-v4 .admin-device-lifecycle > summary small { font-size: .57rem; }
.bootstrap-site .admin-v4 .admin-device-lifecycle > summary > i { font-style: normal; transition: transform .2s ease; }
.bootstrap-site .admin-v4 .admin-device-lifecycle[open] > summary > i { transform: rotate(180deg); }
.bootstrap-site .admin-v4 .admin-device-lifecycle-actions { margin-top: .55rem; padding: .65rem; border: 1px solid #efd2d7; border-radius: 10px; background: #fff7f8; }

@media (max-width: 1120px) {
    .bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-heading { align-items: center; flex-direction: row; }
    .bootstrap-site .admin-v4 .admin-device-details-body { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-live-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
    .bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-heading { align-items: flex-start; flex-direction: column; }
    .bootstrap-site .admin-v4 .admin-device-refresh { width: 100%; }
    .bootstrap-site .admin-v4 .admin-device-fleet-v2 > .admin-device-fleet-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-managed-device-heading { grid-template-columns: 12px minmax(0,1fr) auto; }
    .bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-health-badge { grid-column: 2 / -1; justify-self: start; }
}

@media (max-width: 480px) {
    .bootstrap-site .admin-v4 .admin-device-fleet-v2 { padding: .75rem; }
    .bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-fleet-grid { padding: .55rem; }
    .bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-device { padding: .8rem; }
    .bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-device-live-facts,
    .bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-system-facts,
    .bootstrap-site .admin-v4 .admin-device-command-centre .admin-device-controls { grid-template-columns: 1fr; }
    .bootstrap-site .admin-v4 .admin-device-fleet-v2 .admin-fleet-system-facts > div.is-wide { grid-column: auto; }
}
