/* Page 72 · PLAY FLOW. Page chrome = 72_base.css (body.p70); this file adds the live phone, the new game
   parts (q72- inside the 998 x 460 screens) and the questions. */
.q72-hero { padding: 34px 0 6px; }
.q72-hero h1 { font: 400 clamp(42px, 7vw, 80px)/0.92 var(--f-display); margin: 10px 0 16px; color: #fff; text-shadow: 0 5px 0 var(--ink); }
.q72-hero h1 span { color: var(--yellow); }
.q72-hero .p70-quote { max-width: 980px; }
.q72-proto { max-width: 1060px; margin: 0 auto; }
.q72-live { box-shadow: 0 0 0 2px #000, 0 22px 50px rgba(0, 0, 0, 0.6), 0 0 0 6px rgba(255, 210, 63, 0.18), inset 0 0 0 1.5px rgba(255, 255, 255, 0.16); }
.q72-live [data-act] { cursor: pointer; }
.q72-jumps { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; justify-content: center; }
.q72-jump { font: 400 14px/1 var(--f-display); letter-spacing: 0.04em; padding: 8px 11px 7px; border-radius: 10px; border: 2.5px solid var(--ink); background: var(--panel-2); color: var(--cream-2); box-shadow: 1px 3px 0 var(--ink); cursor: pointer; }
.q72-jump.on { background: var(--yellow); color: var(--ink); }
#strip .p70-step { cursor: pointer; }
#strip .p70-step:hover .p70-dev { outline: 3px solid rgba(255, 210, 63, 0.6); outline-offset: 3px; }
.q72-advlist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.q72-advlist .p70-note h3 { margin-bottom: 6px; }
@media (max-width: 980px) { .q72-advlist { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .q72-advlist { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- game parts (game units) */
.q72-orangec { background: radial-gradient(70% 70% at 55% 40%, #FFB45A, #FF8A1F 55%, #D9620A); }
.q72-orangec::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(0, 0, 0, 0.12) 2px, transparent 2.6px); background-size: 14px 14px; }
.q72-shade::after { content: ""; position: absolute; inset: 0; border-radius: 14px; background: linear-gradient(180deg, transparent 45%, rgba(16, 10, 30, 0.75) 92%); box-shadow: inset 0 3px 0 rgba(255, 255, 255, 0.35); pointer-events: none; }
.q72-shade > .g-name, .q72-shade > .g-sub, .q72-shade > div:has(.g-pill) { z-index: 3; }
.g-ffriends.q72-tap::after, .g-ffriends::after { content: ""; position: absolute; inset: 0; border-radius: 14px; box-shadow: inset 0 3px 0 rgba(255, 255, 255, 0.35); pointer-events: none; }
.q72-chip { height: 38px; padding: 0 16px; display: flex; align-items: center; border-radius: 99px; border: 3px solid var(--ink); background: #1A1630; font-size: 16px; color: #FFE98C; z-index: 2; letter-spacing: 0.04em; }
.q72-live .q72-tap:hover, .q72-live .q72-tap0:hover { filter: brightness(1.08); }
.g-btn.dark small, .g-btn.green small, .g-btn.yellow small { -webkit-text-stroke: 0; text-shadow: none; display: block; font: 800 13px/1.1 var(--f-body); letter-spacing: 0.08em; opacity: 0.88; }
.g-btn.green .g-o2, .g-btn.dark .g-o2 { -webkit-text-stroke-width: 4px; }

.q72-opt { border-radius: 14px; border: 3.5px solid var(--ink); background: linear-gradient(180deg, #3E3866, #2A2545); box-shadow: 0 4px 0 var(--ink); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center; }
.q72-opt b { font-weight: 400; font-size: 25px; line-height: 1; -webkit-text-stroke-width: 4px; white-space: nowrap; }
.q72-opt span { font: 800 12.5px/1.15 var(--f-body); letter-spacing: 0.05em; color: rgba(255, 255, 255, 0.7); white-space: nowrap; }
.q72-opt.on { background: linear-gradient(180deg, #FFEB8A, #FFD23F 45%, #F4AE00); }
.q72-opt.on b { color: #fff; }
.q72-opt.on span { color: rgba(40, 26, 0, 0.8); }
.q72-mini { display: flex; align-items: center; gap: 6px; margin-top: 2px; }
.q72-mini i { font-style: normal; font: 400 15px/1 var(--f-display); padding: 4px 8px 3px; border-radius: 8px; border: 2.5px solid var(--ink); background: rgba(255, 255, 255, 0.85); color: var(--ink); cursor: pointer; letter-spacing: 0.03em; }
.q72-opt.on .q72-mini { font: 400 15px/1 var(--f-display); color: var(--ink); }
.q72-mini i.on { background: var(--ink); color: var(--yellow); }
.q72-pill { height: 46px; border-radius: 12px; border: 3px solid var(--ink); display: grid; place-items: center; font-size: 19px; background: #15122A; color: rgba(255, 255, 255, 0.6); box-shadow: 0 3px 0 var(--ink); }
.q72-pill.on.d0 { background: linear-gradient(180deg, #7FE8A0, #2DC768); color: #fff; }
.q72-pill.on.d1 { background: linear-gradient(180deg, #FFEB8A, #FFD23F); color: var(--ink); }
.q72-pill.on.d2 { background: linear-gradient(180deg, #FF9A7A, #E8394A); color: #fff; }
.q72-sum { border-radius: 14px; border: 3px solid var(--ink); background: rgba(22, 17, 46, 0.86); display: flex; flex-direction: column; justify-content: center; padding: 0 16px; }
.q72-sum small { font: 800 12px/1 var(--f-body); letter-spacing: 0.1em; color: var(--yellow); }
.q72-sum b { font-weight: 400; font-size: 21px; overflow: hidden; text-overflow: ellipsis; line-height: 1.15; -webkit-text-stroke-width: 4px; white-space: nowrap; }

/* training / practice */
.q72-lesson { width: 74px; height: 74px; border-radius: 14px; border: 3px solid var(--ink); background: #15122A; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; font-size: 13px; color: rgba(255, 255, 255, 0.7); }
.q72-lesson b { font-weight: 400; font-size: 24px; color: rgba(255, 255, 255, 0.5); line-height: 1; }
.q72-lesson span { white-space: nowrap; font-size: 12.5px; letter-spacing: 0.02em; }
.q72-lesson.done { background: linear-gradient(180deg, #7FE8A0, #2DC768); color: var(--ink); }
.q72-lesson.next { background: linear-gradient(180deg, #FFEB8A, #FFD23F); color: var(--ink); box-shadow: 0 0 0 4px #fff; }
.q72-lesson.next b { color: var(--ink); }
.q72-wtile { font-size: 15px; padding: 10px 10px 8px; border-radius: 10px; border: 3px solid var(--ink); background: #2A2545; color: rgba(255, 255, 255, 0.75); }
.q72-wtile.on { background: var(--yellow); color: var(--ink); }

/* friends room */
.q72-code { height: 44px; padding: 0 10px 0 14px; display: flex; align-items: center; gap: 5px; border-radius: 14px; border: 3px solid var(--ink); background: #1A1630; z-index: 2; }
.q72-code small { font-size: 13px; color: var(--yellow); letter-spacing: 0.08em; margin-right: 6px; }
.q72-code span { width: 26px; height: 32px; border-radius: 7px; background: #FFF6E0; color: var(--ink); border: 2.5px solid var(--ink); display: grid; place-items: center; font-size: 21px; }
.q72-code > span:last-child { background: none; border: 0; width: 22px; margin-left: 6px; }
.q72-slot { height: 62px; border-radius: 14px; border: 3px solid var(--ink); background: linear-gradient(180deg, #3E3866, #2A2545); display: flex; align-items: center; gap: 10px; padding: 0 10px 0 6px; }
.q72-slot .av { position: relative; width: 48px; height: 48px; border-radius: 50%; border: 3px solid var(--ink); background: #4B4472; overflow: hidden; flex: none; }
.q72-slot b { font-weight: 400; font-size: 20px; -webkit-text-stroke-width: 4px; white-space: nowrap; }
.q72-slot em { margin-left: auto; font-style: normal; font: 800 11.5px/1 var(--f-body); letter-spacing: 0.08em; color: #59F08A; }
.q72-slot > span:last-child:not(.av):not(em) { margin-left: auto; }
.q72-slot.bot { background: linear-gradient(180deg, #4A4560, #36324A); }
.q72-slot.bot b { color: rgba(255, 255, 255, 0.75); }
.q72-slot.open { background: rgba(0, 0, 0, 0.2); border-style: dashed; border-color: rgba(255, 255, 255, 0.25); }
.q72-slot.open .av, .q72-slot.closed .av { background: transparent; border-style: dashed; border-color: rgba(255, 255, 255, 0.25); }
.q72-slot.open b, .q72-slot.closed b { color: rgba(255, 255, 255, 0.45); -webkit-text-stroke-width: 0; text-shadow: none; }
.q72-slot.closed { background: rgba(0, 0, 0, 0.35); border-color: rgba(0, 0, 0, 0.5); }
.q72-badge { margin-left: auto; font-size: 14px; padding: 4px 9px 3px; border-radius: 8px; border: 2.5px solid var(--ink); background: #15122A; color: rgba(255, 255, 255, 0.6); letter-spacing: 0.05em; }
.q72-badge.on { background: var(--yellow); color: var(--ink); }

/* advanced */
.q72-changes { height: 44px; border-radius: 12px; border: 3px solid var(--ink); background: #1A1630; display: flex; flex-direction: column; justify-content: center; padding: 0 12px; z-index: 2; overflow: hidden; }
.q72-changes b { font-weight: 400; font-size: 15px; line-height: 1.1; color: rgba(255, 255, 255, 0.7); letter-spacing: 0.05em; }
.q72-changes span { font: 800 11.5px/1.2 var(--f-body); letter-spacing: 0.05em; color: rgba(255, 255, 255, 0.55); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.q72-changes.on { background: #3B3220; border-color: var(--ink); box-shadow: inset 0 0 0 2px rgba(255, 210, 63, 0.6); }
.q72-changes.on b { color: var(--yellow); }
.q72-changes.on span { color: #FFE98C; }
.q72-rail { height: 36px; border-radius: 11px; border: 3px solid var(--ink); background: linear-gradient(180deg, #353052, #23203A); display: flex; align-items: center; gap: 8px; padding: 0 10px 0 6px; font-size: 17px; }
.q72-rail b { font-weight: 400; letter-spacing: 0.03em; }
.q72-rail em { margin-left: auto; font-style: normal; font-size: 13px; min-width: 22px; height: 22px; border-radius: 99px; background: var(--yellow); color: var(--ink); border: 2px solid var(--ink); display: grid; place-items: center; }
.q72-rail.on { background: linear-gradient(180deg, #FFEB8A, #FFD23F 45%, #F4AE00); color: var(--ink); box-shadow: 4px 0 0 0 var(--yellow); }
.q72-rail.on em { background: var(--ink); color: var(--yellow); }
.q72-sechead { display: flex; align-items: center; gap: 10px; }
.q72-sechead b { font-weight: 400; font-size: 28px; -webkit-text-stroke-width: 4px; }
.q72-sechead span { font: 800 14px/1 var(--f-body); letter-spacing: 0.05em; color: rgba(255, 255, 255, 0.6); text-transform: uppercase; }
.q72-row { border-radius: 12px; border: 2.5px solid rgba(0, 0, 0, 0.5); background: rgba(255, 255, 255, 0.04); padding: 6px 10px 0; }
.q72-row > b { display: block; font-weight: 400; font-size: 17px; line-height: 1.1; -webkit-text-stroke-width: 3px; white-space: nowrap; }
.q72-row > b em { font-style: normal; font-size: 11px; background: #59F08A; color: var(--ink); border: 2px solid var(--ink); border-radius: 6px; padding: 1px 5px 0; -webkit-text-stroke: 0; text-shadow: none; vertical-align: 2px; }
.q72-row > span { display: block; margin-top: 2px; font: 800 10.5px/1.2 var(--f-body); letter-spacing: 0.05em; color: rgba(255, 255, 255, 0.5); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.q72-row > .g-abs { left: 8px !important; right: 8px !important; top: 40px !important; bottom: auto !important; height: 28px; }
.q72-row.narrow > .g-abs { top: 46px !important; height: 32px; }
.q72-row.narrow .q72-seg span { font-size: 11.5px; letter-spacing: 0; }
.q72-row.ch { background: rgba(255, 210, 63, 0.1); border-color: rgba(255, 210, 63, 0.7); }
.q72-seg { display: flex; gap: 4px; height: 30px; }
.q72-seg span { flex: 1; min-width: 0; border-radius: 8px; border: 2.5px solid var(--ink); background: #15122A; color: rgba(255, 255, 255, 0.6); display: grid; place-items: center; font-size: 13.5px; white-space: nowrap; overflow: hidden; cursor: pointer; position: relative; }
.q72-seg span.def::after { content: ""; position: absolute; left: 50%; bottom: 2px; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: rgba(255, 255, 255, 0.45); }
.q72-seg span.on { background: var(--yellow); color: var(--ink); }
.q72-seg span.on.def::after { background: rgba(29, 27, 36, 0.5); }
.q72-step { height: 30px; display: flex; align-items: center; border-radius: 8px; border: 2.5px solid var(--ink); background: #15122A; overflow: hidden; }
.q72-step b { font-weight: 400; width: 36px; height: 100%; display: grid; place-items: center; background: var(--panel-4); font-size: 22px; cursor: pointer; flex: none; }
.q72-step span { flex: 1; text-align: center; font-size: 15px; color: #fff; letter-spacing: 0.03em; white-space: nowrap; }
.q72-lockv { height: 30px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border-radius: 8px; border: 2.5px dashed rgba(255, 255, 255, 0.3); color: rgba(255, 255, 255, 0.6); font-size: 14px; }
.q72-fun { height: 76px; border-radius: 14px; border: 3px solid var(--ink); background: linear-gradient(180deg, #3E3866, #2A2545); padding: 10px 12px; box-shadow: 0 4px 0 var(--ink); }
.q72-fun b { display: block; font-weight: 400; font-size: 21px; -webkit-text-stroke-width: 4px; white-space: nowrap; }
.q72-fun span { display: block; font: 800 10.5px/1.3 var(--f-body); letter-spacing: 0.05em; color: rgba(255, 255, 255, 0.55); margin-top: 3px; padding-right: 50px; }
.q72-fun i { position: absolute; right: 10px; bottom: 10px; width: 44px; height: 24px; border-radius: 99px; border: 2.5px solid var(--ink); background: #15122A; }
.q72-fun i::after { content: ""; position: absolute; left: 2px; top: 2px; width: 16px; height: 16px; border-radius: 50%; background: rgba(255, 255, 255, 0.5); transition: left 0.15s; }
.q72-fun.on { background: linear-gradient(180deg, #FFB45A, #FF8A1F 55%, #D9620A); }
.q72-fun.on span { color: rgba(40, 20, 0, 0.8); }
.q72-fun.on i { background: var(--yellow); }
.q72-fun.on i::after { left: 22px; background: var(--ink); }
.q72-preset { height: 96px; border-radius: 14px; border: 3px solid var(--ink); background: linear-gradient(180deg, #3E3866, #2A2545); padding: 10px 10px; box-shadow: 0 4px 0 var(--ink), inset 0 6px 0 var(--pc); }
.q72-preset b { display: block; font-weight: 400; font-size: 20px; line-height: 1.05; margin-top: 8px; -webkit-text-stroke-width: 4px; color: #fff; }
.q72-preset span { display: block; font: 800 11px/1.25 var(--f-body); letter-spacing: 0.05em; color: rgba(255, 255, 255, 0.6); margin-top: 6px; }
.q72-save { border-style: dashed; background: rgba(45, 199, 104, 0.12); }

/* ---------------------------------------------------------------- questions + send */
.q72-qlist li b { margin-bottom: 4px; }
.q72-read { margin: 0 0 8px; font-size: 13.5px; color: var(--cream-2); line-height: 1.4; }
.q72-opts { display: flex; flex-wrap: wrap; gap: 6px; }
.q72-opts button { font: 600 13px/1.1 var(--f-body); padding: 8px 10px; border-radius: 9px; background: rgba(0, 0, 0, 0.3); color: var(--cream-2); border: 2px solid rgba(255, 255, 255, 0.14); cursor: pointer; text-align: left; }
.q72-opts button.lean { border-color: rgba(255, 210, 63, 0.55); color: var(--yellow-hi); }
.q72-opts button.on { background: var(--yellow); color: var(--ink); border-color: var(--ink); box-shadow: 0 3px 0 var(--ink); }
.q72-own { margin-top: 8px; width: 100%; box-sizing: border-box; resize: vertical; border: 2.5px solid var(--ink); border-radius: 10px; background: #15122A; color: #fff; font: 500 14px/1.4 var(--f-body); padding: 7px 10px; }
.q72-gen { display: block; margin-top: 14px; }
.q72-gen span { display: block; font: 400 16px/1 var(--f-display); letter-spacing: 0.05em; color: var(--yellow); margin-bottom: 6px; }
.q72-gen textarea { width: 100%; box-sizing: border-box; border: 3px solid var(--ink); border-radius: 12px; background: #15122A; color: #fff; font: 500 15px/1.4 var(--f-body); padding: 9px 11px; resize: vertical; }
.q72-send { margin-top: 14px; display: grid; gap: 10px; }
.q72-btn { min-height: 48px; padding: 0 18px; border: 3px solid var(--ink); border-radius: 14px; background: linear-gradient(180deg, #353052, #23203A); color: #fff; font: 400 18px/1 var(--f-display); letter-spacing: 0.04em; box-shadow: 0 5px 0 var(--ink); cursor: pointer; }
.q72-btn--send { width: 100%; min-height: 60px; font-size: 24px; background: linear-gradient(180deg, #7FE8A0, #2DC768 50%, #13A04A); text-shadow: 0 2px 0 var(--ink); }
.q72-btn[disabled] { opacity: 0.45; cursor: not-allowed; }
.q72-keybox { border: 3px dashed rgba(255, 210, 63, 0.6); border-radius: 14px; padding: 10px 12px; background: rgba(255, 210, 63, 0.06); }
.q72-keybox[hidden] { display: none; }
.q72-keybox p { margin: 0 0 8px; font-size: 14px; color: var(--cream-2); }
.q72-inrow { display: flex; gap: 8px; }
.q72-inrow input { flex: 1; min-width: 0; border: 3px solid var(--ink); border-radius: 12px; background: #15122A; color: #fff; font: 500 16px/1 var(--f-body); padding: 0 12px; min-height: 48px; }
.q72-status { margin: 0; font-size: 14.5px; color: var(--cream-2); min-height: 1em; }
.q72-status.ok { color: var(--mint); font-weight: 700; }
.q72-status.err { color: #FFB3C2; font-weight: 700; }
.q72-preview summary { cursor: pointer; font: 400 14px/1 var(--f-display); letter-spacing: 0.05em; color: var(--cream-3); padding: 6px 0; }
.q72-preview pre { white-space: pre-wrap; word-break: break-word; background: #0F0C1E; border: 2px solid var(--ink); border-radius: 10px; padding: 10px; font: 500 12.5px/1.45 ui-monospace, Menlo, monospace; color: var(--cream-2); }
@media (max-width: 640px) { .q72-jump { font-size: 12.5px; padding: 7px 8px 6px; } }
