:root {
  --ink: #201d1a;
  --muted: #716c65;
  --paper: #fffdf8;
  --canvas: #f3f0e8;
  --line: #ded9cf;
  --coral: #f46f61;
  --coral-dark: #d9574b;
  /* Text-bearing actions only; decorative brand coral stays unchanged. */
  --coral-action: #c4473b;
  --coral-action-hover: #b83c32;
  --coral-action-pressed: #a33129;
  --plum: #6c4b72;
  --lime: #bfdc63;
  --yellow: #f2c54b;
  --blue: #6d9fc5;
  --mint: #87cbb5;
  --shadow: 0 18px 45px rgba(55, 46, 35, .08);
  --mobile-nav-height: 72px;
  --serif: Georgia, "Times New Roman", serif;
  /* One shared, fluid typography system. */
  --type-display-xl: clamp(3.4rem, 2.4rem + 3.2vw, 6.25rem);
  --type-display-lg: clamp(2.75rem, 2rem + 2.4vw, 4.8rem);
  --type-display-md: clamp(2.2rem, 1.75rem + 1.5vw, 3.5rem);
  --type-h1: clamp(2rem, 1.65rem + 1vw, 2.8rem);
  --type-h2: clamp(1.65rem, 1.4rem + .65vw, 2.2rem);
  --type-h3: clamp(1.3rem, 1.18rem + .35vw, 1.6rem);
  --type-body-lg: clamp(1.0625rem, 1rem + .18vw, 1.1875rem);
  --type-body: 1rem;
  --type-body-sm: .875rem;
  --type-caption: .75rem;
  --type-label: .8125rem;
  --type-button: .9375rem;
  --text-xs: var(--type-caption);
  --text-sm: var(--type-label);
  --text-secondary: var(--type-body-sm);
  --text-body: var(--type-body);
  --text-control: var(--type-button);
  --text-input: var(--type-body);
}

