:root {
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #241c25;
  color: #fff9fb;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 100% 0%, rgb(237 151 192 / 25%), transparent 32rem),
    radial-gradient(circle at 0% 24%, rgb(129 85 149 / 24%), transparent 30rem),
    linear-gradient(145deg, #2d1d2a, #171317 65%);
}

button, input { font: inherit; }
select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: 0.65; }

.app-shell { width: min(100% - 32px, 760px); margin: 0 auto; padding: 56px 0 32px; }
.hero { margin-bottom: 26px; }
.eyebrow, .panel-kicker { margin: 0 0 9px; color: #f4b8d9; font-size: 0.75rem; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 10px; font-size: clamp(2.2rem, 9vw, 4.6rem); line-height: 0.98; letter-spacing: -0.05em; }
h2 { margin-bottom: 6px; font-size: 1.4rem; letter-spacing: -0.025em; }
h3 { margin-bottom: 8px; font-size: 1.05rem; }
.lead { max-width: 37rem; margin-bottom: 0; color: #eadce8; font-size: 1.08rem; line-height: 1.55; }
.hero-link { display: inline-flex; margin-top: 16px; color: #ffd4e8; font-weight: 750; text-decoration-color: rgb(255 212 232 / 54%); text-underline-offset: 4px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; margin-top: 16px; }
.hero-actions .hero-link { margin-top: 0; }
.sound-toggle { padding: 7px 10px; border: 1px solid #805a76; border-radius: 999px; background: rgb(60 39 58 / 72%); color: #eadce8; font-size: .76rem; font-weight: 800; }
.sound-toggle[aria-pressed="true"] { border-color: #f1aace; color: #ffd4e8; }
.header-links { display: flex; flex-wrap: wrap; gap: 18px; }
.header-links .hero-link { margin-top: 0; }

.notice { margin: 0 0 18px; padding: 13px 15px; border: 1px solid #805c75; border-radius: 14px; background: rgb(56 36 54 / 88%); line-height: 1.45; }
.notice[data-tone="error"] { border-color: #d87979; background: rgb(104 44 48 / 88%); }
.notice[data-tone="success"] { border-color: #78ba90; background: rgb(35 78 58 / 88%); }

.panel { margin-bottom: 18px; padding: 21px; border: 1px solid rgb(255 223 242 / 18%); border-radius: 20px; background: rgb(49 33 47 / 82%); box-shadow: 0 16px 36px rgb(0 0 0 / 16%); }
.share-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.share-panel h2 { font-size: 1.05rem; }
.share-panel p:not(.panel-kicker) { max-width: 31rem; margin: 0; color: #d7c7d5; line-height: 1.45; }
.share-panel img { flex: 0 0 auto; padding: 6px; border-radius: 12px; background: white; }
.pulse-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; }
.pulse-panel .hint { max-width: 38rem; margin-bottom: 0; }
.pulse-grid { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.pulse-button { display: grid; width: 48px; height: 48px; place-items: center; padding: 0 !important; border-color: #805a76 !important; background: #4b3147 !important; color: inherit !important; font-size: 1.4rem; transition: transform 150ms ease, border-color 150ms ease; }
.pulse-button:hover { border-color: #f1aace !important; transform: translateY(-2px) scale(1.04); }
.pulse-feedback { grid-column: 1 / -1; min-height: 1.1rem; margin: 0; color: #c7b5c3; font-size: .82rem; font-weight: 700; }
.section-heading { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.step-chip { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 10px; border: 1px solid #916480; border-radius: 999px; color: #f2ccdf; font-size: 0.78rem; font-weight: 700; white-space: nowrap; }
.hint, .privacy-note { color: #d8c8d6; line-height: 1.5; }
.hint { margin: 2px 0 16px; }
.privacy-note { margin: 14px 0 0; font-size: 0.88rem; }

.teams { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.team-card { display: flex; align-items: center; gap: 11px; min-width: 0; padding: 13px; border: 1px solid #6f4e68; border-radius: 14px; background: #362737; color: inherit; text-align: left; transition: border-color 120ms ease, transform 120ms ease; }
.team-card:hover, .team-card[data-selected="true"] { border-color: #f1aace; transform: translateY(-1px); }
.team-dot { width: 12px; height: 12px; border-radius: 50%; box-shadow: 0 0 0 4px rgb(255 255 255 / 7%); }
.team-card strong, .team-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-card small { margin-top: 3px; color: #c9b8c7; }

.inline-form { display: flex; gap: 9px; margin-top: 13px; }
.email-otp-panel { max-width: 680px !important; }
.email-otp-panel strong { color: #ffe2b4; overflow-wrap: anywhere; }
.otp-resend { display: inline-flex; margin-top: 14px; }
.identity-form { margin-top: 18px; padding-top: 18px; border-top: 1px solid rgb(255 223 242 / 14%); }
.identity-form label { display: block; margin-bottom: 8px; font-weight: 700; }
.identity-form label span { color: #cbbac8; font-weight: 400; }
input { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid #75566f; border-radius: 11px; background: #281e29; color: inherit; outline: none; }
select, textarea { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid #75566f; border-radius: 11px; background: #281e29; color: inherit; outline: none; }
textarea { min-height: 92px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: #f1aace; box-shadow: 0 0 0 3px rgb(241 170 206 / 18%); }
button:not(.team-card):not(.text-button) { padding: 11px 14px; border: 1px solid #f1aace; border-radius: 11px; background: #f1aace; color: #321a2b; font-weight: 800; white-space: nowrap; }
.secondary-button { border-color: #8d627f !important; background: #4e3349 !important; color: #fff7fb !important; }

.challenges { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.challenge-card { display: flex; flex-direction: column; padding: 16px; border: 1px solid #63485f; border-radius: 15px; background: rgb(38 27 39 / 72%); }
.challenge-card p { flex: 1; margin-bottom: 16px; color: #d4c4d2; line-height: 1.45; }
.challenge-card button { width: 100%; }
.challenge-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 14px; color: #f0bdd9; font-size: 0.76rem; font-weight: 750; text-transform: uppercase; letter-spacing: 0.07em; }
.challenge-meta strong { color: #ffe1b4; }

.selected-challenge { margin: 2px 0 16px; color: #f4c0dc; font-weight: 750; }
.text-button { padding: 2px; border: 0; background: transparent; color: #eeb4d3; text-decoration: underline; }
.file-picker { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 160px; padding: 18px; border: 1px dashed #a47696; border-radius: 16px; background: rgb(43 30 43 / 60%); color: #fbe6f4; text-align: center; cursor: pointer; }
.file-picker input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; clip-path: inset(50%); }
.file-picker-icon { margin-bottom: 8px; color: #f1aace; font-size: 2rem; font-weight: 900; transform: rotate(-18deg); }
.file-picker small { margin-top: 7px; color: #cbb9c7; }
#photo-preview { display: block; width: 100%; max-height: 360px; margin-top: 12px; border-radius: 14px; object-fit: contain; background: #171217; }
.submit-photo { width: 100%; margin-top: 12px; }
.submission-progress { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 5px 15px; margin-top: 16px; padding: 18px; border: 1px solid #916480; border-radius: 17px; background: linear-gradient(135deg, rgb(93 50 81 / 76%), rgb(42 33 51 / 92%)); }
.submission-progress[hidden], .moderation-image[hidden] { display: none; }
.processing-orb { position: relative; width: 58px; height: 58px; align-self: center; border-radius: 50%; background: radial-gradient(circle at 35% 32%, #ffe7f3, #f09dcc 24%, #83536f 58%, #372839 70%); box-shadow: 0 0 0 7px rgb(241 170 206 / 10%), 0 0 26px rgb(241 170 206 / 28%); }
.processing-orb::before, .processing-orb::after { position: absolute; border-radius: inherit; content: ''; }
.processing-orb::before { inset: -7px; border: 2px solid transparent; border-top-color: #ffe2b5; border-right-color: #f4afd2; animation: processing-spin 1.15s linear infinite; }
.processing-orb::after { inset: 15px; background: rgb(255 255 255 / 58%); filter: blur(2px); animation: processing-pulse 1.15s ease-in-out infinite; }
.processing-orb[data-stage="published"] { background: radial-gradient(circle at 35% 32%, #efffe9, #8ed9a0 26%, #4b9270 60%, #29463b 72%); box-shadow: 0 0 0 7px rgb(120 186 144 / 12%), 0 0 26px rgb(120 186 144 / 35%); }
.processing-orb[data-stage="published"]::before { border-color: #c9f2c9; animation: none; }
.processing-orb[data-stage="private"] { background: radial-gradient(circle at 35% 32%, #f4edf7, #b5a4c5 27%, #6f627c 60%, #342f3a 72%); box-shadow: none; }
.processing-orb[data-stage="private"]::before, .processing-orb[data-stage="private"]::after { animation: none; }
.processing-orb[data-stage="review"] { background: radial-gradient(circle at 35% 32%, #fff0d9, #f2c47b 27%, #9b6c50 60%, #463637 72%); }
.submission-copy .panel-kicker { margin-bottom: 5px; }
.submission-copy h3 { margin-bottom: 5px; }
.submission-copy p:last-child { margin: 0; color: #ead8e6; line-height: 1.4; }
.submission-steps { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 14px 0 0; margin: 9px 0 0; border-top: 1px solid rgb(255 223 242 / 15%); list-style: none; }
.submission-steps li { display: flex; align-items: center; gap: 7px; color: #c9b7c5; font-size: .78rem; font-weight: 750; line-height: 1.25; }
.submission-steps li::before { display: grid; width: 19px; height: 19px; flex: 0 0 auto; place-items: center; border: 1px solid #98748d; border-radius: 50%; content: '…'; color: #eec7db; font-size: .78rem; }
.submission-steps li[data-state="done"] { color: #e9f9e8; }
.submission-steps li[data-state="done"]::before { border-color: #78ba90; background: #437a5b; content: '✓'; color: white; }
.submission-steps li[data-state="active"] { color: #ffe4b9; }
.submission-steps li[data-state="active"]::before { border-color: #f2c47b; color: #ffe4b9; animation: processing-pulse 1.15s ease-in-out infinite; }
.submission-steps li[data-state="private"] { color: #d2c7d4; }
.submission-steps li[data-state="private"]::before { border-color: #a999b0; background: #65596b; content: '–'; color: white; }
.submission-actions { display: flex; grid-column: 1 / -1; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.submission-actions > * { display: inline-flex; flex: 1 1 190px; align-items: center; justify-content: center; min-height: 42px; text-decoration: none; }
.submission-actions .secondary-button { border: 1px solid #8d627f; border-radius: 11px; }
@keyframes processing-spin { to { transform: rotate(360deg); } }
@keyframes processing-pulse { 50% { opacity: .35; transform: scale(.78); } }
footer { padding: 6px 4px; color: #bba9b8; font-size: 0.78rem; line-height: 1.45; text-align: center; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

.organizer-shell { max-width: 1040px; }
.organizer-hero .header-links { margin-top: 16px; justify-content: flex-start; }
.login-panel { max-width: 650px; }
.auth-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 18px; }
.auth-grid form { display: grid; align-content: start; gap: 12px; }
.auth-grid form + form { padding-left: 28px; border-left: 1px solid rgb(255 223 242 / 14%); }
.auth-grid h3 { margin-bottom: 2px; }
.auth-grid label, .event-create-form label { display: grid; gap: 7px; color: #e7d2e1; font-size: .86rem; font-weight: 750; }
.auth-grid label span, .event-create-form label span { color: #c7b5c3; font-weight: 400; }
.portal-welcome { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.portal-welcome .hint { margin: 0; }
.event-create-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
.event-create-form label:first-child, .event-create-form label:nth-child(5) { grid-column: span 2; }
.event-create-form button { align-self: end; }
.private-access { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-color: #6b9278; background: linear-gradient(145deg, rgb(39 82 60 / 92%), rgb(36 32 44 / 94%)); }
.private-access h2 { margin-bottom: 7px; }
.private-access img { flex: 0 0 auto; padding: 7px; border-radius: 13px; background: white; }
.client-event-list { display: grid; gap: 12px; margin-top: 16px; }
.client-event-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px; border: 1px solid rgb(255 223 242 / 16%); border-radius: 15px; background: rgb(37 27 38 / 72%); }
.client-event-card h3 { margin: 9px 0 5px; }
.client-event-card p, .client-event-card small { margin: 0; color: #c7b5c3; line-height: 1.45; }
.client-event-card small { display: block; margin-top: 4px; }
.event-card-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.event-card-actions a { color: #f0bed9; font-weight: 800; text-underline-offset: 3px; }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.showtime-panel { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 16px; border-color: rgb(255 208 157 / 43%); background: radial-gradient(circle at 88% 10%, rgb(255 190 121 / 19%), transparent 24rem), linear-gradient(120deg, rgb(83 52 71 / 96%), rgb(35 29 45 / 96%)); }
.showtime-state { max-width: 620px; }
.showtime-state .panel-kicker { margin-bottom: 5px; color: #ffd29e; }
.showtime-state h2 { margin-bottom: 6px; color: #fff5ed; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.6rem; letter-spacing: -.045em; }
.showtime-state .hint { margin: 0; }
.showtime-actions { display: flex; flex: 0 1 490px; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.showtime-actions > * { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; text-decoration: none; }
.showtime-actions > button:last-child { box-shadow: 0 9px 24px rgb(241 170 206 / 18%); }
.stat-card { display: flex; min-height: 144px; flex-direction: column; justify-content: flex-end; padding: 17px; border: 1px solid rgb(255 223 242 / 18%); border-radius: 17px; background: linear-gradient(145deg, rgb(92 54 82 / 94%), rgb(38 27 39 / 94%)); }
.stat-card strong { color: #ffe4f2; font-size: 2.3rem; letter-spacing: -0.05em; line-height: 1; }
.stat-card span { margin-top: 8px; color: #f5c5dd; font-weight: 800; }
.stat-card small { margin-top: 7px; color: #c9b8c7; line-height: 1.35; }
.moderation-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(285px, 1fr)); gap: 14px; }
.moment-actions { display: flex; flex-wrap: wrap; gap: 9px; margin: 16px 0 12px; }
.moment-actions button { flex: 1 1 150px; }
.moment-actions button[data-active="true"] { border-color: #ffe0ad !important; background: linear-gradient(135deg, #f2b46f, #e98fac) !important; color: #321a2b !important; box-shadow: 0 0 0 4px rgb(242 180 111 / 13%), 0 12px 28px rgb(0 0 0 / 18%); }
.director-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); gap: 16px; margin: 16px 0; }
.event-ready-panel, .director-panel, .live-controls-panel { min-height: 0; }
.preflight-list { display: grid; gap: 8px; margin: 16px 0; padding: 0; list-style: none; }
.setup-summary { margin: 12px 0 -5px; color: #f0d5e3; font-size: .79rem; font-weight: 750; line-height: 1.42; }
.preflight-list li { display: flex; align-items: center; gap: 9px; color: #c9b8c7; font-size: .88rem; font-weight: 700; }
.preflight-list li span { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid #76566e; border-radius: 50%; color: #d6bbc9; font-size: .77rem; }
.preflight-list li[data-complete="true"] { color: #e6f8df; }
.preflight-list li[data-complete="true"] span { border-color: #86ca98; background: #254f3c; color: #d9ffdf; }
.step-chip[data-ready="true"] { border-color: #86ca98; color: #d9ffdf; }
.rehearsal-link { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.director-panel { background: radial-gradient(circle at 90% 8%, rgb(255 206 146 / 18%), transparent 35%), linear-gradient(145deg, rgb(76 48 67 / 94%), rgb(29 25 35 / 92%)); }
.director-panel h2 { margin-bottom: 8px; }
.director-actions { margin-top: 16px; }
.big-moment-actions, .team-live-actions { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; margin-top: 15px; }
.big-moment-actions button { flex: 1 1 190px; }
.team-live-actions { padding-top: 15px; border-top: 1px solid rgb(255 224 198 / 12%); }
.team-live-actions label { display: grid; flex: 1 1 180px; gap: 7px; color: #e7d2e1; font-size: .82rem; font-weight: 800; }
.moderation-card { overflow: hidden; border: 1px solid #705168; border-radius: 16px; background: #2b202c; }
.moderation-preview { display: grid; min-height: 210px; place-items: center; overflow: hidden; background: linear-gradient(135deg, #211a22, #37283a); }
.moderation-preview .moderation-image { display: block; width: 100%; min-height: 210px; aspect-ratio: 4 / 3; object-fit: cover; background: #1a141a; }
.moderation-preview .moderation-image[hidden] { display: none; }
.image-loading { margin: 0; padding: 24px; color: #d7c1d0; font-size: .88rem; text-align: center; }
.moderation-content { padding: 14px; }
.moderation-content h3 { margin: 9px 0 5px; }
.photo-team { display: flex; align-items: center; gap: 7px; margin: 0; color: #e7c9dc; font-weight: 700; font-size: .9rem; }
.photo-team span, .wall-photo figcaption span { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; }
.ai-note { min-height: 42px; margin: 11px 0; color: #cbbac8; font-size: .88rem; line-height: 1.45; }
.moderation-actions { display: flex; gap: 9px; }
.moderation-actions button { flex: 1; font-size: .86rem; }
.status-pill { display: inline-flex; padding: 4px 8px; border: 1px solid #836178; border-radius: 999px; color: #efc5da; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.status-pill[data-status="approved"], .status-pill[data-status="visible"], .status-pill[data-status="live"] { border-color: #78ba90; color: #b8e6c5; }
.status-pill[data-status="rejected"], .status-pill[data-status="hidden"] { border-color: #d87979; color: #f2b0b0; }
.status-pill[data-status="analysing"] { border-color: #bd9c62; color: #f2d493; }
.empty-state { margin: 0; padding: 26px 8px; color: #c9b8c7; text-align: center; }
.settings-form, .challenge-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
.settings-form label, .challenge-form label { display: grid; gap: 7px; color: #e7d2e1; font-size: .86rem; font-weight: 750; }
.settings-form button, .challenge-form button { align-self: end; }
.challenge-form label:nth-child(2) { grid-column: span 2; }
.ai-target-check, .ai-summary { display: block; margin: 2px 0 0; color: #c7b5c3; font-size: .82rem; font-weight: 600; line-height: 1.4; }
.ai-target-check[data-level="ready"], .challenge-suitability[data-level="ready"] { color: #b8e6c5; }
.ai-target-check[data-level="review"], .challenge-suitability[data-level="review"] { color: #f2d493; }
.ai-target-check[data-level="rewrite"], .challenge-suitability[data-level="rewrite"] { color: #f2b0b0; }
.pilot-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin-top: 16px; }
.pilot-metric { padding: 13px; border: 1px solid rgb(255 223 242 / 14%); border-radius: 13px; background: rgb(37 27 38 / 72%); }
.pilot-metric strong, .pilot-metric small { display: block; }
.pilot-metric small { margin-top: 5px; color: #c7b5c3; line-height: 1.35; }
.pilot-metric .pilot-detail { color: #f2d493; }
.challenge-admin-list, .recent-photo-list { display: grid; gap: 9px; margin-top: 18px; }
.gallery-link-list { display: grid; gap: 9px; margin-top: 16px; }
.share-link { margin: 14px 0 0; padding: 11px 12px; border: 1px solid #6b9278; border-radius: 11px; background: rgb(35 78 58 / 56%); color: #d6f1de; overflow-wrap: anywhere; }
.share-link a { color: #f0ffe8; font-weight: 800; }
.gallery-link-item { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 12px 13px; border: 1px solid rgb(255 223 242 / 14%); border-radius: 13px; background: rgb(37 27 38 / 72%); }
.gallery-link-item strong, .gallery-link-item small { display: block; }
.gallery-link-item small { margin-top: 4px; color: #c7b5c3; }
.challenge-admin-item, .recent-photo-item { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 12px 13px; border: 1px solid rgb(255 223 242 / 14%); border-radius: 13px; background: rgb(37 27 38 / 72%); }
.challenge-admin-item strong, .recent-photo-item strong, .challenge-admin-item small, .recent-photo-item small { display: block; }
.challenge-admin-item small, .recent-photo-item small { margin-top: 4px; color: #c7b5c3; }
.challenge-instruction { color: #eadce8 !important; line-height: 1.35; }
.challenge-suitability, .recent-ai-note { font-size: .78rem; line-height: 1.35; }
.challenge-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 9px; }
.recent-photo-item { justify-content: flex-start; }
.recent-photo-item .status-pill { min-width: 88px; justify-content: center; }
.gallery-report, .wall-report { margin: 8px 10px 0; color: #f0bed9; font-size: .78rem; }
.wall-report { position: absolute; right: 8px; top: 8px; z-index: 2; background: rgb(23 17 22 / 72%); border-radius: 999px; padding: 5px 8px; }
.recent-correction { margin-left: auto; text-align: right; }

.wall-body { min-width: 320px; min-height: 100vh; background: #171116; }
.wall-shell { --wall-ink: #201319; --wall-surface: rgb(44 25 32 / 72%); --wall-line: rgb(255 237 211 / 18%); --wall-copy: #fff7f0; --wall-muted: #ddc9bd; --wall-accent: #ffc977; position: relative; isolation: isolate; min-height: 100vh; padding: clamp(20px, 4vw, 54px); overflow: hidden; background: radial-gradient(circle at 10% 0%, rgb(255 183 117 / 16%), transparent 36rem), radial-gradient(circle at 88% 90%, rgb(237 80 129 / 15%), transparent 32rem), linear-gradient(145deg, #342027, #171116 64%); color: var(--wall-copy); transition: background 1.1s ease; }
.wall-shell[data-theme="afterglow"] { --wall-ink: #121126; --wall-surface: rgb(25 22 62 / 72%); --wall-line: rgb(213 205 255 / 19%); --wall-copy: #fbf9ff; --wall-muted: #d5ceef; --wall-accent: #b8a7ff; background: radial-gradient(circle at 8% 4%, rgb(141 104 255 / 20%), transparent 36rem), radial-gradient(circle at 91% 82%, rgb(241 59 162 / 17%), transparent 34rem), linear-gradient(145deg, #1f1d48, #0d0d1d 67%); }
.wall-shell[data-theme="romance-moderne"] { --wall-accent: #ffb7d9; background: radial-gradient(circle at 10% 0%, rgb(255 152 195 / 19%), transparent 36rem), radial-gradient(circle at 89% 90%, rgb(151 99 224 / 17%), transparent 32rem), linear-gradient(145deg, #2e1d2d, #171317 65%); }
.wall-shell[data-theme="garden-party"] { --wall-surface: rgb(22 44 34 / 72%); --wall-line: rgb(234 255 217 / 19%); --wall-copy: #f8fff2; --wall-muted: #d0e0c8; --wall-accent: #e8ff9d; background: radial-gradient(circle at 9% 4%, rgb(199 239 144 / 18%), transparent 36rem), radial-gradient(circle at 91% 86%, rgb(245 180 98 / 15%), transparent 34rem), linear-gradient(145deg, #1f372b, #111c16 67%); }
.wall-shell[data-theme="terracotta"] { --wall-accent: #ffd0a8; background: radial-gradient(circle at 8% 4%, rgb(255 143 82 / 20%), transparent 36rem), radial-gradient(circle at 92% 88%, rgb(224 73 61 / 15%), transparent 34rem), linear-gradient(145deg, #43251f, #1c1311 67%); }
.wall-shell[data-theme="midnight"] { --wall-surface: rgb(19 27 55 / 72%); --wall-line: rgb(206 220 255 / 18%); --wall-copy: #f7f9ff; --wall-muted: #cbd6f0; --wall-accent: #a8c7ff; background: radial-gradient(circle at 9% 4%, rgb(105 147 255 / 20%), transparent 36rem), radial-gradient(circle at 91% 86%, rgb(131 74 255 / 17%), transparent 34rem), linear-gradient(145deg, #1d2447, #0d101e 67%); }
.wall-shell[data-theme="minimal"] { --wall-surface: rgb(34 34 37 / 72%); --wall-accent: #f8eddd; background: radial-gradient(circle at 10% 6%, rgb(255 245 220 / 12%), transparent 34rem), linear-gradient(145deg, #303035, #131315 67%); }
.wall-shell[data-theme="celestial"] { --wall-surface: rgb(17 29 61 / 75%); --wall-line: rgb(211 226 255 / 19%); --wall-copy: #f4f7ff; --wall-muted: #c9d8f5; --wall-accent: #a9d8ff; background: radial-gradient(circle at 12% 4%, rgb(93 153 255 / 24%), transparent 35rem), radial-gradient(circle at 88% 88%, rgb(208 129 255 / 17%), transparent 34rem), linear-gradient(145deg, #162750, #0d1020 68%); }
.wall-shell[data-theme="citrus-club"] { --wall-surface: rgb(49 34 24 / 75%); --wall-line: rgb(255 243 189 / 21%); --wall-copy: #fffdf2; --wall-muted: #ffe9b6; --wall-accent: #f8e75a; background: radial-gradient(circle at 9% 4%, rgb(255 213 47 / 24%), transparent 34rem), radial-gradient(circle at 92% 90%, rgb(255 92 84 / 20%), transparent 34rem), linear-gradient(145deg, #443025, #1b1514 67%); }
.wall-shell[data-theme="wildflower"] { --wall-surface: rgb(57 34 62 / 73%); --wall-line: rgb(255 229 245 / 19%); --wall-copy: #fff7fb; --wall-muted: #ead2e7; --wall-accent: #ffd28a; background: radial-gradient(circle at 10% 4%, rgb(255 141 181 / 20%), transparent 36rem), radial-gradient(circle at 90% 88%, rgb(145 112 233 / 20%), transparent 34rem), linear-gradient(145deg, #3b2541, #18111d 67%); }
.wall-shell[data-moment="cocktail"] .living-light-canvas { filter: saturate(1.12) brightness(1.06); }
.wall-shell[data-moment="discours"] .living-light-canvas { opacity: .58; filter: saturate(.78); }
.wall-shell[data-moment="ouverture-bal"] .living-light-canvas { opacity: .92; filter: saturate(1.35) hue-rotate(10deg); }
.wall-shell[data-moment="dessert"] .living-light-canvas { filter: saturate(1.2) hue-rotate(-8deg); }
.wall-shell[data-moment="dancefloor"] .living-light-canvas { opacity: .98; filter: saturate(1.48) hue-rotate(28deg); }
.living-light-canvas, .wall-vignette { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.living-light-canvas { opacity: .78; mix-blend-mode: screen; }
.wall-vignette { z-index: -1; background: radial-gradient(ellipse at center, transparent 24%, rgb(4 3 7 / 21%) 100%); }
.wall-content { position: relative; z-index: 1; }
.wall-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; max-width: 1680px; margin: 0 auto clamp(24px, 3.2vw, 48px); }
.wall-header h1 { max-width: 18ch; margin-bottom: 0; font-size: clamp(2.8rem, 6.4vw, 7rem); line-height: .9; text-wrap: balance; text-shadow: 0 10px 44px rgb(0 0 0 / 20%); }
.wall-header .eyebrow { color: var(--wall-accent); }
.wall-meta { display: flex; align-items: end; justify-content: flex-end; flex-wrap: wrap; gap: 9px 13px; max-width: 330px; text-align: right; }
.wall-count, .wall-moment { margin: 0; font-weight: 800; white-space: nowrap; }
.wall-count { color: var(--wall-muted); font-size: .91rem; }
.wall-moment { width: 100%; color: var(--wall-accent); font-size: .83rem; letter-spacing: .08em; text-transform: uppercase; }
.wall-sound-toggle { padding: 7px 10px !important; border: 1px solid var(--wall-line) !important; border-radius: 999px !important; background: rgb(15 10 15 / 34%) !important; color: var(--wall-copy) !important; font-size: .76rem; font-weight: 800; backdrop-filter: blur(12px); }
.wall-sound-toggle[aria-pressed="true"] { border-color: var(--wall-accent) !important; color: var(--wall-accent) !important; }
.wall-layout { display: grid; grid-template-columns: minmax(220px, 285px) minmax(0, 1fr); align-items: start; gap: clamp(18px, 2.8vw, 44px); max-width: 1680px; margin: 0 auto; }
.leaderboard-panel { position: sticky; top: 18px; padding: 20px; border: 1px solid var(--wall-line); border-radius: 22px; background: linear-gradient(145deg, var(--wall-surface), rgb(17 10 17 / 54%)); box-shadow: 0 20px 60px rgb(0 0 0 / 17%); backdrop-filter: blur(18px); }
.leaderboard-panel .panel-kicker { color: var(--wall-accent); }
.leaderboard-panel h2 { margin-bottom: 19px; font-size: 1.27rem; }
.leaderboard { display: grid; gap: 16px; }
.leaderboard-entry > div { display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.rank { color: var(--wall-muted); font-weight: 800; }
.leaderboard-entry strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-bonus { display: inline-block; margin-left: 6px; padding: 2px 5px; border: 1px solid var(--wall-accent); border-radius: 999px; color: var(--wall-accent); font-size: .65rem; font-style: normal; vertical-align: 2px; }
.leaderboard-entry b { color: var(--wall-accent); font-size: .8rem; }
.score-track { display: block; height: 5px; margin-top: 8px; overflow: hidden; border-radius: 99px; background: rgb(255 255 255 / 10%); }
.score-track i { display: block; height: 100%; min-width: 4px; border-radius: inherit; box-shadow: 0 0 14px currentColor; transition: width 850ms cubic-bezier(.22, 1, .36, 1); }
.photo-fountain { columns: 3 230px; column-gap: clamp(12px, 1.3vw, 20px); }
.wall-photo { position: relative; break-inside: avoid; margin: 0 0 clamp(12px, 1.3vw, 20px); overflow: hidden; border: 1px solid var(--wall-line); border-radius: 20px; background: var(--wall-ink); box-shadow: 0 16px 38px rgb(0 0 0 / 24%), 0 0 0 1px rgb(255 255 255 / 2%) inset; transform: translateZ(0); }
.wall-photo::after { position: absolute; inset: 0; border: 1px solid rgb(255 255 255 / 7%); border-radius: inherit; content: ''; pointer-events: none; }
.wall-photo.is-new { animation: photo-arrives 920ms cubic-bezier(.16, 1, .3, 1) both; }
.wall-photo img { display: block; width: 100%; min-height: 170px; max-height: 500px; object-fit: cover; background: #1d151c; transition: transform 800ms cubic-bezier(.2, .9, .2, 1), filter 400ms ease; }
.wall-photo:hover img { transform: scale(1.035); filter: saturate(1.08); }
.wall-photo figcaption { display: grid; grid-template-columns: 9px minmax(0, 1fr); column-gap: 8px; align-items: center; padding: 11px 12px 12px; background: linear-gradient(90deg, rgb(18 12 19 / 92%), rgb(35 22 33 / 82%)); }
.wall-photo figcaption span { box-shadow: 0 0 14px var(--team-color); }
.wall-photo figcaption small { grid-column: 2; margin-top: 3px; overflow: hidden; color: var(--wall-muted); font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.wall-empty { display: block; break-inside: avoid; column-span: all; margin: 0; padding: 15vh 4vw; color: var(--wall-muted); font-size: 1.15rem; text-align: center; }
.arrival-layer, .live-event-layer, .pulse-layer { position: absolute; z-index: 5; inset: 0; pointer-events: none; overflow: hidden; }
.arrival-layer { display: grid; place-items: center; }
.live-event-layer { display: flex; align-items: end; justify-content: center; padding: clamp(16px, 3vw, 40px); }
.live-event-card { display: grid; min-width: min(92vw, 480px); max-width: 560px; gap: 4px; padding: 15px 19px; border: 1px solid rgb(255 244 212 / 42%); border-radius: 18px; background: linear-gradient(125deg, rgb(44 25 39 / 92%), rgb(38 31 57 / 88%)); box-shadow: 0 18px 65px rgb(0 0 0 / 33%), 0 0 46px rgb(255 199 119 / 20%); backdrop-filter: blur(18px); text-align: center; animation: live-event-in 520ms cubic-bezier(.16, 1, .3, 1) both; }
.live-event-card p { margin: 0; color: var(--wall-accent); font-size: .68rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.live-event-card strong { font-size: clamp(1.05rem, 2vw, 1.45rem); }
.live-event-card > span { color: var(--wall-muted); font-size: .84rem; }
.live-event-card small { display: inline-flex; align-items: center; justify-content: center; gap: 6px; color: var(--wall-copy); font-weight: 750; }
.live-event-card small i { width: 8px; height: 8px; border-radius: 50%; }
.live-event-card b { color: var(--wall-accent); font-size: .85rem; }
.live-event-card.is-comeback { border-color: rgb(177 255 194 / 46%); box-shadow: 0 18px 65px rgb(0 0 0 / 33%), 0 0 46px rgb(129 246 173 / 19%); }
.wall-arrival { display: grid; min-width: min(92vw, 430px); gap: 4px; padding: 18px 22px; border: 1px solid rgb(255 251 240 / 37%); border-radius: 18px; background: rgb(31 18 29 / 72%); box-shadow: 0 18px 80px rgb(0 0 0 / 35%), 0 0 65px rgb(255 193 116 / 23%); backdrop-filter: blur(18px); animation: arrival-card 3.7s cubic-bezier(.16, 1, .3, 1) both; text-align: center; }
.wall-arrival p { margin: 0; color: var(--wall-accent); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.wall-arrival strong { font-size: clamp(1.2rem, 2.1vw, 1.9rem); line-height: 1.05; }
.wall-arrival span { color: var(--wall-muted); font-size: .9rem; }
.wall-arrival.is-moment { min-width: min(92vw, 500px); }
.pulse-wave { position: absolute; top: 50%; left: 50%; display: grid; width: 24vmin; aspect-ratio: 1; place-items: center; border: 2px solid rgb(255 238 189 / 78%); border-radius: 50%; box-shadow: 0 0 40px rgb(255 188 119 / 70%), inset 0 0 28px rgb(255 245 218 / 34%); opacity: 0; transform: translate(-50%, -50%) scale(.12); animation: pulse-wave 1.85s cubic-bezier(.12, .76, .23, 1) both; }
.pulse-emoji { display: grid; width: 72px; height: 72px; place-items: center; border: 1px solid rgb(255 255 255 / 30%); border-radius: 50%; background: rgb(37 21 38 / 56%); box-shadow: 0 0 42px rgb(255 211 146 / 52%); font-size: clamp(2.1rem, 5vmin, 4.3rem); line-height: 1; animation: pulse-emoji 780ms cubic-bezier(.16, 1, .3, 1) both; }
.pulse-particle { position: absolute; font-style: normal; font-size: clamp(1.2rem, 3vmin, 2rem); opacity: 0; transform: rotate(calc(var(--particle-index) * 120deg)) translateY(-5vmin); animation: pulse-particle 1.25s cubic-bezier(.16, .85, .25, 1) both; animation-delay: calc(var(--particle-index) * 70ms); }
.wall-shell.is-blooming::before { position: absolute; z-index: 0; inset: 0; background: radial-gradient(circle at 50% 50%, rgb(255 214 155 / 20%), transparent 34%); content: ''; pointer-events: none; animation: wall-bloom 1.5s ease-out both; }
@keyframes photo-arrives { 0% { opacity: 0; transform: translateY(28px) scale(.92); filter: brightness(1.35); } 46% { opacity: 1; transform: translateY(-4px) scale(1.012); } 100% { opacity: 1; transform: translateY(0) scale(1); filter: brightness(1); } }
@keyframes arrival-card { 0% { opacity: 0; transform: translateY(22px) scale(.94); } 13%, 75% { opacity: 1; transform: translateY(0) scale(1); } 100% { opacity: 0; transform: translateY(-12px) scale(.985); } }
@keyframes pulse-wave { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.12); } 12% { opacity: .96; } 100% { opacity: 0; transform: translate(-50%, -50%) scale(calc(4 + var(--pulse-strength) * .24)); } }
@keyframes pulse-emoji { 0% { opacity: 0; transform: scale(.32) rotate(-12deg); } 48% { opacity: 1; transform: scale(1.13) rotate(4deg); } 100% { opacity: .86; transform: scale(1) rotate(0); } }
@keyframes pulse-particle { 0%, 18% { opacity: 0; } 42% { opacity: 1; } 100% { opacity: 0; transform: rotate(calc(var(--particle-index) * 120deg)) translateY(-15vmin) scale(.72); } }
@keyframes wall-bloom { 0% { opacity: 0; } 16% { opacity: 1; } 100% { opacity: 0; } }
@keyframes live-event-in { from { opacity: 0; transform: translateY(18px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; max-width: 1500px; margin: 0 auto; }
.gallery-photo { overflow: hidden; margin: 0; border: 1px solid rgb(255 240 249 / 16%); border-radius: 17px; background: #2c222c; box-shadow: 0 13px 28px rgb(0 0 0 / 17%); }
.gallery-photo img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.gallery-photo figcaption { display: grid; grid-template-columns: 9px minmax(0, 1fr); column-gap: 7px; align-items: center; padding: 10px 11px 11px; }
.gallery-photo figcaption span { width: 9px; height: 9px; border-radius: 50%; }
.gallery-photo figcaption small { grid-column: 2; margin-top: 3px; overflow: hidden; color: #cdbccb; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.gallery-download { display: block; padding: 0 11px 12px; color: #f4c0dc; font-size: .82rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 520px) {
  .app-shell { width: min(100% - 24px, 760px); padding-top: 32px; }
  .panel { padding: 17px; border-radius: 16px; }
  .share-panel { align-items: flex-start; }
  .pulse-panel { grid-template-columns: 1fr; }
  .pulse-grid { justify-content: flex-start; }
  .share-panel img { width: 92px; height: 92px; }
  .inline-form { flex-direction: column; }
  .inline-form button { width: 100%; }
  .organizer-hero .header-links { margin-top: 14px; justify-content: flex-start; }
  .stats-grid, .settings-form, .challenge-form, .director-grid { grid-template-columns: 1fr; }
  .challenge-form label:nth-child(2) { grid-column: auto; }
  .wall-header { align-items: start; flex-direction: column; }
  .wall-layout { grid-template-columns: 1fr; }
  .leaderboard-panel { position: static; }
  .photo-fountain { columns: 1; }
  .auth-grid, .event-create-form { grid-template-columns: 1fr; }
  .auth-grid form + form { padding-top: 22px; padding-left: 0; border-top: 1px solid rgb(255 223 242 / 14%); border-left: 0; }
  .event-create-form label:first-child, .event-create-form label:nth-child(5) { grid-column: auto; }
  .private-access, .client-event-card { align-items: flex-start; flex-direction: column; }
  .private-access img { width: 136px; height: 136px; }
  .event-card-actions { justify-content: flex-start; }
}

@media (min-width: 521px) and (max-width: 850px) {
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wall-layout { grid-template-columns: 220px minmax(0, 1fr); }
  .photo-fountain { columns: 2 180px; }
}

@media (max-width: 700px) {
  .wall-shell { padding: 24px 16px 32px; }
  .wall-header { align-items: start; flex-direction: column; gap: 15px; margin-bottom: 26px; }
  .wall-header h1 { max-width: 11ch; font-size: clamp(2.7rem, 15vw, 4.8rem); }
  .wall-meta { align-items: center; justify-content: flex-start; max-width: none; text-align: left; }
  .wall-moment { width: auto; }
  .wall-layout { grid-template-columns: 1fr; }
  .leaderboard-panel { position: static; }
  .photo-fountain { columns: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .living-light-canvas { display: none; }
  .wall-photo.is-new, .wall-arrival, .live-event-card, .pulse-wave, .wall-shell.is-blooming::before { animation: none; }
  .wall-arrival { opacity: 1; }
  .pulse-wave { display: none; }
  .wall-photo img, .score-track i { transition: none; }
}

/* Living Light — application surfaces */
.guest-body, .portal-body, .regie-body, .privacy-body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 8% 3%, rgb(255 191 117 / 20%), transparent 30rem),
    radial-gradient(circle at 91% 18%, rgb(235 98 152 / 17%), transparent 33rem),
    radial-gradient(circle at 52% 108%, rgb(130 84 185 / 16%), transparent 34rem),
    linear-gradient(145deg, #2c1b26, #151116 62%);
}
.portal-body { background: radial-gradient(circle at 8% 3%, rgb(251 193 122 / 18%), transparent 31rem), radial-gradient(circle at 88% 19%, rgb(209 111 180 / 14%), transparent 35rem), linear-gradient(145deg, #211927, #111116 68%); }
.regie-body { background: radial-gradient(circle at 6% 0%, rgb(255 190 132 / 12%), transparent 29rem), radial-gradient(circle at 95% 7%, rgb(136 141 255 / 13%), transparent 33rem), linear-gradient(145deg, #1e1920, #101114 65%); }
.privacy-body { background: radial-gradient(circle at 12% 2%, rgb(255 201 137 / 13%), transparent 29rem), linear-gradient(145deg, #211a20, #121114 66%); }

.guest-shell, .portal-shell, .regie-shell, .privacy-shell { position: relative; padding-top: clamp(42px, 7vw, 84px); padding-bottom: 52px; }
.guest-shell { max-width: 820px; }
.portal-shell, .regie-shell { max-width: 1240px; }
.privacy-shell { max-width: 920px; }
.guest-body .hero, .portal-body .hero, .regie-body .hero, .privacy-body .hero { position: relative; margin-bottom: 34px; }
.guest-body .hero::after, .portal-body .hero::after, .privacy-body .hero::after { display: block; width: min(180px, 35vw); height: 1px; margin-top: 25px; background: linear-gradient(90deg, #ffd39d, rgb(255 211 157 / 0%)); content: ''; }
.guest-body h1, .portal-body h1, .regie-body h1, .privacy-body h1 { max-width: 13ch; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-weight: 600; letter-spacing: -.065em; line-height: .91; text-wrap: balance; }
.portal-body h1, .privacy-body h1 { max-width: 12ch; }
.regie-body h1 { max-width: 17ch; }
.guest-body .lead, .portal-body .lead, .regie-body .lead, .privacy-body .lead { max-width: 44rem; color: #e8d8dc; font-size: 1.05rem; }
.guest-body .eyebrow, .portal-body .eyebrow, .regie-body .eyebrow, .privacy-body .eyebrow { color: #ffd4a1; }

.guest-body .panel, .portal-body .panel, .regie-body .panel, .privacy-body .panel {
  border-color: rgb(255 238 220 / 17%);
  border-radius: 24px;
  background: linear-gradient(135deg, rgb(66 42 56 / 81%), rgb(29 22 31 / 88%));
  box-shadow: 0 20px 58px rgb(0 0 0 / 16%), inset 0 1px 0 rgb(255 255 255 / 5%);
  backdrop-filter: blur(16px);
}
.regie-body .panel { border-radius: 19px; background: linear-gradient(135deg, rgb(45 37 47 / 92%), rgb(24 24 30 / 94%)); box-shadow: 0 15px 40px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 4%); }
.privacy-body .panel { padding: clamp(20px, 3vw, 30px); background: linear-gradient(135deg, rgb(57 43 51 / 86%), rgb(29 24 30 / 92%)); }
.privacy-body .panel p { max-width: 72ch; color: #e1d3d9; line-height: 1.7; }
.privacy-body .panel h2 { font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: clamp(1.55rem, 3vw, 2.15rem); letter-spacing: -.04em; }
.legal-shell { max-width: 980px; }
.legal-status { margin: 0 0 18px; padding: 17px 20px; border: 1px solid rgb(255 207 145 / 45%); border-radius: 18px; background: rgb(255 196 128 / 10%); color: #f5dfca; }
.legal-status strong { display: block; color: #ffd29d; }
.legal-status p { margin: 7px 0 0; line-height: 1.55; }
.legal-definition-list { display: grid; gap: 0; margin: 0; }
.legal-definition-list > div { display: grid; grid-template-columns: minmax(9rem, 26%) 1fr; gap: 16px; padding: 14px 0; border-top: 1px solid rgb(255 238 220 / 12%); }
.legal-definition-list > div:first-child { border-top: 0; padding-top: 0; }
.legal-definition-list dt { color: #ffd1dd; font-weight: 700; }
.legal-definition-list dd { margin: 0; color: #e1d3d9; line-height: 1.6; }
.legal-footer { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 30px auto 0; color: #d5c2cf; font-size: .9rem; }
.legal-footer a { color: #f0b9d2; }
.event-compliance { grid-column: 1 / -1; }
.wall-legal-link { color: var(--wall-muted); font-size: .72rem; text-decoration: underline; text-underline-offset: 3px; }

.guest-body input, .guest-body select, .guest-body textarea, .portal-body input, .portal-body select, .portal-body textarea, .regie-body input, .regie-body select, .regie-body textarea, .privacy-body input, .privacy-body select, .privacy-body textarea {
  border-color: rgb(236 193 214 / 32%);
  border-radius: 13px;
  background: rgb(16 13 18 / 58%);
}
.guest-body input:focus, .guest-body select:focus, .guest-body textarea:focus, .portal-body input:focus, .portal-body select:focus, .portal-body textarea:focus, .regie-body input:focus, .regie-body select:focus, .regie-body textarea:focus, .privacy-body input:focus, .privacy-body select:focus, .privacy-body textarea:focus { border-color: #ffd09e; box-shadow: 0 0 0 3px rgb(255 190 129 / 16%); }
.guest-body button:not(.team-card):not(.text-button), .portal-body button:not(.text-button), .regie-body button:not(.text-button), .privacy-body button:not(.text-button) { border-color: #ffd19e; background: linear-gradient(135deg, #ffd09b, #ef9cbd); box-shadow: 0 9px 22px rgb(0 0 0 / 14%); color: #34202e; transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease; }
.guest-body button:not(.team-card):not(.text-button):hover, .portal-body button:not(.text-button):hover, .regie-body button:not(.text-button):hover, .privacy-body button:not(.text-button):hover { filter: brightness(1.04); transform: translateY(-1px); box-shadow: 0 13px 28px rgb(0 0 0 / 20%); }
.guest-body .secondary-button, .portal-body .secondary-button, .regie-body .secondary-button { border-color: rgb(255 211 167 / 46%) !important; background: rgb(91 55 76 / 84%) !important; color: #fff8f7 !important; }
.guest-body .step-chip, .portal-body .step-chip, .regie-body .step-chip { border-color: rgb(255 215 172 / 38%); color: #ffdbb4; background: rgb(255 221 185 / 5%); }

.guest-hero { padding: clamp(10px, 2vw, 20px) 0 6px; }
.guest-shell .share-panel { position: relative; border-color: rgb(255 211 160 / 32%); background: linear-gradient(120deg, rgb(109 60 78 / 83%), rgb(48 34 48 / 89%)); overflow: hidden; }
.guest-shell .share-panel::after { position: absolute; top: -110px; right: 80px; width: 250px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgb(255 210 150 / 23%), transparent 68%); content: ''; pointer-events: none; }
.guest-shell .share-panel > * { position: relative; z-index: 1; }
.guest-shell .pulse-panel { border-color: rgb(255 211 160 / 16%); background: linear-gradient(145deg, rgb(49 34 48 / 76%), rgb(29 23 31 / 88%)); }
.game-signal { display: grid; gap: 3px; margin: 16px 0; padding: 15px 17px; border: 1px solid rgb(255 220 139 / 48%); border-radius: 16px; background: radial-gradient(circle at 86% 10%, rgb(255 217 102 / 19%), transparent 38%), linear-gradient(135deg, rgb(99 58 51 / 86%), rgb(43 28 43 / 92%)); box-shadow: 0 13px 32px rgb(0 0 0 / 14%); }
.game-signal p { margin: 0; color: #ffdb85; font-size: .68rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.game-signal strong { font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.28rem; letter-spacing: -.03em; }
.game-signal span { color: #ead6cf; font-size: .87rem; font-weight: 700; }
.guest-shell .pulse-button { border-color: rgb(255 211 160 / 33%) !important; background: rgb(255 213 169 / 8%) !important; box-shadow: none !important; }
.guest-shell .pulse-button:hover { background: rgb(255 213 169 / 17%) !important; }
.guest-shell .team-card { border-color: rgb(255 218 185 / 17%); border-radius: 16px; background: linear-gradient(145deg, rgb(63 44 61 / 79%), rgb(32 26 35 / 89%)); }
.guest-shell .team-card:hover, .guest-shell .team-card[data-selected="true"] { border-color: #ffd09e; box-shadow: 0 12px 24px rgb(0 0 0 / 12%); }
.guest-shell .challenge-card { position: relative; min-height: 242px; overflow: hidden; border-color: rgb(255 220 184 / 16%); border-radius: 18px; background: linear-gradient(145deg, rgb(55 39 54 / 92%), rgb(27 23 31 / 94%)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 4%); }
.guest-shell .challenge-card::before { position: absolute; top: 0; right: 0; left: 0; height: 2px; background: linear-gradient(90deg, transparent, #ffd39f, transparent); content: ''; opacity: .62; }
.guest-shell .challenge-card h3 { font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.42rem; letter-spacing: -.035em; }
.guest-shell .challenge-meta strong { color: #ffd39f; }
.guest-shell .upload-panel { border-color: rgb(255 210 155 / 32%); background: linear-gradient(145deg, rgb(78 49 63 / 90%), rgb(32 24 37 / 95%)); }
.guest-shell .file-picker { min-height: 188px; border-color: rgb(255 211 160 / 38%); background: radial-gradient(circle at 50% 15%, rgb(255 201 144 / 13%), transparent 46%), rgb(31 24 34 / 66%); }
.guest-shell .submission-progress { border-color: rgb(255 214 171 / 35%); background: linear-gradient(135deg, rgb(107 65 92 / 79%), rgb(39 29 46 / 93%)); }

.portal-shell .auth-panel { max-width: 1000px; }
.portal-shell .auth-grid { gap: 0; border: 1px solid rgb(255 222 195 / 11%); border-radius: 18px; overflow: hidden; background: rgb(16 14 19 / 20%); }
.portal-shell .auth-grid form { padding: 22px; }
.portal-shell .auth-grid form + form { border-color: rgb(255 222 195 / 13%); }
.portal-shell .auth-grid h3 { font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.35rem; letter-spacing: -.03em; }
.portal-shell .portal-welcome { border-color: rgb(255 211 160 / 28%); background: linear-gradient(130deg, rgb(91 57 73 / 89%), rgb(36 29 43 / 94%)); }
.portal-shell .event-create-form { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.portal-shell .event-create-form label:first-child, .portal-shell .event-create-form label:nth-child(5) { grid-column: span 3; }
.portal-shell .event-create-form button { min-height: 46px; }
.portal-shell .client-event-card { border-color: rgb(255 222 195 / 14%); border-radius: 17px; background: linear-gradient(145deg, rgb(54 40 55 / 74%), rgb(29 24 34 / 88%)); transition: transform 160ms ease, border-color 160ms ease; }
.portal-shell .client-event-card:hover { border-color: rgb(255 209 162 / 42%); transform: translateY(-2px); }
.portal-shell .private-access { border-color: rgb(211 232 177 / 44%); background: linear-gradient(135deg, rgb(45 99 73 / 92%), rgb(48 35 50 / 94%)); }

.regie-shell #dashboard { display: grid; gap: 18px; }
.regie-shell #dashboard > .panel { margin-bottom: 0; }
.regie-shell .stats-grid { margin-bottom: 0; }
.regie-shell .stat-card { min-height: 132px; border-color: rgb(255 221 188 / 14%); border-radius: 18px; background: linear-gradient(145deg, rgb(68 48 65 / 91%), rgb(30 29 36 / 94%)); }
.regie-shell .stat-card strong { color: #ffdbb0; }
.regie-shell .moderation-card, .regie-shell .pilot-metric, .regie-shell .challenge-admin-item, .regie-shell .recent-photo-item, .regie-shell .gallery-link-item { border-color: rgb(255 221 188 / 14%); background: rgb(18 18 24 / 46%); }
.regie-shell .moderation-card { border-radius: 17px; }
.regie-shell .moderation-preview { background: radial-gradient(circle at 45% 22%, rgb(255 204 145 / 13%), transparent 48%), #18151c; }
.regie-shell .moment-actions button { min-height: 49px; }
.regie-shell .settings-form, .regie-shell .challenge-form { gap: 16px; }

.gallery-body .gallery-shell { min-height: 100vh; padding-bottom: clamp(34px, 6vw, 78px); }
.gallery-body .wall-header { margin-bottom: clamp(28px, 4vw, 54px); }
.gallery-actions { display: flex; align-items: center; justify-content: end; flex-wrap: wrap; gap: 10px; }
.gallery-body .wall-header h1 { font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-weight: 600; letter-spacing: -.06em; }
.gallery-body .gallery-grid { gap: clamp(13px, 1.4vw, 22px); }
.gallery-body .gallery-photo { border-color: var(--wall-line); border-radius: 20px; background: rgb(25 18 24 / 88%); box-shadow: 0 16px 38px rgb(0 0 0 / 23%); }
.gallery-body .gallery-photo img { aspect-ratio: 4 / 3; transition: transform 500ms ease; }
.gallery-body .gallery-photo:hover img { transform: scale(1.025); }
.gallery-body .gallery-photo figcaption { background: linear-gradient(90deg, rgb(18 12 19 / 92%), rgb(35 22 33 / 82%)); }
.gallery-body .gallery-download { color: var(--wall-accent); }
.memory-reel { position: fixed; z-index: 20; inset: 0; display: grid; place-items: center; padding: clamp(18px, 4vw, 64px); background: rgb(9 7 13 / 92%); backdrop-filter: blur(16px); }
.memory-reel[hidden] { display: none; }
.memory-reel img { width: min(82vw, 980px); max-height: 78vh; object-fit: contain; border: 1px solid rgb(255 244 229 / 25%); border-radius: 22px; box-shadow: 0 24px 90px rgb(0 0 0 / 55%); }
.memory-reel-caption { position: absolute; bottom: clamp(24px, 5vw, 58px); left: 50%; display: grid; min-width: min(82vw, 420px); gap: 3px; padding: 13px 18px; border: 1px solid rgb(255 236 204 / 27%); border-radius: 15px; background: rgb(32 18 31 / 72%); box-shadow: 0 14px 40px rgb(0 0 0 / 30%); transform: translateX(-50%); text-align: center; }
.memory-reel-caption p { margin: 0; color: var(--wall-accent); font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.memory-reel-caption span { color: var(--wall-muted); font-size: .84rem; }
.memory-reel-close { position: absolute; z-index: 1; top: clamp(14px, 3vw, 34px); right: clamp(14px, 3vw, 34px); display: grid; width: 42px; height: 42px; place-items: center; padding: 0 !important; border-radius: 50% !important; font-size: 1.75rem !important; }
.memory-reel.is-changing img { animation: reel-photo-in 720ms cubic-bezier(.16, 1, .3, 1) both; }
@keyframes reel-photo-in { from { opacity: 0; transform: scale(.975); filter: brightness(1.22); } to { opacity: 1; transform: scale(1); filter: brightness(1); } }

@media (max-width: 850px) {
  .portal-shell .event-create-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portal-shell .event-create-form label:first-child, .portal-shell .event-create-form label:nth-child(5) { grid-column: span 2; }
}

@media (max-width: 520px) {
  .guest-shell, .portal-shell, .regie-shell, .privacy-shell { padding-top: 38px; }
  .legal-definition-list > div { grid-template-columns: 1fr; gap: 5px; }
  .guest-body h1, .portal-body h1, .regie-body h1, .privacy-body h1 { font-size: clamp(2.75rem, 14vw, 4.2rem); }
  .guest-body .panel, .portal-body .panel, .regie-body .panel, .privacy-body .panel { border-radius: 18px; }
  .portal-shell .event-create-form { grid-template-columns: 1fr; }
  .portal-shell .event-create-form label:first-child, .portal-shell .event-create-form label:nth-child(5) { grid-column: auto; }
  .portal-shell .auth-grid { border-radius: 15px; }
  .portal-shell .auth-grid form { padding: 18px; }
}

/* Commercial home — intentionally separate from the private guest journey. */
body[data-mode="marketing"] {
  background:
    radial-gradient(circle at 2% 7%, rgb(255 185 112 / 19%), transparent 31rem),
    radial-gradient(circle at 93% 5%, rgb(239 72 147 / 20%), transparent 36rem),
    radial-gradient(circle at 54% 83%, rgb(138 91 215 / 16%), transparent 38rem),
    linear-gradient(145deg, #301b31, #151117 62%);
}
body[data-mode="marketing"] .guest-shell {
  width: min(100% - 64px, 1280px);
  max-width: 1280px;
  padding-top: clamp(28px, 4vw, 58px);
  padding-bottom: clamp(42px, 7vw, 84px);
}
.marketing-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 42px;
}
.topbar-brand {
  color: #ffce95;
  font-size: .77rem;
  font-weight: 900;
  letter-spacing: .15em;
  text-decoration: none;
}
.topbar-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px 18px;
}
.topbar-actions > a {
  color: #ead5df;
  font-size: .79rem;
  font-weight: 760;
  text-decoration-color: rgb(234 213 223 / 44%);
  text-underline-offset: 4px;
}
.topbar-actions > a:hover { color: #fff4ec; }
.topbar-actions .topbar-register {
  padding: 8px 12px;
  border: 1px solid rgb(255 220 179 / 38%);
  border-radius: 999px;
  background: rgb(255 203 151 / 10%);
  color: #ffdfba;
  text-decoration: none;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.topbar-actions .topbar-register:hover {
  border-color: rgb(255 220 179 / 62%);
  background: rgb(255 203 151 / 18%);
  transform: translateY(-1px);
}
body[data-mode="marketing"] .marketing-hero {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr);
  align-items: center;
  gap: clamp(30px, 6vw, 92px);
  min-height: min(660px, calc(100vh - 86px));
  margin-bottom: clamp(48px, 7vw, 90px);
  padding: 0;
}
body[data-mode="marketing"] .marketing-hero::after { display: none; }
.brand-lockup {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  color: #ffce95;
  font-size: .77rem;
  font-weight: 900;
  letter-spacing: .15em;
  text-decoration: none;
}
body[data-mode="marketing"] .marketing-hero .brand-lockup { display: none; }
.marketing-kicker {
  margin: 0 0 12px;
  color: #f5a9d0;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body[data-mode="marketing"] h1 {
  max-width: 10.5ch;
  margin-bottom: 19px;
  color: #fff9f4;
  font-size: clamp(3.55rem, 5.55vw, 6.25rem);
  letter-spacing: -.07em;
  text-wrap: balance;
}
body[data-mode="marketing"] .lead {
  max-width: 32rem;
  color: #f0dfe5;
  font-size: clamp(1.04rem, 1.35vw, 1.24rem);
  line-height: 1.55;
}
body[data-mode="marketing"] .hero-actions { gap: 16px 21px; margin-top: 28px; }
.marketing-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 18px;
  border: 1px solid rgb(255 236 204 / 36%);
  border-radius: 999px;
  background: linear-gradient(135deg, #ffd096, #f199c1 58%, #cc72bd);
  box-shadow: 0 14px 34px rgb(225 104 153 / 19%), inset 0 1px 0 rgb(255 255 255 / 43%);
  color: #341c30;
  font-size: .93rem;
  font-weight: 900;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}
.marketing-primary span { font-size: 1.1em; transition: transform 180ms ease; }
.marketing-primary:hover { filter: saturate(1.08) brightness(1.04); box-shadow: 0 18px 44px rgb(225 104 153 / 31%), inset 0 1px 0 rgb(255 255 255 / 43%); transform: translateY(-2px); }
.marketing-primary:hover span { transform: translateX(3px); }
body[data-mode="marketing"] .hero-link {
  color: #fff3e8;
  font-size: .91rem;
  font-weight: 800;
  text-decoration-color: rgb(255 228 199 / 52%);
}
body[data-mode="marketing"] .sound-toggle { display: none; }
.marketing-reassurance {
  max-width: 34rem;
  margin: 20px 0 0;
  color: #ccb8c2;
  font-size: .78rem;
  font-weight: 650;
  letter-spacing: .015em;
  line-height: 1.5;
}
.marketing-showcase {
  position: relative;
  min-height: clamp(370px, 43vw, 570px);
  overflow: hidden;
  border: 1px solid rgb(255 231 203 / 25%);
  border-radius: clamp(26px, 3vw, 42px);
  background: #362333;
  box-shadow: 0 32px 85px rgb(5 2 8 / 40%), 0 0 0 1px rgb(255 255 255 / 4%) inset;
  isolation: isolate;
}
.marketing-showcase::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgb(36 19 37 / 44%), transparent 46%, rgb(49 17 47 / 17%));
  content: '';
  pointer-events: none;
}
.marketing-showcase img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center;
  animation: marketing-image-drift 16s ease-in-out infinite alternate;
}
.showcase-halo {
  position: absolute;
  z-index: 2;
  top: -22%;
  left: -14%;
  width: 63%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(255 213 153 / 29%), transparent 68%);
  filter: blur(2px);
  pointer-events: none;
}
.showcase-live-card, .showcase-score-card {
  position: absolute;
  z-index: 3;
  border: 1px solid rgb(255 244 228 / 30%);
  background: rgb(35 18 37 / 63%);
  box-shadow: 0 14px 35px rgb(0 0 0 / 22%), inset 0 1px 0 rgb(255 255 255 / 9%);
  backdrop-filter: blur(16px);
}
.showcase-live-card {
  bottom: 24px;
  left: 24px;
  display: grid;
  grid-template-columns: 10px auto;
  column-gap: 8px;
  align-items: center;
  min-width: min(230px, calc(100% - 48px));
  padding: 13px 15px;
  border-radius: 17px;
  animation: marketing-card-float 5.6s ease-in-out infinite;
}
.showcase-live-dot { width: 8px; height: 8px; border-radius: 50%; background: #ffd09c; box-shadow: 0 0 0 5px rgb(255 208 156 / 14%), 0 0 17px #ffbb88; }
.showcase-live-card p, .showcase-live-card strong { margin: 0; }
.showcase-live-card p { color: #ffd6b0; font-size: .69rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.showcase-live-card strong { grid-column: 2; color: #fff9f3; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.18rem; font-weight: 600; letter-spacing: -.04em; }
.showcase-score-card {
  top: 23px;
  right: 23px;
  display: grid;
  gap: 2px;
  min-width: 131px;
  padding: 12px 14px;
  border-radius: 16px;
  animation: marketing-card-float 6.7s .7s ease-in-out infinite reverse;
}
.showcase-score-card span, .showcase-score-card small { color: #f8d5e8; font-size: .69rem; font-weight: 800; }
.showcase-score-card strong { color: #fff2b8; font-size: 1.52rem; letter-spacing: -.06em; line-height: 1; }
.showcase-score-card small { color: #dfc7d5; font-weight: 600; }
.marketing-sections { display: grid; gap: clamp(52px, 8vw, 104px); }
.marketing-proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.marketing-proof-card {
  min-height: 225px;
  padding: 25px;
  border: 1px solid rgb(255 233 214 / 15%);
  border-radius: 24px;
  background: linear-gradient(145deg, rgb(78 46 67 / 74%), rgb(34 23 38 / 79%));
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 5%);
}
.proof-number { display: block; margin-bottom: 31px; color: #ffca94; font-size: .74rem; font-weight: 900; letter-spacing: .12em; }
.marketing-proof-card h2 { max-width: 12ch; margin-bottom: 9px; color: #fff7f3; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: clamp(1.37rem, 2vw, 1.72rem); font-weight: 600; letter-spacing: -.045em; line-height: 1.03; }
.marketing-proof-card p { margin: 0; color: #dac8d3; font-size: .91rem; line-height: 1.48; }
.marketing-flow {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(32px, 8vw, 120px);
  align-items: start;
  padding: clamp(30px, 5vw, 66px);
  border: 1px solid rgb(255 231 207 / 17%);
  border-radius: 32px;
  background: radial-gradient(circle at 7% 9%, rgb(255 193 134 / 15%), transparent 31%), linear-gradient(135deg, rgb(69 43 61 / 86%), rgb(29 23 37 / 90%));
  box-shadow: 0 23px 62px rgb(0 0 0 / 14%), inset 0 1px 0 rgb(255 255 255 / 5%);
}
.marketing-section-heading .panel-kicker { color: #ffd19d; }
.marketing-section-heading h2 { max-width: 12ch; margin: 0; color: #fff8f2; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: clamp(2rem, 3.7vw, 3.8rem); font-weight: 600; letter-spacing: -.06em; line-height: .96; text-wrap: balance; }
.marketing-steps { display: grid; gap: 22px; margin: 0; padding: 0; list-style: none; }
.marketing-steps li { display: grid; grid-template-columns: 39px minmax(0, 1fr); gap: 16px; align-items: start; padding-bottom: 22px; border-bottom: 1px solid rgb(255 234 214 / 13%); }
.marketing-steps li:last-child { padding-bottom: 0; border-bottom: 0; }
.marketing-steps li > span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgb(255 214 167 / 35%); border-radius: 50%; background: rgb(255 206 153 / 8%); color: #ffd5a8; font-size: .78rem; font-weight: 900; }
.marketing-steps strong { color: #fff7f4; font-size: 1.04rem; }
.marketing-steps p { max-width: 38rem; margin: 5px 0 0; color: #d9c7d3; line-height: 1.46; }
.marketing-closing {
  display: grid;
  justify-items: center;
  max-width: 810px;
  margin: 0 auto;
  padding: clamp(20px, 4vw, 40px) 20px;
  text-align: center;
}
.marketing-closing .panel-kicker { color: #ffd19d; }
.marketing-closing h2 { max-width: 15ch; margin-bottom: 14px; color: #fff9f4; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: clamp(2.35rem, 4.7vw, 4.35rem); font-weight: 600; letter-spacing: -.065em; line-height: .94; text-wrap: balance; }
.marketing-closing p:not(.panel-kicker) { max-width: 48rem; margin-bottom: 21px; color: #dac9d3; font-size: 1.02rem; line-height: 1.52; }
body[data-mode="marketing"] .landing-panel {
  display: grid;
  max-width: 810px;
  margin: 0 auto;
  padding: 24px 28px;
  border-color: rgb(255 231 207 / 14%);
  border-radius: 20px;
  background: rgb(43 29 44 / 54%);
  box-shadow: none;
  text-align: center;
}
body[data-mode="marketing"] .landing-panel .panel-kicker { margin-bottom: 7px; color: #f3b4d5; }
body[data-mode="marketing"] .landing-panel h2 { margin-bottom: 8px; color: #fff7f2; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.35rem; font-weight: 600; letter-spacing: -.035em; }
body[data-mode="marketing"] .landing-panel .hint { max-width: 46rem; margin: 0 auto; color: #cdbac6; font-size: .87rem; }
@keyframes marketing-card-float { 50% { transform: translateY(-7px); } }
@keyframes marketing-image-drift { to { transform: scale(1.035) translateX(-.65%); } }

@media (max-width: 920px) {
  body[data-mode="marketing"] .marketing-hero { grid-template-columns: 1fr; gap: 36px; min-height: 0; }
  body[data-mode="marketing"] h1 { max-width: 12ch; }
  .marketing-showcase { min-height: min(70vw, 525px); }
  .marketing-proof { grid-template-columns: 1fr; }
  .marketing-proof-card { min-height: 0; }
  .proof-number { margin-bottom: 20px; }
  .marketing-flow { grid-template-columns: 1fr; gap: 35px; }
  .marketing-section-heading h2 { max-width: 16ch; }
}
@media (max-width: 580px) {
  body[data-mode="marketing"] .guest-shell { width: min(100% - 32px, 1280px); padding-top: 23px; }
  .marketing-topbar { align-items: flex-start; gap: 13px; }
  .topbar-actions { justify-content: flex-start; gap: 8px 13px; }
  .topbar-actions > a { font-size: .74rem; }
  .topbar-actions .topbar-register { padding: 7px 10px; }
  body[data-mode="marketing"] .marketing-hero { gap: 28px; margin-bottom: 52px; }
  .marketing-kicker { margin-top: 19px; }
  body[data-mode="marketing"] h1 { max-width: 10.5ch; font-size: clamp(3.15rem, 15.3vw, 4.2rem); }
  body[data-mode="marketing"] .hero-actions { align-items: flex-start; flex-direction: column; gap: 15px; margin-top: 24px; }
  .marketing-primary { width: 100%; }
  .marketing-showcase { min-height: 350px; border-radius: 25px; }
  .marketing-showcase img { object-position: 58% center; }
  .showcase-live-card { bottom: 15px; left: 15px; }
  .showcase-score-card { top: 15px; right: 15px; }
  .marketing-flow { padding: 26px 20px; border-radius: 25px; }
  .marketing-section-heading h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .marketing-closing { padding-right: 0; padding-left: 0; }
  body[data-mode="marketing"] .landing-panel { padding: 22px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .marketing-showcase img, .showcase-live-card, .showcase-score-card { animation: none; }
  .marketing-primary, .marketing-primary span { transition: none; }
}

/* Client dashboard */
.portal-shell {
  width: min(100% - 64px, 1240px);
  max-width: 1240px;
  padding-top: clamp(26px, 4vw, 50px);
}
.portal-body .portal-hero { margin-bottom: 20px; }
.portal-body .portal-hero::after { display: none; }
.portal-body .portal-hero h1 { max-width: 16ch; margin-bottom: 10px; font-size: clamp(2.7rem, 4.35vw, 4.25rem); }
.portal-body .portal-hero .lead { max-width: 58rem; font-size: 1rem; }
.portal-body #portal {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(310px, 360px);
  gap: 16px;
  align-items: start;
}
.portal-body #portal > .panel, .portal-body #portal > .dashboard-stats, .portal-body #portal > .assistant-panel { margin: 0; }
.portal-body .portal-welcome, .portal-body .dashboard-stats, .portal-body .portal-next-action { grid-column: 1 / -1; }
.portal-shell .portal-welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 20px 24px;
  border-radius: 20px;
  background: linear-gradient(118deg, rgb(97 57 78 / 90%), rgb(35 29 43 / 94%));
}
.portal-shell .portal-welcome .panel-kicker { margin-bottom: 5px; }
.portal-shell .portal-welcome h2 { margin-bottom: 3px; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.65rem; font-weight: 600; letter-spacing: -.045em; }
.portal-shell .portal-welcome h2 span { color: #fff5ec; }
.portal-shell .portal-welcome .hint { margin: 0; font-size: .84rem; }
.dashboard-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px 15px; }
.dashboard-actions button { min-height: 42px !important; }
.dashboard-actions button span { margin-left: 5px; font-size: 1.05em; }
.portal-next-action { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; border-color: rgb(255 210 161 / 32%); background: radial-gradient(circle at 88% 4%, rgb(255 190 127 / 15%), transparent 22rem), linear-gradient(135deg, rgb(76 49 64 / 91%), rgb(30 25 39 / 94%)); }
.portal-next-action h2 { margin-bottom: 5px; color: #fff6ed; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.45rem; letter-spacing: -.045em; }
.portal-next-action .hint { max-width: 690px; margin: 0; font-size: .87rem; }
.portal-next-action-actions { display: flex; flex: 0 1 430px; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.portal-next-action-actions > * { display: inline-flex; min-height: 41px; align-items: center; justify-content: center; padding: 10px 13px; border: 1px solid #f1aace; border-radius: 11px; background: #f1aace; color: #321a2b; font-weight: 800; text-decoration: none; white-space: nowrap; }
.portal-next-action-actions .secondary-button { border-color: #8d627f !important; background: #4e3349 !important; color: #fff7fb !important; }
.dashboard-contact { color: #f6d4e5; font-size: .84rem; font-weight: 800; text-decoration-color: rgb(246 212 229 / 45%); text-underline-offset: 4px; }
.dashboard-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.dashboard-stats article {
  display: grid;
  align-content: end;
  min-height: 132px;
  padding: 19px 21px;
  border: 1px solid rgb(255 222 195 / 14%);
  border-radius: 18px;
  background: linear-gradient(145deg, rgb(66 45 64 / 85%), rgb(29 24 37 / 89%));
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 5%);
}
.dashboard-stats span { color: #eacbdc; font-size: .77rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.dashboard-stats strong { margin-top: 8px; color: #ffdbad; font-size: clamp(2rem, 3.5vw, 3rem); letter-spacing: -.065em; line-height: .9; }
.dashboard-stats small { margin-top: 8px; color: #cdbbc8; font-size: .82rem; }
.portal-body #portal > .event-create-panel, .portal-body #portal > .private-access, .portal-body #portal > .event-list-panel { grid-column: 1; }
.portal-shell .event-create-panel { padding: 24px; border-color: rgb(255 208 161 / 32%); background: radial-gradient(circle at 93% 5%, rgb(255 188 127 / 14%), transparent 25rem), linear-gradient(135deg, rgb(75 48 63 / 91%), rgb(31 25 38 / 94%)); }
.portal-shell .event-create-panel .hint { max-width: 48rem; margin-top: 2px; }
.portal-shell .event-create-panel .section-heading { align-items: center; }
.portal-shell .event-list-panel { min-height: 300px; }
.portal-shell .event-list-panel .client-event-list { gap: 11px; }
.portal-shell .event-list-panel .client-event-card { padding: 17px 18px; }
.portal-shell .event-list-panel .client-event-card h3 { font-size: 1.13rem; }
.portal-shell .event-list-panel .event-card-actions { max-width: 240px; }
.portal-shell .event-list-panel .event-card-actions button { min-height: 39px; }
.assistant-panel {
  position: sticky;
  top: 18px;
  grid-column: 2;
  grid-row: 3 / span 3;
  padding: 21px;
  overflow: hidden;
  border: 1px solid rgb(255 222 195 / 20%);
  border-radius: 23px;
  background: radial-gradient(circle at 86% 6%, rgb(255 190 129 / 22%), transparent 22rem), linear-gradient(145deg, rgb(77 45 74 / 93%), rgb(26 23 42 / 96%));
  box-shadow: 0 20px 58px rgb(0 0 0 / 19%), inset 0 1px 0 rgb(255 255 255 / 8%);
}
.assistant-heading { display: flex; align-items: center; gap: 12px; }
.assistant-heading .panel-kicker { margin-bottom: 4px; color: #ffd0a0; }
.assistant-heading h2 { margin: 0; color: #fff7f2; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.45rem; font-weight: 600; letter-spacing: -.045em; }
.assistant-orb { position: relative; display: grid; width: 43px; height: 43px; flex: 0 0 auto; place-items: center; border: 1px solid rgb(255 232 196 / 45%); border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff8dc, #ffcf97 28%, #e88cac 62%, #6f496c); box-shadow: 0 0 0 6px rgb(255 195 137 / 9%), 0 0 25px rgb(242 147 183 / 27%); }
.assistant-orb::before { position: absolute; inset: -6px; border: 1px solid rgb(255 216 173 / 32%); border-radius: inherit; content: ''; animation: assistant-orbit 3.7s linear infinite; }
.assistant-orb i { width: 12px; height: 12px; border-radius: 50%; background: rgb(255 255 255 / 77%); filter: blur(1px); }
.guide-dialogue { display: grid; max-height: 138px; gap: 9px; margin: 19px 0 14px; overflow: auto; padding-right: 3px; }
.guide-message { margin: 0; padding: 11px 12px; border: 1px solid rgb(255 228 201 / 14%); border-radius: 13px 13px 13px 4px; background: rgb(20 18 31 / 34%); color: #eedee4; font-size: .86rem; line-height: 1.46; }
.guide-message-user { justify-self: end; border-color: rgb(255 209 169 / 28%); border-radius: 13px 13px 4px 13px; background: rgb(255 199 150 / 12%); color: #fff0e4; }
.guide-context { margin: 0 0 14px; padding: 13px; border: 1px solid rgb(255 221 183 / 17%); border-radius: 15px; background: rgb(22 18 33 / 33%); }
.guide-context .panel-kicker { margin-bottom: 5px; color: #ffd0a0; }
.guide-context h3 { margin-bottom: 5px; color: #fff6ef; font-size: .98rem; letter-spacing: -.02em; }
.guide-context > p:not(.panel-kicker) { margin: 0; color: #d5c2cd; font-size: .79rem; line-height: 1.42; }
.guide-context-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 11px; }
.portal-body .guide-context-actions button, .guide-context-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 7px 10px; border: 1px solid rgb(255 216 174 / 31%); border-radius: 999px; background: rgb(255 211 168 / 8%); box-shadow: none; color: #ffe1bf; font-size: .77rem; font-weight: 800; text-decoration: none; }
.guide-context-actions a { text-decoration: underline; text-decoration-color: rgb(255 225 193 / 44%); text-underline-offset: 3px; }
.guide-setup { margin: 0 0 15px; padding: 14px; border: 1px solid rgb(255 206 153 / 25%); border-radius: 16px; background: radial-gradient(circle at 91% 12%, rgb(255 196 130 / 13%), transparent 35%), rgb(35 25 40 / 42%); }
.guide-setup .panel-kicker { margin-bottom: 5px; color: #ffd09b; }
.guide-setup h3 { margin-bottom: 5px; color: #fff4ec; font-size: 1rem; letter-spacing: -.02em; }
.guide-setup > p:not(.panel-kicker) { margin: 0; color: #d8c5cf; font-size: .8rem; line-height: 1.42; }
.guide-setup-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 12px; }
.guide-setup-actions > button:first-child { min-height: 37px; padding: 8px 11px; font-size: .78rem; }
.guide-setup-actions .text-button { color: #f1c5dc; font-size: .77rem; }
.guide-quiz { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgb(255 228 201 / 14%); }
.guide-quiz-progress { margin: 0 0 9px; color: #ffd2a0; font-size: .69rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.guide-quiz fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.guide-quiz legend { color: #fff6ef; font-size: .98rem; font-weight: 850; line-height: 1.2; }
.guide-quiz fieldset > p { margin: 5px 0 10px; color: #d4bfcb; font-size: .78rem; line-height: 1.4; }
.guide-quiz-choices { display: grid; gap: 7px; }
.guide-quiz-choice { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 8px; align-items: start; padding: 9px 10px; border: 1px solid rgb(255 226 203 / 14%); border-radius: 12px; background: rgb(18 16 27 / 32%); cursor: pointer; }
.guide-quiz-choice:hover, .guide-quiz-choice[data-selected="true"] { border-color: rgb(255 205 157 / 51%); background: rgb(255 202 159 / 10%); }
.guide-quiz-choice input { width: 15px; height: 15px; margin: 2px 0 0; accent-color: #f1a5bd; }
.guide-quiz-choice strong, .guide-quiz-choice small { display: block; }
.guide-quiz-choice strong { color: #f8e5d9; font-size: .79rem; }
.guide-quiz-choice small { margin-top: 2px; color: #cbb8c5; font-size: .72rem; line-height: 1.28; }
.guide-quiz-actions { display: flex; justify-content: space-between; gap: 10px; margin-top: 12px; }
.guide-quiz-actions .text-button { color: #f0c4db; font-size: .77rem; }
.guide-quiz-actions > button:last-child { min-height: 36px; padding: 8px 11px; font-size: .78rem; }
.guide-quiz-result { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgb(255 228 201 / 14%); }
.guide-quiz-result .panel-kicker { margin-bottom: 5px; color: #ffd09b; }
.guide-quiz-result h3 { margin-bottom: 6px; color: #fff5ed; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.2rem; letter-spacing: -.04em; }
.guide-quiz-result > p:not(.panel-kicker) { margin: 0; color: #dac6d0; font-size: .8rem; line-height: 1.42; }
.guide-tool-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.guide-tool-list span { padding: 5px 7px; border: 1px solid rgb(255 214 171 / 25%); border-radius: 999px; background: rgb(255 211 168 / 8%); color: #ffe1bf; font-size: .69rem; font-weight: 800; }
.guide-highlight { position: relative; z-index: 2; border-radius: 14px; outline: 2px solid #ffd19e; outline-offset: 5px; box-shadow: 0 0 0 7px rgb(255 207 154 / 13%), 0 0 42px rgb(255 185 125 / 18%); animation: guide-highlight-pulse 1.7s ease-in-out infinite; }
.guide-coachmark { position: relative; z-index: 3; display: grid; gap: 5px; margin: 14px 0 18px; padding: 13px; border: 1px solid rgb(255 212 166 / 47%); border-radius: 15px; background: linear-gradient(135deg, rgb(102 58 74 / 96%), rgb(37 29 47 / 97%)); box-shadow: 0 16px 40px rgb(0 0 0 / 27%), 0 0 0 5px rgb(255 209 161 / 8%); color: #fff5eb; }
.guide-coachmark::before { position: absolute; top: -7px; left: 23px; width: 12px; height: 12px; border-top: 1px solid rgb(255 212 166 / 47%); border-left: 1px solid rgb(255 212 166 / 47%); background: #633a4a; content: ''; transform: rotate(45deg); }
.guide-coachmark p { margin: 0; color: #ffd4a3; font-size: .66rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.guide-coachmark strong { font-size: .89rem; }
.guide-coachmark > span { color: #ead6df; font-size: .79rem; line-height: 1.4; }
.guide-coachmark > div { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-top: 5px; }
.guide-coachmark button { min-height: 33px; padding: 7px 10px; font-size: .75rem; }
.guide-coachmark .text-button { color: #f7cde0; }
@keyframes guide-highlight-pulse { 0%, 100% { box-shadow: 0 0 0 7px rgb(255 207 154 / 10%), 0 0 31px rgb(255 185 125 / 14%); } 50% { box-shadow: 0 0 0 10px rgb(255 207 154 / 18%), 0 0 48px rgb(255 185 125 / 23%); } }
.guide-choices { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 13px; }
.portal-body .guide-choices button {
  min-height: 34px;
  padding: 7px 10px;
  border-color: rgb(255 218 176 / 28%);
  border-radius: 999px;
  background: rgb(255 217 176 / 7%);
  box-shadow: none;
  color: #fee3c7;
  font-size: .77rem;
  font-weight: 800;
}
.portal-body .guide-choices button[data-active="true"] { border-color: #ffd09b; background: linear-gradient(135deg, #ffd09b, #ef9cbd); color: #372032; }
.guide-prompt-form { display: grid; gap: 8px; }
.guide-prompt-form textarea { min-height: 68px; padding: 10px 11px; font-size: .84rem; line-height: 1.35; }
.portal-body .guide-send { width: 100%; min-height: 39px; padding: 9px 12px; font-size: .82rem; }
.guide-recipe { margin-top: 16px; padding-top: 16px; border-top: 1px solid rgb(255 228 201 / 14%); }
.guide-recipe .panel-kicker { margin-bottom: 6px; color: #ffd0a0; }
.guide-recipe h3 { margin-bottom: 7px; color: #fff7ef; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.3rem; letter-spacing: -.04em; }
.guide-recipe > p:not(.panel-kicker) { margin-bottom: 12px; color: #dac9d4; font-size: .84rem; line-height: 1.45; }
.guide-recipe ul { display: grid; gap: 7px; margin: 0 0 14px; padding: 0; list-style: none; }
.guide-recipe li { padding: 9px 10px; border: 1px solid rgb(255 231 208 / 12%); border-radius: 11px; background: rgb(22 17 29 / 29%); }
.guide-recipe li strong, .guide-recipe li span { display: block; }
.guide-recipe li strong { color: #ffe4bc; font-size: .8rem; }
.guide-recipe li span { margin-top: 3px; color: #d3c0ca; font-size: .74rem; line-height: 1.32; }
.guide-event-name-label { display: grid; gap: 6px; margin: 0 0 10px; color: #e9d2de; font-size: .78rem; font-weight: 800; }
.guide-event-name-label input { min-height: 39px; padding: 9px 10px; font-size: .82rem; }
.guide-recipe-actions { display: grid; gap: 9px; }
.guide-recipe-actions > button:first-child { width: 100%; min-height: 42px; font-size: .84rem; }
.guide-recipe-actions .text-button { justify-self: start; color: #f4c4df; font-size: .79rem; }
.guide-recipe small { display: block; margin-top: 10px; color: #c7b3c2; font-size: .72rem; line-height: 1.38; }
.guide-confirm { margin-top: 15px; padding: 13px; border: 1px solid rgb(255 207 157 / 35%); border-radius: 15px; background: linear-gradient(135deg, rgb(105 61 73 / 87%), rgb(46 32 49 / 93%)); }
.guide-confirm .panel-kicker { margin-bottom: 6px; color: #ffdaa6; }
.guide-confirm > p:not(.panel-kicker) { margin-bottom: 12px; color: #fff0e5; font-size: .82rem; line-height: 1.43; }
.guide-confirm > div { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.guide-confirm > div > button:first-child { min-height: 38px; padding: 9px 11px; font-size: .78rem; }
.guide-confirm .text-button { color: #f5d1e4; font-size: .78rem; }
.portal-body #privacy-admin-panel { grid-column: 1 / -1; }
@keyframes assistant-orbit { to { transform: rotate(360deg); } }

@media (max-width: 960px) {
  .portal-shell { width: min(100% - 40px, 1240px); }
  .portal-body #portal { grid-template-columns: 1fr; }
  .portal-body .portal-welcome, .portal-body .dashboard-stats, .portal-body .portal-next-action, .portal-body #portal > .event-create-panel, .portal-body #portal > .private-access, .portal-body #portal > .event-list-panel, .portal-body #privacy-admin-panel { grid-column: auto; }
  .assistant-panel { position: relative; top: auto; grid-column: auto; grid-row: auto; }
  .guide-dialogue { max-height: none; }
}
@media (max-width: 620px) {
  .portal-shell { width: min(100% - 28px, 1240px); padding-top: 28px; }
  .portal-body .portal-hero h1 { max-width: 11ch; font-size: clamp(2.55rem, 13vw, 3.65rem); }
  .portal-shell .portal-welcome { align-items: flex-start; flex-direction: column; padding: 19px; }
  .portal-next-action, .showtime-panel { align-items: flex-start; flex-direction: column; padding: 19px; }
  .portal-next-action-actions, .showtime-actions { justify-content: flex-start; }
  .dashboard-actions { justify-content: flex-start; }
  .dashboard-stats { grid-template-columns: 1fr; }
  .dashboard-stats article { min-height: 104px; }
  .portal-shell .event-create-panel { padding: 19px; }
  .portal-shell .event-list-panel .client-event-card { align-items: flex-start; flex-direction: column; }
  .portal-shell .event-list-panel .event-card-actions { justify-content: flex-start; max-width: none; }
  .assistant-panel { padding: 19px; border-radius: 19px; }
}

/* Public interactive showcase. It intentionally exposes only the guest and wall paths. */
.showcase-body {
  background:
    radial-gradient(circle at 5% 0%, rgb(255 190 114 / 18%), transparent 29rem),
    radial-gradient(circle at 92% 13%, rgb(235 83 157 / 22%), transparent 33rem),
    linear-gradient(145deg, #2e1b30, #121116 64%);
}
.showcase-shell { width: min(100% - 64px, 1280px); margin: 0 auto; padding: clamp(28px, 4vw, 58px) 0 clamp(48px, 8vw, 96px); }
.showcase-hero { display: grid; grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr); align-items: center; gap: clamp(30px, 6vw, 94px); min-height: min(670px, calc(100vh - 84px)); padding: clamp(32px, 5vw, 72px) 0; }
.showcase-hero h1 { max-width: 10.5ch; margin: 0 0 19px; color: #fff9f4; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: clamp(3.6rem, 5.8vw, 6.35rem); font-weight: 600; letter-spacing: -.075em; line-height: .91; text-wrap: balance; }
.showcase-hero .marketing-kicker { display: flex; align-items: center; gap: 10px; color: #ffd09b; }
.showcase-hero .lead { max-width: 35rem; color: #eddae4; font-size: clamp(1.06rem, 1.32vw, 1.23rem); }
.showcase-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 15px 20px; margin-top: 28px; }
.showcase-actions .hero-link { margin: 0; }
.showcase-live-preview { position: relative; min-height: clamp(380px, 44vw, 570px); overflow: hidden; border: 1px solid rgb(255 234 207 / 26%); border-radius: clamp(26px, 3vw, 42px); background: #362333; box-shadow: 0 32px 90px rgb(5 2 8 / 42%), 0 0 0 1px rgb(255 255 255 / 4%) inset; }
.showcase-live-preview::after { position: absolute; inset: 0; background: linear-gradient(100deg, rgb(32 14 32 / 46%), transparent 48%, rgb(65 14 57 / 21%)); content: ''; pointer-events: none; }
.showcase-live-preview img { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: center; animation: marketing-image-drift 16s ease-in-out infinite alternate; }
.showcase-preview-overlay, .showcase-preview-score { position: absolute; z-index: 1; border: 1px solid rgb(255 243 225 / 30%); background: rgb(34 17 37 / 65%); box-shadow: 0 14px 35px rgb(0 0 0 / 22%), inset 0 1px 0 rgb(255 255 255 / 9%); backdrop-filter: blur(16px); }
.showcase-preview-overlay { bottom: 24px; left: 24px; display: grid; gap: 3px; max-width: min(300px, calc(100% - 48px)); padding: 14px 16px; border-radius: 17px; }
.showcase-preview-overlay p { margin: 0; color: #ffd4a5; font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.showcase-preview-overlay strong { color: #fff9f4; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.22rem; font-weight: 600; letter-spacing: -.035em; }
.showcase-preview-overlay span { color: #e4cad7; font-size: .76rem; font-weight: 700; }
.showcase-preview-score { top: 24px; right: 24px; display: grid; gap: 2px; min-width: 145px; padding: 13px 15px; border-radius: 16px; }
.showcase-preview-score span, .showcase-preview-score small { color: #f7d1e3; font-size: .69rem; font-weight: 800; }
.showcase-preview-score strong { color: #fff0bd; font-size: 1.45rem; letter-spacing: -.06em; }
.showcase-progression { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: center; gap: 10px; margin: 12px 0 clamp(36px, 5vw, 72px); color: #cdbac6; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.showcase-progression span { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.showcase-progression span::before { width: 8px; height: 8px; border: 1px solid #a27595; border-radius: 50%; content: ''; }
.showcase-progression .is-active { color: #ffdcad; }
.showcase-progression .is-active::before { border-color: #ffd19a; background: #ffd19a; box-shadow: 0 0 14px rgb(255 202 142 / 62%); }
.showcase-progression i { height: 1px; background: linear-gradient(90deg, rgb(255 216 175 / 35%), rgb(245 157 201 / 12%)); }
.showcase-routes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.showcase-route-card { position: relative; display: flex; min-height: 318px; flex-direction: column; overflow: hidden; padding: 25px; border: 1px solid rgb(255 232 212 / 17%); border-radius: 25px; background: linear-gradient(145deg, rgb(84 50 72 / 82%), rgb(28 21 36 / 88%)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 5%); }
.showcase-route-card::after { position: absolute; right: -44px; bottom: -58px; width: 172px; height: 172px; border-radius: 50%; background: radial-gradient(circle, rgb(255 195 136 / 17%), transparent 68%); content: ''; pointer-events: none; }
.showcase-route-wall { background: radial-gradient(circle at 85% 10%, rgb(239 87 171 / 18%), transparent 23rem), linear-gradient(145deg, rgb(72 42 74 / 84%), rgb(26 20 38 / 91%)); }
.showcase-route-regie { background: radial-gradient(circle at 90% 0%, rgb(255 191 123 / 17%), transparent 20rem), linear-gradient(145deg, rgb(67 50 70 / 84%), rgb(25 22 35 / 91%)); }
.showcase-route-card .panel-kicker { color: #ffc993; }
.showcase-route-number { margin: 9px 0 20px; color: rgb(255 242 225 / 22%); font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 4rem; font-weight: 600; letter-spacing: -.08em; line-height: .6; }
.showcase-route-card h2 { max-width: 13ch; margin: 0 0 10px; color: #fff8f2; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: clamp(1.55rem, 2.1vw, 2rem); font-weight: 600; letter-spacing: -.055em; line-height: .98; }
.showcase-route-card p:not(.panel-kicker) { max-width: 29rem; margin: 0; color: #dbc9d4; font-size: .9rem; line-height: 1.5; }
.showcase-route-card p strong { color: #ffdeae; font-size: 1.05em; }
.showcase-route-link { position: relative; z-index: 1; margin-top: auto; padding-top: 22px; color: #ffe2bc; font-size: .88rem; font-weight: 900; text-decoration-color: rgb(255 226 188 / 52%); text-underline-offset: 5px; }
.showcase-route-link span { display: inline-block; margin-left: 5px; transition: transform 180ms ease; }
.showcase-route-link:hover span { transform: translateX(4px); }
.showcase-console { margin-top: clamp(52px, 8vw, 104px); padding: clamp(24px, 4vw, 48px); border: 1px solid rgb(255 227 203 / 19%); border-radius: 32px; background: radial-gradient(circle at 92% 8%, rgb(244 155 194 / 16%), transparent 26rem), linear-gradient(135deg, rgb(65 43 62 / 93%), rgb(25 21 35 / 95%)); box-shadow: 0 25px 66px rgb(0 0 0 / 16%), inset 0 1px 0 rgb(255 255 255 / 5%); }
.showcase-console-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 26px; }
.showcase-console-header .panel-kicker { color: #ffd29f; }
.showcase-console-header h2 { max-width: 18ch; margin: 0 0 10px; color: #fff8f2; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: clamp(2rem, 3.6vw, 3.6rem); font-weight: 600; letter-spacing: -.065em; line-height: .95; }
.showcase-console-header p:not(.panel-kicker) { max-width: 46rem; margin: 0; color: #dbc9d3; line-height: 1.52; }
.showcase-read-only { flex: 0 0 auto; padding: 8px 11px; border: 1px solid rgb(255 218 174 / 35%); border-radius: 999px; background: rgb(255 211 162 / 9%); color: #ffdcad; font-size: .71rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.showcase-console-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: 16px; margin-top: 28px; }
.showcase-console-main, .showcase-console-aside { padding: 19px; border: 1px solid rgb(255 228 207 / 15%); border-radius: 20px; background: rgb(20 17 30 / 38%); }
.showcase-console-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.showcase-console-stats article { display: grid; gap: 5px; min-height: 110px; padding: 14px; border: 1px solid rgb(255 225 205 / 13%); border-radius: 14px; background: linear-gradient(145deg, rgb(98 54 79 / 45%), rgb(25 21 35 / 52%)); }
.showcase-console-stats span { color: #f1b5d3; font-size: .65rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.showcase-console-stats strong { color: #fff0c8; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 2rem; letter-spacing: -.06em; line-height: 1; }
.showcase-console-stats small { color: #cdbac6; font-size: .73rem; font-weight: 700; }
.showcase-next-action { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 12px; padding: 18px; border: 1px solid rgb(255 210 163 / 28%); border-radius: 17px; background: radial-gradient(circle at 96% 0%, rgb(255 188 121 / 18%), transparent 18rem), rgb(53 35 54 / 74%); }
.showcase-next-action .panel-kicker { margin-bottom: 5px; color: #ffd29e; }
.showcase-next-action h3 { margin: 0 0 5px; color: #fff5ed; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.4rem; font-weight: 600; letter-spacing: -.045em; }
.showcase-next-action p:not(.panel-kicker) { max-width: 35rem; margin: 0; color: #dac6d1; font-size: .85rem; line-height: 1.45; }
.showcase-console-actions { display: flex; flex: 0 1 380px; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.showcase-console-actions button { min-height: 42px; }
.showcase-console-actions button span { margin-left: 3px; font-size: 1.05em; }
.showcase-console-links { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; margin-top: 14px; }
.showcase-console-links .hero-link { margin: 0; }
.showcase-console-feedback { min-height: 1.3rem; margin: 13px 0 0; color: #d4c1ce; font-size: .78rem; font-weight: 750; line-height: 1.4; }
.showcase-console-aside .panel-kicker { color: #f3b5d5; }
.showcase-console-aside h3 { margin: 0 0 13px; color: #fff5ed; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.4rem; font-weight: 600; letter-spacing: -.045em; }
.showcase-console-aside ul { display: grid; gap: 10px; margin: 0 0 15px; padding: 0; list-style: none; }
.showcase-console-aside li { display: flex; align-items: center; gap: 9px; color: #ead9e4; font-size: .86rem; font-weight: 750; }
.showcase-console-aside li span { display: grid; width: 19px; height: 19px; place-items: center; border: 1px solid rgb(140 222 171 / 54%); border-radius: 50%; background: rgb(104 187 133 / 17%); color: #c9f4d4; font-size: .72rem; }
.showcase-console-aside p:not(.panel-kicker) { margin: 0; color: #cbb9c5; font-size: .8rem; line-height: 1.45; }
.showcase-story { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(30px, 7vw, 110px); align-items: center; margin-top: clamp(52px, 8vw, 106px); padding: clamp(30px, 5vw, 60px); border: 1px solid rgb(255 232 212 / 17%); border-radius: 32px; background: radial-gradient(circle at 4% 9%, rgb(255 194 133 / 15%), transparent 29rem), linear-gradient(135deg, rgb(67 42 60 / 86%), rgb(28 23 38 / 93%)); }
.showcase-story .panel-kicker { color: #ffd29f; }
.showcase-story h2, .showcase-closing h2 { max-width: 13ch; margin: 0 0 13px; color: #fff9f4; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: clamp(2.1rem, 3.8vw, 3.9rem); font-weight: 600; letter-spacing: -.065em; line-height: .94; }
.showcase-story > div > p:not(.panel-kicker) { max-width: 38rem; margin: 0; color: #dac7d3; line-height: 1.55; }
.showcase-role-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.showcase-role-list article { display: grid; gap: 6px; min-height: 114px; padding: 16px; border: 1px solid rgb(255 229 205 / 15%); border-radius: 17px; background: rgb(24 19 32 / 47%); }
.showcase-role-list span { color: #ffc993; font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.showcase-role-list strong { color: #fdf4ee; font-size: .96rem; line-height: 1.3; }
.showcase-closing { display: grid; justify-items: center; max-width: 860px; margin: clamp(58px, 9vw, 126px) auto 0; padding: 20px; text-align: center; }
.showcase-closing .panel-kicker { color: #ffd19d; }
.showcase-closing h2 { max-width: 15ch; }
.showcase-closing .showcase-actions { justify-content: center; margin-top: 9px; }
@media (max-width: 920px) {
  .showcase-hero, .showcase-story { grid-template-columns: 1fr; gap: 36px; min-height: 0; }
  .showcase-hero { padding-top: 48px; }
  .showcase-live-preview { min-height: min(70vw, 525px); }
  .showcase-routes { grid-template-columns: 1fr; }
  .showcase-route-card { min-height: 270px; }
  .showcase-console-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .showcase-shell { width: min(100% - 32px, 1280px); padding-top: 23px; }
  .showcase-hero { padding: 45px 0 28px; }
  .showcase-hero h1 { font-size: clamp(3.1rem, 15vw, 4.2rem); }
  .showcase-actions { align-items: flex-start; flex-direction: column; }
  .showcase-actions .marketing-primary { width: 100%; }
  .showcase-live-preview { min-height: 350px; border-radius: 25px; }
  .showcase-preview-overlay { bottom: 15px; left: 15px; }
  .showcase-preview-score { top: 15px; right: 15px; }
  .showcase-progression { grid-template-columns: 1fr; justify-items: start; gap: 9px; margin: 24px 0 46px; }
  .showcase-progression i { display: none; }
  .showcase-role-list { grid-template-columns: 1fr; }
  .showcase-console { padding: 26px 20px; border-radius: 25px; }
  .showcase-console-header, .showcase-next-action { align-items: flex-start; flex-direction: column; }
  .showcase-read-only { white-space: normal; }
  .showcase-console-stats { grid-template-columns: 1fr; }
  .showcase-console-actions { justify-content: flex-start; }
  .showcase-console-actions button { width: 100%; }
  .showcase-story { padding: 26px 20px; border-radius: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .showcase-live-preview img { animation: none; }
  .showcase-route-link span { transition: none; }
}

/* Jubiqo Studio: professional workspace and partner acquisition. */
.studio-body { min-height: 100vh; background: radial-gradient(circle at 8% 4%, rgb(255 178 117 / 18%), transparent 28rem), radial-gradient(circle at 90% 12%, rgb(210 113 173 / 14%), transparent 27rem), #141017; }
.studio-shell { width: min(100% - 48px, 1240px); padding-top: 22px; }
.studio-hero { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: clamp(28px, 6vw, 84px); align-items: center; padding: 74px 0 58px; }
.studio-hero h1 { max-width: 12ch; margin: 10px 0 16px; color: #fff7f0; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: clamp(3rem, 6vw, 5.6rem); line-height: .91; letter-spacing: -.075em; }
.studio-hero .lead { max-width: 650px; color: #e9d7e0; }
.studio-hero-card { position: relative; overflow: hidden; padding: 29px; border: 1px solid rgb(255 214 178 / 40%); border-radius: 26px; background: linear-gradient(145deg, rgb(99 48 79 / 88%), rgb(39 27 50 / 94%)); box-shadow: 0 22px 65px rgb(0 0 0 / 30%); }
.studio-hero-card::after { position: absolute; top: -90px; right: -75px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgb(255 214 161 / 38%), transparent 67%); content: ''; pointer-events: none; }
.studio-hero-card .panel-kicker { color: #ffd39f; }
.studio-hero-card strong { position: relative; display: block; margin: 7px 0 22px; color: #fff6ed; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: clamp(1.7rem, 2.8vw, 2.45rem); line-height: .96; letter-spacing: -.055em; }
.studio-hero-card ul { position: relative; display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; color: #eedde7; font-size: .91rem; line-height: 1.35; }
.studio-hero-card li { display: flex; gap: 9px; align-items: center; }
.studio-hero-card li::before { width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(135deg, #ffd19d, #ee98bd); box-shadow: 0 0 15px rgb(255 198 146 / 62%); content: ''; }
.studio-value-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 26px; }
.studio-value-grid article { min-height: 180px; padding: 22px; border: 1px solid rgb(255 222 193 / 16%); border-radius: 20px; background: rgb(44 29 43 / 62%); }
.studio-value-grid span { display: block; margin-bottom: 26px; color: #f0a4bf; font-size: .7rem; font-weight: 900; letter-spacing: .14em; }
.studio-value-grid h2 { margin: 0 0 7px; color: #fff3e9; font-size: 1.12rem; letter-spacing: -.035em; }
.studio-value-grid p { margin: 0; color: #cfbdc8; font-size: .87rem; line-height: 1.5; }
.studio-workspace { margin-bottom: 26px; }
.studio-workspace > .hint { max-width: 700px; margin-top: -7px; }
.studio-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.studio-form label { display: grid; gap: 7px; min-width: 0; color: #ebd2de; font-size: .78rem; font-weight: 850; }
.studio-form label > span { color: #bfaeb9; font-weight: 650; }
.studio-form input, .studio-form select, .studio-form textarea { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid rgb(255 215 182 / 25%); border-radius: 11px; background: rgb(17 13 23 / 66%); color: #fff0e8; font: inherit; }
.studio-form textarea { min-height: 88px; resize: vertical; }
.studio-form button { align-self: end; min-height: 42px; }
.studio-form .checkbox-label { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 9px; color: #d8c4ce; font-size: .8rem; font-weight: 650; }
.studio-form .checkbox-label input { width: 17px; min-height: 17px; height: 17px; margin: 1px 0 0; accent-color: #ef9fbe; }
.studio-form .form-legal { grid-column: 1 / -1; margin: -4px 0 0; color: #bdaab8; font-size: .72rem; line-height: 1.4; }
.studio-form .form-legal a { color: #f0b9d2; }
.studio-template-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.studio-event-form { grid-template-columns: 1.2fr 1fr .9fr auto; }
.studio-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 24px 0 14px; }
.studio-next-action { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 14px; padding: 17px; border: 1px solid rgb(255 211 169 / 30%); border-radius: 17px; background: radial-gradient(circle at 88% 10%, rgb(255 190 122 / 15%), transparent 20rem), rgb(51 34 51 / 68%); }
.studio-next-action .panel-kicker { margin-bottom: 5px; color: #ffd19d; }
.studio-next-action h3 { margin: 0 0 4px; color: #fff5ed; font-size: 1.12rem; }
.studio-next-action p:not(.panel-kicker) { max-width: 700px; margin: 0; color: #d6c2cd; font-size: .82rem; line-height: 1.4; }
.studio-next-action > div:last-child { display: flex; flex: 0 0 auto; }
.studio-next-action button { min-height: 41px; }
.studio-metrics article, .quality-grid article { display: grid; gap: 5px; min-height: 112px; padding: 16px; border: 1px solid rgb(255 220 189 / 18%); border-radius: 16px; background: linear-gradient(145deg, rgb(92 51 70 / 44%), rgb(24 18 31 / 68%)); }
.studio-metrics span, .quality-grid span { color: #f2b1c9; font-size: .69rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.studio-metrics strong, .quality-grid strong { color: #fff2e9; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: 1.85rem; letter-spacing: -.055em; }
.studio-metrics small, .quality-grid small { color: #cdbac5; font-size: .76rem; line-height: 1.35; }
.studio-organization-list, .studio-template-list, .studio-lead-list { display: grid; gap: 10px; }
.studio-organization-card, .studio-template-card, .studio-lead-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px; border: 1px solid rgb(255 220 189 / 17%); border-radius: 16px; background: rgb(24 18 31 / 46%); }
.studio-organization-card .panel-kicker, .studio-lead-card .panel-kicker { margin-bottom: 5px; color: #f2afc8; }
.studio-organization-card h3, .studio-template-card h4, .studio-lead-card h4 { margin: 0; color: #fff3eb; font-size: 1rem; letter-spacing: -.025em; }
.studio-organization-card p, .studio-template-card p, .studio-lead-card p { margin: 5px 0 0; color: #cbb9c4; font-size: .79rem; }
.studio-organization-card > span { flex: 0 0 auto; padding: 6px 8px; border: 1px solid rgb(255 211 169 / 31%); border-radius: 999px; color: #ffe0bd; font-size: .68rem; font-weight: 850; }
.studio-template-card .text-button { flex: 0 0 auto; color: #f4bdd5; }
.studio-section { margin-top: 28px; padding-top: 23px; border-top: 1px solid rgb(255 223 201 / 14%); }
.studio-section h3 { margin: 2px 0 0; color: #fff5ed; font-size: 1.36rem; letter-spacing: -.045em; }
.studio-event-result { margin-top: 13px; padding: 13px; border: 1px solid rgb(145 230 177 / 45%); border-radius: 14px; background: rgb(54 137 91 / 14%); color: #e2ffeb; font-size: .87rem; }
.studio-event-result a { color: #fff0c9; font-weight: 850; }
.quality-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.quality-grid article { min-height: 128px; }
.quality-grid strong { font-size: 1.4rem; }
.studio-lead-card { align-items: flex-start; }
.studio-lead-card small { display: block; max-width: 700px; margin-top: 7px; color: #d6c3cd; font-size: .79rem; line-height: 1.45; }
.studio-lead-card select { flex: 0 0 128px; min-height: 36px; padding: 7px; border: 1px solid rgb(255 216 180 / 26%); border-radius: 9px; background: #251c2c; color: #fff0e9; font: inherit; font-size: .76rem; }
.studio-lead { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 28px; align-items: start; margin-bottom: 40px; }
.studio-lead h2 { margin: 7px 0 10px; color: #fff5ed; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: clamp(2rem, 3.4vw, 3rem); line-height: .96; letter-spacing: -.06em; }
.studio-lead .studio-form { margin-top: 0; }
.studio-lead .studio-message-field { grid-column: 1 / -1; }
.studio-lead .studio-form button { grid-column: 1 / -1; justify-self: start; min-width: 190px; }
@media (max-width: 960px) {
  .studio-hero, .studio-lead { grid-template-columns: 1fr; }
  .studio-value-grid { grid-template-columns: 1fr; }
  .studio-form, .studio-template-form, .studio-event-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .studio-event-form button { grid-column: auto; }
  .quality-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .studio-shell { width: min(100% - 28px, 1240px); }
  .studio-hero { padding: 46px 0 38px; }
  .studio-hero h1 { font-size: clamp(3rem, 14vw, 4.4rem); }
  .studio-hero-card, .studio-workspace, .studio-lead { padding: 19px; }
  .studio-form, .studio-template-form, .studio-event-form, .studio-metrics, .quality-grid { grid-template-columns: 1fr; }
  .studio-event-form button { grid-column: auto; }
  .studio-organization-card, .studio-template-card, .studio-lead-card { align-items: flex-start; flex-direction: column; }
  .studio-next-action { align-items: flex-start; flex-direction: column; }
  .studio-lead-card select { width: 100%; flex-basis: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .guide-highlight { animation: none; }
  .assistant-orb::before { animation: none; }
}

.language-switcher {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #f3d4e4;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.language-switcher select {
  min-height: 32px;
  max-width: 130px;
  padding: 5px 24px 5px 9px;
  border: 1px solid rgb(255 215 180 / 34%);
  border-radius: 999px;
  background: rgb(43 29 45 / 78%);
  color: #fff1e8;
  font: inherit;
  letter-spacing: normal;
  text-transform: none;
}
.capture-network-status {
  margin: 11px 0 0;
  padding: 10px 12px;
  border: 1px solid rgb(255 211 164 / 28%);
  border-radius: 12px;
  background: rgb(255 211 164 / 8%);
  color: #ffe5c8;
  font-size: .84rem;
  line-height: 1.4;
}
.capture-network-status[data-tone="success"] { border-color: rgb(151 236 184 / 48%); background: rgb(75 184 126 / 14%); color: #d9ffe5; }
.capture-network-status[data-tone="warning"] { border-color: rgb(255 202 119 / 48%); background: rgb(196 130 45 / 13%); color: #ffe8bc; }
.show-cue-form { display: grid; grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr)); gap: 11px; align-items: end; margin-top: 16px; }
.show-cue-form label { display: grid; gap: 6px; color: #ecd2de; font-size: .76rem; font-weight: 800; }
.show-cue-form button { min-height: 42px; }
.show-cue-list { display: grid; gap: 8px; margin-top: 14px; }
.show-cue-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 13px; border: 1px solid rgb(255 223 202 / 14%); border-radius: 14px; background: rgb(22 17 29 / 28%); }
.show-cue-item > div { display: grid; gap: 4px; min-width: 0; }
.show-cue-item strong, .show-cue-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.show-cue-item strong { color: #fff3eb; font-size: .9rem; }
.show-cue-item small { color: #cfbdc8; font-size: .77rem; }
.afterglow-story { display: grid; grid-template-columns: minmax(190px, .75fr) minmax(0, 1.25fr); gap: 20px; align-items: center; margin: 0 auto 24px; padding: 20px; border: 1px solid rgb(255 221 183 / 22%); border-radius: 22px; background: radial-gradient(circle at 7% 15%, rgb(255 196 131 / 15%), transparent 22rem), rgb(29 21 37 / 74%); }
.afterglow-story h2 { margin: 2px 0 7px; color: #fff4eb; font-family: Iowan Old Style, Palatino Linotype, Georgia, ui-serif, serif; font-size: clamp(1.3rem, 2.5vw, 2rem); letter-spacing: -.045em; }
.afterglow-story p:not(.panel-kicker) { margin: 0; color: #d7c3ce; font-size: .86rem; line-height: 1.45; }
.afterglow-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.afterglow-card { position: relative; min-height: 112px; overflow: hidden; padding: 0; border: 1px solid rgb(255 229 204 / 18%); border-radius: 14px; background: #211725; cursor: pointer; }
.afterglow-card img { width: 100%; height: 100%; min-height: 112px; object-fit: cover; transition: transform .35s ease; }
.afterglow-card:hover img, .afterglow-card:focus-visible img { transform: scale(1.06); }
.afterglow-card span { position: absolute; right: 0; bottom: 0; left: 0; padding: 20px 8px 7px; background: linear-gradient(transparent, rgb(15 10 17 / 83%)); color: #fff5ef; font-size: .7rem; font-weight: 850; text-align: left; }
.studio-invitation-banner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1rem 0; padding: 1rem 1.1rem; border: 1px solid rgb(255 201 119 / 60%); border-radius: 1rem; background: linear-gradient(120deg, rgb(255 201 119 / 18%), rgb(231 117 171 / 16%)); }
.studio-invitation-banner strong { display: block; max-width: 58rem; }
.studio-brand-form, .studio-invite-form { margin-top: 1rem; }
.studio-member-list, .studio-invitation-list { display: grid; gap: .6rem; margin-top: 1rem; }
.studio-member-card, .studio-invitation-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem .9rem; border: 1px solid rgb(255 231 239 / 14%); border-radius: .85rem; background: rgb(17 10 20 / 35%); }
.studio-member-card strong, .studio-invitation-card strong, .studio-member-card small, .studio-invitation-card small { display: block; }
.studio-member-card small, .studio-invitation-card small { margin-top: .2rem; color: #cdbac5; }
.has-partner-brand .marketing-kicker, .wall-shell.has-partner-brand .eyebrow { color: var(--jubiqo-partner-accent, #f0a4bf); }
.has-partner-brand .brand-lockup { color: var(--jubiqo-partner-accent, #ffc977); }
@media (max-width: 620px) {
  .language-switcher > span { display: none; }
  .language-switcher select { max-width: 110px; }
  .show-cue-form { grid-template-columns: 1fr; }
  .show-cue-item { align-items: flex-start; flex-direction: column; }
  .afterglow-story { grid-template-columns: 1fr; padding: 17px; }
  .afterglow-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .studio-invitation-banner, .studio-member-card, .studio-invitation-card { align-items: flex-start; flex-direction: column; }
}
