#zrg-gra {
  --zrg-ink: #21152e;
  --zrg-gold: #ffcf79;
  --zrg-pink: #ffcae2;
  max-width: 740px;
  margin: 24px auto;
  padding: 36px 30px;
  border-radius: 24px;
  color: #f7f4fb;
  background: linear-gradient(135deg, #21152e, #302542 55%, #443052);
  box-shadow: 0 12px 40px #0002;
  font-family: inherit;
  text-align: center;
  overflow-wrap: anywhere;
}
#zrg-gra *, #zrg-gra *::before, #zrg-gra *::after { box-sizing: border-box; }
#zrg-gra [hidden] { display: none !important; }
#zrg-gra .zrg-kicker { margin: 0 0 12px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #edc4f1; font-weight: 700; }
#zrg-gra h2 { color: #fff; margin: 12px 0 18px; font-size: clamp(26px, 5vw, 39px); line-height: 1.2; }
#zrg-gra h3 { color: #ffe29d; margin: 20px 0 12px; font-size: clamp(21px, 4vw, 26px); line-height: 1.3; }
#zrg-gra p { color: #eee4f3; line-height: 1.65; }
#zrg-gra .zrg-small { font-size: 13px; }
#zrg-gra .zrg-scope { padding: 12px 16px; border-radius: 12px; background: #ffffff0c; text-align: center; font-size: 14px; }
#zrg-gra .zrg-form { max-width: 420px; margin: 25px auto; text-align: center; }
#zrg-gra label { display: block; margin: 0 0 7px; font-weight: 700; color: #fff; }
#zrg-gra input { width: 100%; min-height: 50px; padding: 13px 15px; font-family: inherit; font-size: 17px; border-radius: 12px; border: 2px solid transparent; background: #fff; color: #1b1320; }
#zrg-gra input::placeholder { color: #645c69; opacity: 1; }
#zrg-gra input:focus, #zrg-gra button:focus-visible, #zrg-gra a:focus-visible { outline: 3px solid var(--zrg-pink); outline-offset: 3px; }
#zrg-gra .zrg-hint { margin: 7px 0 16px; font-size: 13px; }
#zrg-gra button { min-height: 46px; padding: 12px 20px; border: 1px solid transparent; border-radius: 12px; background: var(--zrg-gold); color: var(--zrg-ink); font-family: inherit; font-size: 16px; font-weight: 750; line-height: 1.35; cursor: pointer; }
#zrg-gra .zrg-form button { display: block; width: 100%; margin-top: 14px; }
#zrg-gra button:hover { filter: brightness(1.08); }
#zrg-gra button:disabled { opacity: .65; cursor: wait; }
#zrg-gra .zrg-secondary { background: transparent; border-color: #ffffff70; color: #fff; }
#zrg-gra .zrg-danger { color: #ffdce4; background: transparent; border: 1px solid #f1a3b870; font-size: 13px; }
#zrg-gra .zrg-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin: 16px 0; }
#zrg-gra .zrg-panel { padding: 18px; margin: 22px 0; border: 1px solid #ffffff45; border-radius: 16px; text-align: left; }
#zrg-gra .zrg-invite-link { display: block; padding: 12px; background: #ffffff0c; border-radius: 9px; color: #ffe29d; font-size: 14px; overflow-wrap: anywhere; user-select: all; }
#zrg-gra .zrg-players { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0; padding: 0; list-style: none; }
#zrg-gra .zrg-player { padding: 16px 12px; border: 1px solid #ffffff40; border-radius: 14px; background: #ffffff08; }
#zrg-gra .zrg-player-role { display: block; color: #edc4f1; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
#zrg-gra .zrg-player-name { display: block; margin: 8px 0; font-size: 20px; font-weight: 750; color: #fff; }
#zrg-gra .zrg-player-presence { font-size: 12px; color: #e1d6e7; }
#zrg-gra .zrg-player-presence[data-online="true"] { color: #c4edc3; }
#zrg-gra .zrg-message { margin: 18px 0 0; min-height: 1.65em; color: #ffe29d; font-size: 14px; }
#zrg-gra .zrg-message[data-error="true"] { color: #ffdce4; }
#zrg-gra .zrg-footer { border-top: 1px solid #ffffff25; margin-top: 24px; padding-top: 12px; }
@media (max-width: 600px) {
  #zrg-gra { padding: 28px 18px; border-radius: 20px; }
  #zrg-gra .zrg-players { grid-template-columns: 1fr; }
  #zrg-gra .zrg-actions button { flex: 1 1 135px; }
  #zrg-gra .zrg-panel { padding: 14px; }
}
@media (prefers-reduced-motion: no-preference) {
  #zrg-gra button { transition: filter .12s ease; }
}