/* Interactive question testing and branded confirmations */
.event-switcher-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.event-switcher-button:hover{border-color:rgba(108,75,114,.32);background:rgba(255,255,255,.62);transform:translateY(-1px)}.event-switcher-button:focus-visible{outline:3px solid rgba(244,111,97,.35);outline-offset:2px}.event-switcher-button>div{min-width:0;flex:1}.event-switcher-chevron{color:var(--muted);font-size:1rem}.event-library-list{display:grid;gap:10px;max-height:min(52vh,470px);overflow:auto;padding:2px}.event-library-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:70px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.event-library-card:hover:not(:disabled){border-color:var(--plum);background:#fbf8fc;transform:translateY(-1px)}.event-library-card:focus-visible{outline:3px solid rgba(244,111,97,.35);outline-offset:2px}.event-library-card.is-current{border-color:rgba(108,75,114,.28);background:#f4eef5}.event-library-card:disabled{cursor:default;opacity:1}.event-library-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:#fff;background:var(--plum);font-weight:900}.event-library-card>span:nth-child(2){min-width:0}.event-library-card strong,.event-library-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-library-card small{margin-top:5px;color:var(--muted);font-size:.68rem}.event-library-card>b{color:var(--coral-dark);font-size:.68rem}@media(max-width:520px){.event-library-card{grid-template-columns:38px minmax(0,1fr)}.event-library-card>b{display:none}}
.preview-choices{grid-template-columns:1fr!important}
.preview-choices{display:grid!important;gap:10px!important;width:min(620px,100%)!important;margin:0 auto!important}.preview-choice{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:8px 12px;border:2px solid rgba(76,55,83,.14);border-radius:14px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.preview-choice:hover{border-color:var(--preview-color);transform:translateY(-1px)}.preview-choice:focus-visible{outline:3px solid rgba(244,111,97,.35);outline-offset:2px}.preview-choice b{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:10px;background:var(--preview-color);color:#fff}.preview-choice.is-selected{border-color:var(--preview-color);background:rgba(108,75,114,.08)}.preview-choice.is-correct{border-color:#438b6b;background:#e8f6ef}.preview-choice.is-wrong{border-color:#c84e45;background:#fff0ee}.preview-choice:disabled{cursor:default;opacity:1;transform:none}.preview-number{display:grid;gap:8px;width:min(360px,100%);margin:0 auto;text-align:left}.preview-number span{font-weight:800}.preview-number input,.closest-stage input{width:100%;min-height:58px;border:2px solid rgba(76,55,83,.2);border-radius:14px;background:#fff;padding:10px 14px;font:700 1.1rem/1 inherit;color:var(--ink)}.preview-number input:focus,.closest-stage input:focus{border-color:var(--coral);outline:3px solid rgba(244,111,97,.22);outline-offset:1px}.preview-feedback,.preview-live-feedback{font-weight:800;color:var(--preview-color,#6c4b72)}.answer-option[type="button"]{appearance:none;font:inherit;color:inherit;cursor:pointer}.answer-option[type="button"]:hover,.answer-option.is-selected{border-color:var(--coral);transform:translateY(-2px);box-shadow:0 10px 24px rgba(57,39,62,.14)}.answer-option[type="button"]:focus-visible{outline:3px solid rgba(244,111,97,.38);outline-offset:3px}.closest-stage input{max-width:280px;margin-top:10px;text-align:center;font-size:1.35rem}
.confirm-backdrop{position:fixed;inset:0;z-index:1005;display:grid;place-items:center;padding:20px;background:rgba(31,25,28,.58);backdrop-filter:blur(7px);animation:fade-in .16s ease}.confirm-backdrop.hidden{display:none}.confirm-dialog{width:min(460px,100%);display:grid;grid-template-columns:52px 1fr;gap:16px;padding:24px;border:1px solid rgba(76,55,83,.13);border-radius:24px;background:#fffdf8;box-shadow:0 28px 80px rgba(26,19,29,.3);animation:modal-in .2s ease}.confirm-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#f3ebf4;color:#6c4b72;font:900 1.25rem/1 inherit}.confirm-icon.is-danger{background:#fff0ed;color:#bd433b}.confirm-copy{min-width:0}.confirm-copy .eyebrow{margin:1px 0 5px;color:#8b758f}.confirm-copy h2{margin:0 0 8px;font-size:clamp(1.35rem,4vw,1.75rem);line-height:1.15}.confirm-copy>p:last-child{margin:0;color:var(--muted);line-height:1.55}.confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.button-danger{background:#bd433b;color:#fff;border-color:#bd433b}.button-danger:hover{background:#9f342e;border-color:#9f342e}.button-danger:focus-visible{outline:3px solid rgba(189,67,59,.3);outline-offset:2px}@media(max-width:520px){.confirm-dialog{grid-template-columns:44px 1fr;padding:20px;border-radius:20px}.confirm-icon{width:42px;height:42px}.confirm-actions{display:grid;grid-template-columns:1fr 1fr}.confirm-actions .button{width:100%}}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--canvas); color-scheme: light; }
body { margin: 0; min-width: 320px; min-height: 100vh; color: var(--ink); background: var(--canvas); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, select, textarea { font: inherit; }
html.overlay-scroll-locked { overflow: hidden; }
body.overlay-scroll-locked { position: fixed; top: var(--overlay-scroll-top); left: var(--overlay-scroll-left); right: 0; width: calc(100% - var(--overlay-scrollbar-width)); overflow: hidden; }
button { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
h1, h2, h3, p { margin: 0; }
h1, h2 { font-family: var(--serif); font-weight: 500; letter-spacing: -.035em; }
h1 { font-size: clamp(2.15rem, 4vw, 4.15rem); line-height: .98; }
h2 { font-size: clamp(1.65rem, 2.5vw, 2.45rem); line-height: 1.05; }
h3 { font-size: 1rem; }

.app-shell { display: grid; grid-template-columns: 280px minmax(0, 1fr); min-height: 100vh; }
.sidebar { position: fixed; z-index: 20; inset: 0 auto 0 0; display: flex; width: 280px; padding: 22px 18px 14px; overflow-x: hidden; overflow-y: auto; flex-direction: column; border-right: 1px solid var(--line); background: #ebe7dd; overscroll-behavior: contain; scrollbar-gutter: auto; }
.brand { display: flex; align-items: center; gap: 10px; color: var(--ink); font-size: 1.22rem; font-weight: 850; letter-spacing: -.04em; text-decoration: none; }
.brand-logo { display: block; width: 150px; max-width: 100%; height: auto; }
.ticket-brand-logo { width: 110px; margin: 5px 0; }
.side-nav { display: grid; gap: 4px; margin-top: 5px; }
.side-nav button { position: relative; display: grid; grid-template-columns: 24px minmax(0,1fr) 28px; align-items: center; column-gap: 10px; width: 100%; min-height: 48px; padding: 8px 11px; border: 0; border-radius: 10px; color: var(--muted); background: transparent; font-size: var(--text-control); text-align: left; cursor: pointer; }
.side-nav button:hover, .side-nav button.active { color: var(--ink); background: rgba(255,255,255,.58); }
.side-nav button.active { font-weight: 750; box-shadow: 0 1px 0 rgba(255,255,255,.72); }
.side-nav button.active::before { position: absolute; top: 50%; left: 0; width: 3px; height: 26px; border-radius: 99px; background: var(--coral); content: ""; transform: translateY(-50%); }
.side-nav b { display: grid; width: 27px; min-width: 27px; height: 27px; padding: 0 5px; place-items: center; justify-self: end; border-radius: 99px; color: #fff; background: var(--coral-action); font-size: var(--text-xs); }
.nav-icon { font-size: 1.08rem; text-align: center; }
.side-card { display: flex; align-items: center; gap: 10px; min-height: 74px; margin: 0; padding: 12px; border: 1px solid rgba(108,75,114,.15); border-radius: 13px; background: rgba(108,75,114,.07); }
.upgrade-card { display: grid; grid-template-columns: 24px minmax(0,1fr) 18px; align-items: center; gap: 8px; width: 100%; min-height: 60px; margin-top: 6px; padding: 10px 12px; border: 0; border-radius: 10px; color: #fff; background: #65466b; text-align: left; cursor: pointer; }.upgrade-card > span { color: #f3c7d4; }.upgrade-card small, .upgrade-card strong { display: block; }.upgrade-card small { color: #e9cbd4; font-size: var(--text-xs); font-weight: 850; letter-spacing: .09em; }.upgrade-card strong { overflow: hidden; margin-top: 2px; font-size: var(--text-sm); line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }.upgrade-card b { font-weight: 500; }
.side-card small, .side-card strong, .profile-button small, .profile-button strong { display: block; }
.side-card small, .profile-button small { color: var(--muted); font-size: .69rem; }
.side-card strong { display: -webkit-box; overflow: hidden; max-width: none; margin-top: 2px; font-size: var(--text-sm); line-height: 1.3; text-overflow: clip; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.live-dot { width: 9px; height: 9px; flex: none; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 4px rgba(244,111,97,.14); }
.profile-button { display: grid; grid-template-columns: 35px minmax(0,1fr) auto; align-items: center; gap: 9px; width: 100%; min-height: 54px; margin-top: 11px; padding: 7px 5px; border: 0; border-top: 1px solid rgba(108,75,114,.14); background: transparent; font-size: var(--text-control); text-align: left; cursor: pointer; }
.profile-button > span:last-child { color: var(--muted); letter-spacing: 1px; }
.avatar { display: grid; width: 35px; height: 35px; flex: none; place-items: center; border-radius: 50%; color: #fff; background: var(--avatar, var(--plum)); font-size: .69rem; font-weight: 850; }
.avatar-host { --avatar: var(--plum); }

.main-content { grid-column: 2; min-width: 0; }
.mobile-header, .mobile-nav { display: none; }
.view { display: none; width: min(100%, 1280px); min-height: 100vh; margin: 0 auto; padding: 55px clamp(30px, 5vw, 76px) 80px; animation: view-in 220ms ease; }
.view.active { display: block; }
@keyframes view-in { from { opacity: 0; transform: translateY(5px); } }
.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.page-head > div:first-child > p:last-child { max-width: 600px; margin-top: 10px; color: var(--muted); font-size: .93rem; }
.compact-head { align-items: center; }
.compact-head h1 { font-size: clamp(2.3rem, 3.5vw, 3.7rem); }
.eyebrow { margin-bottom: 8px; color: var(--coral-dark); font-size: .66rem; font-weight: 850; letter-spacing: .15em; }
.paper-card { border: 1px solid var(--line); border-radius: 20px; background: var(--paper); box-shadow: var(--shadow); }
.button { display: inline-flex; min-height: 43px; align-items: center; justify-content: center; gap: 8px; padding: 10px 17px; border: 1px solid transparent; border-radius: 9px; font-size: .8rem; font-weight: 780; cursor: pointer; transition: transform 150ms ease, background 150ms ease; }
.button:hover { transform: translateY(-1px); }
.button-dark { color: #fff; background: var(--ink); }
.button-coral { color: #fff; background: var(--coral-action); }.button-coral:hover { background: var(--coral-action-hover); }
.button-ghost { border-color: var(--line); background: rgba(255,255,255,.4); }
.event-hero { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; min-height: 330px; overflow: hidden; background: #51405c; color: #fff; }
.event-hero::before { position: absolute; inset: 0; background: radial-gradient(circle at 78% 65%, rgba(255,255,255,.12), transparent 26%), repeating-linear-gradient(110deg, transparent 0 38px, rgba(255,255,255,.018) 39px 40px); content: ""; }
.event-copy { position: relative; z-index: 2; padding: clamp(32px, 5vw, 57px); }
.event-meta { display: flex; align-items: center; gap: 14px; margin-bottom: 44px; color: rgba(255,255,255,.72); font-size: .72rem; }
.status-pill { display: inline-flex; align-items: center; gap: 7px; width: fit-content; padding: 6px 9px; border-radius: 99px; color: var(--ink); background: #fff; font-size: .67rem; font-weight: 750; }
.status-pill i { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); }
.event-copy .eyebrow { color: #efcbd2; }.event-copy h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
.event-copy > p:not(.eyebrow) { max-width: 520px; margin-top: 14px; color: rgba(255,255,255,.72); font-size: .86rem; line-height: 1.5; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 27px; }
.event-hero .button-ghost { border-color: rgba(255,255,255,.22); color: #fff; background: transparent; }
.event-art { position: relative; min-height: 290px; }
.float-card { position: absolute; display: grid; width: 132px; aspect-ratio: .82; place-items: center; border-radius: 13px; color: var(--ink); background: #fffaf0; box-shadow: 0 20px 45px rgba(19,12,21,.28); transform: rotate(var(--rotation)); }
.float-card::after { position: absolute; inset: 9px; border: 1px solid currentColor; border-radius: 8px; content: ""; opacity: .15; }
.float-card b { align-self: end; font-family: var(--serif); font-size: 1.25rem; }.float-card i { align-self: start; font-style: normal; font-size: 2.3rem; }
.card-one { --rotation: -9deg; top: 58px; left: 10%; background: #dfeaa5; }.card-two { --rotation: 8deg; top: 98px; left: 39%; background: #f4a096; }.card-three { --rotation: -3deg; top: 34px; right: 6%; background: #f5db85; }
.spark { position: absolute; color: #e7b8c6; font-size: 1.7rem; }.spark-one { left: 2%; bottom: 30px; }.spark-two { right: 10%; bottom: 38px; }
.dashboard-grid { display: grid; grid-template-columns: 1.4fr .8fr; gap: 18px; margin-top: 18px; }
.overview-event-hero{min-height:315px}.overview-event-hero .event-meta{margin-bottom:30px}.overview-event-hero .event-copy>p:not(.eyebrow):not(.overview-hero-status){font-size:1rem;line-height:1.55}.overview-hero-actions{margin-top:24px}.overview-hero-status{display:flex!important;align-items:center;gap:8px;margin-top:18px!important;color:rgba(255,255,255,.82)!important;font-size:.78rem!important;font-weight:750}.overview-hero-status::before{width:7px;height:7px;border-radius:50%;background:var(--lime);content:""}.overview-stage-strip{margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.overview-stage-strip ol{display:grid;padding:0;margin:0;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none}.overview-stage-strip li{position:relative;min-width:0;border-left:1px solid var(--line)}.overview-stage-strip li:first-child{border-left:0}.overview-stage-strip button{display:flex;width:100%;min-height:88px;padding:15px 20px;align-items:flex-start;justify-content:center;flex-direction:column;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer;transition:background-color .18s ease}.overview-stage-strip button:hover{background:rgba(255,255,255,.44)}.overview-stage-strip button:focus-visible{position:relative;z-index:1;outline:3px solid rgba(247,108,99,.42);outline-offset:-3px}.overview-stage-strip button>span{color:var(--muted);font-size:.67rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.overview-stage-strip button>strong{margin-top:5px;font-family:var(--serif);font-size:1.05rem;font-weight:650}.overview-stage-strip button>small{margin-top:3px;color:var(--muted);font-size:.75rem}.overview-stage-strip .is-done button>strong{color:#597123}.overview-stage-strip .is-current::before{position:absolute;top:-1px;right:14px;left:14px;height:3px;border-radius:0 0 3px 3px;background:var(--coral);content:""}.overview-stage-strip li:not(.is-current):not(.is-done){color:var(--muted)}.overview-activity{max-width:780px;margin-top:27px}.overview-empty-state{padding:4px 0}.overview-empty-state h3{font-family:var(--serif);font-size:1.5rem;font-weight:500}.overview-empty-state p{max-width:480px;margin-top:7px;color:var(--muted);font-size:.94rem;line-height:1.55}.overview-activity>.eyebrow{margin-bottom:8px}.overview-activity-list article{display:grid;padding:13px 0;grid-template-columns:38px minmax(0,1fr);gap:12px;border-bottom:1px solid var(--line)}.overview-activity-list .avatar{width:38px;height:38px}.overview-activity-list strong{font-size:.86rem}.overview-activity-list p{margin-top:3px;color:var(--muted);font-size:.86rem;line-height:1.45}
.progress-card, .pulse-card { padding: 25px; }
.card-heading, .section-title, .studio-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.card-heading h3 { font-family: var(--serif); font-size: 1.4rem; font-weight: 500; }
.card-heading > strong { color: var(--plum); font-family: var(--serif); font-size: 1.65rem; }
.progress-track { height: 7px; margin: 17px 0 19px; overflow: hidden; border-radius: 99px; background: #e8e3d9; }
.progress-track span { display: block; width: 72%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--coral), #ed9d72); transition: width 300ms ease; }
.readiness-steps { display: grid; }
.readiness-steps button { display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 11px; width: 100%; padding: 12px 4px; border: 0; border-top: 1px solid #eee9e0; background: transparent; text-align: left; cursor: pointer; }
.readiness-steps button > span { display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--coral); font-size: .72rem; font-weight: 850; }
.readiness-steps button.done > span { border-color: #b8cd71; color: #384519; background: #dce9ac; }
.readiness-steps strong, .readiness-steps small { display: block; }.readiness-steps strong { font-size: .78rem; }.readiness-steps small { margin-top: 3px; color: var(--muted); font-size: .67rem; }
.readiness-steps b { color: var(--muted); }
.mini-icon { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; }
.mix-chart { display: flex; height: 22px; margin: 31px 0 17px; overflow: hidden; border-radius: 6px; background: #eee9e0; }
.mix-chart i { display: block; height: 100%; }.mix-chart i + i { border-left: 2px solid var(--paper); }
.mix-legend { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mix-legend span { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: .68rem; }.mix-legend i { width: 8px; height: 8px; border-radius: 2px; }
.tone-note { display: flex; align-items: center; gap: 11px; margin-top: 23px; padding: 13px; border-radius: 11px; background: #f1eddf; }
.tone-note > span { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; background: var(--yellow); font-weight: 900; }.tone-note p { color: var(--muted); font-size: .68rem; line-height: 1.35; }.tone-note strong { color: var(--ink); }
.section-block { margin-top: 40px; }.section-title { margin-bottom: 15px; }.section-title h2 { font-size: 1.75rem; }.text-link { border: 0; color: var(--coral-dark); background: transparent; font-size: .75rem; font-weight: 750; cursor: pointer; }
.answer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.answer-card { position: relative; min-height: 175px; padding: 20px; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: var(--paper); }
.answer-card::after { position: absolute; right: -15px; bottom: -20px; width: 90px; height: 90px; border-radius: 50%; background: var(--tint); content: ""; opacity: .2; }
.answer-person { display: flex; align-items: center; gap: 9px; }.answer-person strong, .answer-person small { display: block; }.answer-person strong { font-size: .76rem; }.answer-person small { color: var(--muted); font-size: .62rem; }
.answer-quote { margin-top: 20px; font-family: var(--serif); font-size: 1.08rem; line-height: 1.25; }.answer-topic { display: inline-block; margin-top: 14px; padding: 4px 7px; border-radius: 5px; color: var(--muted); background: var(--canvas); font-size: .58rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }

.collect-layout { display: grid; grid-template-columns: 1.5fr .65fr; gap: 18px; }
.invite-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 12px; }.invite-stats article { padding: 16px 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); }.invite-stats span, .invite-stats strong { display: block; }.invite-stats span { color: var(--muted); font-size: .63rem; }.invite-stats strong { margin-top: 5px; font-family: var(--serif); font-size: 1.4rem; font-weight: 500; }
.invite-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 220px); align-items: center; gap: clamp(24px, 4vw, 52px); min-height: 275px; padding: 32px; background: #54415e; color: #fff; }
.invite-card .status-pill { margin-bottom: 29px; }.invite-card .eyebrow { color: #efcbd2; }.invite-card h2 { font-size: 2.5rem; }.invite-copy > p:not(.eyebrow) { max-width: 490px; margin-top: 10px; color: rgba(255,255,255,.7); font-size: .8rem; }
.code-row { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; }.code-row strong { font-size: 1.05rem; letter-spacing: .1em; }.code-row .mini-icon { border-color: rgba(255,255,255,.25); }
.invite-card .button-ghost { border-color: rgba(255,255,255,.25); color: #fff; background: transparent; }
.qr-wrap { display: grid; justify-items: center; gap: 9px; }.qr-wrap small { color: rgba(255,255,255,.65); }
.qr-code { display: grid; grid-template-columns: repeat(13, 1fr); width: 180px; height: 180px; padding: 10px; border-radius: 10px; background: #fff; }
.qr-code i { background: transparent; }.qr-code i.on { border-radius: 1px; background: var(--ink); }
.privacy-card { padding: 29px; }.privacy-icon { display: grid; width: 40px; height: 40px; margin-bottom: 27px; place-items: center; border-radius: 50%; color: #fff; background: var(--mint); font-size: 1.25rem; }.privacy-card h3 { font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }.privacy-card ul { display: grid; gap: 9px; padding: 0; margin: 18px 0; list-style: none; }.privacy-card li { color: var(--muted); font-size: .72rem; }.privacy-card li::before { margin-right: 8px; color: var(--mint); content: "✓"; font-weight: 900; }
.toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 21px; padding-top: 17px; border-top: 1px solid var(--line); cursor: pointer; }.toggle-row strong, .toggle-row small { display: block; }.toggle-row strong { font-size: .74rem; }.toggle-row small { margin-top: 3px; color: var(--muted); font-size: .62rem; }.toggle-row input { position: absolute; opacity: 0; }.toggle-row i { position: relative; width: 37px; height: 21px; border-radius: 99px; background: #d5d0c7; transition: background 150ms ease; }.toggle-row i::after { position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; border-radius: 50%; background: #fff; content: ""; transition: transform 150ms ease; }.toggle-row input:checked + i { background: var(--mint); }.toggle-row input:checked + i::after { transform: translateX(16px); }
.quiet-label { color: var(--muted); font-size: .7rem; }.prompt-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.prompt-heading-actions { display: flex; align-items: center; gap: 10px; }.prompt-heading-actions .button { min-height: 34px; padding: 7px 10px; font-size: .65rem; }
.prompt-card { position: relative; display: grid; min-height: 132px; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); cursor: pointer; }.prompt-card input { position: absolute; opacity: 0; }.prompt-card .prompt-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }.prompt-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; background: var(--prompt-color); }.prompt-check { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: transparent; font-size: .62rem; }.prompt-card input:checked ~ .prompt-top .prompt-check { border-color: var(--coral); color: #fff; background: var(--coral); }.prompt-card strong { align-self: end; margin-top: 18px; font-family: var(--serif); font-size: .96rem; font-weight: 500; }.prompt-card small { margin-top: 5px; color: var(--muted); font-size: .62rem; }
.filter-pills { display: inline-flex; gap: 4px; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: #e9e5dc; }.filter-pills button { padding: 6px 10px; border: 0; border-radius: 6px; color: var(--muted); background: transparent; font-size: .66rem; cursor: pointer; }.filter-pills button.active { color: var(--ink); background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.people-table { overflow: hidden; }.person-row { display: grid; grid-template-columns: minmax(160px, 1.2fr) 1fr .7fr auto; align-items: center; gap: 15px; padding: 14px 18px; border-top: 1px solid #eee9e0; }.person-row:first-child { border-top: 0; }.person-cell { display: flex; align-items: center; gap: 10px; }.person-cell strong, .person-cell small { display: block; }.person-cell strong { font-size: .75rem; }.person-cell small { margin-top: 2px; color: var(--muted); font-size: .62rem; }.response-meter { height: 5px; overflow: hidden; border-radius: 99px; background: #e8e3da; }.response-meter i { display: block; height: 100%; background: var(--mint); }.response-state { color: var(--muted); font-size: .66rem; }.response-state.ready { color: #4b7b66; font-weight: 750; }.row-menu { border: 0; color: var(--muted); background: transparent; cursor: pointer; }
.row-actions { display: flex; gap: 5px; }.row-actions button { padding: 5px 7px; border: 1px solid var(--line); border-radius: 6px; color: var(--muted); background: transparent; font-size: .58rem; cursor: pointer; }.row-actions button:hover { color: var(--ink); border-color: #bdb6aa; }

.head-actions { display: flex; gap: 9px; }.studio-summary { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 24px 28px; background: #57425f; color: #fff; }.summary-copy { display: flex; align-items: center; gap: 16px; }.ai-orb { display: grid; width: 48px; height: 48px; flex: none; place-items: center; border-radius: 50%; color: var(--plum); background: #f2cfdd; font-size: 1.2rem; }.summary-copy .eyebrow { color: #efcbd2; }.summary-copy h2 { font-size: 1.45rem; }.summary-copy p:last-child { margin-top: 4px; color: rgba(255,255,255,.65); font-size: .69rem; }.summary-numbers { display: flex; gap: 23px; }.summary-numbers span { color: rgba(255,255,255,.62); font-size: .62rem; text-align: center; }.summary-numbers strong { display: block; margin-bottom: 3px; color: #fff; font-family: var(--serif); font-size: 1.45rem; font-weight: 500; }
.studio-toolbar { margin: 25px 0 14px; }.search-field { display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: center; gap: 7px; min-width: 210px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }.search-field>.tt-icon { width: 16px; height: 16px; place-self: center; color: var(--muted); }.search-field input { width: 100%; border: 0; outline: 0; background: transparent; font-size: .7rem; }
.question-list { display: grid; gap: 10px; }.question-card { display: grid; grid-template-columns: 47px minmax(0, 1fr) auto; align-items: center; gap: 15px; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); }.question-number { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 10px; color: #4a3830; background: var(--q-color, #eee6d7); font-family: var(--serif); font-size: 1.05rem; }.question-copy { min-width: 0; }.question-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 5px; }.type-pill, .state-pill { padding: 3px 6px; border-radius: 5px; color: var(--muted); background: #f0ece3; font-size: .55rem; font-weight: 780; text-transform: uppercase; letter-spacing: .07em; }.state-pill.ready { color: #3d715d; background: #dcecdf; }.state-pill.draft { color: #8d6038; background: #f4e2c5; }.question-copy h3 { overflow: hidden; font-family: var(--serif); font-size: 1.04rem; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }.question-copy p { margin-top: 5px; color: var(--muted); font-size: .64rem; }.question-actions { display: flex; gap: 6px; }.question-actions button { padding: 7px 9px; border: 1px solid var(--line); border-radius: 7px; background: transparent; font-size: .65rem; cursor: pointer; }.question-actions .approve-button { border-color: #b8d7c8; color: #3d715d; background: #e5f2e9; }
.question-order { display: grid; justify-items: center; gap: 2px; }.question-order button { width: 25px; padding: 0; border: 0; color: var(--muted); background: transparent; font-size: .65rem; cursor: pointer; }.question-card.excluded { opacity: .6; background: #eeeae2; }.state-pill.approved { color: #3d715d; background: #dcecdf; }.state-pill.excluded { color: #6c6660; background: #ddd8d0; }.question-actions { max-width: 340px; flex-wrap: wrap; justify-content: flex-end; }
.question-thumb { float: left; width: 56px; height: 56px; margin-right: 11px; border-radius: 8px; object-fit: cover; }
.empty-state { padding: 50px; border: 1px dashed var(--line); border-radius: 14px; color: var(--muted); text-align: center; }

.play-view { width: 100%; max-width: none; padding: 0; }.play-view.active { display: block; }.play-shell { min-height: 100vh; background: #31283a; color: #fff; }
.playing .app-shell { display: block; }.playing .sidebar, .playing .mobile-header, .playing .mobile-nav { display: none; }.playing .main-content { display: block; }
/* Classic pre-game lobby only; live question/reveal layouts remain separate. */
.play-lobby { display: grid; min-height: 100vh; min-height: 100svh; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
.lobby-main { display: flex; min-width: 0; padding: clamp(35px, 7vw, 95px); flex-direction: column; justify-content: center; background: radial-gradient(circle at 20% 20%, rgba(244,111,97,.2), transparent 30%), #3b3045; }
.play-logo { display: flex; align-items: center; gap: 9px; margin-bottom: 70px; font-weight: 850; }
.lobby-main .eyebrow { color: #efb7c8; overflow-wrap: anywhere; }
.lobby-main h1 { max-width: 700px; font-size: clamp(3.5rem, 7vw, 7rem); line-height: 1.02; overflow-wrap: anywhere; }
.lobby-main > p { max-width: 580px; margin-top: 22px; color: rgba(255,255,255,.67); line-height: 1.55; }
.lobby-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.lobby-actions .button { min-width: min(145px,100%); max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; }
.lobby-panel { display: flex; min-width: 0; padding: clamp(30px, 5vw, 75px); flex-direction: column; justify-content: center; background: #f1c85d; color: var(--ink); }
.join-card { min-width: 0; padding: clamp(25px, 4vw, 45px); border-radius: 25px; background: #fff9e8; box-shadow: 0 25px 70px rgba(57,41,17,.16); text-align: center; overflow-wrap: anywhere; }
.play-screen-note { max-width: 580px; margin-top: 24px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.18); text-align: left; }
.play-screen-note strong { display: block; color: rgba(255,255,255,.9); font-size: var(--type-body-sm); line-height: 1.4; }
.play-screen-note p { margin: 6px 0 0; color: rgba(255,255,255,.67); font-size: var(--type-body-sm); line-height: 1.5; }
.game-empty .play-screen-note { margin-inline: auto; }
.game-empty .play-screen-note p { margin: 6px 0 0; }
.join-card .qr-code { width: 180px; height: 180px; margin: 0 auto 20px; border: 8px solid #fff; }.join-card small { display: block; color: var(--muted); }.join-code { margin: 13px 0; font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.7rem); letter-spacing: .08em; }.player-bubbles { display: flex; justify-content: center; margin-top: 27px; }.player-bubbles .avatar { margin-left: -5px; border: 3px solid #fff9e8; }.player-bubbles strong { display: grid; width: 35px; height: 35px; margin-left: -5px; place-items: center; border: 3px solid #fff9e8; border-radius: 50%; color: #fff; background: var(--ink); font-size: .64rem; }
.game-stage { display: flex; min-height: 100vh; padding: clamp(24px, 4vw, 55px); flex-direction: column; background: radial-gradient(circle at 50% -20%, rgba(255,255,255,.12), transparent 35%), var(--game-color, #57425f); }.game-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; }.round-label { display: flex; align-items: center; gap: 12px; }.round-label span { padding: 6px 10px; border-radius: 99px; color: var(--ink); background: #fff; font-size: .65rem; font-weight: 850; }.round-label strong { font-size: .72rem; letter-spacing: .1em; }.game-progress { width: min(32vw, 330px); height: 6px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.18); }.game-progress i { display: block; height: 100%; border-radius: inherit; background: #fff; }.exit-game { border: 1px solid rgba(255,255,255,.25); border-radius: 8px; color: #fff; background: transparent; padding: 8px 10px; cursor: pointer; }
.question-stage { display: grid; width: min(100%, 1100px); margin: auto; padding: 30px 0; place-items: center; text-align: center; }.question-kicker { margin-bottom: 19px; color: rgba(255,255,255,.62); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }.question-stage h1 { max-width: 950px; font-size: clamp(2.8rem, 6vw, 6rem); line-height: 1.02; }.answer-options { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; width: min(100%, 850px); margin-top: 43px; }.answer-option { display: flex; min-height: 73px; align-items: center; gap: 15px; padding: 14px; border: 2px solid rgba(255,255,255,.17); border-radius: 13px; color: #fff; background: rgba(255,255,255,.085); text-align: left; cursor: pointer; transition: transform 150ms ease, background 150ms ease; }.answer-option:hover { background: rgba(255,255,255,.15); transform: translateY(-2px); }.answer-option span { display: grid; width: 38px; height: 38px; flex: none; place-items: center; border-radius: 9px; color: var(--ink); background: var(--option-color); font-family: var(--serif); font-weight: 850; }.answer-option strong { font-family: var(--serif); font-size: 1.1rem; font-weight: 500; }
.reveal-stage { display: grid; width: min(100%, 930px); margin: auto; padding: 30px 0; grid-template-columns: .7fr 1.3fr; align-items: center; gap: clamp(30px, 6vw, 80px); }.reveal-person { display: grid; justify-items: center; }.mega-avatar { display: grid; width: min(40vw, 270px); aspect-ratio: 1; place-items: center; border: 10px solid rgba(255,255,255,.9); border-radius: 50%; color: #fff; background: var(--avatar); box-shadow: 0 20px 55px rgba(0,0,0,.23); font-family: var(--serif); font-size: clamp(3rem, 8vw, 6rem); }.reveal-person strong { margin-top: 17px; font-family: var(--serif); font-size: 1.5rem; font-weight: 500; }.reveal-copy .eyebrow { color: #ffd0d7; }.reveal-copy h1 { font-size: clamp(3rem, 6vw, 5.7rem); }.reveal-copy > p { max-width: 560px; margin-top: 20px; color: rgba(255,255,255,.72); font-size: clamp(.9rem, 2vw, 1.2rem); line-height: 1.55; }.reveal-stat { display: flex; align-items: center; gap: 14px; margin-top: 26px; padding: 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(255,255,255,.08); }.reveal-stat span { font-size: 1.6rem; }.reveal-stat strong, .reveal-stat small { display: block; }.reveal-stat small { margin-top: 3px; color: rgba(255,255,255,.6); }.reveal-actions { display: flex; gap: 9px; margin-top: 28px; }.reveal-actions .button-ghost { border-color: rgba(255,255,255,.22); color: #fff; background: transparent; }
.score-stage { display: grid; min-height: 100vh; padding: 40px; place-items: center; background: #f2c654; color: var(--ink); }.score-card { width: min(100%, 670px); padding: clamp(25px, 5vw, 55px); border-radius: 25px; background: #fffaf0; box-shadow: 0 25px 70px rgba(57,41,17,.14); }.score-card h1 { text-align: center; }.score-card > p { margin-top: 9px; color: var(--muted); text-align: center; }.score-list { display: grid; gap: 9px; margin: 32px 0; }.score-row { display: grid; grid-template-columns: 35px 1fr auto; align-items: center; gap: 10px; padding: 13px; border-radius: 11px; background: #f3efe5; }.score-row:first-child { background: #e9efc2; }.score-row b { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #fff; font-size: .72rem; }.score-row strong { font-family: var(--serif); font-weight: 500; }.score-row span { color: var(--coral-dark); font-size: .75rem; font-weight: 850; }
.mode-badge { padding: 6px 9px; border: 1px solid rgba(255,255,255,.25); border-radius: 99px; font-size: .55rem; font-weight: 850; letter-spacing: .09em; }.host-controls { position: fixed; z-index: 12; right: 50%; bottom: 18px; display: flex; align-items: center; gap: 5px; padding: 6px; border: 1px solid rgba(255,255,255,.15); border-radius: 11px; background: rgba(25,21,28,.88); box-shadow: 0 12px 35px rgba(0,0,0,.28); backdrop-filter: blur(12px); transform: translateX(50%); }.host-controls button { padding: 8px 10px; border: 0; border-radius: 7px; color: rgba(255,255,255,.75); background: transparent; font-size: .61rem; cursor: pointer; white-space: nowrap; }.host-controls button:hover:not(:disabled) { color: #fff; background: rgba(255,255,255,.1); }.host-controls button:disabled { opacity: .32; cursor: not-allowed; }.host-controls .control-primary { color: #fff; background: var(--coral-action); font-weight: 800; }.question-intro { display: grid; margin: auto; place-items: center; text-align: center; }.question-intro > span { display: grid; width: 115px; height: 115px; margin-bottom: 35px; place-items: center; border-radius: 30px; color: var(--ink); background: var(--yellow); box-shadow: 0 20px 50px rgba(0,0,0,.2); font-size: 3rem; }.question-intro p { color: rgba(255,255,255,.6); font-size: .7rem; font-weight: 850; letter-spacing: .15em; }.question-intro h1 { margin-top: 10px; font-size: clamp(3.5rem, 7vw, 7rem); }.question-intro small { margin-top: 18px; color: rgba(255,255,255,.5); }.live-question-image { width: min(72vw, 620px); max-height: 38vh; margin: 0 auto 22px; border: 7px solid rgba(255,255,255,.92); border-radius: 16px; box-shadow: 0 20px 55px rgba(0,0,0,.22); object-fit: contain; background: rgba(255,255,255,.1); }.closest-stage { display: grid; min-width: min(90vw, 420px); margin-top: 40px; padding: 24px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 15px; background: rgba(255,255,255,.08); }.closest-stage > span { font-family: var(--serif); font-size: 3rem; }.closest-stage strong { margin-top: 7px; font-family: var(--serif); font-size: 1.1rem; }.closest-stage small { margin-top: 5px; color: rgba(255,255,255,.55); }.mega-photo { width: min(42vw, 360px); max-height: 54vh; border: 9px solid rgba(255,255,255,.92); border-radius: 20px; box-shadow: 0 20px 55px rgba(0,0,0,.23); object-fit: contain; background: rgba(255,255,255,.1); }.pause-overlay, .story-overlay { position: fixed; z-index: 11; inset: 0; display: grid; padding: 30px; place-items: center; align-content: center; color: #fff; background: rgba(34,27,38,.94); text-align: center; }.pause-overlay > span { font-size: 3rem; }.pause-overlay h1, .story-overlay h1 { margin: 15px 0 25px; font-size: clamp(3rem, 7vw, 7rem); }.story-overlay p { color: #f3c0cc; font-size: .75rem; font-weight: 850; letter-spacing: .14em; }.game-empty { display: grid; min-height: 100vh; padding: 30px; place-items: center; color: #fff; background: #3b3045; text-align: center; }.game-empty > div { width: min(100%, 760px); }.game-empty > div > span { display: block; margin-bottom: 20px; color: var(--yellow); font-size: 3rem; }.game-empty h1 { font-size: clamp(3rem, 6vw, 6rem); }.game-empty p:not(.eyebrow) { margin: 20px 0 28px; color: rgba(255,255,255,.65); }.completion-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 30px 0 18px; }.completion-stats span { padding: 13px; border-radius: 9px; color: var(--muted); background: #f0ece2; font-size: .59rem; text-align: center; }.completion-stats strong { display: block; margin-bottom: 4px; color: var(--ink); font-family: var(--serif); font-size: 1.6rem; font-weight: 500; }.conversation-win { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; padding: 14px; border-radius: 10px; background: #e4ecc0; }.conversation-win > span { font-size: 1.4rem; }.conversation-win p { color: var(--muted); font-size: .67rem; }.conversation-win strong { color: var(--ink); }


/* Pre-game layout stacks before the two desktop columns become cramped. */
@media (max-width: 1023px) {
  .play-lobby { grid-template-columns: minmax(0,1fr); align-content: start; background: #f1c85d; }
  .lobby-main { min-height: 0; padding: 36px max(24px,env(safe-area-inset-right,0px)) 32px max(24px,env(safe-area-inset-left,0px)); }
  .lobby-main .play-logo { margin-bottom: 32px; }
  .lobby-main h1 { max-width: 15ch; font-size: clamp(2.5rem,9vw,4.75rem); }
  .lobby-main > p:not(.eyebrow) { font-size: var(--type-body); }
  .lobby-actions { margin-top: 24px; }
  .lobby-actions .button { min-height: 48px; }
  .lobby-panel { padding: 24px max(24px,env(safe-area-inset-right,0px)) calc(32px + env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px)); }
  .lobby-panel .join-card { width: 100%; max-width: 640px; margin-inline: auto; padding: 24px; }
  .lobby-panel .join-code { margin: 12px 0; font-size: 2.5rem; }
  .lobby-panel .player-bubbles { margin-top: 16px; }
  .game-empty { min-height: 100svh; padding: 32px max(24px,env(safe-area-inset-right,0px)) calc(32px + env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px)); }
  .game-empty h1 { font-size: clamp(2.5rem,9vw,4.75rem); line-height: 1.05; overflow-wrap: anywhere; }
  .game-empty .button { min-height: 48px; max-width: 100%; white-space: normal; }
}
@media (max-width: 600px) {
  .lobby-main { padding-top: 28px; }
  .lobby-main > p { margin-top: 18px; }
  .lobby-actions { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
  .lobby-actions .button { width: 100%; min-width: 0; padding: 12px 16px; }
  .game-empty .button { width: 100%; }
}
.modal-backdrop { position: fixed; z-index: 100; inset: 0; display: grid; padding: 20px; place-items: center; background: rgba(37,31,27,.56); backdrop-filter: blur(6px); }.modal-backdrop.hidden { display: none; }.modal { width: min(100%, 570px); max-height: min(90vh, 760px); overflow-y: auto; padding: 27px; border-radius: 19px; background: var(--paper); box-shadow: 0 25px 80px rgba(0,0,0,.24); }.modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 22px; }.modal-head h2 { font-size: 1.8rem; }.modal-head p { margin-top: 6px; color: var(--muted); font-size: .72rem; }.close-button { display: grid; width: 32px; height: 32px; flex: none; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; }.form-grid { display: grid; gap: 14px; }.form-grid.two { grid-template-columns: 1fr 1fr; }.field { display: grid; gap: 6px; }.field > span { font-size: .67rem; font-weight: 780; }.field input, .field select, .field textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; outline: 0; background: #fff; font-size: .75rem; }.field textarea { min-height: 80px; resize: vertical; }.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--coral); box-shadow: 0 0 0 3px rgba(244,111,97,.1); }.consent-box { display: flex; align-items: flex-start; gap: 9px; padding: 12px; border-radius: 9px; background: #f2eee5; color: var(--muted); font-size: .67rem; line-height: 1.4; }.consent-box input { margin-top: 2px; accent-color: var(--coral); }.modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 21px; }.option-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.option-fields label { display: flex; align-items: center; gap: 7px; }.option-fields input[type="radio"] { width: auto; accent-color: var(--coral); }.large-qr-modal { display: grid; justify-items: center; padding: 20px 0; }.large-qr-modal .qr-code { width: min(70vw, 320px); height: min(70vw, 320px); border: 10px solid #fff; box-shadow: 0 10px 30px rgba(0,0,0,.08); }.large-qr-modal strong { margin-top: 20px; font-family: var(--serif); font-size: 2rem; letter-spacing: .1em; }
.toast { position: fixed; z-index: 150; right: 24px; bottom: 24px; max-width: min(390px, calc(100% - 32px)); padding: 12px 16px; border-radius: 10px; color: #fff; background: var(--ink); box-shadow: 0 12px 35px rgba(0,0,0,.22); font-size: .75rem; opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity 160ms ease, transform 160ms ease; }.toast.show { opacity: 1; transform: translateY(0); }
.confetti { position: fixed; z-index: 140; top: -20px; width: 9px; height: 15px; background: var(--confetti); animation: fall 1.4s ease-in forwards; pointer-events: none; }.generating .ai-orb { animation: pulse 650ms ease infinite alternate; }.generating { opacity: .75; pointer-events: none; }
@keyframes fall { to { transform: translate(var(--drift), 105vh) rotate(620deg); } } @keyframes pulse { to { transform: scale(1.15) rotate(15deg); } }

@media (max-width: 1050px) {
  .app-shell { grid-template-columns: 205px minmax(0,1fr); }.sidebar { width: 205px; }.view { padding-inline: 28px; }.dashboard-grid { grid-template-columns: 1fr; }.pulse-card { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }.pulse-card .card-heading, .tone-note { grid-column: 1 / -1; }.answer-grid, .prompt-grid { grid-template-columns: 1fr 1fr; }.collect-layout { grid-template-columns: 1fr; }.privacy-card { display: grid; grid-template-columns: 50px 1fr; gap: 0 10px; }.privacy-card .eyebrow, .privacy-card h3, .privacy-card ul, .privacy-card .toggle-row { grid-column: 2; }.privacy-card .privacy-icon { grid-row: 1 / 4; }.summary-copy p:last-child { display: none; }
}

@media (max-width: 760px) {
  .app-shell { display: block; }.sidebar { display: none; }.main-content { grid-column: 1; }.mobile-header { position: sticky; z-index: 30; top: 0; display: flex; align-items: center; justify-content: space-between; height: 62px; padding: 0 17px; border-bottom: 1px solid var(--line); background: rgba(243,240,232,.92); backdrop-filter: blur(14px); }.icon-button { width: 35px; height: 35px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.5); }.view { min-height: calc(100vh - 62px); padding: 28px 16px 95px; }.page-head { align-items: flex-start; margin-bottom: 24px; flex-direction: column; }.page-head > .button, .head-actions { width: 100%; }.head-actions .button { flex: 1; }.event-hero { grid-template-columns: 1fr; }.event-copy { padding: 28px 23px; }.event-meta { margin-bottom: 28px; }.dashboard-grid { grid-template-columns: 1fr; }.progress-card, .pulse-card { padding: 19px; }.pulse-card { display: block; }.answer-grid, .prompt-grid { grid-template-columns: 1fr; }.answer-card { min-height: 145px; }.mobile-nav { position: fixed; z-index: 40; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); padding: 6px 7px max(7px, env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: rgba(250,248,242,.96); backdrop-filter: blur(14px); }.mobile-nav button { padding: 5px; border: 0; border-radius: 8px; color: var(--muted); background: transparent; font-size: .58rem; }.mobile-nav button span { display: block; margin-bottom: 2px; font-size: 1rem; }.mobile-nav button.active { color: var(--coral-dark); background: #f5e5dd; }.invite-card { grid-template-columns: 1fr; padding: 24px; }.invite-card > .qr-wrap { display: none; }.modal .qr-wrap { display: grid; }.privacy-card { display: block; }.privacy-card .privacy-icon { margin-bottom: 18px; }.people-table { overflow-x: auto; }.person-row { min-width: 600px; }.studio-summary { align-items: flex-start; padding: 20px; flex-direction: column; }.summary-numbers { width: 100%; justify-content: space-around; }.studio-toolbar { align-items: stretch; flex-direction: column; }.search-field { width: 100%; }.question-card { grid-template-columns: 40px minmax(0,1fr); }.question-number { width: 38px; height: 38px; }.question-actions { grid-column: 2; }.question-copy h3 { white-space: normal; }.play-view { padding: 0; }.play-view ~ * { display: none; }.game-stage { padding: 22px 15px 80px; }.round-label strong { display: none; }.game-progress { width: 35vw; }.question-stage { align-content: center; }.question-stage h1 { font-size: 2.65rem; }.answer-options { grid-template-columns: 1fr; margin-top: 28px; }.answer-option { min-height: 60px; }.reveal-stage { grid-template-columns: 1fr; gap: 24px; text-align: center; }.mega-avatar { width: 150px; }.reveal-copy h1 { font-size: 3rem; }.reveal-stat { text-align: left; }.reveal-actions { justify-content: center; }.form-grid.two, .option-fields { grid-template-columns: 1fr; }.toast { right: 16px; bottom: 78px; }
}

@media (max-width: 1050px) {
  .overview-hero-actions{align-items:stretch;flex-direction:column}.overview-hero-actions .button{width:100%}
}

@media (max-width: 760px) {
  .overview-view{padding-top:18px}.overview-event-hero{min-height:0}.overview-event-hero .event-meta{align-items:flex-start;margin-bottom:24px;flex-direction:column;gap:9px}.overview-event-hero .event-copy>p:not(.eyebrow):not(.overview-hero-status){font-size:.94rem}.overview-hero-actions{align-items:stretch;flex-direction:column}.overview-hero-actions .button{width:100%}.overview-stage-strip ol{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-stage-strip li:nth-child(3){border-left:0}.overview-stage-strip li:nth-child(n+3){border-top:1px solid var(--line)}.overview-stage-strip button{min-height:76px;padding:12px 14px}.overview-activity{margin-top:23px}
}

.danger-button { color: #9f3f3a; border-color: rgba(159, 63, 58, .28); }
.danger-button:hover { background: #fff0ed; border-color: rgba(159, 63, 58, .5); }

.language-picker { display: inline-flex; align-items: center; gap: 6px; min-width: max-content; padding: 7px 9px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.72); }
.qr-code img { display: block; width: 100%; height: 100%; grid-column: 1 / -1; grid-row: 1; object-fit: contain; }
.language-picker select { width: auto; padding: 0 20px 0 0; border: 0; background-color: transparent; font-size: .7rem; font-weight: 800; }
.organizer-language { width: 100%; min-height: 44px; margin: 0; justify-content: center; }
.modal-language { align-self: flex-start; margin-left: auto; }
.invite-actions { flex-wrap: wrap; }
.invite-actions .text-link { flex-basis: 100%; justify-content: flex-start; padding-left: 0; }
.retention-field { margin-top: 18px; text-align: left; }
.participant-welcome, .participant-confirmation, .participant-review { max-width: 640px; margin: 0 auto; text-align: center; }
.participant-welcome .modal-language, .participant-confirmation .modal-language, .participant-review .modal-language { float: right; }
.welcome-confetti { padding-top: 44px; color: var(--coral); font-size: 2rem; letter-spacing: .5rem; }
.participant-welcome h2, .participant-confirmation h2 { margin-top: 10px; font-family: var(--serif); font-size: clamp(2.1rem, 7vw, 3.8rem); }
.participant-welcome h3 { margin: 22px 0 10px; font-family: var(--serif); font-size: 1.45rem; font-weight: 500; }
.participant-welcome > p, .participant-confirmation > p { margin: 10px auto; max-width: 520px; color: var(--muted); line-height: 1.65; }
.participant-welcome > strong { display: block; margin: 20px 0; }
.participant-welcome ul { display: grid; gap: 10px; margin: 22px auto 28px; padding: 20px; border-radius: 14px; background: #f7f3ea; text-align: left; list-style: none; }
.participant-welcome li { line-height: 1.45; }
.ready-to-send { margin: 20px 0 90px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: #f7f3ea; }
.ready-to-send p:last-child { margin-top: 8px; color: var(--muted); line-height: 1.5; }
.response-delete { margin-top: 10px; padding: 4px 0; border: 0; color: #9f3f3a; background: transparent; font-size: .68rem; text-decoration: underline; }
.confirmation-mark { display: grid; width: 72px; height: 72px; margin: 52px auto 18px; place-items: center; border-radius: 50%; color: #355a42; background: #dce8ad; font-size: 2rem; }
.confirmation-joke { padding: 16px; border-radius: 12px; background: #f7f3ea; }
.event-confirm { display: grid; gap: 5px; margin: 22px 0; padding: 18px; border-block: 1px solid var(--line); }
.event-confirm strong { font-family: var(--serif); font-size: 1.4rem; }
.review-list { display: grid; gap: 10px; max-height: 50vh; margin: 22px 0; overflow: auto; text-align: left; }
.review-list article { display: grid; gap: 5px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; }
.review-list small, .review-list span { color: var(--muted); font-size: .68rem; }
.experience-choice { margin: 20px 0; }
.experience-choice > div { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 10px; }
.experience-card { display: grid; gap: 9px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.experience-card.selected { border-color: #6c4b72; box-shadow: inset 0 0 0 1px #6c4b72; }
.experience-card small { font-weight: 850; letter-spacing: .08em; }
.experience-card h3 { font-family: var(--serif); font-size: 1.25rem; font-weight: 500; }
.experience-card p { color: var(--muted); font-size: .74rem; line-height: 1.5; }
.experience-card > strong { align-self: end; color: #476e55; font-size: .7rem; }
.quest-card { background: linear-gradient(145deg, #fffdf8, #eee7f0); }
.quest-explore-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.quest-explore-grid section { padding: 16px 0; }
.quest-explore-grid h3 { font-family: var(--serif); font-size: 2rem; }
.quest-explore-grid p, .quest-explore-grid li, .quest-dependency p { color: var(--muted); line-height: 1.55; }
.quest-explore-grid ul { display: grid; gap: 8px; margin-top: 18px; list-style: none; }
.quest-sample { display: grid; gap: 10px; padding: 22px; border-radius: 16px; color: #fff; background: #57425f; box-shadow: var(--shadow); transform: rotate(1deg); }
.quest-sample > span { padding: 11px; border-radius: 8px; color: #29242b; background: #fffdf8; }
.quest-sample div { display: flex; gap: 8px; align-items: center; margin-top: 8px; }
.quest-sample i, .quest-sample b { display: grid; min-width: 42px; height: 42px; place-items: center; border-radius: 8px; background: rgba(255,255,255,.13); font-style: normal; }
.quest-sample b { margin-left: auto; padding: 0 10px; color: #57425f; background: #dce8ad; font-size: .65rem; }
.quest-dependency { margin-top: 20px; padding: 14px 16px; border-left: 3px solid #d49a50; background: #fbf3df; }

@media (max-width: 760px) {
  .site-actions .language-picker { display: inline-flex; }
  .participant-modal { padding-inline: 16px; }
  .collection-head { flex-wrap: wrap; }
  .collection-head .modal-language { order: 3; margin: 8px 0 0; }
  .sticky-actions { flex-wrap: wrap; }
  .experience-choice > div, .quest-explore-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 1ms !important; transition-duration: 1ms !important; } }

@media (max-width: 760px) { .invite-stats { grid-template-columns: 1fr 1fr; }.invite-stats article { padding: 13px; } }
.participant-modal { width: min(100%, 780px); max-height: min(94vh, 980px); padding: 0; }.participant-modal .collection-head { position: sticky; z-index: 4; top: 0; margin: 0; padding: 25px 27px 18px; border-bottom: 1px solid var(--line); background: var(--paper); }.collection-safety { display: flex; gap: 12px; margin: 20px 27px; padding: 14px; border-radius: 11px; background: #f4edcf; }.collection-safety > span { font-size: 1.3rem; }.collection-safety strong { font-family: var(--serif); font-size: .93rem; font-weight: 500; }.collection-safety p { margin-top: 4px; color: var(--muted); font-size: .65rem; line-height: 1.45; }.participant-basics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 0 27px 22px; }.participant-basics label:last-child { grid-column: 1 / -1; }.collection-questions { border-top: 1px solid var(--line); }.collection-question { display: grid; grid-template-columns: 42px 1fr; gap: 13px; padding: 23px 27px; border-bottom: 1px solid var(--line); }.collection-number { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 9px; background: #f0e9dc; font-family: var(--serif); font-size: .82rem; }.collection-category { display: block; margin-bottom: 9px; color: var(--coral-dark); font-size: .51rem; font-weight: 850; letter-spacing: .1em; }.collection-field .field > span { font-family: var(--serif); font-size: .94rem; font-weight: 500; }.share-check { display: flex; align-items: flex-start; gap: 7px; margin-top: 9px; color: var(--muted); font-size: .61rem; line-height: 1.4; }.share-check input { margin-top: 1px; accent-color: var(--coral); }.number-response { display: flex; align-items: center; gap: 8px; }.number-response input { flex: 1; }.number-response span { color: var(--muted); font-size: .7rem; }.upload-drop { display: grid; min-height: 115px; padding: 15px; place-items: center; border: 1px dashed #bdb4a8; border-radius: 9px; background: #faf7f0; cursor: pointer; text-align: center; }.upload-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }.upload-drop > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #fff; background: var(--plum); }.upload-drop strong { margin-top: 5px; font-size: .68rem; }.upload-drop small { color: var(--muted); font-size: .56rem; }.collection-consent { margin: 22px 27px; }.sticky-actions { position: sticky; z-index: 4; bottom: 0; margin: 0; padding: 14px 27px; border-top: 1px solid var(--line); background: rgba(255,253,248,.95); backdrop-filter: blur(12px); }.uploaded-file { display: flex; align-items: center; gap: 10px; padding: 9px; border: 1px solid var(--line); border-radius: 8px; }.uploaded-file img { width: 42px; height: 42px; border-radius: 7px; object-fit: cover; }.uploaded-file span { flex: 1; font-size: .68rem; }.uploaded-file button { border: 0; color: var(--coral-dark); background: transparent; font-size: .62rem; cursor: pointer; }.library-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 10px 0; }.library-toolbar span { color: var(--muted); font-size: .66rem; }.library-toolbar button { border: 0; color: var(--coral-dark); background: transparent; font-size: .65rem; font-weight: 750; cursor: pointer; }.prompt-library-list { display: grid; gap: 22px; }.prompt-library-list section h3 { margin-bottom: 8px; color: var(--muted); font-size: .58rem; letter-spacing: .1em; }.prompt-library-list label { display: flex; align-items: flex-start; gap: 9px; padding: 9px 0; border-top: 1px solid #eee9e0; cursor: pointer; }.prompt-library-list input { margin-top: 3px; accent-color: var(--coral); }.prompt-library-list strong, .prompt-library-list small { display: block; }.prompt-library-list strong { font-family: var(--serif); font-size: .82rem; font-weight: 500; }.prompt-library-list small { margin-top: 3px; color: var(--muted); font-size: .56rem; }
.modal.prompt-library-shell {
  display: grid;
  width: min(720px, calc(100vw - 48px));
  height: min(760px, calc(100dvh - 48px));
  max-height: calc(100dvh - 48px);
  padding: 0;
  overflow: hidden;
  grid-template-rows: minmax(0, 1fr);
}
.prompt-library-modal {
  display: grid;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  grid-template-rows: auto minmax(0, 1fr) auto;
}
.prompt-library-header { padding: 24px 26px 16px; border-bottom: 1px solid var(--line); }
.prompt-library-header .modal-head { margin-bottom: 8px; }
.prompt-library-header .library-toolbar { padding: 8px 0 0; }
.prompt-library-header .close-button { width: 44px; height: 44px; }
.prompt-library-body {
  min-height: 0;
  padding: 24px 20px 24px 26px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(108,75,114,.35) transparent;
}
.prompt-library-body::-webkit-scrollbar { width: 7px; }
.prompt-library-body::-webkit-scrollbar-track { background: transparent; }
.prompt-library-body::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(108,75,114,.32); }
.prompt-library-body::-webkit-scrollbar-thumb:hover { background: rgba(108,75,114,.52); }
.prompt-library-footer {
  display: flex;
  justify-content: flex-end;
  gap: 11px;
  padding: 18px 26px max(18px, env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: var(--paper);
}
@media (max-width: 760px) {
  .modal.prompt-library-shell { width: 100%; height: calc(100dvh - 20px); max-height: calc(100dvh - 20px); border-radius: 18px; }
  .prompt-library-header { padding: 20px 20px 14px; }
  .prompt-library-body { padding: 20px 14px 20px 20px; }
  .prompt-library-footer { padding: 14px 20px max(14px, env(safe-area-inset-bottom)); }
}
@media (max-width: 760px) { .participant-modal { width: 100%; max-height: 100dvh; height: 100dvh; border-radius: 0; }.participant-basics { grid-template-columns: 1fr; }.participant-basics label:last-child { grid-column: 1; }.collection-question { padding-inline: 17px; }.participant-modal .collection-head, .sticky-actions { padding-inline: 17px; }.collection-safety, .collection-consent { margin-inline: 17px; }.prompt-heading-actions { align-items: flex-end; flex-direction: column; } }
.studio-preview { padding: 28px; border-radius: 14px; color: #fff; background: var(--preview-color); text-align: center; }.studio-preview > span { font-size: .55rem; font-weight: 850; letter-spacing: .12em; }.studio-preview > img { display: block; width: min(100%, 360px); max-height: 250px; margin: 15px auto; border-radius: 10px; object-fit: cover; }.studio-preview > h3 { margin: 25px 0; font-family: var(--serif); font-size: 1.55rem; font-weight: 500; }.studio-preview > div:not(.numeric-preview) { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }.studio-preview > div > p { display: flex; align-items: center; gap: 8px; padding: 9px; border: 1px solid rgba(255,255,255,.2); border-radius: 7px; background: rgba(255,255,255,.09); font-size: .7rem; text-align: left; }.studio-preview > div > p b { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 5px; color: var(--ink); background: var(--yellow); }.numeric-preview { padding: 17px; border: 1px dashed rgba(255,255,255,.35); border-radius: 8px; color: rgba(255,255,255,.7); }.preview-answer { display: grid; margin-top: 18px; padding: 16px; border-radius: 9px; color: var(--ink); background: #fff9e8; }.preview-answer.hidden { display: none; }.preview-answer small { color: var(--coral-dark); font-size: .52rem; letter-spacing: .1em; }.preview-answer strong { margin-top: 4px; font-family: var(--serif); font-size: 1.4rem; }.preview-answer p { margin-top: 6px; color: var(--muted); font-size: .65rem; line-height: 1.45; }
@media (max-width: 760px) { .host-controls { right: 8px; bottom: 8px; left: 8px; overflow-x: auto; justify-content: flex-start; transform: none; }.host-controls button { flex: 1; padding-inline: 8px; }.mode-badge { display: none; }.live-question-image { width: min(90vw, 500px); max-height: 30vh; }.question-intro > span { width: 85px; height: 85px; }.completion-stats { grid-template-columns: 1fr; }.mega-photo { width: min(82vw, 330px); max-height: 37vh; } }

/* Classic MVP control consistency and accessible interaction states. */
.button { min-height: 44px; border-radius: 9px; }
.field input:not([type="checkbox"]):not([type="radio"]), .field select { min-height: 44px; }
.close-button { display: inline-grid; width: 44px; height: 44px; padding: 0; align-items: center; justify-content: center; line-height: 1; }
.icon-button, .question-order button, .row-actions button, .question-actions button, .host-controls button { align-items: center; justify-content: center; }
button:active:not(:disabled), .button:active:not(:disabled) { transform: translateY(0) scale(.98); }
button:disabled, .button:disabled, [aria-busy="true"] { cursor: wait; opacity: .62; }
[aria-busy="true"]::after { width: 12px; height: 12px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; content: ""; animation: control-spin .7s linear infinite; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid rgba(244,111,97,.45); outline-offset: 2px; }
@keyframes control-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
@media (max-width: 420px) { .modal-backdrop { padding: 8px; align-items: end; }.modal { max-height: 94vh; padding: 22px 18px; border-radius: 18px 18px 8px 8px; }.modal-head { gap: 10px; }.modal-actions { align-items: stretch; flex-direction: column-reverse; }.modal-actions .button { width: 100%; }.participant-modal .collection-head, .participant-modal .sticky-actions { padding-inline: 18px; }.participant-basics, .collection-question { padding-inline: 18px; } }

/* The live controller is an integrated game dock, not a floating utility pill. */
.account-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px}.account-events-panel,.account-profile-card,.account-privacy-card{padding:24px}.account-events-panel .card-heading{margin-bottom:8px}.account-section-copy{max-width:650px;margin-bottom:22px;color:var(--muted);font-size:.82rem;line-height:1.55}.account-event-list{max-height:none}.account-page-grid>*{min-width:0}.account-page-aside{display:grid;gap:14px}.account-page-aside>*{min-width:0}.account-profile-card>div,.account-privacy-card>div{min-width:0;overflow-wrap:anywhere}.account-profile-card{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:14px}.account-profile-card>.avatar{width:52px;height:52px;font-size:.86rem}.account-profile-card h2{overflow:hidden;font-size:1.35rem;text-overflow:ellipsis;white-space:nowrap}.account-profile-card>div>p:last-child{overflow:hidden;margin-top:4px;color:var(--muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.account-profile-card>.button{grid-column:1/-1;margin-top:7px}.account-privacy-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px}.account-privacy-card>span{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;color:#fff;background:var(--plum);font-size:1.2rem}.account-privacy-card h3{font-family:var(--serif);font-size:1.05rem}.account-privacy-card div>p:last-child{margin-top:7px;color:var(--muted);font-size:.72rem;line-height:1.5}@media(max-width:900px){.account-view .page-head{flex-direction:column;align-items:stretch}.account-view .page-head>.button{width:100%}.account-page-grid{grid-template-columns:minmax(0,1fr)}.account-page-aside{grid-template-columns:minmax(0,1fr)}.account-page-aside>.button{grid-column:1/-1}}@media(max-width:760px){.mobile-nav{grid-template-columns:repeat(5,1fr)}.account-page-aside{grid-template-columns:minmax(0,1fr)}.account-page-aside>.button{grid-column:auto}.account-events-panel,.account-profile-card,.account-privacy-card{padding:19px}.account-view{padding-bottom:100px}}
.game-stage{padding-bottom:clamp(112px,13vh,138px)}
.host-controls{position:fixed;z-index:12;right:0;bottom:0;left:0;width:100%;padding:12px clamp(18px,4vw,56px);border:0;border-top:1px solid rgba(255,255,255,.18);border-radius:0;background:linear-gradient(180deg,rgba(27,22,31,.78),rgba(24,20,28,.96));box-shadow:0 -12px 34px rgba(20,15,23,.18);backdrop-filter:blur(18px);transform:none}
.host-controls-inner{display:grid;width:min(1180px,100%);min-height:62px;margin:0 auto;grid-template-columns:minmax(170px,1fr) auto minmax(170px,1fr);align-items:center;gap:24px}
.control-context{display:grid;gap:4px}.control-context small{color:rgba(255,255,255,.48);font-size:.57rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.control-context strong{color:#fff;font-family:var(--serif);font-size:1rem;font-weight:500}
.control-navigation,.control-session{display:flex;align-items:center;gap:7px}.control-navigation{justify-content:center}.control-session{justify-self:end;justify-content:flex-end}
.host-controls button{display:inline-flex;min-height:44px;padding:10px 14px;border:1px solid transparent;border-radius:10px;color:rgba(255,255,255,.75);background:transparent;font-size:.68rem;font-weight:750;cursor:pointer;white-space:nowrap;transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease}
.host-controls button:hover:not(:disabled){color:#fff;border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.09)}.host-controls button:disabled{cursor:not-allowed;opacity:.3}
.host-controls .control-primary{min-width:148px;padding-inline:20px;border-color:var(--coral-action);color:#fff;background:var(--coral-action);box-shadow:0 7px 20px rgba(244,111,97,.24);font-weight:850}.host-controls .control-primary:hover:not(:disabled){border-color:var(--coral-action-hover);background:var(--coral-action-hover)}
.host-controls .control-fullscreen{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.05)}.host-controls .control-end,.host-controls .control-exit{color:rgba(255,255,255,.58)}.host-controls .control-end:hover,.host-controls .control-exit:hover{color:#ffd4cf;border-color:rgba(244,111,97,.25);background:rgba(244,111,97,.1)}
@media(max-width:900px){.host-controls-inner{grid-template-columns:auto 1fr auto;gap:10px}.control-context strong{font-size:.86rem}.control-navigation{justify-self:center}.host-controls button{padding-inline:10px}.host-controls .control-primary{min-width:126px}}
@media(max-width:640px){.game-stage{padding-bottom:94px}.host-controls{padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.host-controls-inner{display:flex;min-height:54px;gap:5px}.control-context{display:none}.control-navigation{display:grid;flex:1;grid-template-columns:auto auto minmax(104px,1fr);gap:4px}.control-session{gap:3px}.host-controls button{min-width:42px;min-height:42px;padding:8px;border-radius:9px;font-size:.63rem}.host-controls .control-primary{min-width:104px;padding-inline:10px}.host-controls .control-fullscreen span,.host-controls .control-previous span{display:none}.host-controls .control-end{padding-inline:8px}.host-controls:not(.live-controls) .control-exit{font-size:0}.host-controls:not(.live-controls) .control-exit::after{font-size:.85rem;content:"×"}}
@media(max-width:760px){.mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.event-art{display:none}}

/* Access and limits: an organizer workspace page, not a sales redirect. */
.access-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:26px 28px;margin-bottom:22px;background:linear-gradient(135deg,rgba(116,76,121,.1),rgba(255,255,255,.82))}
.access-hero-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--plum);color:#fff;font-size:24px;box-shadow:0 12px 28px rgba(88,52,94,.2)}
.access-hero h2,.access-card h2,.commercial-note h2{margin:3px 0 7px}
.access-hero p,.commercial-note p{margin:0;max-width:720px}
.access-status{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid rgba(52,116,85,.18);border-radius:999px;background:rgba(225,244,234,.9);color:#286a49;font-size:13px;font-weight:800}
.access-status i{width:8px;height:8px;border-radius:50%;background:#38a66a;box-shadow:0 0 0 4px rgba(56,166,106,.13)}
.access-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:22px;align-items:stretch}
.access-card,.access-limits-card{padding:26px 28px}
.access-feature-list{display:grid;gap:0;margin:21px 0 0;padding:0;list-style:none}
.access-feature-list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;padding:15px 0;border-top:1px solid var(--line)}
.access-feature-list li>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,111,100,.13);color:var(--coral);font-weight:900}
.access-feature-list strong,.access-feature-list small{display:block}
.access-feature-list small{margin-top:4px;color:var(--muted);line-height:1.45}
.access-limits-card{background:#272633;color:#fff}
.access-limits-card .eyebrow{color:#c9b8cd}
.access-limit{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.access-limit strong{font-family:var(--serif);font-size:38px;line-height:1}
.access-limit span{color:#d9d5dc;text-align:right}
.access-limits-card>p:last-child{margin:18px 0 0;color:#bdb8c1;font-size:13px;line-height:1.5}
.commercial-note{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:22px;padding:25px 28px;background:rgba(255,255,255,.62);border:1px dashed rgba(108,75,114,.3);border-radius:20px}
.upgrade-card.active{outline:1px solid rgba(255,255,255,.72);outline-offset:-1px;box-shadow:none}
.account-access-button{display:flex;align-items:center;justify-content:center;gap:9px}

/* Desktop organizer sidebar: one compact navigation, utility and account system. */
@media(min-width:761px){
  .organizer-shell{grid-template-columns:280px minmax(0,1fr)}
  .organizer-shell .sidebar{width:280px;padding:22px 18px 14px}
  .organizer-shell .sidebar>.brand{min-height:29px}
  .organizer-shell .sidebar-section-label{display:block;color:var(--muted);font-size:var(--text-xs);font-weight:850;line-height:1.3;letter-spacing:.1em}
  .organizer-shell .sidebar-primary-label{margin-top:20px;padding-inline:11px}
  .organizer-shell .side-nav{gap:4px;margin-top:5px}
  .organizer-shell .side-nav button{grid-template-columns:24px minmax(0,1fr) 28px;min-height:48px;padding:8px 11px;column-gap:10px;font-size:var(--text-control)}
  .organizer-shell .side-nav .nav-icon-slot{width:24px;height:28px}
  .organizer-shell .side-nav .nav-label{white-space:nowrap}
  .organizer-shell .side-nav b{width:27px;min-width:27px;height:27px;justify-self:end}
  .organizer-shell .sidebar-experiences{display:grid;margin-top:14px}
  .organizer-shell .sidebar-experiences[hidden]{display:none}
  .organizer-shell .sidebar-experiences>.sidebar-section-label{padding-inline:11px}
  .organizer-shell .sidebar-utility-zone{display:grid;margin-top:auto;padding-top:14px;border-top:1px solid rgba(108,75,114,.14)}
  .organizer-shell .side-card>div{min-width:0;flex:1}
  .organizer-shell .side-card{min-height:74px;padding:12px}
  .organizer-shell .event-switcher-chevron{flex:0 0 auto}
  .organizer-shell .upgrade-card{min-height:60px;margin-top:6px;padding:10px 12px}
  .organizer-shell .profile-button{min-height:54px;margin-top:10px;padding:8px 5px;font-size:var(--text-control)}
  .organizer-shell .sidebar-language-zone{display:grid;gap:5px;margin-top:6px}
  .organizer-shell .sidebar-language-zone>.sidebar-section-label{padding-inline:11px}
  .organizer-shell .organizer-language{min-height:44px}
  .organizer-shell .sidebar{scrollbar-width:thin;scrollbar-color:rgba(108,75,114,.24) transparent;scrollbar-gutter:auto}
  .organizer-shell .sidebar::-webkit-scrollbar{width:6px}
  .organizer-shell .sidebar::-webkit-scrollbar-track{background:transparent}
  .organizer-shell .sidebar::-webkit-scrollbar-thumb{border:1px solid transparent;border-radius:999px;background:rgba(108,75,114,.24);background-clip:padding-box}
  .organizer-shell .sidebar::-webkit-scrollbar-thumb:hover{background:rgba(108,75,114,.4);background-clip:padding-box}
}

@media(max-width:760px){
  .access-hero{grid-template-columns:auto minmax(0,1fr);padding:21px 20px}
  .access-status{grid-column:1/-1;justify-self:start}
  .access-grid{grid-template-columns:1fr}
  .access-card,.access-limits-card{padding:22px 20px}
  .commercial-note{align-items:stretch;flex-direction:column;padding:22px 20px}
  .commercial-note .button{width:100%}
}

/* Protected operator view. Deliberately compact and metadata-only. */
.admin-entry-button{display:flex;align-items:center;justify-content:center;gap:9px}
.admin-entry-button[hidden]{display:none}
.admin-sidebar-section{display:grid;gap:4px;margin-top:7px;padding-top:7px;border-top:1px solid rgba(108,75,114,.14)}
.admin-sidebar-section[hidden]{display:none}.admin-sidebar-section>small{padding-inline:12px;color:var(--muted);font-size:var(--text-xs);font-weight:850;letter-spacing:.1em}
.admin-sidebar-button{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:7px 11px;border:0;border-radius:10px;background:transparent;font-size:var(--text-control);text-align:left;cursor:pointer}.admin-sidebar-button .nav-icon-slot{width:24px;height:28px}.admin-sidebar-button:hover{background:rgba(255,255,255,.58)}
.account-admin-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:17px}.account-admin-card[hidden]{display:none}.account-admin-card>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:#fff;background:var(--plum)}.account-admin-card p:last-child{margin-top:4px;color:var(--muted);font-size:var(--text-sm)}
.admin-safety-note{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:20px;padding:17px 19px;border:1px solid rgba(56,113,82,.16);border-radius:16px;background:#e9f1e7}
.admin-safety-note>span:first-child{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:rgba(255,255,255,.75)}
.admin-safety-note p{margin-top:4px;color:var(--muted);font-size:.72rem;line-height:1.45}
.admin-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.admin-metric{min-height:116px;padding:20px;border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:0 8px 28px rgba(59,48,45,.045)}
.admin-metric span,.admin-metric strong,.admin-metric small{display:block}
.admin-metric span{color:var(--muted);font-size:.59rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.admin-metric strong{margin:10px 0 5px;font-family:var(--serif);font-size:2.15rem;font-weight:500;line-height:1}
.admin-metric small{color:var(--muted);font-size:.65rem}
.admin-metric.is-warning{border-color:rgba(190,119,53,.3);background:#fff9eb}
.admin-metric.is-alert{border-color:rgba(184,71,62,.28);background:#fff2ef}
.admin-skeleton{min-height:116px;border-radius:17px;background:linear-gradient(100deg,#e9e4db 20%,#f7f3eb 40%,#e9e4db 60%);background-size:220% 100%;animation:adminSkeleton 1.25s ease-in-out infinite}
@keyframes adminSkeleton{to{background-position-x:-220%}}
.admin-operations-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.admin-actions{display:flex;flex-wrap:wrap;gap:9px}
.admin-panel{padding:23px;min-width:0}
.admin-cleanup-panel{grid-column:auto}
.admin-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.admin-panel-head h2{margin-top:3px;font-size:1.45rem}
.admin-panel-head>span{display:grid;min-width:30px;height:30px;padding:0 8px;place-items:center;border-radius:999px;background:#eee8df;color:var(--muted);font-size:.68rem;font-weight:850}
.admin-list{display:grid;gap:8px}
.admin-record-list{display:grid;max-height:520px;gap:9px;overflow:auto}.admin-record{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbf8f2}.admin-record div:first-child{min-width:0}.admin-record strong,.admin-record span,.admin-record small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-record strong{font-size:var(--text-secondary)}.admin-record span,.admin-record small{margin-top:3px;color:var(--muted);font-size:var(--text-xs)}.admin-record .button{min-height:38px;padding:7px 10px}.admin-record-actions{display:flex;gap:6px}.access-purchase-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.promo-summary{display:grid;gap:10px;margin:22px 0;padding:17px;border-radius:13px;background:#f4efe7}.promo-summary span{display:flex;justify-content:space-between;gap:15px}.promo-summary .promo-total{padding-top:10px;border-top:1px solid var(--line);font-size:1.05rem}
.admin-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fbf8f2}
.admin-list-item strong,.admin-list-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-list-item strong{font-size:.72rem}
.admin-list-item small{grid-column:1;color:var(--muted);font-size:.61rem}
.admin-list-item time{grid-column:2;grid-row:1/3;align-self:center;color:var(--muted);font-size:.59rem;text-align:right}
.admin-empty,.admin-error{padding:27px 18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:.72rem;line-height:1.5;text-align:center}
.admin-record small{line-height:1.45;white-space:normal}
.admin-record-list{scrollbar-width:thin;scrollbar-color:rgba(108,75,114,.46) transparent}.admin-record-list::-webkit-scrollbar{width:8px}.admin-record-list::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:rgba(108,75,114,.46);background-clip:padding-box}
.admin-error{border-color:rgba(184,71,62,.25);background:#fff3f0;color:#8b403a}
.admin-local-nav{display:flex;flex-wrap:wrap;gap:5px;margin:-6px 0 20px;padding:5px;border:1px solid var(--line);border-radius:13px;background:rgba(255,253,248,.7);width:max-content;max-width:100%}.admin-local-nav button,.admin-log-tabs button,.admin-view-all{border:0;background:transparent;color:var(--muted);font:inherit;font-size:var(--text-sm);font-weight:750;cursor:pointer}.admin-local-nav button{min-height:38px;padding:7px 13px;border-radius:9px}.admin-local-nav button:hover,.admin-local-nav button:focus-visible,.admin-local-nav button.active{background:var(--paper);color:var(--ink);box-shadow:0 2px 9px rgba(59,48,45,.08)}
.admin-view-all{display:flex;align-items:center;gap:6px;margin-top:14px;padding:5px 0;color:var(--plum)}.admin-view-all:hover,.admin-view-all:focus-visible{color:var(--coral-dark);text-decoration:underline}.admin-metric.is-actionable{cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.admin-metric.is-actionable:hover,.admin-metric.is-actionable:focus-visible{transform:translateY(-2px);border-color:rgba(108,75,114,.38);box-shadow:0 12px 30px rgba(59,48,45,.09);outline:none}
/* Admin destinations are separate workspaces, not anchors in one long dashboard. */
.admin-view .page-head{flex-direction:row;flex-wrap:wrap;gap:20px}
.admin-view .page-head>div:first-child{flex:1 1 380px;min-width:0}
.admin-view .page-head>.head-actions{flex:0 1 auto;max-width:100%}
#adminPageTitle:focus{outline:none}
#adminView [data-admin-section][hidden]{display:none!important}
#adminView [data-admin-section]{min-width:0}
#adminView .admin-record-list{max-height:none;overflow:visible}
#adminView .admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 12px}
#adminView .admin-section-heading h2{font-size:var(--type-h3)}
#adminView .admin-section-heading .admin-view-all{margin:0;flex-shrink:0}
#adminView .admin-section-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:24px 0}
#adminView .admin-section-toolbar>p{flex:1 1 240px;max-width:540px;color:var(--muted);font-size:var(--type-body);line-height:1.5}
#adminView .admin-section-toolbar .button{min-height:44px;white-space:normal}
#adminView .admin-secondary-section{margin-top:24px;border-top:1px solid var(--line)}
#adminView .admin-secondary-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px 0;color:var(--muted);font-weight:700;cursor:pointer;list-style:none}
#adminView .admin-secondary-section>summary::-webkit-details-marker{display:none}
#adminView .admin-secondary-section[open]>summary .tt-icon{transform:rotate(180deg)}
#adminView .admin-secondary-section>summary:focus-visible,.admin-local-nav button:focus-visible{outline:2px solid var(--plum);outline-offset:3px}
#adminView .admin-totals h3{font-size:var(--type-body-lg);margin-bottom:12px}
#adminView #adminPromotionMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}
#adminView .admin-panel{min-width:0}
.admin-local-nav{width:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.admin-local-nav button{min-width:0;white-space:normal;line-height:1.3}
@media(max-width:1100px){.admin-local-nav{grid-template-columns:repeat(3,minmax(0,1fr))}#adminView .admin-totals .admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  #adminLogsView .page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center}
  #adminLogsView .page-head>div:first-child{display:contents}
  #adminLogsView .page-head .eyebrow{grid-column:1/-1}
  #adminLogsView .page-head h1{grid-column:1;grid-row:2;margin:0}
  #adminLogsView .page-head>div:first-child>p:last-child{grid-column:1/-1;grid-row:3;margin:0}
  #adminLogsView .page-head .head-actions{grid-column:2;grid-row:2;display:flex;width:auto}
  #adminView .admin-section-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
  #adminView .admin-section-toolbar .admin-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  #adminView .admin-section-toolbar .button{width:100%}
  #adminView .admin-totals .admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.admin-logs-shell{padding:24px;min-width:0}.admin-log-tabs{display:flex;gap:5px;padding-bottom:16px;border-bottom:1px solid var(--line)}.admin-log-tabs button{min-height:40px;padding:8px 14px;border-radius:9px}.admin-log-tabs button:hover,.admin-log-tabs button:focus-visible,.admin-log-tabs button.active{background:#eee8f0;color:var(--plum)}
.admin-log-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(140px,1fr) minmax(140px,1fr);gap:12px;align-items:end;margin:18px 0;padding-bottom:18px;border-bottom:1px solid var(--line)}.admin-log-filters .field{gap:6px}.admin-log-filters .field>span,.admin-log-pagination label span{color:var(--muted);font-size:var(--text-xs);font-weight:750}.admin-log-filters input,.admin-log-filters select,.admin-log-pagination select{min-height:42px}.admin-log-filters [hidden]{display:none!important}.admin-log-custom-dates{display:grid;grid-template-columns:1fr 1fr;grid-column:1/-1;gap:12px;max-width:430px}.admin-clear-filters{min-height:42px;padding-inline:12px}
.admin-secondary-filters{grid-column:1/3;min-width:0}
.admin-secondary-filters summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 0;font-size:var(--type-button);font-weight:700;cursor:pointer}
.admin-secondary-filters summary:before{content:'+';font-size:1.3rem}.admin-secondary-filters[open] summary:before{content:'−'}
.admin-secondary-filters summary span:last-child:not(:empty){padding:4px 8px;border-radius:20px;background:#ede5ef;color:var(--plum);font-size:var(--type-body-sm)}
.admin-secondary-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:8px 0}
.admin-clear-filters{grid-column:3;align-self:start;justify-self:end;margin-top:0}.admin-secondary-filters[open]{grid-column:1/-1}.admin-secondary-filters[open]+.admin-clear-filters{grid-column:1/-1}
.admin-view .field>span{font-size:var(--type-body-sm)}
.admin-view .field input,.admin-view .field select{min-height:44px}
.admin-empty{font-size:var(--type-body);line-height:1.55}
.admin-view .admin-view-all,.admin-local-nav button,.admin-log-tabs button{min-height:44px;font-size:var(--type-button)}
.admin-totals{margin:22px 0}.admin-totals>h2{font-size:var(--type-h3);margin-bottom:12px}
.admin-totals .admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.admin-totals .admin-metric{min-height:0;display:grid;grid-template-columns:1fr auto;align-content:start;gap:4px 10px;padding:12px;border-radius:10px;box-shadow:none}
.admin-totals .admin-metric strong{font-size:var(--type-h3);line-height:1.1;grid-column:2;grid-row:1/3}
.admin-totals .admin-metric span{font-size:var(--type-body-sm);letter-spacing:0;text-transform:none}
.admin-totals .admin-metric small{font-size:var(--type-body-sm);grid-column:1;line-height:1.4}
.admin-view .admin-operations-grid{margin:20px 0}
.admin-record>div,.admin-list-item,.admin-metric{min-width:0;overflow-wrap:anywhere}
.admin-log-row p,.admin-log-empty{font-size:var(--type-body)}
@media(max-width:1100px){.admin-secondary-filters{grid-column:1}.admin-clear-filters{grid-column:2}.admin-totals .admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.admin-log-filters .admin-log-search{grid-column:1/-1}.admin-secondary-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-secondary-fields .admin-log-custom-dates{grid-column:1/-1}.admin-totals .admin-metrics{grid-template-columns:1fr}.admin-view .page-head{margin-bottom:16px}.admin-view .admin-logs-shell{padding:16px}.admin-logs-view .page-head{gap:12px;margin-bottom:12px}.admin-logs-view .admin-local-nav{margin-bottom:12px}.admin-logs-view .admin-log-filters{margin:10px 0;padding-bottom:10px;gap:10px}.admin-logs-view .admin-log-list{padding-top:8px}.quest-projector-card{padding:20px}}
.admin-log-list{display:grid;gap:9px;padding:18px 0;container-type:inline-size}.admin-log-row{display:grid;grid-template-columns:minmax(0,180px) minmax(0,130px) minmax(0,1fr);align-items:start;gap:8px 16px;width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#fbf8f2;color:var(--ink);font:inherit;text-align:left}.admin-log-row>*{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}.admin-log-row:is(button){cursor:pointer}.admin-log-row:is(button):hover,.admin-log-row:is(button):focus-visible{border-color:rgba(108,75,114,.4);background:#fffdf8;box-shadow:0 6px 18px rgba(59,48,45,.06);outline:none}.admin-log-row time,.admin-log-row small,.admin-log-row p,.admin-log-request{color:var(--muted);font-size:var(--type-label);line-height:1.5}.admin-log-row strong,.admin-log-row small,.admin-log-row p{display:block;overflow-wrap:anywhere}.admin-log-row strong{font-size:var(--type-body);line-height:1.4}.admin-log-row small{margin-top:4px}.admin-log-row p{margin-top:6px;font-size:var(--type-body-sm)}.admin-log-badge{justify-self:start;padding:5px 8px;border-radius:999px;background:#ece7df;color:var(--muted);font-size:var(--text-xs);font-weight:850;letter-spacing:0}.admin-log-badge.is-error,.admin-log-badge.is-failed{background:#fae0dc;color:#9b3d35}.admin-log-badge.is-warn,.admin-log-badge.is-warning,.admin-log-badge.is-queued{background:#f8ebca;color:#825c1c}.admin-log-badge.is-info,.admin-log-badge.is-success,.admin-log-badge.is-sent{background:#dff0e6;color:#286d49}.admin-log-badge.is-audit{background:#e8deeb;color:var(--plum)}.admin-log-request{grid-column:3;justify-self:start;overflow-wrap:anywhere;text-align:left;font-size:var(--type-caption)}.admin-log-skeleton{height:82px;border-radius:12px;background:linear-gradient(100deg,#e9e4db 20%,#f7f3eb 40%,#e9e4db 60%);background-size:220% 100%;animation:adminSkeleton 1.25s ease-in-out infinite}.admin-log-empty{margin-block:8px}
.admin-log-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;padding-top:16px;border-top:1px solid var(--line);font-size:var(--text-sm)}.admin-log-pagination>div{display:flex;align-items:center;gap:10px}.admin-log-pagination .button{min-height:38px;padding:7px 11px}.admin-log-pagination>label{display:flex;align-items:center;justify-self:end;gap:8px}.admin-log-pagination select{min-width:72px}.admin-log-detail{display:grid;gap:0;margin:18px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.admin-log-detail>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:11px 13px;border-bottom:1px solid var(--line)}.admin-log-detail>div:last-child{border-bottom:0}.admin-log-detail dt{color:var(--muted);font-size:var(--text-xs);font-weight:750}.admin-log-detail dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:var(--type-body-sm);line-height:1.5}.admin-technical-details{margin-top:15px;padding:13px;border-radius:10px;background:#211e1d;color:#fff}.admin-technical-details summary{cursor:pointer;font-size:var(--text-sm);font-weight:750}.admin-technical-details pre{max-height:280px;overflow-wrap:anywhere;margin-top:12px;overflow:auto;white-space:pre-wrap;font-size:12px;line-height:1.5}
@media(max-width:900px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-operations-grid{grid-template-columns:1fr}.admin-cleanup-panel{grid-column:auto}}
@media(max-width:1100px){.admin-log-filters{grid-template-columns:minmax(0,1.5fr) minmax(100px,1fr) minmax(100px,1fr)}.admin-log-search{grid-column:auto}}
@media(max-width:900px){.admin-log-pagination{grid-template-columns:1fr auto}.admin-log-pagination>label{grid-column:1/-1;justify-self:start}}
@media(max-width:600px){.admin-view .page-head,.admin-view .head-actions{align-items:stretch}.admin-view .head-actions{display:grid;grid-template-columns:1fr 1fr}.admin-view .head-actions .button{width:100%;padding-inline:10px}.admin-safety-note{grid-template-columns:auto minmax(0,1fr)}.admin-safety-note>.access-status{grid-column:1/-1;justify-self:start}.admin-metrics{grid-template-columns:1fr 1fr}.admin-metric,.admin-skeleton{min-height:104px}.admin-actions{display:grid}.admin-actions .button{width:100%}.admin-panel,.admin-actions-panel,.admin-logs-shell{padding:19px}.admin-list-item,.admin-record{grid-template-columns:1fr}.admin-list-item time{grid-column:1;grid-row:auto;text-align:left}.admin-record .button{width:100%}.admin-record-actions{display:grid}.access-purchase-actions{width:100%;justify-content:stretch}.access-purchase-actions .button{width:100%}.admin-local-nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.admin-local-nav button{min-width:0;padding:8px 6px;overflow-wrap:anywhere}.admin-log-tabs{overflow-x:auto}.admin-log-tabs button{flex:0 0 auto}.admin-log-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-log-search,.admin-log-custom-dates{grid-column:auto}.admin-log-custom-dates{grid-template-columns:1fr}.admin-log-pagination{grid-template-columns:1fr}.admin-log-pagination>div{justify-content:space-between}.admin-log-pagination>label{grid-column:auto}.admin-log-detail>div{grid-template-columns:1fr;gap:4px}}
/* Respond to the log panel's width, including the desktop sidebar. */
@container (max-width:680px){.admin-log-row{grid-template-columns:minmax(0,1fr) fit-content(135px);gap:10px 12px}.admin-log-row time{grid-column:1}.admin-log-badge{grid-column:2;grid-row:1}.admin-log-row>div,.admin-log-request{grid-column:1/-1}}
.admin-error-modal .modal-head h2{font-family:inherit;font-size:var(--type-h3);font-weight:700;letter-spacing:0;line-height:1.35;overflow-wrap:anywhere}
.admin-error-modal .admin-diagnostic{min-width:0;overflow-wrap:anywhere}

/* Team Quest extends the existing paper/coral/plum design language. */
.quest-view{padding-bottom:70px}.quest-loading{display:grid;min-height:280px;place-items:center;text-align:center}.quest-loading span{width:36px;height:36px;border:3px solid #ded5df;border-top-color:var(--plum);border-radius:50%;animation:quest-spin .8s linear infinite}.quest-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}.quest-head h1{margin:8px 0;font:500 var(--type-h1)/1.1 var(--serif);overflow-wrap:anywhere}.quest-head p{max-width:650px;color:var(--muted)}.quest-phase-strip{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 24px;padding:7px;border:1px solid var(--line);border-radius:14px;background:#eae4da}
.quest-phase-strip button{min-height:44px;flex:1;padding:10px 14px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:var(--type-button);font-weight:700;text-align:center;cursor:pointer}
.quest-phase-strip button[aria-current]{color:#fff;background:var(--plum)}
.quest-readiness-list{display:grid;gap:14px;padding:0;list-style:none;margin:18px 0;font-size:var(--type-body-sm)}
.quest-readiness-list li{display:flex;gap:8px;align-items:flex-start}
.quest-readiness-list .tt-icon{flex:0 0 20px;width:20px;height:20px;margin-top:2px}
.quest-readiness-list [data-ready="true"] .tt-icon{color:#426a50}
.quest-view [id^="quest-section-"]{scroll-margin-top:24px}
.quest-section>h2,.quest-entitlement h2{font-size:var(--type-h3);line-height:1.15}
.quest-section-head{flex-wrap:wrap}
.quest-team-card>div,.quest-challenge-card>div{min-width:0;overflow-wrap:anywhere}
.quest-team-card+.quest-team-card,.quest-challenge-card+.quest-challenge-card{margin-top:10px}
.quest-challenge-card .quest-card-actions{grid-column:2/-1;justify-content:flex-start}
.quest-team-card .quest-card-actions{grid-column:2/-1;justify-content:flex-start}
.quest-card-actions .tt-icon{width:18px;height:18px}
.quest-team-card [data-show-team-qr]{min-width:44px}
.quest-view .quest-entitlement .vault-code{flex-wrap:wrap}
/* Honor the existing navigation and filter visibility decisions. */
#questSidebarSection[hidden],#questNavButton[hidden],#adminSidebarSection[hidden],#adminPanelButton[hidden],#accountAdminCard[hidden],.sidebar [data-view-link="play"][hidden],.sidebar [data-view-link="studio"][hidden],#adminLogFilters [hidden],#adminLogPagination[hidden]{display:none!important}
/* Local failures retain their existing retry/correction controls. */
.operation-error{padding:16px;margin:0 0 18px;border:1px solid #e9b0a8;border-radius:12px;background:#fff0ed;color:#762a25;font-size:var(--type-body)}
.operation-error p{margin:0 0 8px}.operation-error code{font-size:var(--type-body-sm);overflow-wrap:anywhere}
.operation-error .button{margin-top:10px}
.quest-builder-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:18px}.quest-section{padding:25px;margin-bottom:18px}.quest-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.quest-section-head h2{font:500 var(--type-h3)/1.15 var(--serif)}.quest-team-list,.quest-challenge-list,.quest-progress-list{display:grid;gap:10px}.quest-team-card{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}.quest-team-dot{width:38px;height:38px;border-radius:12px;background:var(--team-color,#f1d5cf)}.quest-team-card small,.quest-challenge-card small{display:block;color:var(--muted);font-size:.6rem}.quest-code{padding:8px 10px;border-radius:8px;background:#eee8df;font-family:monospace;font-size:.85rem;letter-spacing:.12em}.quest-challenge-card{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:13px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}.quest-challenge-card>span{display:grid;width:38px;height:38px;border-radius:12px;place-items:center;background:#eadfed;font-weight:850}.quest-challenge-card h3{font-size:.83rem}.quest-card-actions,.quest-control-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.quest-card-actions button{min-width:44px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.quest-status{display:inline-flex;padding:7px 10px;border-radius:99px;background:#e9f2e9;color:#426a50;font-size:.58rem;font-weight:850}.quest-entitlement{padding:24px;color:#fff;background:var(--plum);border-color:transparent}.quest-entitlement p{margin:10px 0 18px;color:#e9dfeb;line-height:1.5}.quest-entitlement .button{width:100%}.vault-code{display:flex;gap:7px;margin:18px 0}.vault-code i{display:grid;width:42px;height:50px;border:1px solid rgba(255,255,255,.35);border-radius:9px;place-items:center;background:rgba(255,255,255,.1);font:500 1.4rem var(--serif)}.quest-progress-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.quest-progress-top{display:flex;justify-content:space-between;gap:15px}.quest-progress-track{height:9px;margin:12px 0;border-radius:99px;background:#e6e0d8;overflow:hidden}.quest-progress-track i{display:block;height:100%;border-radius:inherit;background:var(--coral);transition:width .45s ease}.quest-projector{position:fixed;z-index:1000;inset:0;padding:clamp(24px,5vw,90px);padding-top:90px;overflow:auto;overscroll-behavior:contain;color:#fff;background:#58415f}.quest-projector .quest-head p{color:#ddcfdf}.quest-projector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quest-projector-card{padding:30px;border:1px solid rgba(255,255,255,.22);border-radius:20px;background:rgba(255,255,255,.09)}.quest-projector-card h2{font:500 clamp(1.8rem,2.4vw,3.25rem)/1.15 var(--serif);overflow-wrap:anywhere}.quest-projector-card small{font-size:clamp(1.25rem,1.5vw,1.75rem);line-height:1.4}.quest-projector .quest-head h1{font-size:clamp(2.2rem,4vw,4.5rem)}.quest-projector .quest-head p{font-size:var(--type-body-lg)}.quest-projector-card strong{display:block;margin-top:22px;font-size:clamp(2.3rem,3.5vw,4rem)}.quest-projector-close{position:fixed;top:20px;right:20px}
.quest-team-mode .portal-shell,.quest-team-mode .app-shell,.quest-team-mode .mobile-nav,.quest-team-mode .cookie-banner{display:none!important}.quest-team-portal{min-height:100vh;padding:clamp(18px,5vw,60px);background:#f3eee5}.quest-team-shell{width:min(760px,100%);margin:auto}.quest-team-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:45px}.quest-team-card-main{padding:clamp(24px,6vw,52px);border:1px solid var(--line);border-radius:24px;background:#fffdf8;box-shadow:0 28px 80px rgba(39,31,42,.1)}.quest-team-card-main h1{font:500 clamp(2.8rem,10vw,5rem)/.95 var(--serif)}.quest-team-card-main>p{margin:14px 0;color:var(--muted);line-height:1.6}.quest-team-form{display:grid;gap:14px;margin-top:30px}.quest-team-form input{height:58px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:1.3rem;font-weight:800;letter-spacing:.15em;text-align:center;text-transform:uppercase}.quest-waiting{text-align:center}.quest-waiting .waiting-orb{display:grid;width:82px;height:82px;margin:20px auto;border-radius:50%;place-items:center;color:#fff;background:var(--plum);font-size:2rem;animation:quest-pulse 2s ease-in-out infinite}.quest-clues{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.quest-clues i{display:grid;width:46px;height:52px;border-radius:10px;place-items:center;color:#fff;background:var(--plum);font:500 1.45rem var(--serif)}.quest-answer-grid{display:grid;gap:10px;margin:24px 0}.quest-match-row{display:grid;grid-template-columns:1fr minmax(150px,.7fr);gap:10px;align-items:center;padding:12px;border-radius:12px;background:#f2eee7}.quest-answer-option{min-height:52px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;cursor:pointer}.quest-answer-option.is-selected{border-color:var(--coral);box-shadow:0 0 0 2px rgba(244,111,97,.15)}.quest-order-row{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:11px;border-radius:11px;background:#f2eee7}.quest-order-row button{width:36px;height:36px;border:0;border-radius:8px;background:#fff;cursor:pointer}.quest-feedback{padding:15px;border-radius:12px;background:#f6e6be}.quest-feedback.is-correct{color:#315c47;background:#dceddd}.vault-input{width:100%;height:70px;margin:20px 0;border:1px solid var(--line);border-radius:13px;font-size:2rem;font-weight:850;letter-spacing:.3em;text-align:center;text-transform:uppercase}.vault-opened{text-align:center}.vault-opened span{display:grid;width:100px;height:100px;margin:10px auto 25px;border-radius:50%;place-items:center;color:#fff;background:var(--coral);font-size:2.5rem;animation:quest-pop .55s cubic-bezier(.2,1.4,.5,1)}
@keyframes quest-spin{to{transform:rotate(360deg)}}@keyframes quest-pulse{50%{transform:scale(1.06);box-shadow:0 0 0 14px rgba(108,75,114,.09)}}@keyframes quest-pop{from{opacity:0;transform:scale(.5)}}@media(prefers-reduced-motion:reduce){.quest-loading span,.quest-waiting .waiting-orb,.vault-opened span{animation:none}.quest-progress-track i{transition:none}}@media(max-width:900px){.quest-builder-grid{grid-template-columns:1fr}.quest-phase-strip{grid-template-columns:repeat(3,1fr)}.quest-projector-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.quest-view{padding:18px 14px 100px}.quest-head{flex-direction:column}.quest-phase-strip{flex-wrap:wrap;overflow:visible}.quest-phase-strip button{min-width:0;padding-inline:8px}.quest-challenge-card{grid-template-columns:38px 1fr}.quest-card-actions{grid-column:1/-1;justify-content:flex-start}.quest-team-card{grid-template-columns:auto 1fr}.quest-code{grid-column:1/-1}.quest-projector-grid{grid-template-columns:1fr}.quest-match-row{grid-template-columns:1fr}}
.quest-photo-review{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:18px}.quest-photo-review article{display:grid;gap:10px;padding:10px;border:1px solid rgba(37,32,30,.12);border-radius:18px;background:#fff}.quest-photo-review img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}

/* Shared UI primitives: one readable scale and one local SVG icon language. */
.tt-icon{display:block;width:20px;height:20px;flex:0 0 auto;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.button .tt-icon,.mini-icon .tt-icon,.icon-button .tt-icon,.close-button .tt-icon,.nav-icon-slot .tt-icon{width:18px;height:18px}
body{font-size:var(--text-body);line-height:1.5}
.button{min-height:44px;padding:10px 17px;border-radius:10px;font-size:var(--text-control)}
.field{gap:7px}.field>span{font-size:var(--text-sm);line-height:1.35}.field>small,.form-note{font-size:var(--text-xs);line-height:1.45}
.field input,.field select,.field textarea{min-height:46px;padding:10px 12px;font-size:var(--text-control);line-height:1.35}.field textarea{min-height:96px}
.consent-box{font-size:var(--text-sm)}
.eyebrow{font-size:var(--text-xs);line-height:1.3}
.side-nav button{grid-template-columns:32px minmax(0,1fr) auto;min-height:48px;padding:10px 12px;gap:9px;font-size:var(--text-secondary)}
.nav-icon-slot{display:grid;width:32px;height:32px;place-items:center}.nav-label{min-width:0;font-style:normal;line-height:1.2}
.side-nav b .tt-icon{width:14px;height:14px}
.side-card small,.profile-button small{font-size:var(--text-xs)}.side-card strong{font-size:var(--text-secondary)}
.upgrade-card{min-height:57px;padding:10px 12px}.upgrade-card small{font-size:var(--text-xs)}.upgrade-card strong{font-size:var(--text-sm);line-height:1.25}.upgrade-card .tt-icon{width:18px;height:18px}
.profile-button{min-height:54px}.profile-button strong{font-size:var(--text-body)}
.mini-icon,.icon-button,.site-menu-button{display:inline-grid;width:44px;height:44px;padding:0;place-items:center;line-height:1}
.close-button{display:inline-grid;width:44px;height:44px;padding:0;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;line-height:1}.close-button:hover{border-color:rgba(40,34,30,.25);background:rgba(255,255,255,.65)}
.close-button:focus-visible,.mini-icon:focus-visible,.icon-button:focus-visible,.site-menu-button:focus-visible,.question-order button:focus-visible{outline:3px solid rgba(244,111,97,.32);outline-offset:2px}
.modal{width:min(100%,570px);max-height:min(90vh,780px);padding:27px}.modal-wide{width:min(100%,720px)}.modal-complex{overflow:hidden}.modal-complex>form{display:flex;max-height:calc(min(90vh,780px) - 54px);min-height:0;flex-direction:column}.modal-scroll-body{min-height:0;overflow:auto;padding:2px 8px 3px 2px;overscroll-behavior:contain}.modal-complex .modal-head{flex:0 0 auto}.modal-complex .modal-actions{flex:0 0 auto;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.modal-head p{font-size:var(--text-secondary);line-height:1.45}
.file-upload-field{min-width:0}.file-upload-control{position:relative;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;min-height:46px}.file-input{position:absolute;inset:0;z-index:2;width:100%;height:100%;opacity:0;cursor:pointer}.file-upload-button{display:inline-flex;min-height:44px;align-items:center;gap:7px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:var(--text-sm);font-weight:780}.file-upload-button .tt-icon{width:17px;height:17px}.file-name{min-width:0;overflow:hidden;color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.file-input:focus-visible~.file-upload-button{outline:3px solid rgba(244,111,97,.3);outline-offset:2px}
.question-order button{display:inline-grid;width:36px;height:36px;padding:0;place-items:center}.question-order button .tt-icon{width:17px;height:17px}.question-actions button{display:inline-flex;min-height:40px;align-items:center;gap:6px}.question-actions .tt-icon{width:16px;height:16px}
.type-pill,.state-pill{font-size:var(--text-xs)}.question-copy p,.question-actions button,.search-field input{font-size:var(--text-sm)}
/* Studio reflows within the space left by the existing organizer navigation. */
#studioView{container:studio / inline-size;min-width:0}
#studioView .page-head,#studioView .studio-summary,#studioView .studio-toolbar{flex-direction:row;flex-wrap:wrap}
#studioView .page-head>div:first-child{flex:1 1 340px;min-width:0}
#studioView .head-actions{flex-wrap:wrap;max-width:100%}
#studioView .head-actions .button{flex:1 1 auto;min-width:0}
#studioView .head-actions .button[hidden]{display:none}
#studioView .summary-copy{flex:1 1 340px;min-width:0}
#studioView .summary-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:0 1 280px;max-width:100%}
#studioView .summary-numbers>span>span{display:block}
#studioView .filter-pills{flex-wrap:wrap;max-width:100%}
#studioView .filter-pills button{min-height:44px;white-space:normal}
#studioView .search-field{flex:1 1 220px;min-width:0;max-width:100%;min-height:44px}
#studioView .search-field input{min-width:0}
#studioView .question-card{min-width:0}
#studioView .question-copy h3{overflow:visible;white-space:normal}
#studioView .question-copy,#studioView .question-meta,#studioView .question-actions{overflow-wrap:anywhere}
#studioView .question-actions button{min-height:44px;min-width:44px}
#studioView .question-order button{width:44px;height:44px}
#studioView .studio-empty{padding:clamp(20px,4cqi,50px);color:var(--ink)}
#studioView .studio-empty p{margin:10px auto 0;max-width:560px;color:var(--muted)}
#studioView .studio-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}
#studioView .studio-drafting-status:empty{display:none}
#studioView .studio-drafting-status{margin:14px 0;color:var(--muted)}
@container studio (max-width:780px){
  #studioView .studio-summary{align-items:flex-start}
  #studioView .summary-numbers{flex-basis:100%;width:100%}
  #studioView .question-card{grid-template-columns:44px minmax(0,1fr)}
  #studioView .question-order{align-self:start}
  #studioView .question-actions{grid-column:1/-1;max-width:none;justify-content:flex-start}
}
.collection-safety p,.share-check,.number-response span,.uploaded-file span,.uploaded-file button,.library-toolbar span,.library-toolbar button,.prompt-library-list small{font-size:var(--text-xs)}.prompt-library-list section h3{font-size:var(--text-xs)}.prompt-library-list strong{font-size:var(--text-secondary)}
.admin-list,.admin-safety-note p,.admin-panel p,.admin-panel small{font-size:var(--text-sm);line-height:1.45}
.experience-card.is-disabled{cursor:not-allowed;filter:saturate(.55);opacity:.7}.quest-runtime-disabled{max-width:720px;text-align:left}.quest-disabled-icon{display:grid;width:52px;height:52px;margin-bottom:18px;place-items:center;border-radius:15px;color:#fff;background:var(--plum)}
.sidebar,.event-library-list,.modal-scroll-body,.prompt-library-list,.review-list,.people-table,.quest-phase-strip,.quest-projector,.quest-progress-list,.admin-list{scrollbar-width:thin;scrollbar-color:rgba(108,75,114,.46) transparent;scrollbar-gutter:stable}.sidebar::-webkit-scrollbar,.event-library-list::-webkit-scrollbar,.modal-scroll-body::-webkit-scrollbar,.prompt-library-list::-webkit-scrollbar,.review-list::-webkit-scrollbar,.people-table::-webkit-scrollbar,.quest-phase-strip::-webkit-scrollbar,.quest-projector::-webkit-scrollbar,.quest-progress-list::-webkit-scrollbar,.admin-list::-webkit-scrollbar{width:8px;height:8px}.sidebar::-webkit-scrollbar-thumb,.event-library-list::-webkit-scrollbar-thumb,.modal-scroll-body::-webkit-scrollbar-thumb,.prompt-library-list::-webkit-scrollbar-thumb,.review-list::-webkit-scrollbar-thumb,.people-table::-webkit-scrollbar-thumb,.quest-phase-strip::-webkit-scrollbar-thumb,.quest-projector::-webkit-scrollbar-thumb,.quest-progress-list::-webkit-scrollbar-thumb,.admin-list::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:rgba(108,75,114,.46);background-clip:padding-box}.sidebar::-webkit-scrollbar-track,.event-library-list::-webkit-scrollbar-track,.modal-scroll-body::-webkit-scrollbar-track,.prompt-library-list::-webkit-scrollbar-track,.review-list::-webkit-scrollbar-track,.people-table::-webkit-scrollbar-track,.quest-phase-strip::-webkit-scrollbar-track,.quest-projector::-webkit-scrollbar-track,.quest-progress-list::-webkit-scrollbar-track,.admin-list::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-button,.event-library-list::-webkit-scrollbar-button,.modal-scroll-body::-webkit-scrollbar-button,.prompt-library-list::-webkit-scrollbar-button,.review-list::-webkit-scrollbar-button,.people-table::-webkit-scrollbar-button,.quest-phase-strip::-webkit-scrollbar-button,.quest-projector::-webkit-scrollbar-button,.quest-progress-list::-webkit-scrollbar-button,.admin-list::-webkit-scrollbar-button{display:none}
.account-profile-card .button,.account-page-aside>.button{font-size:var(--text-secondary)}.account-section-copy,.account-privacy-card div>p:last-child{font-size:var(--text-secondary)}
.admin-safety-note>.tt-icon,.admin-safety-note>span:first-child .tt-icon{width:20px;height:20px}
@media(max-width:760px){.field input,.field select,.field textarea{min-height:48px;font-size:var(--text-input)}.button{min-height:48px}.mobile-nav button{color:var(--muted);font-size:var(--text-xs)}.mobile-nav .nav-label{display:block;font-size:var(--text-xs);font-style:normal}.modal-backdrop{padding:10px}.modal{padding:20px}.modal-complex>form{max-height:calc(90vh - 40px)}.file-upload-control{grid-template-columns:1fr}.file-name{padding-inline:3px}.question-actions button{min-height:44px}}
/* Event-specific participant return and the compact organizer More menu. */
.modal.participant-return-shell,.modal.organizer-more-shell { width:min(100%,500px); }
.participant-return h3 { margin:0 0 12px; overflow-wrap:anywhere; }
.participant-return > p { color:var(--muted); line-height:1.6; }
.participant-return-actions { display:grid; gap:10px; margin:22px 0 14px; }
.participant-return .participant-ticket-link { display:block; width:100%; min-height:44px; }
.participant-return form { display:grid; gap:16px; margin-top:20px; }
.organizer-more .modal-head { margin-bottom:14px; }
.organizer-more section { padding:12px 0; border-top:1px solid var(--line); }
.organizer-more section h3 { margin:0 0 6px; color:var(--muted); font-family:inherit; font-size:12px; font-weight:700; line-height:1.4; letter-spacing:.08em; text-transform:uppercase; }
.organizer-more-event { display:block; margin-bottom:5px; overflow-wrap:anywhere; }
.organizer-more-row { display:grid; grid-template-columns:24px minmax(0,1fr) auto; gap:10px; align-items:center; width:100%; min-height:44px; padding:8px; border:0; border-radius:8px; background:transparent; color:var(--ink); text-align:left; cursor:pointer; font:inherit; }
.organizer-more-row .tt-icon { width:20px; height:20px; justify-self:center; }
.organizer-more-row small { font-size:12px; color:var(--muted); }
.organizer-more-row:hover:not(:disabled) { background:rgba(108,75,114,.07); }
.organizer-more-row:focus-visible { outline:2px solid var(--coral); outline-offset:2px; }
.organizer-more-row:disabled { cursor:default; opacity:.6; }
.organizer-more-language { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:4px 8px; }
@media(max-width:760px) {
  #mobileNav { grid-template-columns:repeat(5,minmax(0,1fr)); grid-auto-flow:column; grid-auto-rows:1fr; align-items:stretch; }
  #mobileNav > button {
    min-width:0; min-height:58px; height:100%; margin:0; padding:6px 3px;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
    transform:none;
  }
  #mobileNav .mobile-nav__icon {
    width:24px; height:24px; margin:0; flex:0 0 24px;
    display:flex; align-items:center; justify-content:center;
  }
  .mobile-nav__icon svg { width:22px; height:22px; display:block; }
  #mobileNav .mobile-nav__label { line-height:1; margin:0; white-space:nowrap; }
  .modal.participant-return-shell,.modal.organizer-more-shell { max-height:calc(100dvh - 24px); padding:22px; }
}

/* Shared header allocation; diagnostic headings remain complete at narrow widths. */
.modal-head > div { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.modal-head > .close-button { flex: 0 0 44px; width: 44px; height: 44px; min-height: 44px; }
.button-coral:active:not(:disabled), .host-controls .control-primary:active:not(:disabled) { color: #fff; background: var(--coral-action-pressed); }
.host-controls .control-primary:active:not(:disabled) { border-color: var(--coral-action-pressed); }
@media print {
  html.overlay-scroll-locked { overflow: visible; }
  body.overlay-scroll-locked { position: static; inset: auto; width: auto; overflow: visible; }
}

/* Actual Classic surfaces only. The landing illustration shares some of the
   base classes above, so presentation sizing and dock layout stay rooted here.
   Keep motion-polish's entrance/reveal/pause/completion animations intact. */
#playShell .game-stage {
  container: classic / inline-size;
  --classic-gutter: clamp(16px, 4vw, 55px);
  min-height: 100dvh;
  padding: 0;
}
#playShell .game-top { margin: var(--classic-gutter) var(--classic-gutter) 0; }
#playShell .question-stage,
#playShell .reveal-stage {
  width: min(1100px, calc(100% - 2 * var(--classic-gutter)));
  min-width: 0;
  padding-block: clamp(16px, 2cqi, 30px);
}
#playShell .question-stage h1 {
  max-width: 950px;
  font-size: clamp(2.65rem, 5cqi, 6rem);
  overflow-wrap: anywhere;
}
#playShell .answer-options {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 1000px);
  margin-top: clamp(24px, 3cqi, 43px);
}
#playShell .answer-option { min-width: 0; height: auto; }
#playShell .answer-option.is-selected {
  border-color: var(--coral);
  background: rgba(255,255,255,.17);
  box-shadow: 0 0 0 1px var(--coral);
}
#playShell .answer-option strong {
  min-width: 0;
  font-size: clamp(1.1rem, 1rem + .85cqi, 2.25rem);
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: anywhere;
}
#playShell .answer-option > span { font-size: clamp(1rem, 1.2cqi, 1.5rem); }
#playShell .reveal-stage { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); }
#playShell .reveal-copy, #playShell .reveal-person { min-width: 0; }
#playShell .reveal-copy h1 { font-size: clamp(3rem, 4.75cqi, 5.7rem); overflow-wrap: anywhere; }
#playShell .reveal-person strong { max-width: 100%; overflow-wrap: anywhere; }
#playShell .reveal-copy > p:not(.eyebrow):not(.preview-live-feedback) {
  max-width: 42ch;
  font-size: clamp(1rem, .5rem + 1.1cqi, 2rem);
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
#playShell .live-question-image {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(34dvh, 380px);
  object-fit: contain;
}
#playShell .closest-stage { min-width: 0; width: min(100%, 420px); }
#playShell .closest-stage strong { font-size: clamp(1.1rem, 1rem + .85cqi, 2.25rem); }

/* A sticky dock remains in document flow: its actual translated height reserves
   space, including safe-area padding. Long questions/stories use page scrolling. */
#playShell .host-controls {
  position: sticky;
  right: auto;
  left: auto;
  bottom: 0;
  flex-shrink: 0;
  margin-top: auto;
  overflow: visible;
}
#playShell .host-controls-inner { min-width: 0; }
#playShell .host-controls button { min-width: 44px; min-height: 44px; white-space: normal; }
#playShell .control-navigation, #playShell .control-session { min-width: 0; }

@container classic (max-width: 1050px) {
  #playShell .host-controls-inner { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  #playShell .control-context { display: none; }
}
@container classic (max-width: 760px) {
  #playShell .game-top { gap: 12px; }
  #playShell .round-label strong, #playShell .mode-badge { display: none; }
  #playShell .question-stage { padding-block: 16px; }
  #playShell .answer-options { grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 24px; }
  #playShell .answer-option { min-height: 54px; gap: 12px; padding: 8px 12px; }
  #playShell .answer-option strong { font-size: 1.1rem; }
  #playShell .answer-option > span { width: 34px; height: 34px; }
  #playShell .question-stage:has(.live-question-image) .question-kicker { margin-bottom: 8px; }
  #playShell .question-stage:has(.live-question-image) h1 { font-size: clamp(1.9rem, 5cqi, 2.5rem); }
  #playShell .question-stage:has(.live-question-image) .answer-options { margin-top: 16px; }
  #playShell .live-question-image { max-height: min(24dvh, 220px); margin-bottom: 12px; border-width: 5px; }
  #playShell .reveal-stage { grid-template-columns: minmax(0, 1fr); gap: 24px; text-align: center; }
  #playShell .reveal-copy > p { margin-inline: auto; }
  #playShell .reveal-actions { justify-content: center; }
  #playShell .host-controls { padding: 8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); }
  #playShell .host-controls-inner { display: flex; flex-wrap: wrap; gap: 5px; min-height: 54px; }
  #playShell .control-navigation { display: grid; flex: 1 1 240px; grid-template-columns: 44px auto minmax(0, 1fr); gap: 4px; }
  #playShell .host-controls:not(.live-controls) .control-navigation { grid-template-columns: 44px minmax(0, 1fr) 44px; }
  #playShell .host-controls:not(.live-controls) .control-next span { display: none; }
  #playShell .control-session { flex-shrink: 0; gap: 3px; margin-left: auto; }
  #playShell .host-controls button { padding: 8px; }
  #playShell .host-controls .control-primary { min-width: 0; padding-inline: 8px; }
  #playShell .host-controls .control-fullscreen, #playShell .host-controls .control-back { width: 44px; flex: 0 0 44px; }
  #playShell .control-fullscreen span, #playShell .control-previous span, #playShell .control-back span { display: none; }
  #playShell .host-controls:not(.live-controls) .control-exit { font-size: 0; }
  #playShell .host-controls:not(.live-controls) .control-exit::after { font-size: 1rem; content: "×"; }
}

/* The editor preview measures its own compact surface, not the browser width. */
.studio-preview[data-preview-question-id] { container: classic-preview / inline-size; }
.studio-preview[data-preview-question-id] > h3 { font-size: clamp(1.5rem, 4cqi, 2rem); overflow-wrap: anywhere; }
.studio-preview[data-preview-question-id] .preview-choice { min-width: 0; }
.studio-preview[data-preview-question-id] .preview-choice span { min-width: 0; font-size: clamp(1rem, 2.8cqi, 1.25rem); overflow-wrap: anywhere; }
.studio-preview[data-preview-question-id] .preview-answer p { font-size: clamp(1rem, 2.8cqi, 1.25rem); white-space: pre-wrap; overflow-wrap: anywhere; }
.studio-preview[data-preview-question-id] .preview-answer strong { overflow-wrap: anywhere; }
.studio-preview[data-preview-question-id] > img { object-fit: contain; }

/* Create Event only: persistent header/footer with one constrained scroll body. */
.modal.create-event-shell { width: min(940px, calc(100vw - 64px)); max-height: min(760px, calc(100dvh - 48px)); padding: 0; overflow: hidden; }
.create-event-form { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; max-height: min(760px, calc(100dvh - 48px)); min-height: 0; }
.create-event-form [hidden] { display: none !important; }
.create-event-form .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.create-event-header { padding: 22px 26px 16px; border-bottom: 1px solid var(--line); }
.create-event-header .modal-head { gap: 16px; margin: 0 0 16px; }
.create-event-header .modal-head .eyebrow { margin: 0 0 8px; font-size: var(--type-caption); }
.create-event-header .modal-head h2 { font-size: var(--type-h2); }
.create-event-steps { display: flex; flex-wrap: wrap; gap: 10px 24px; padding: 0; list-style: none; font-size: var(--type-body-sm); color: var(--muted); }
.create-event-steps li { display: flex; align-items: center; gap: 7px; }
.create-event-steps li[aria-current] { color: var(--plum); font-weight: 750; }
.create-event-steps span { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid var(--line); border-radius: 50%; font-size: var(--type-caption); }
.create-event-steps [aria-current] span { border-color: var(--plum); background: #f4edf5; }
.create-event-body { min-width: 0; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 20px 26px; container: create-event / inline-size; }
.create-event-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.create-experience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.create-product-card { position: relative; display: grid; grid-template-rows: auto auto auto 1fr auto; align-content: start; gap: 10px; min-width: 0; padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.create-product-card.selected { border-color: var(--plum); box-shadow: inset 0 0 0 1px var(--plum); background: #f8f4f8; }
.create-product-card:focus-within { outline: 3px solid var(--plum); outline-offset: 3px; }
.create-product-card > .eyebrow { min-height: 24px; padding-right: 34px; display: flex; align-items: center; font-weight: 800; text-transform: uppercase; }
.create-product-card input { position: absolute; z-index: 1; top: 18px; right: 20px; width: 24px; height: 24px; margin: 0; accent-color: var(--plum); cursor: pointer; }
.create-product-card h3 { font-family: var(--serif); font-size: var(--type-h3); font-weight: 500; line-height: 1.15; }
.create-product-card label { cursor: pointer; }
.create-product-card label::after { content: ""; position: absolute; inset: 0; border-radius: 14px; }
.create-product-card p, .create-product-card li { font-size: var(--type-body-sm); line-height: 1.5; }
.create-product-card p { color: var(--muted); }
.create-product-card ul { display: grid; align-content: start; gap: 4px; margin: 2px 0; padding-left: 19px; }
.create-product-card li::marker { color: var(--plum); }
.create-product-price { display: flex; align-items: baseline; gap: 6px; padding-top: 4px; }
.create-product-price strong { font-size: var(--type-h3); font-weight: 650; }
.create-product-price span { color: var(--muted); font-size: var(--type-body-sm); }
.create-quest-unavailable { display: grid; grid-template-columns: auto 1fr; gap: 3px 18px; margin-top: 16px; padding: 13px 16px; border: 1px dashed var(--line); border-radius: 10px; background: var(--canvas); color: var(--muted); }
.create-quest-unavailable > div { grid-row: 1 / 3; display: grid; align-content: center; gap: 2px; text-transform: uppercase; }
.create-quest-unavailable strong, .create-quest-unavailable span { font-size: var(--type-caption); letter-spacing: .07em; }
.create-quest-unavailable p { font-size: var(--type-body-sm); line-height: 1.45; }
.create-quest-unavailable p:first-of-type { color: var(--ink); }
.create-event-footer { display: grid; gap: 10px; padding: 14px 26px 18px; border-top: 1px solid var(--line); background: var(--paper); }
.create-event-summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 16px; font-size: var(--type-body-sm); line-height: 1.4; }
.create-event-summary > span { color: var(--muted); }
.create-event-actions, .create-event-actions > div { display: flex; align-items: center; gap: 10px; }
.create-event-actions { justify-content: space-between; }
.create-event-actions .button { min-height: 44px; white-space: normal; }
.create-event-details > .planning-choice { margin: 0 0 20px; }
.create-event-details .planning-choice > div { grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); }
@container create-event (max-width: 610px) {
  .create-experience-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .modal-backdrop:has(.create-event-shell) { padding: 0; }
  .modal.create-event-shell { width: 100%; height: 100dvh; max-height: 100dvh; padding: 0; border-radius: 0; }
  .create-event-form { height: 100%; max-height: 100dvh; }
  .create-event-header { padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left)); }
  .create-event-header .modal-head { gap: 10px; margin-bottom: 12px; }
  .create-event-steps { gap: 8px 18px; }
  .create-event-body { padding: 16px max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left)); }
  .create-experience-grid { grid-template-columns: 1fr; gap: 12px; }
  .create-product-card { gap: 7px; padding: 14px 16px; }
  .create-product-card input { top: 14px; right: 16px; }
  .create-product-card ul { gap: 2px; }
  .create-quest-unavailable { grid-template-columns: 1fr; gap: 4px; padding: 12px 14px; }
  .create-quest-unavailable > div { grid-row: auto; display: flex; align-items: center; gap: 12px; }
  .create-event-footer { padding: 12px max(16px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); }
  .create-event-actions { gap: 8px; }
  .create-event-actions > div { gap: 8px; justify-content: flex-end; }
  .create-event-actions .button { min-height: 48px; padding-inline: 12px; }
}

/* Shared form sizing: do not let native controls establish a wider grid track. */
.modal { min-width:0; max-width:100%; }
.modal > form,.form-grid,.field { min-width:0; }
.form-grid:not(.two),.field { grid-template-columns:minmax(0,1fr); }
.form-grid > * { min-width:0; }
.field input,.field select,.field textarea { box-sizing:border-box; min-width:0; min-inline-size:0; max-width:100%; max-inline-size:100%; }
@media(min-width:761px) { .form-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* iOS date/time width + padding bug: the surface owns the spacing; the native
   input has no padding/border to add to its 100% width (WebKit bug 301648). */
.field > .native-date-control { display:flex; align-items:center; min-width:0; max-width:100%; min-height:48px; padding:0 12px; border:1px solid var(--line); border-radius:8px; background:#fff; font-weight:400; }
.field .native-date-control input { display:block; width:100%; inline-size:100%; height:46px; min-height:46px; margin:0; padding:0; border:0; border-radius:0; background:transparent; color:var(--ink); }
.native-date-control:focus-within { border-color:var(--plum); outline:2px solid var(--plum); outline-offset:1px; }
.native-date-control input::-webkit-date-and-time-value { min-width:0; min-height:1.35em; text-align:start; }
.native-date-control input::-webkit-datetime-edit { min-width:0; padding:0; }
.field > .native-date-state { min-width:0; overflow-wrap:anywhere; color:var(--muted); font-weight:400; }

/* Event Details and Voting Settings: header/footer stay outside the sole scroll
   body, including when iOS reduces the visual viewport for its keyboard. */
.modal-backdrop:has(.mobile-form-shell) { --form-edge:20px; grid-template-columns:minmax(0,1fr); top:var(--form-viewport-top,0px); bottom:auto; height:var(--form-viewport-height,100dvh); max-width:100%; }
.modal.mobile-form-shell { --form-padding:27px; --form-bottom:max(var(--form-padding),env(safe-area-inset-bottom,0px)); --form-max-height:min(780px,calc(var(--form-viewport-height,100dvh) - var(--form-edge) - var(--form-edge))); max-height:var(--form-max-height); padding:var(--form-padding) var(--form-padding) var(--form-bottom); overflow:hidden; }
.modal.mobile-form-shell > form { display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:0; min-width:0; min-height:0; max-height:calc(var(--form-max-height) - var(--form-padding) - var(--form-bottom)); }
.mobile-form-shell .modal-scroll-body { min-width:0; min-height:0; overflow-y:auto; overflow-x:hidden; padding:4px; scroll-padding-block:8px; overscroll-behavior:contain; }
.mobile-form-shell .modal-actions { flex-wrap:wrap; margin-top:18px; }
@media(max-width:760px) {
  .modal-backdrop { grid-template-columns:minmax(0,1fr); }
  .modal-backdrop:has(.mobile-form-shell) { --form-edge:10px; }
  .modal.mobile-form-shell { --form-padding:20px; }
  .mobile-form-shell .modal-actions .button { min-width:0; white-space:normal; }
  .field input,.field select,.field textarea { font-size:16px; }
  .mobile-nav { --nav-safe-bottom:env(safe-area-inset-bottom,0px); padding-bottom:calc(7px + var(--nav-safe-bottom)); }
  body.app-mode:not(.playing) .main-content > .view { padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px) + 16px); }
}

/* Completed Classic recap only: keep organizer navigation and historical context. */
.classic-completion { min-height: 100svh; padding: 40px 28px; }
.classic-completion .score-card { width: min(100%,760px); max-width: 100%; }
.classic-completion h1 { font-size: clamp(2.25rem,4vw,4rem); line-height: 1.08; overflow-wrap: anywhere; }
.classic-completion .completed-event-name { margin-top: 18px; font-weight: 700; }
.classic-completion .completed-date,.classic-completion .completed-retention { margin: 12px 0; font-size: var(--type-body-sm); color: var(--muted); }
.completed-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
.completed-actions .button { max-width: 100%; min-height: 44px; white-space: normal; }
.event-library-group { display: grid; gap: 10px; min-width: 0; }
.event-library-group + .event-library-group { margin-top: 20px; }
.event-library-group h3 { font-size: var(--type-body-lg); }
.event-library-empty { display: grid; justify-items: start; gap: 14px; padding-block: 10px; }
.event-library-group .event-library-card { min-width: 0; }
.event-library-group .event-library-card strong { overflow-wrap: anywhere; }
.event-library-group[data-event-group="completed"] .event-library-mark { color: #476b55; }
#eventSwitcherButton[data-event-status="COMPLETED"] .live-dot { background: #78947d; box-shadow: none; }
.completed-recap { margin-bottom: 28px; }
.completed-recap h2 { margin: 8px 0; font-size: var(--type-h2); overflow-wrap: anywhere; }
.completed-recap p:not(.eyebrow) { margin: 10px 0; }
.completed-recap .button { margin-top: 8px; }
.completed-readonly { color: var(--muted); font-size: var(--type-body-sm); }
@media(max-width: 1023px) {
  .classic-completion { min-height: 0; padding: 28px 16px calc(var(--mobile-nav-height,70px) + env(safe-area-inset-bottom,0px) + 24px); }
  .classic-completion .score-card { padding: 24px 18px; }
}
@media(max-width: 600px) {
  .completed-actions { display: grid; grid-template-columns: minmax(0,1fr); }
  .completed-actions .button { width: 100%; min-height: 48px; }
}
