/* GP023: responsive share cards and private invite UX. DOM text stays full DPI. */
.gp23-dialog{position:fixed;inset:0;z-index:250;background:#040d1feb;backdrop-filter:blur(8px);padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:auto;overscroll-behavior:contain;touch-action:pan-y;display:flex;align-items:flex-start;justify-content:center;color:#f4f1ea}
.gp23-panel{width:min(1060px,100%);margin:auto;background:#102b50;border:1px solid #7a9fc75c;padding:clamp(18px,3vw,34px);border-radius:18px;box-shadow:0 25px 70px #0007;min-width:0}
.gp23-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.gp23-panel h2{margin:4px 0;font-size:clamp(28px,4vw,42px);letter-spacing:-1px}.gp23-panel p{font-size:15px;line-height:1.55}.gp23-panel .gp23-eyebrow{font-size:11px;letter-spacing:1.8px;margin:0;color:#afc9e6}.gp23-panel .gp23-note{font-size:13px;line-height:1.6;color:#c6d5e7}.gp23-close{background:#06192f;border:1px solid #99b9d26a;border-radius:10px;min-width:46px;min-height:46px;font-size:26px}
.gp23-card-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.9fr);gap:28px;align-items:start}.gp23-card-layout>*{min-width:0}.gp23-card-layout label,.gp23-panel dt{display:block;font-size:11px;letter-spacing:1.5px;color:#b7d0e9;margin:16px 0 9px}.gp23-panel input,.gp23-panel select{min-height:48px;width:100%;border:1px solid #799fbe;border-radius:8px;background:#081b33;color:#fff;padding:11px 12px;font-size:15px}.gp23-card-layout input{font-size:13px;text-overflow:ellipsis}.gp23-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.gp23-buttons button{min-height:48px;font-size:13px;border-radius:9px;padding:13px 16px;text-align:center;justify-content:center}.gp23-buttons .primary{width:100%;color:white;gap:10px;min-width:0}.gp23-buttons .secondary{flex:1;min-width:130px}
#share23-preview{width:100%;max-height:68vh;object-fit:contain;object-position:top;background:#07182f;border:1px solid #8eabc144;border-radius:8px}#share23-status{min-height:48px;color:#d2e5f4}.gp23-invite{max-width:620px}#challenge23-details{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 20px;padding:12px 16px;background:#081e37;border-radius:10px}#challenge23-details dt{margin:9px 0}#challenge23-details dd{margin:7px 0;font-size:14px;line-height:1.5}#challenge23-summary{font-size:20px;font-weight:700;color:#f7ce6e}
#challenge23-strip{background:#0d304f;border:1px solid #76b7ff;margin:12px 0;padding:12px 16px;border-radius:12px;pointer-events:auto}#challenge23-strip b{font-size:11px;letter-spacing:1.5px;color:#f7ce6e}#challenge23-strip p{font-size:14px;margin:8px 0}#challenge23-strip button{min-height:44px;font-size:11px}.gp23-outcome{font-size:17px!important;color:#ffe195!important;border-left:4px solid #76b7ff;padding:14px;background:#07182f}.gp23-challenge .touch.transform{display:none!important}
#party-invite .gp23-invite-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}#party-invite .gp23-invite-actions button{min-height:48px;padding:12px 16px;font-size:13px;border-radius:9px}#party-share{background:#c62839;color:white}#party-invite-url{display:block;width:100%;min-height:46px;padding:10px;background:#081c33;border:1px solid #7b9dbb;color:white;font:13px ui-monospace,monospace;margin-top:12px}#party-expiry{font-size:13px;color:#d5e2f2;margin:10px 0}#party-return-note{font-size:13px;color:#f8d991;line-height:1.5}.gp23-link-warning{padding:12px;border-left:3px solid #f7ce6e;background:#06182d}
@media(max-width:650px){.gp23-card-layout{grid-template-columns:1fr}.gp23-card-layout>img{max-height:52vh;grid-row:2}.gp23-dialog{padding:12px}.gp23-panel{padding:18px;border-radius:14px}.gp23-panel h2{font-size:29px}.gp23-panel p{font-size:14px}#challenge23-details{grid-template-columns:1fr;gap:0}#challenge23-details dt{margin-bottom:0}#challenge23-details dd{margin-top:4px}#party-invite .gp23-invite-actions{flex-direction:column}}
@media(max-height:480px) and (min-width:651px){.gp23-panel{padding:18px 22px}.gp23-panel header{margin-bottom:9px}.gp23-panel h2{font-size:28px}.gp23-card-layout{gap:18px;grid-template-columns:1fr 240px}#share23-preview{max-height:82vh}.gp23-invite{max-width:760px}#challenge23-details{margin:8px 0}.gp23-panel .gp23-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){.gp23-dialog{backdrop-filter:none}}

.gp23-panel .gp23-photo-option{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:0;text-transform:none;min-height:44px}.gp23-panel .gp23-photo-option input{width:20px;height:20px;min-height:20px;accent-color:#76b7ff;padding:0}

#party-invite label{display:block;font-size:11px;line-height:1.5;letter-spacing:1px}