/* Free game: responsive scenes, deliberate confirmation and restrained motion. */
#zrg-gra { max-width: 900px; position: relative; isolation: isolate; border: 1px solid #e5c0e82e; background: radial-gradient(ellipse at 8% 0%, #68427455, transparent 52%), linear-gradient(150deg, #181326, #2b1d38 65%, #3d2945); }
#zrg-gra .zrg-hero-art { width: min(320px, 100%); height: auto; margin: 0 auto -16px; display: block; }
#zrg-gra .zrg-welcome-art { width: 190px; max-width: 100%; height: auto; display: block; margin: -10px auto -14px; }
#zrg-gra .zrg-player-progress { display: block; margin-top: 6px; color: #ffdfab; font-weight: 700; font-size: 13px; }
#zrg-gra .zrg-player-status { display: block; color: #ecd3ef; font-size: 12px; font-weight: 600; margin: 7px 0; }
#zrg-gra .zrg-player-status[data-state="waiting"] { color: #ffe2ac; }
#zrg-gra .zrg-player-status[data-state="finished"] { color: #c4edc3; }
#zrg-gra .zrg-player-meter { display: block; width: 100%; height: 5px; margin: 10px 0; accent-color: #ffcf79; }
#zrg-gra .zrg-status-freshness { font-size: 11px; margin: -7px 0 10px; color: #d6c5dc; }
#zrg-gra .zrg-invite-label { max-width: none; margin: 12px 0 8px; font-size: 13px; }
#zrg-gra .zrg-invite-field { display: block; box-sizing: border-box; width: 100%; max-width: none; padding: 13px; resize: vertical; border: 1px solid #e5bcea66; border-radius: 12px; color: #ffe2ac; background: #171123; font-size: 14px; line-height: 1.6; font-family: ui-monospace, monospace; overflow-wrap: anywhere; }
#zrg-gra .zrg-invite-field:focus { outline: 3px solid #ffcae2; outline-offset: 2px; }
#zrg-gra .zrg-share-email { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 20px; border: 1px solid #ffffff70; border-radius: 12px; color: white; text-decoration: none; font-size: 16px; font-weight: 600; line-height: 1.35; }
#zrg-gra .zrg-share-feedback { min-height: 24px; color: #ffdfab; font-size: 14px; }
#zrg-gra .zrg-share-feedback[data-error="true"] { color: #ffdce4; }
#zrg-gra .zrg-game-area { scroll-margin-top: 24px; margin: 26px 0; }
#zrg-gra .zrg-room-tools { margin-top: 24px; padding: 16px; border-top: 1px solid #ffffff25; color: #e5cce8; }
#zrg-gra .zrg-room-tools > summary { cursor: pointer; font-size: 13px; min-height: 30px; line-height: 1.7; }
#zrg-gra .zrg-room-tools[open] > summary { margin-bottom: 14px; }
#zrg-gra .zrg-game-intro { max-width: 520px; margin: 0 auto 20px; }
#zrg-gra .zrg-scene { position: relative; background: linear-gradient(135deg, #ffffff0d, #ffffff04); border: 1px solid #eac0ec38; border-radius: 22px; padding: 30px; text-align: left; }
#zrg-gra .zrg-scene > h3 { margin-top: 15px; font-size: clamp(25px, 4vw, 34px); letter-spacing: -.025em; }
#zrg-gra .zrg-scene-caption { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
#zrg-gra .zrg-scene-caption h3 { margin: 0; font-size: clamp(25px, 4vw, 34px); letter-spacing: -.025em; }
#zrg-gra .zrg-scene-art { width: 100px; height: auto; flex: 0 0 100px; }
#zrg-gra .zrg-scene > button:not(.zrg-text-button) { display: block; margin: 20px auto 0; }
#zrg-gra .zrg-scene-top { display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
#zrg-gra .zrg-pill { display: inline-block; padding: 6px 12px; border: 1px solid #ffcf7940; background: #ffcf7910; border-radius: 100px; font-size: 12px; font-weight: 700; color: #ffdfab; }
#zrg-gra .zrg-step-label { font-size: 12px; color: #ebc3e8; font-weight: 600; letter-spacing: .04em; }
#zrg-gra .zrg-progress { display: block; width: 100%; height: 5px; margin: 18px 0 24px; appearance: none; border: 0; border-radius: 8px; overflow: hidden; background: #ffffff18; }
#zrg-gra .zrg-progress::-webkit-progress-bar { background: #ffffff18; }
#zrg-gra .zrg-progress::-webkit-progress-value { background: linear-gradient(90deg, #d6a1e1, #ffcf79); border-radius: 8px; }
#zrg-gra .zrg-progress::-moz-progress-bar { background: linear-gradient(90deg, #d6a1e1, #ffcf79); }
#zrg-gra .zrg-situation { font-size: 18px; line-height: 1.7; color: #f4eaf6; }
#zrg-gra .zrg-prompt { color: #ffe2ac; font-size: 20px; font-weight: 700; margin-top: 24px; }
#zrg-gra .zrg-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
#zrg-gra .zrg-choice { display: flex; align-items: center; gap: 13px; width: 100%; min-height: 100px; padding: 18px; margin: 0; background: #ffffff06; color: #f7f1f9; border: 1px solid #dcbbe642; border-radius: 16px; text-align: left; font-weight: 500; box-shadow: 0 3px 12px #00000008; }
#zrg-gra .zrg-choice-letter { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid #e6c5e54d; border-radius: 11px; color: #ebc8ef; background: #ffffff06; font-size: 13px; font-weight: 700; }
#zrg-gra .zrg-choice-text { flex: 1; line-height: 1.5; }
#zrg-gra .zrg-choice-check { visibility: hidden; color: #ffdfab; }
#zrg-gra .zrg-choice[aria-pressed="true"] { border-color: #ffd38f; background: linear-gradient(125deg, #ffcf7917, #e9aaef12); box-shadow: 0 0 0 1px #ffd38f33, 0 6px 25px #00000012; }
#zrg-gra .zrg-choice[aria-pressed="true"] .zrg-choice-letter { background: #ffcf79; color: #25162b; border-color: #ffcf79; }
#zrg-gra .zrg-choice[aria-pressed="true"] .zrg-choice-check { visibility: visible; }
#zrg-gra .zrg-choice-hint { color: #e0d0e6; font-size: 13px; min-height: 2em; margin: 16px 0 4px; text-align: center; }
#zrg-gra .zrg-next { width: 100%; min-height: 54px; box-shadow: 0 4px 18px #ffcf7915; }
#zrg-gra .zrg-scene-nav { margin-top: 14px; text-align: center; }
#zrg-gra .zrg-text-button { background: transparent; color: #edd2ed; padding: 8px; min-height: 44px; font-size: 13px; }
#zrg-gra .zrg-narrator { padding: 14px 18px; border-left: 2px solid #e2b0dc; border-radius: 0 12px 12px 0; background: #dfa8eb0a; color: #ead6ee; font-size: 14px; }
#zrg-gra .zrg-consent { display: flex; align-items: flex-start; gap: 12px; max-width: none; margin: 24px 0; padding: 16px; border: 1px solid #dcc0e13a; border-radius: 12px; font-size: 14px; font-weight: 400; line-height: 1.6; }
#zrg-gra .zrg-consent input { width: 22px; height: 22px; min-height: 22px; padding: 0; flex: 0 0 22px; margin: 3px 0 0; accent-color: #ffcf79; }
#zrg-gra .zrg-review-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#zrg-gra .zrg-review-item { padding: 14px; background: #ffffff05; border: 1px solid #ffffff25; border-radius: 12px; }
#zrg-gra .zrg-review-item p { margin: 8px 0; font-size: 13px; }
#zrg-gra .zrg-review-item button { min-height: 44px; font-size: 13px; padding: 8px 14px; }
#zrg-gra .zrg-score-orbit { margin: 28px auto; width: 210px; height: 210px; border-radius: 50%; border: 1px solid #eec2e24d; outline: 1px solid #ffcf7930; outline-offset: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: radial-gradient(circle at 35% 25%, #8a52883d, #ffd98708); box-shadow: 0 0 60px #e5a8db12; }
#zrg-gra .zrg-score-orbit strong { font-size: 56px; letter-spacing: -.05em; color: #ffdfab; line-height: 1.2; }
#zrg-gra .zrg-score-orbit span { font-size: 12px; color: #ecd9ef; }
#zrg-gra .zrg-result-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
#zrg-gra .zrg-result-stats p { background: #ffffff08; border-radius: 12px; padding: 14px; font-size: 14px; }
#zrg-gra h4 { color: #f3dbef; margin: 30px 0 18px; font-size: 21px; }
#zrg-gra .zrg-comparison { margin: 10px 0; border: 1px solid #ffffff30; border-radius: 14px; padding: 16px; }
#zrg-gra .zrg-comparison summary { cursor: pointer; color: #f9e5f6; font-weight: 600; line-height: 1.5; min-height: 30px; }
#zrg-gra .zrg-comparison-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 18px 0; font-size: 13px; color: #f0e2f3; }
#zrg-gra .zrg-comparison-table caption { text-align: left; font-weight: 700; margin-bottom: 10px; color: #ffdfab; }
#zrg-gra .zrg-comparison-table th, #zrg-gra .zrg-comparison-table td { padding: 10px 6px; border: 1px solid #ffffff26; vertical-align: top; overflow-wrap: anywhere; }
#zrg-gra .zrg-comparison-table thead th { background: #ffffff08; font-weight: 600; }
#zrg-gra .zrg-comparison-table th:first-child { width: 21%; }
#zrg-gra .zrg-pill-small { font-size: 13px; color: #ffe2ac; }
#zrg-gra .zrg-discussion { font-size: 14px; }
#zrg-gra[data-mode="play"] .zrg-main-title { font-size: 25px; margin-bottom: 10px; }
#zrg-gra[data-mode="play"] .zrg-players { gap: 10px; margin: 16px 0; grid-template-columns: 1fr 1fr; }
#zrg-gra[data-mode="play"] .zrg-player { padding: 12px; }
#zrg-gra[data-mode="play"] .zrg-player-name { font-size: 17px; margin: 5px 0; }
#zrg-gra[data-mode="play"] .zrg-player-presence { font-size: 11px; }
#zrg-gra[data-mode="play"] [data-zrg-room-heading], #zrg-gra[data-mode="play"] .zrg-role-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (hover: hover) {
  #zrg-gra .zrg-choice:hover { border-color: #f2c8ef99; background-color: #ffffff0c; }
}
@media (max-width: 600px) {
  #zrg-gra { margin: 16px auto; padding: 24px 14px; }
  #zrg-gra .zrg-scene { padding: 22px 16px; border-radius: 18px; }
  #zrg-gra .zrg-choice-grid { grid-template-columns: 1fr; gap: 10px; }
  #zrg-gra .zrg-choice { min-height: 76px; padding: 14px 12px; font-size: 15px; }
  #zrg-gra .zrg-choice-letter { flex-basis: 30px; width: 30px; height: 30px; }
  #zrg-gra .zrg-situation { font-size: 16px; }
  #zrg-gra .zrg-prompt { font-size: 18px; }
  #zrg-gra .zrg-next { font-size: 15px; padding: 14px 10px; }
  #zrg-gra .zrg-review-list, #zrg-gra .zrg-result-stats { grid-template-columns: 1fr; }
  #zrg-gra .zrg-player-progress { font-size: 11px; }
  #zrg-gra[data-mode="play"] .zrg-main-title { font-size: 20px; margin: 8px 0; }
  #zrg-gra[data-mode="play"] .zrg-kicker { font-size: 9px; margin-bottom: 6px; }
  #zrg-gra[data-mode="play"] .zrg-player { padding: 9px 6px; }
  #zrg-gra[data-mode="play"] .zrg-player-name { font-size: 15px; margin: 3px 0; }
  #zrg-gra[data-mode="play"] .zrg-player-role { font-size: 9px; }
  #zrg-gra[data-mode="play"] .zrg-player-presence { font-size: 10px; }
  #zrg-gra .zrg-scene-art { width: 70px; flex-basis: 70px; }
  #zrg-gra .zrg-comparison { padding: 12px; }
  #zrg-gra .zrg-comparison-table { font-size: 12px; }
}
@media (prefers-reduced-motion: no-preference) {
  #zrg-gra .zrg-scene { animation: zrg-enter .28s ease-out both; }
  #zrg-gra .zrg-choice { transition: transform .16s ease, border-color .16s ease, background-color .16s ease; }
  #zrg-gra .zrg-choice:active { transform: scale(.985); }
  #zrg-gra .zrg-hero-art { animation: zrg-float 3s ease-in-out 1; }
  @keyframes zrg-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes zrg-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
}
@media (prefers-reduced-motion: reduce) {
  #zrg-gra *, #zrg-gra *::before, #zrg-gra *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Adult premium: independent checkout, consent and private/shared report surfaces. */
#zrg-gra .zrg-premium-entry { margin: 30px 0; padding-top: 20px; border-top: 1px solid #e6bee62b; }
#zrg-gra .zrg-premium-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 22px 0; }
#zrg-gra .zrg-premium-card { position: relative; padding: 22px; border: 1px solid #e4c0e445; border-radius: 20px; background: radial-gradient(circle at 100% 0, #b484c52b, transparent 55%), #ffffff04; }
#zrg-gra .zrg-premium-symbol { display: block; font-size: 45px; color: #ffdfab; line-height: 1.2; margin-bottom: 12px; }
#zrg-gra .zrg-premium-card h4 { margin: 18px 0 12px; font-size: 23px; }
#zrg-gra .zrg-premium-card p { font-size: 14px; }
#zrg-gra .zrg-premium-card button { width: 100%; }
#zrg-gra .zrg-premium-price { color: #ffe2ac; font-weight: 700; }
#zrg-gra .zrg-premium-panel { text-align: left; }
#zrg-gra .zrg-premium-panel > h3 { font-size: clamp(25px,4vw,36px); color: #ffe2ac; margin-top: 18px; }
#zrg-gra .zrg-premium-panel > .zrg-text-button { display: block; margin: 0 0 16px; }
#zrg-gra .zrg-premium-panel > button:not(.zrg-text-button) { display: block; margin: 18px auto; }
#zrg-gra .zrg-premium-players { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 22px 0; }
#zrg-gra .zrg-premium-player { padding: 14px; border: 1px solid #ffffff30; border-radius: 14px; background: #ffffff05; }
#zrg-gra .zrg-premium-player p { margin: 7px 0; font-size: 12px; }
#zrg-gra .zrg-premium-player .zrg-premium-progress { color: #ffdfab; font-weight: 700; }
#zrg-gra .zrg-premium-message { min-height: 1.5em; color: #ffe2ac; font-size: 14px; }
#zrg-gra .zrg-premium-message[data-error="true"] { color: #ffdce4; padding: 12px; border: 1px solid #eb9fba55; border-radius: 10px; }
#zrg-gra .zrg-visibility { display: inline-block; font-size: 12px; padding: 7px 10px; border-radius: 30px; background: #ffffff0a; color: #e3cce9; margin: 10px; }
#zrg-gra .zrg-visibility.private { background: #d4a3e41c; border: 1px solid #e5b4e14a; }
#zrg-gra .zrg-scale-grid { display: grid; grid-template-columns: repeat(10,minmax(0,1fr)); gap: 6px; margin-top: 20px; }
#zrg-gra .zrg-scale-choice { min-width: 0; min-height: 48px; padding: 10px 3px; background: #ffffff08; color: #f7edf7; border: 1px solid #e2b9e34a; }
#zrg-gra .zrg-scale-choice[aria-pressed="true"], #zrg-gra .zrg-importance button[aria-pressed="true"] { background: #ffcf79; color: #21152e; border-color: #ffcf79; }
#zrg-gra .zrg-scale-anchors { display: flex; justify-content: space-between; gap: 14px; margin: 12px 0 24px; color: #e2cfe6; font-size: 12px; }
#zrg-gra .zrg-importance-label { font-weight: 700; font-size: 14px; }
#zrg-gra .zrg-importance { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 20px; }
#zrg-gra .zrg-importance button { min-height: 44px; padding: 10px 14px; font-size: 13px; background: #ffffff08; color: #f1e3f3; border: 1px solid #e3c0e34a; }
#zrg-gra .zrg-premium-save, #zrg-gra .zrg-premium-confirm, #zrg-gra .zrg-premium-pay, #zrg-gra .zrg-premium-finish { width: 100%; min-height: 54px; }
#zrg-gra .zrg-paid-label { color: #d0edc4; padding: 12px; border: 1px solid #c5e8c33a; border-radius: 12px; font-weight: 600; font-size: 14px; }
#zrg-gra .zrg-premium-review { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
#zrg-gra .zrg-premium-review .zrg-review-item { font-size: 13px; }
#zrg-gra .zrg-premium-overall { padding: 24px; margin: 20px 0; border: 1px solid #ffd48e50; background: radial-gradient(ellipse at 0 0,#ffcf7914,transparent 80%); border-radius: 16px; text-align: center; }
#zrg-gra .zrg-premium-overall span { display: block; font-size: 13px; color: #edd7ee; }
#zrg-gra .zrg-premium-overall strong { display: block; font-size: 48px; line-height: 1.4; color: #ffdfab; }
#zrg-gra .zrg-premium-domains { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0; }
#zrg-gra .zrg-premium-domains > div { padding: 15px; background: #ffffff07; border: 1px solid #ffffff25; border-radius: 12px; }
#zrg-gra .zrg-premium-domains strong { font-size: 14px; }
#zrg-gra .zrg-premium-domains p { color: #ffdfab; font-size: 25px; font-weight: 700; margin: 8px 0; }
#zrg-gra .zrg-private-aggregate { padding: 20px; background: #d4a2df0c; border: 1px solid #dcb5e442; border-radius: 16px; margin: 20px 0; }
#zrg-gra .zrg-private-aggregate h4 { margin-top: 0; }
#zrg-gra .zrg-private-aggregate > strong { font-size: 32px; color: #efc7e9; }
#zrg-gra .zrg-boundary-notice { padding: 16px; color: #ffe1b1; border: 1px solid #ffcf7955; border-radius: 12px; font-size: 14px; }
#zrg-gra .zrg-private-report { margin: 24px 0; border: 1px solid #e1b9e34d; border-radius: 14px; padding: 16px; }
#zrg-gra .zrg-private-report summary { cursor: pointer; color: #e8c4ec; font-weight: 700; }
#zrg-gra .zrg-own-answer, #zrg-gra .zrg-shared-answer { padding: 16px 0; border-top: 1px solid #ffffff20; }
#zrg-gra .zrg-own-answer strong, #zrg-gra .zrg-shared-answer strong { font-size: 14px; }
#zrg-gra .zrg-own-answer p, #zrg-gra .zrg-shared-answer p { font-size: 14px; }
#zrg-gra[data-stage="premium"] .zrg-players, #zrg-gra[data-stage="premium"] .zrg-status-freshness { display: none; }
@media(max-width:600px) {
  #zrg-gra .zrg-premium-cards, #zrg-gra .zrg-premium-review { grid-template-columns: 1fr; }
  #zrg-gra .zrg-scale-grid { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
  #zrg-gra .zrg-premium-card { padding: 18px; }
  #zrg-gra .zrg-premium-players { gap: 8px; }
  #zrg-gra .zrg-premium-player { padding: 10px; }
  #zrg-gra .zrg-premium-domains { gap: 8px; }
}
@media(prefers-reduced-motion:no-preference) {
  #zrg-gra .zrg-premium-panel { animation: zrg-enter .25s ease-out both; }
}

#zrg-gra .zrg-premium-domains .zrg-domain-description, #zrg-gra .zrg-premium-domains .zrg-domain-conversation { color: #ead9ee; font-size: 13px; font-weight: 400; line-height: 1.65; }
#zrg-gra .zrg-premium-domains .zrg-domain-conversation { padding-top: 12px; border-top: 1px solid #ffffff25; color: #f1ddbb; }
@media(max-width:600px) { #zrg-gra .zrg-premium-domains { grid-template-columns: 1fr; } }

#zrg-gra[data-entry="premium"] .zrg-player-progress, #zrg-gra[data-entry="premium"] .zrg-player-meter { display:none; }
#zrg-gra .zrg-catalog-link { color:#ffdfab; display:inline-block; padding:14px; }

/* Local symbolic photographic artwork, integrated with the game panels. */
#zrg-gra .zrg-card-art, #zrg-gra .zrg-premium-art, #zrg-gra .zrg-result-art, #zrg-gra .zrg-entry-art { display:block; width:100%; max-width:100%; height:auto; object-fit:cover; object-position:center; border:1px solid #e9bde42e; border-radius:16px; background:#24172e; }
#zrg-gra .zrg-card-art { aspect-ratio:16/9; margin:0 0 20px; }
#zrg-gra .zrg-premium-art, #zrg-gra .zrg-result-art { aspect-ratio:16/7; margin:16px 0 24px; }
#zrg-gra .zrg-premium-art.zrg-question-art { aspect-ratio:16/4; max-height:160px; }
#zrg-gra .zrg-entry-art { aspect-ratio:16/7; max-height:260px; margin:16px auto 24px; }
@media(max-width:600px) { #zrg-gra .zrg-premium-art, #zrg-gra .zrg-result-art { aspect-ratio:16/9; } #zrg-gra .zrg-premium-art.zrg-question-art { aspect-ratio:16/6; max-height:130px; } }

#zrg-gra .zrg-premium-waiting { margin:24px 0; padding:24px; border:1px solid #f3d58380; border-radius:16px; background:linear-gradient(135deg,#f3d58318,#bb8cdd12); }
#zrg-gra .zrg-premium-waiting h4 { color:#ffe2ac; margin:0 0 12px; }
#zrg-gra .zrg-premium-waiting:focus { outline:2px solid #f3d583; outline-offset:4px; }

/* Quiet ambient light behind the game, never over controls or text. */
#zrg-gra {
  overflow:hidden;
  background:radial-gradient(ellipse at 0 0,#51305266,transparent 50%),linear-gradient(155deg,#13182e 0%,#251b37 48%,#3b2441 100%);
}
#zrg-gra::before {
  content:""; position:absolute; inset:8%; z-index:-1; pointer-events:none;
  border-radius:inherit; opacity:.7;
  background:radial-gradient(ellipse 60% 24% at 5% 18%,#aa78c02b,transparent 75%),radial-gradient(ellipse 55% 20% at 95% 60%,#e6b36a20,transparent 75%),radial-gradient(ellipse 50% 20% at 35% 90%,#776cce24,transparent 75%);
}
@keyframes zrg-ambient-light {
  0% { transform:translate(-3%,-2%) scale(1.04); opacity:.5; }
  100% { transform:translate(3%,3%) scale(1.1); opacity:.85; }
}
@media(prefers-reduced-motion:no-preference) {
  #zrg-gra::before { animation:zrg-ambient-light 24s ease-in-out infinite alternate; }
}
@media(prefers-reduced-motion:reduce) {
  #zrg-gra::before { animation:none; transform:none; }
}

/* Clear rules and varied answer controls. */
#zrg-gra .zrg-game-help, #zrg-gra .zrg-mini-challenge { margin:18px 0; padding:16px 18px; border:1px solid #e9c7e647; border-radius:16px; background:#17172880; }
#zrg-gra .zrg-game-help summary, #zrg-gra .zrg-mini-challenge summary, #zrg-gra .zrg-precise-scale summary { cursor:pointer; color:#ffdfab; font-weight:700; }
#zrg-gra .zrg-game-help p { font-size:14px; line-height:1.75; }
#zrg-gra .zrg-mini-challenge { border-color:#ffcf7970; background:linear-gradient(135deg,#dfab6c13,#8e6bd31c); }
#zrg-gra .zrg-challenge-result { padding:12px 0; font-size:15px; line-height:1.8; }
#zrg-gra .zrg-question-domain { color:#cbb1e3; font-size:13px; letter-spacing:.03em; }
#zrg-gra .zrg-word-scale { grid-template-columns:repeat(5,minmax(0,1fr)); }
#zrg-gra .zrg-word-scale button { padding:14px 8px; min-height:80px; }
#zrg-gra .zrg-word-scale strong, #zrg-gra .zrg-word-scale span { display:block; }
#zrg-gra .zrg-word-scale strong { font-size:20px; margin-bottom:6px; }
#zrg-gra .zrg-word-scale span { font-size:12px; font-weight:500; }
#zrg-gra input[type="range"] { accent-color:#ffcf79; background:transparent; min-height:48px; padding:0; cursor:pointer; }
#zrg-gra .zrg-slider-output { padding:14px; border-radius:12px; border:1px solid #ffcf7950; color:#ffe2ac; text-align:center; }
#zrg-gra .zrg-importance-label { margin-top:28px; }
#zrg-gra .zrg-report-start, #zrg-gra .zrg-finish-waiting, #zrg-gra .zrg-question-title { scroll-margin-top:85px; }
#zrg-gra .zrg-report-section-title { margin:36px 0 18px; padding-top:24px; border-top:1px solid #ffffff30; }
#zrg-gra .zrg-premium-domains { gap:18px; align-items:start; }
#zrg-gra .zrg-premium-domains > div { padding:22px; border-radius:18px; background:#141526b3; }
#zrg-gra .zrg-premium-domains > div > strong { display:block; font-size:18px; line-height:1.45; color:#fff1d8; }
#zrg-gra .zrg-premium-domains .zrg-domain-score { color:#ffdfab; font-size:32px; margin:14px 0; }
#zrg-gra .zrg-premium-domains .zrg-domain-description, #zrg-gra .zrg-premium-domains .zrg-domain-conversation { color:#e8dfed; font-size:15px; font-weight:400; line-height:1.8; margin:12px 0; }
#zrg-gra .zrg-premium-domains .zrg-conversation-label { color:#e5c9ee; font-size:13px; margin-top:20px; }
#zrg-gra .zrg-private-aggregate p, #zrg-gra .zrg-narrator { line-height:1.8; }
@media(max-width:600px) { #zrg-gra .zrg-word-scale { grid-template-columns:repeat(2,minmax(0,1fr)); } #zrg-gra .zrg-premium-domains { grid-template-columns:1fr; } }
#zrg-gra .zrg-newsletter-offer { margin:32px 0; padding:24px; border:1px solid #ffcf7970; border-radius:18px; background:linear-gradient(135deg,#af7d491c,#9362a324); text-align:left; }
#zrg-gra .zrg-newsletter-offer h4 { color:#ffe2ac; margin:0 0 12px; }
#zrg-gra .zrg-newsletter-link { display:inline-block; padding:14px 18px; margin-top:12px; border-radius:12px; background:#ffcf79; color:#21152e; text-decoration:none; font-weight:700; }

/* Free game uses its own sun-and-moon artwork, matching the catalog. */
#zrg-gra .zrg-free-art { display:block; object-fit:cover; border:1px solid #f3d58355; border-radius:18px; }
#zrg-gra .zrg-hero-art.zrg-free-art { width:100%; max-width:680px; height:auto; aspect-ratio:16/10; max-height:390px; margin:20px auto 28px; object-position:center; box-shadow:0 12px 30px #0003; }
#zrg-gra .zrg-welcome-art.zrg-free-art { width:100%; max-width:600px; height:auto; aspect-ratio:16/8; margin:0 auto 24px; }
#zrg-gra[data-stage="free"] .zrg-scene-caption { flex-direction:column; align-items:stretch; gap:18px; }
#zrg-gra .zrg-scene-art.zrg-free-art { width:100%; height:clamp(105px,18vw,180px); flex:none; object-position:50% 42%; }
@keyframes zrg-free-art-float { from { transform:translateY(0); } to { transform:translateY(-5px); } }
@media(prefers-reduced-motion:no-preference) {
  #zrg-gra .zrg-hero-art.zrg-free-art { animation:zrg-free-art-float 6s ease-in-out infinite alternate; }
}
@media(prefers-reduced-motion:reduce) {
  #zrg-gra .zrg-hero-art.zrg-free-art { animation:none!important; transform:none; }
}
@media(max-width:600px) {
  #zrg-gra .zrg-hero-art.zrg-free-art { margin:16px auto 22px; border-radius:14px; }
  #zrg-gra .zrg-scene-art.zrg-free-art { max-height:130px; }
}

/* Center introductory labels and helper copy in every game entry form. */
#zrg-gra .zrg-form label, #zrg-gra .zrg-form input, #zrg-gra .zrg-form .zrg-hint { text-align:center; }

/* Keep the range track visible independently of the theme's input styles. */
#zrg-gra .zrg-slider-frame { border:1px solid #e5bd75; border-radius:14px; padding:10px 16px 12px; margin:12px 0; background:#ffffff08; }
#zrg-gra .zrg-slider-frame input[type="range"] { appearance:none; -webkit-appearance:none; width:100%; height:44px; min-height:44px; margin:0; padding:0; border:0; box-shadow:none; background:transparent; }
#zrg-gra .zrg-slider-frame input[type="range"]::-webkit-slider-runnable-track { height:10px; border:1px solid #ffdc93; border-radius:999px; background:#675473; }
#zrg-gra .zrg-slider-frame input[type="range"]::-moz-range-track { height:10px; border:1px solid #ffdc93; border-radius:999px; background:#675473; }
#zrg-gra .zrg-slider-frame input[type="range"]::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:26px; height:26px; margin-top:-9px; border:2px solid #fff0c7; border-radius:50%; background:#f5ce78; box-shadow:0 2px 8px #0006; }
#zrg-gra .zrg-slider-frame input[type="range"]::-moz-range-thumb { width:24px; height:24px; border:2px solid #fff0c7; border-radius:50%; background:#f5ce78; box-shadow:0 2px 8px #0006; }
#zrg-gra .zrg-slider-frame input[type="range"]:focus-visible { outline:2px solid #fff0c7; outline-offset:3px; }
#zrg-gra .zrg-slider-ticks { display:flex; justify-content:space-between; padding:0 9px; color:#fff0c7; font-size:12px; font-weight:600; }
#zrg-gra .zrg-slider-ticks span { display:flex; flex-direction:column; align-items:center; width:16px; flex-shrink:0; white-space:nowrap; }
#zrg-gra .zrg-slider-ticks span::before { content:""; width:1px; height:5px; margin-bottom:4px; background:#e5bd75; }

#zrg-gra .zrg-field-legend { margin:12px 0 24px; padding:12px 14px; border-left:3px solid #e5bd75; border-radius:8px; background:#ffffff09; color:#f1e9f5; font-size:13px; line-height:1.65; text-align:left; }
#zrg-gra .zrg-field-legend p { margin:0 0 8px; font-size:inherit; line-height:inherit; color:inherit; }
#zrg-gra .zrg-field-legend p:last-child { margin-bottom:0; }

#zrg-gra .zrg-premium-overall strong { display:block; font-size:clamp(48px,10vw,76px); line-height:1.15; color:#ffdf99; }
#zrg-gra .zrg-match-summary { padding:20px; border:1px solid #e5bd7580; border-radius:16px; background:#ffffff06; }
#zrg-gra .zrg-match-summary meter { display:block; width:100%; height:24px; accent-color:#f5ce78; }
#zrg-gra .zrg-match-summary li { margin:12px 0; }
#zrg-gra .zrg-match-summary li p { margin:6px 0; font-size:14px; line-height:1.65; }
#zrg-gra .zrg-match-hope { padding-top:14px; border-top:1px solid #ffffff30; line-height:1.7; }
#zrg-gra .zrg-report-disclaimer { margin-top:26px; font-size:13px; line-height:1.7; color:#e5dce9; }

#zrg-gra .zrg-return-box { margin:20px 0; padding:20px; border:2px solid #e5bd75; border-radius:16px; background:#ffffff08; }
#zrg-gra .zrg-return-box .zrg-newsletter-link { display:block; margin:12px 0; text-align:center; }
#zrg-gra .zrg-next-game { display:flex; align-items:center; gap:16px; margin:24px 0; padding:16px; border:1px solid #e5bd7560; border-radius:16px; background:#ffffff08; }
#zrg-gra .zrg-next-game img { width:120px; height:100px; object-fit:cover; border-radius:10px; flex-shrink:0; }
#zrg-gra .zrg-next-game h4 { margin:0 0 8px; font-size:18px; }
@media(max-width:480px){#zrg-gra .zrg-next-game { flex-direction:column; align-items:stretch; }#zrg-gra .zrg-next-game img { width:100%; height:120px; }}

#zrg-gra [hidden] { display:none !important; }
#zrg-gra .zrg-recovery-return { display:block; width:100%; min-height:60px; font-size:18px; font-weight:700; }

#zrg-gra .zrg-return-action { display:block; width:100%; min-height:48px; margin-top:12px; font-weight:700; }

/* The embedded provider uses dark text and transparent backgrounds. */
#zrg-gra [data-zrg-newsletter-host] { background:#fff9f0; border-color:#d8bf9a; color:#302138; color-scheme:light; }
#zrg-gra [data-zrg-newsletter-host] [id^="omnisend-embedded-v2-"] { background:#fff9f0 !important; color:#302138; border-radius:12px; }
#zrg-gra [data-zrg-newsletter-host] :is(h1,h2,h3,h4,h5,h6,p,span,label,strong,b,em,small,li) { color:#302138 !important; }
#zrg-gra [data-zrg-newsletter-host] > h3 { color:#603372 !important; }
#zrg-gra [data-zrg-newsletter-host] a,
#zrg-gra [data-zrg-newsletter-host] a * { color:#75283f !important; text-decoration:underline; }
#zrg-gra [data-zrg-newsletter-host] :is(input,textarea,select) { background:#fff; color:#302138; border-color:#907e9b; }
#zrg-gra [data-zrg-newsletter-host] input[type="checkbox"] { width:18px; height:18px; min-height:18px; padding:0; accent-color:#603372; }
#zrg-gra [data-zrg-newsletter-host] :is(button,input[type="submit"],[role="button"]),
#zrg-gra [data-zrg-newsletter-host] :is(button,[role="button"]) * { background:#603372 !important; color:#fff !important; border-color:#603372; }
#zrg-gra [data-zrg-newsletter-host] :is(a,button,input,select,textarea):focus-visible { outline:3px solid #75283f; outline-offset:3px; }

#zrg-gra .zrg-premium-player > strong { overflow-wrap:anywhere; }

#zrg-gra .zrg-paid-invitation { margin:20px 0; padding:20px; border:2px solid #ffdc93; border-radius:16px; background:#ffffff09; }
#zrg-gra .zrg-paid-invitation h4 { margin-top:0; color:#ffe2ac; }
#zrg-gra .zrg-paid-invitation input { font-size:13px; }
#zrg-gra .zrg-public-share, #zrg-gra .zrg-couple-next-step { margin:24px 0; padding:18px; border:1px solid #d6b87c80; border-radius:14px; }
#zrg-gra .zrg-public-share h4, #zrg-gra .zrg-couple-next-step h4 { margin:0 0 12px; }

#zrg-gra .zrg-purchase-steps { padding:12px; border-radius:10px; background:#ffffff0a; color:#ffe2ac; font-size:13px; line-height:1.6; }

#zrg-gra .zrg-psych-finale, #zrg-gra .zrg-personal-finale { margin:24px 0; padding:20px; border:1px solid #e5bd7580; border-radius:16px; background:#ffffff07; }
#zrg-gra .zrg-personal-finale { border-left:4px solid #ceafe7; background:#9572b315; }
#zrg-gra .zrg-psych-finale > h4:first-child, #zrg-gra .zrg-personal-finale > h4:first-child { margin-top:0; }
#zrg-gra .zrg-scene-reflection { margin:16px 0; padding:14px; border-radius:12px; background:#0002; }
#zrg-gra .zrg-scene-reflection p { font-size:14px; line-height:1.7; }

/* Branded visuals and quiet, chapter-based pacing. */
#zrg-gra .zrg-branded-image { display:block; width:100%; min-width:0; margin:0 0 18px; border-radius:16px; overflow:hidden; background:#171123; }
#zrg-gra .zrg-branded-image img { display:block; max-width:100%; }
#zrg-gra .zrg-image-signature { position:relative; z-index:1; margin:0; padding:8px 12px; color:#e8d09d; background:#21182e; font-size:11px; line-height:1.4; letter-spacing:.09em; font-weight:600; text-align:center; }
#zrg-gra .zrg-next-game .zrg-branded-image { width:120px; flex-shrink:0; margin:0; }
#zrg-gra .zrg-next-game .zrg-branded-image img { width:100%; height:100px; border-radius:0; object-fit:cover; }
#zrg-gra .zrg-next-game .zrg-image-signature { font-size:9px; padding:6px; letter-spacing:.02em; }
#zrg-gra .zrg-share-poster { width:100%; height:auto; }
#zrg-gra .zrg-chapter { margin:24px 0 18px; padding:18px; text-align:left; border:1px solid #dbc18a70; border-radius:20px; background:linear-gradient(135deg,#5d3b5a55,#20182e); }
#zrg-gra .zrg-chapter-kicker { font-size:11px; letter-spacing:.13em; font-weight:700; color:#ffdf9f; }
#zrg-gra .zrg-chapter h3 { margin:8px 0 16px; font-size:24px; line-height:1.3; }
#zrg-gra .zrg-chapter .zrg-branded-image { margin-bottom:12px; }
#zrg-gra .zrg-chapter-photo { width:100%; height:190px; object-fit:cover; object-position:center 44%; animation:zrg-chapter-drift 18s ease-in-out infinite alternate; }
#zrg-gra .zrg-chapter-progress { display:block; width:100%; height:9px; margin:8px 0 0; accent-color:#edc978; }
@keyframes zrg-chapter-drift { from { transform:scale(1); } to { transform:scale(1.045); } }
#zrg-gra .zrg-question-board { padding:24px; margin:20px 0; border:1px solid #9e82b880; border-radius:20px; background:#191324; box-shadow:0 10px 28px #0002; text-align:left; }
#zrg-gra .zrg-question-board .zrg-question-title { margin:24px 0 16px; font-size:23px; line-height:1.45; color:#fff3d9; }
#zrg-gra .zrg-question-board .zrg-scene-caption { display:block; }
#zrg-gra .zrg-question-board .zrg-situation { padding:16px; border-left:3px solid #dfb76f; background:#ffffff08; border-radius:8px; font-size:16px; }
#zrg-gra .zrg-question-domain { display:none; }
#zrg-gra .zrg-scenario-badge { display:block; padding:10px 12px; border:1px solid #ddbc7560; border-radius:10px; color:#ffdda0; background:#7c573b22; font-size:11px; line-height:1.5; letter-spacing:.04em; font-weight:700; }
/* Report: clear groups, room for the eyes, and one idea per card. */
#zrg-gra .zrg-match-summary { padding:22px; }
#zrg-gra .zrg-match-summary > h4 { margin-top:0; font-size:23px; line-height:1.45; }
#zrg-gra .zrg-match-group { position:relative; padding:20px; margin:24px 0; border:1px solid #a28aae55; border-radius:16px; background:#ffffff06; }
#zrg-gra .zrg-match-group[data-group="match_strengths"] { border-top:3px solid #a7c9b5; background:#37524b25; }
#zrg-gra .zrg-match-group[data-group="match_work"] { border-top:3px solid #d0a6d7; background:#73507820; }
#zrg-gra .zrg-match-group[data-group="match_talk"] { border-top:3px solid #e7bd7e; background:#70503b20; }
#zrg-gra .zrg-group-icon { display:inline-grid; place-items:center; width:34px; height:34px; margin-bottom:8px; border-radius:50%; border:1px solid #e5c89370; color:#ffe0a1; background:#0002; font-size:21px; }
#zrg-gra .zrg-match-group h4 { margin:0 0 18px; font-size:20px; line-height:1.4; color:#fff1da; }
#zrg-gra .zrg-match-group ul { list-style:none; padding:0; margin:0; }
#zrg-gra .zrg-match-group li { margin:0; padding:16px 0; border-top:1px solid #ffffff20; }
#zrg-gra .zrg-match-group li:first-child { padding-top:0; border-top:0; }
#zrg-gra .zrg-match-group li:last-child { padding-bottom:0; }
#zrg-gra .zrg-match-group li > strong { display:block; font-size:16px; font-weight:700; color:#fff; }
#zrg-gra .zrg-match-group li p { margin:9px 0 0; font-size:15px; line-height:1.8; font-weight:400; }
#zrg-gra .zrg-premium-domains { grid-template-columns:1fr; gap:20px; }
#zrg-gra .zrg-premium-domains > div { padding:22px; border-top:2px solid #c5a7d755; }
#zrg-gra .zrg-area-icon { display:inline-block; margin-right:10px; color:#ffe0a1; }
#zrg-gra .zrg-psych-finale > p, #zrg-gra .zrg-personal-finale > p { font-size:16px; line-height:1.8; font-weight:400; }
#zrg-gra .zrg-relational-layers { display:grid; gap:16px; margin:20px 0; }
#zrg-gra .zrg-layer { padding:18px; border:1px solid #ffffff25; border-radius:14px; background:#ffffff05; }
#zrg-gra .zrg-layer h4 { margin:0 0 12px; color:#ffe0a1; font-size:19px; line-height:1.4; }
#zrg-gra .zrg-layer p { margin:0; font-size:15px; line-height:1.8; font-weight:400; }
#zrg-gra .zrg-psych-finale > h4:first-child, #zrg-gra .zrg-personal-finale > h4:first-child { padding-bottom:16px; border-bottom:1px solid #e5c89350; font-size:23px; line-height:1.4; }
@media(max-width:480px) {
 #zrg-gra .zrg-question-board { padding:16px; }
 #zrg-gra .zrg-question-board .zrg-question-title { font-size:21px; }
 #zrg-gra .zrg-chapter { padding:14px; }
 #zrg-gra .zrg-chapter h3 { font-size:21px; }
 #zrg-gra .zrg-chapter-photo { height:145px; }
 #zrg-gra .zrg-match-summary, #zrg-gra .zrg-match-group { padding:16px; }
 #zrg-gra .zrg-next-game .zrg-branded-image { width:100%; }
 #zrg-gra .zrg-next-game .zrg-branded-image img { height:140px; }
}
@media(prefers-reduced-motion:reduce) { #zrg-gra .zrg-chapter-photo { animation:none; transform:none; } }

#zrg-gra .zrg-scene-casebook { padding:16px; margin:20px 0; border:1px solid #e0c18655; border-radius:14px; background:#0002; }
#zrg-gra .zrg-scene-casebook > summary { color:#ffe0a1; font-size:17px; font-weight:700; cursor:pointer; line-height:1.5; }
#zrg-gra .zrg-scene-reflection > summary { font-weight:650; color:#f7effb; font-size:15px; line-height:1.6; cursor:pointer; }
#zrg-gra .zrg-coaching-steps { margin:24px 0; padding-top:18px; border-top:1px solid #c5a7d750; }
#zrg-gra .zrg-coaching-steps h4 { margin:0 0 16px; font-size:20px; color:#ffe0a1; }
#zrg-gra .zrg-coaching-steps > div { margin:12px 0; padding:14px; border-radius:12px; background:#ffffff07; }
#zrg-gra .zrg-coaching-steps strong { color:#e7c9f1; font-size:15px; }
#zrg-gra .zrg-coaching-steps p { margin:8px 0 0; font-size:15px; line-height:1.75; }


#zrg-gra .zrg-match-summary meter { appearance:none; -webkit-appearance:none; height:14px; background:none; }
#zrg-gra .zrg-match-summary meter::-webkit-meter-bar { height:12px; border:1px solid #b99a6750; border-radius:999px; background:#ffffff20; }
#zrg-gra .zrg-match-summary meter::-webkit-meter-optimum-value, #zrg-gra .zrg-match-summary meter::-webkit-meter-suboptimum-value, #zrg-gra .zrg-match-summary meter::-webkit-meter-even-less-good-value { background:linear-gradient(90deg,#bd8b51,#f5d88f); border-radius:999px; }
#zrg-gra .zrg-match-summary meter::-moz-meter-bar { background:#e5be74; border-radius:999px; }

/* Optional interactive missions, scoped to the game. */
#zrg-gra .zrg-missions { margin:24px 0; border:1px solid #d5b96b; border-radius:18px; background:#211b32; color:#f8f3fc; overflow:hidden; }
#zrg-gra .zrg-missions>summary { padding:20px; color:#ffe09a; font-weight:700; cursor:pointer; line-height:1.6; }
#zrg-gra .zrg-missions-body { padding:0 20px 22px; text-align:left; }
#zrg-gra .zrg-missions h4 { margin:12px 0; color:#ffe09a; font-size:23px; line-height:1.4; }
#zrg-gra .zrg-missions h5 { margin:18px 0 10px; color:#f9e6b8; font-size:17px; line-height:1.5; }
#zrg-gra .zrg-missions p { font-size:15px; line-height:1.75; color:#f1eaf8; }
#zrg-gra .zrg-missions .zrg-small { font-size:13px; color:#dfd4ea; }
#zrg-gra .zrg-mission-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
#zrg-gra .zrg-missions button { min-height:44px; white-space:normal; overflow-wrap:anywhere; line-height:1.5; border-radius:10px; cursor:pointer; font:inherit; padding:10px 13px; }
#zrg-gra .zrg-mission-choice, #zrg-gra .zrg-need-card { border:1px solid #a794b8; color:#f7f2fb; background:#382b49; margin:4px; }
#zrg-gra .zrg-missions button[aria-pressed="true"] { background:#f0d380; color:#241b32; border-color:#f0d380; }
#zrg-gra .zrg-missions button:focus-visible { outline:3px solid #fff1c8; outline-offset:3px; }
#zrg-gra .zrg-missions button:disabled { opacity:.5; cursor:default; }
#zrg-gra .zrg-mission-panel { padding:20px; border-radius:14px; border:1px solid #6b587e; background:#2b223b; min-width:0; }
#zrg-gra .zrg-mission-situation, #zrg-gra .zrg-dialogue-reply { padding:14px; border-left:3px solid #efcf7e; background:#43334f; border-radius:8px; }
#zrg-gra .zrg-token-grid { display:grid; gap:10px; }
#zrg-gra .zrg-token-row { display:grid; grid-template-columns:minmax(0,1fr) 44px 32px 44px; gap:8px; align-items:center; border-bottom:1px solid #665471; padding:10px 0; }
#zrg-gra .zrg-token-row button { margin:0; padding:6px; font-size:24px; }
#zrg-gra .zrg-token-row output { text-align:center; font-weight:bold; color:#ffe09a; }
#zrg-gra .zrg-token-total { font-weight:bold; }
#zrg-gra .zrg-fact-zone { border:2px dashed #a794b8; border-radius:12px; padding:12px; margin:12px 0; min-height:90px; }
#zrg-gra .zrg-fact-card { border:1px solid #a794b8; background:#3a2e48; border-radius:10px; padding:12px; margin:10px 0; }
#zrg-gra .zrg-fact-card p { margin:0 0 8px; }
#zrg-gra .zrg-dialogue-step { margin:16px 0; padding-bottom:16px; border-bottom:1px solid #6b587e; }
#zrg-gra .zrg-dialogue-step button, #zrg-gra .zrg-mission-panel>button { display:block; width:100%; margin:8px 0; text-align:left; }
#zrg-gra .zrg-needs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#zrg-gra .zrg-need-card { min-height:95px; margin:0; transition:background .2s ease; }
#zrg-gra .zrg-mission-discovery, #zrg-gra .zrg-mission-shared { border:1px solid #c3a76d; border-radius:12px; padding:16px; margin-top:20px; background:#403348; }
#zrg-gra .zrg-mission-shared[data-agreed="true"] { border-color:#add28e; background:#26392f; }
#zrg-gra .zrg-mission-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
#zrg-gra .zrg-mission-save { background:#f0d380; color:#241b32; border:1px solid #f0d380; font-weight:700; }
#zrg-gra .zrg-missions .zrg-mission-celebration { color:#d5efb8; font-size:20px; font-weight:700; animation:zrg-mission-reveal .4s ease-out; }
@keyframes zrg-mission-reveal { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:520px) { #zrg-gra .zrg-missions-body { padding:0 12px 16px; } #zrg-gra .zrg-mission-panel { padding:12px; } #zrg-gra .zrg-token-row { gap:4px; font-size:13px; } #zrg-gra .zrg-mission-actions>button { width:100%; margin:0; } #zrg-gra .zrg-mission-tabs>button { flex:1 1 42%; margin:0; font-size:13px; } }
@media(prefers-reduced-motion:reduce) { #zrg-gra .zrg-missions * { animation:none!important; transition:none!important; } }

#zrg-gra .zrg-fact-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-items:start; }
#zrg-gra .zrg-fact-board>section { min-width:0; margin-top:10px; }
#zrg-gra .zrg-fact-card[draggable] { cursor:grab; }
@media(max-width:640px) { #zrg-gra .zrg-fact-board { grid-template-columns:minmax(0,1fr); } }

/* Three clear stages and visible disclosures, 1.10. */
#zrg-gra { overflow-anchor:none; }
#zrg-gra .zrg-phase-path { color:#ffe2a0; font-size:13px; font-weight:700; letter-spacing:.04em; border-bottom:1px solid #897249; padding:10px 0; }
#zrg-gra .zrg-missions>summary, #zrg-gra .zrg-mission-result-item>summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; list-style:none; cursor:pointer; }
#zrg-gra .zrg-missions>summary::-webkit-details-marker, #zrg-gra .zrg-mission-result-item>summary::-webkit-details-marker { display:none; }
#zrg-gra .zrg-disclosure-hint { display:inline-block; padding:9px 13px; border:1px solid #e5c77d; border-radius:9px; background:#efcf80; color:#291e35; font-size:13px; font-weight:700; }
#zrg-gra .zrg-missions-callout:not([open]) { animation:zrg-invitation-glow 2.8s ease-in-out 4; box-shadow:0 0 0 2px #b69a55; }
@keyframes zrg-invitation-glow { 50% { box-shadow:0 0 0 3px #f0d88c,0 0 24px #efcf8055; } }
#zrg-gra .zrg-mission-results { border-color:#c5a8dc; background:#282035; }
#zrg-gra .zrg-mission-result-item { padding:16px; border:1px solid #8e779f; border-radius:12px; margin:12px 0; box-shadow:0 0 10px #ccb5dd14; }
#zrg-gra .zrg-mission-result-item>summary { color:#ffe2a0; font-weight:700; }
#zrg-gra .zrg-mission-result-item[open]>summary .zrg-disclosure-hint { background:#3e3050; color:#ffe2a0; }
#zrg-gra .zrg-mission-common { padding:16px; background:#34283f; border:1px solid #c9a965; border-radius:14px; }
#zrg-gra .zrg-journey-finish { width:100%; background:#efcf80; border:2px solid #ffe6ac; color:#241a30; padding:16px; margin-top:20px; font-weight:700; }
#zrg-gra .zrg-gradient-meter { padding:20px; margin:18px 0; border:1px solid #c9a965; border-radius:16px; background:#2d243d; color:#fff4dc; }
#zrg-gra .zrg-gradient-meter h4 { margin:0 0 10px; color:#fff0c4; }
#zrg-gra .zrg-meter-number { display:block; font-size:36px; color:#ffe09a; margin:8px 0; }
#zrg-gra .zrg-meter-rail { height:18px; border:1px solid #e1ce9c; border-radius:30px; background:#161322; overflow:hidden; }
#zrg-gra .zrg-meter-rail>span { display:block; width:var(--zrg-score); height:100%; border-radius:inherit; background:linear-gradient(90deg,#b987c8,#e5a8bc,#edc973,#d5e0a1); animation:zrg-meter-fill .9s ease-out both; }
@keyframes zrg-meter-fill { from { width:0; } }
#zrg-gra .zrg-outcome-card { padding:20px; border:1px solid #bca16b; border-radius:18px; margin:24px 0; background:linear-gradient(140deg,#3f2a42,#231e32); text-align:center; }
#zrg-gra .zrg-outcome-window { position:relative; width:min(100%,350px); aspect-ratio:1; overflow:hidden; border-radius:16px; margin:auto; animation:zrg-outcome-float 12s ease-in-out infinite; }
#zrg-gra .zrg-outcome-window img { position:absolute; top:0; left:0; width:300%; max-width:none; height:auto; display:block; }
@keyframes zrg-outcome-float { 50% { transform:translateY(-3px); } }
#zrg-gra .zrg-result-scene .zrg-result-art, #zrg-gra .zrg-premium-panel .zrg-result-art { width:100%; height:180px; object-fit:cover; }
#zrg-gra .zrg-mission-stage-heading { scroll-margin-top:70px; }
@media(max-width:640px) {
 #zrg-gra .zrg-disclosure-hint { width:100%; text-align:center; }
 #zrg-gra .zrg-missions>summary { padding:18px 14px; text-align:left; }
 #zrg-gra .zrg-answer-confirm { position:sticky; bottom:8px; z-index:8; box-shadow:0 0 0 6px #2b223b,0 5px 24px #0008; }
 #zrg-gra .zrg-gradient-meter, #zrg-gra .zrg-outcome-card { padding:16px; }
}
@media(prefers-reduced-motion:reduce) { #zrg-gra .zrg-missions-callout, #zrg-gra .zrg-meter-rail>span, #zrg-gra .zrg-outcome-window { animation:none!important; } }
#zrg-gra .zrg-player-profile, #zrg-gra .zrg-intimacy-guide, #zrg-gra .zrg-private-profile, #zrg-gra .zrg-result-deep { border:1px solid #ae91bf; border-radius:14px; background:#30243e; padding:18px; margin:16px 0; }
#zrg-gra .zrg-player-profile>summary, #zrg-gra .zrg-intimacy-guide>summary, #zrg-gra .zrg-private-profile>summary, #zrg-gra .zrg-result-deep>summary, #zrg-gra .zrg-match-group>summary { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; cursor:pointer; color:#ffe3a2; list-style:none; }
#zrg-gra .zrg-player-profile h5, #zrg-gra .zrg-intimacy-guide h5, #zrg-gra .zrg-private-profile h5 { color:#ffe5ad; font-size:17px; margin:18px 0 8px; }
#zrg-gra .zrg-player-profile p, #zrg-gra .zrg-intimacy-guide p, #zrg-gra .zrg-private-profile p { color:#eee6f5; line-height:1.7; }
#zrg-gra .zrg-intent-choices { display:grid; gap:10px; }
#zrg-gra .zrg-intent-choices button { text-align:left; }
#zrg-gra .zrg-premium-panel>.zrg-gradient-meter .zrg-meter-number, #zrg-gra .zrg-result-scene>.zrg-gradient-meter .zrg-meter-number, #zrg-gra .zrg-outcome-card .zrg-meter-number { font-size:clamp(40px,9vw,60px); }
#zrg-gra .zrg-chapter { display:grid; grid-template-columns:minmax(0,1fr) 180px; align-items:center; gap:8px 16px; text-align:left; }
#zrg-gra .zrg-chapter>figure { grid-column:2; grid-row:1/6; margin:0; }
#zrg-gra .zrg-chapter>h3, #zrg-gra .zrg-chapter>p, #zrg-gra .zrg-chapter>span, #zrg-gra .zrg-chapter>progress { grid-column:1; }
#zrg-gra .zrg-chapter-sprite { position:relative; width:100%; aspect-ratio:1; overflow:hidden; border-radius:14px; animation:zrg-outcome-float 14s ease-in-out infinite; }
#zrg-gra .zrg-chapter-sprite .zrg-chapter-photo { position:absolute; top:0; left:0; width:300%; max-width:none; height:auto; animation:none; display:block; }
@media(max-width:520px) { #zrg-gra .zrg-chapter { grid-template-columns:minmax(0,1fr) 110px; gap:8px; } #zrg-gra .zrg-chapter h3 { font-size:20px; } }
@media(prefers-reduced-motion:reduce) { #zrg-gra .zrg-chapter-sprite { animation:none!important; } }
/* Clip ambient decoration without creating an inner scroll container: mobile sticky confirmation follows the viewport. */
#zrg-gra { overflow:visible; overflow:clip; }

/* 1.10.1: czytelne prowadzenie na małym ekranie. */
#zrg-gra .zrg-start-guidance,#zrg-gra .zrg-started-overview { padding:16px; border:1px solid #f1d17d80; border-radius:14px; background:#ffffff08; }
#zrg-gra .zrg-fact-legend { padding:12px 16px; margin:14px 0; border-left:3px solid #f1d17d; border-radius:8px; background:#ffffff0c; color:#fff5df; }
#zrg-gra .zrg-fact-legend p { margin:8px 0; }
#zrg-gra .zrg-previous-discovery { padding:12px; margin:12px 0; border:1px solid #bda1d580; border-radius:12px; }
#zrg-gra .zrg-previous-discovery summary { cursor:pointer; color:#f6dc93; }
#zrg-gra .zrg-mission-next-notice { color:#f6dc93; font-weight:600; }
@media(max-width:600px) {
 #zrg-gra .zrg-question-board { padding:12px; margin:12px 0; }
 #zrg-gra .zrg-question-board .zrg-phase-path { margin:0 0 8px; font-size:11px; }
 #zrg-gra .zrg-question-board .zrg-progress { margin:10px 0 12px; }
 #zrg-gra .zrg-question-board .zrg-scene-caption h3 { font-size:22px; line-height:1.2; }
 #zrg-gra .zrg-question-board .zrg-situation { font-size:14px; line-height:1.45; padding:10px; margin:10px 0; }
 #zrg-gra .zrg-question-board .zrg-prompt { font-size:16px; line-height:1.4; margin:10px 0; }
 #zrg-gra .zrg-question-board .zrg-narrator { font-size:13px; padding:8px; margin:8px 0; }
 #zrg-gra .zrg-question-board .zrg-choice-grid { gap:7px; margin-top:10px; }
 #zrg-gra .zrg-question-board .zrg-choice { min-height:58px; padding:10px; gap:9px; font-size:14px; }
 #zrg-gra .zrg-question-board .zrg-choice-letter { width:28px; height:28px; flex-basis:28px; }
 #zrg-gra .zrg-question-board .zrg-choice-hint { margin:8px 0; font-size:12px; }
 #zrg-gra .zrg-question-board .zrg-answer-confirm { margin-top:8px; min-height:46px; }
}
