/* 2026-10-04: measured Pool focus contrast. */
/* 2026-09-30: Testing Pool invitations use the existing editorial palette. */
.pool-invitation,.pool-journey { margin-block:var(--sp-6,48px); padding:var(--sp-4,32px); border:1px solid var(--gold2); border-radius:var(--btn-radius); background:var(--panel,var(--bg)); color:var(--fg); text-align:left; }
.pool-invitation { max-width:52rem; margin-inline:auto; }
.pool-invitation h2,.pool-sheet h2 { font-family:"Cormorant Garamond",serif; font-weight:700; font-size:var(--fs-h2,36px); line-height:1.1; margin-block:var(--sp-2); }
.pool-invitation p,.pool-journey p { font-size:var(--fs-body,19px); line-height:1.6; overflow-wrap:anywhere; }
.pool-mark { font-family:"DM Sans",sans-serif; font-weight:700; font-size:var(--fs-label,16px)!important; letter-spacing:.08em; color:var(--gold2); }
.pool-actions { display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-top:var(--sp-3); }
.pool-actions .btn,.pool-journey .btn { min-height:48px; white-space:normal; }
.pool-sheet { width:min(46rem,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:var(--sp-4); border:1px solid var(--gold2); border-radius:var(--btn-radius); background:var(--bg); color:var(--fg); overflow:auto; }
.pool-sheet::backdrop { background:rgb(0 0 0 / .6); }
.pool-sheet .pool-journey,.pool-sheet .pool-invitation { margin:var(--sp-3) 0 0; }
.pool-close { display:block; margin-left:auto; min-height:48px; }
.pool-journey .pool-form { max-width:none!important; margin:var(--sp-3) 0!important; }
.pool-journey input[type=email],.pool-journey input[type=text],.pool-journey input:not([type]) { box-sizing:border-box; width:100%; min-height:48px; font:inherit; color:var(--fg); background:var(--bg); border:1px solid var(--fg3); border-radius:var(--btn-radius); padding:calc(var(--sp-3) / 2); }
.pool-journey .pool-label { display:block; margin-top:var(--sp-2); }
.pool-journey .pool-check { display:flex; gap:calc(var(--sp-3) / 2); margin-block:var(--sp-3); align-items:flex-start; }
.pool-journey .pool-check input { flex-shrink:0; width:20px; height:20px; margin-top:calc(var(--sp-1) / 2); }
.pool-journey > .btn { margin:var(--sp-2) var(--sp-2) 0 0; }
.pool-status { min-height:2rem; }
.pool-access-warning { display:block; width:100%; padding:var(--sp-3); margin-bottom:var(--sp-4); border:1px solid var(--gold2); background:var(--panel,var(--bg)); color:var(--fg); font:600 var(--fs-body,19px)/1.5 "DM Sans",sans-serif; text-align:left; cursor:pointer; }
#stage-pool-lock { max-width:54rem; min-height:70dvh; padding:calc(var(--sp-8) + var(--sp-4)) var(--sp-3) var(--sp-6); margin-inline:auto; text-align:left; }
#stage-pool-lock h1 { font-family:"Cormorant Garamond",serif; font-weight:700; font-size:var(--fs-h2,48px); line-height:1.05; margin-block:var(--sp-3); }
.pool-lock-lead { font-size:var(--fs-lead,24px); line-height:1.6; }
#pool-lock-form:empty { display:none; }
.pool-invitation[hidden],.pool-access-warning[hidden],.pool-journey [hidden] { display:none!important; }
.pool-invitation:focus-within,.pool-sheet :focus-visible,.pool-journey :focus-visible,.pool-access-warning:focus-visible { outline:2px solid var(--gold2); outline-offset:4px; }
.r0920-game > .pool-invitation { grid-column:1 / -1; margin-top:var(--sp-4); }
.pool-entry-invitation { margin-block:var(--sp-3); padding:var(--sp-3); }
.pool-entry-invitation h2 { font-size:var(--fs-lead,24px); }
.pool-entry-invitation .pool-mark { display:none; }
.pool-entry-invitation .pool-actions { margin-top:var(--sp-2); }
.r0920-game[data-game-state="playing"] > .pool-invitation { display:none!important; }
@media(max-width:600px) { .pool-invitation,.pool-journey,.pool-sheet { padding:var(--sp-3); } .pool-actions { flex-direction:column; } .pool-actions .btn { width:100%; } #stage-pool-lock { padding-top:calc(var(--sp-8) + var(--sp-2)); } .pool-sheet { --field-pad:max(var(--sp-3),env(safe-area-inset-bottom)); padding-bottom:var(--field-pad); } }
@media(prefers-reduced-motion:reduce) { .pool-invitation,.pool-sheet,.pool-access-warning { scroll-behavior:auto; transition:none; animation:none; } }

/* 2026-09-30: invitations share chapter seams; consent fields appear in the journey. */
#readoutBody > #pool-readout-invitation { margin-block:calc(var(--seam) / 2); }
#signin-section { display:flow-root; margin-top:var(--seam); }
#signin-section > .pool-invitation { margin-block:0; }
#signin-section > .pool-form { display:none; }
.pool-journey .pool-form { display:grid; gap:var(--sp-2); }
.pool-journey .pool-form > * { margin:0!important; }
#signin-section .reading-strength .rs-done,#signin-section .reading-strength .rs-locked { margin-top:var(--sp-2); }
#signin-section .reading-strength .rs-locked { gap:var(--sp-1); }
