/* Final mobile geometry: both gender cards use the same footprint. */
.banner-portrait{width:100%;height:100%;background-image:url(hero-pair.png);background-size:330% auto;background-repeat:no-repeat;background-position:49% 2%}.banner-portrait[data-person=f]{background-position:82% 18%}.player-box .photo-controls,.photo-note{display:none!important}.player-box .avatar{border-radius:8px!important}.hud-name{display:none}.menu-photo-actions{display:grid;gap:10px;margin-top:20px}.menu-photo-actions button{min-height:48px;border:1px solid #8e7b9f;border-radius:9px;background:#fffafb;color:var(--ink);font:600 15px Arial,sans-serif;padding:12px 16px;text-align:left}.menu-photo-actions button:first-child{background:#abe8ef}.menu-photo-actions button:disabled{opacity:.45}.menu-photo-actions p{font-size:13px;line-height:1.6;margin:0;color:var(--muted)}.gender-options button{min-height:90px}.gender-options strong{font-size:16px}.gender-options span img{width:80px;height:80px}.playing .player-box>label,.playing .gender-button{display:none!important}body.playing .hud-name{display:block;grid-column:2;font-size:13px;line-height:1.3;color:var(--ink)}body.playing .player-box>span>span:last-child{font-size:12px!important}body.playing .card-top{font-size:13px}body.playing .turn{font-size:15px}body.playing .card-bottom{font-size:12px}body.playing .controls .primary{font-size:17px}body.playing .controls .secondary{font-size:14px}body.playing .reactions{display:flex;flex-wrap:wrap;gap:9px;margin:10px 0 0}body.playing .reactions div{gap:7px;flex-wrap:nowrap}body.playing .reactions button{font-size:12px!important;min-height:44px!important;padding:8px 12px}body.playing .reactions #reaction-label{font-size:12px}body.playing #hint{font-size:12px}.tutorial-progress{font-size:13px;font-weight:700;color:var(--muted)}.tutorial-art{height:100px;display:grid;place-items:center;margin:20px 0;background:#fbc9e3;border:2px solid var(--ink);font-size:44px;font-weight:900}.tutorial-art span{color:var(--ink)}#tutorial h2{font-size:27px;line-height:1.2;margin:21px 0 14px}#tutorial-copy{font-size:16px;line-height:1.6;color:var(--ink);min-height:130px}.tutorial-actions{display:flex;gap:12px}.tutorial-actions button{min-height:48px;flex:1;border:2px solid var(--ink);border-radius:0;font-size:16px;font-weight:700;color:var(--ink);background:#fffafb;padding:11px 15px}#tutorial-next{background:#abe8ef}#tutorial-skip{font-size:13px;border:0;background:transparent;text-decoration:underline;color:var(--muted);min-height:44px;margin:8px auto 0;display:block}#tutorial{max-width:520px;padding:30px;max-height:90vh;overflow:auto}.gender-options span{display:block;width:80px;height:80px}.gender-options [data-gender] span img{display:none}.gender-options [data-gender] span{background-image:url(hero-pair.png);background-size:330% auto;background-repeat:no-repeat;background-position:49% 2%;border:1px solid #7e688e;border-radius:8px}.gender-options [data-gender=f] span{background-position:82% 18%}
@media(max-width:700px){body.playing .hud-name{font-size:12px}body.playing .turn{font-size:13px}body.playing .card-top{font-size:12px}body.playing .card-bottom{font-size:11px}body.playing .card .question-wrap{padding-top:23px;padding-bottom:18px}body.playing .card h2{font-size:24px;line-height:1.32}body.playing .reactions{display:block;margin:8px 0 0}body.playing .reactions div{gap:5px;margin-top:7px}body.playing .reactions button{padding:8px 6px;font-size:10px!important;min-height:44px!important}body.playing .controls .primary{font-size:16px}body.playing .controls .secondary{font-size:13px}body.playing .card .controls{margin-top:13px}body.playing .card .keyboard{font-size:11px}body.playing .card .below-controls #end{font-size:11px}#tutorial{padding:25px 21px}#tutorial-copy{font-size:15px;min-height:125px}.tutorial-art{height:82px;font-size:36px}.menu-photo-actions p{font-size:13px}.player-box>label{font-size:11px!important}.gender-button{font-size:14px!important}.player-box>span>span:last-child{font-size:11px!important}.photo-controls .upload{font-size:13px!important}.meaning-strip p{font-size:13px}.meaning-strip span{font-size:10px}.video-teaser,.video-teaser button{font-size:12px}.settings label,.settings select{font-size:12px}.genre-choice summary{font-size:13px}.author p{font-size:12px}.author-actions a,.author-actions button{font-size:12px}.card .reactions button{font-size:11px!important}.card .card-bottom{font-size:11px}body.playing .player-box{min-height:72px!important}}
.player-select-area{position:absolute;inset:0;width:100%;height:100%;z-index:1;background:transparent;border:0;padding:0;border-radius:0;cursor:pointer}.player-select-area:focus-visible{outline:4px solid #25214d;outline-offset:4px}.player-box .gender-button{pointer-events:none}.player-box .photo-controls{position:relative;z-index:2}.player-box[data-active=true]{outline:3px solid #26234d;outline-offset:4px}.player-box[data-active=true] .avatar{box-shadow:3px 3px 0 #26234d!important}#skip[data-gender=m]{background:#abe8ef;border-color:#26234d}#skip[data-gender=f]{background:#ffd0e6;border-color:#26234d}.card .controls{width:100%;margin-top:20px}.card .below-controls{width:100%}.card #hint:empty{display:none}.card .question-wrap{max-width:100%;width:100%}.photo-controls .upload,.photo-controls button{min-height:44px!important}.photo-note button,.genre-choice summary,.reactions button,.author-actions a,.author-actions button{min-height:44px!important}.settings select{min-height:44px}.languages button{min-width:40px;min-height:44px}.help{min-width:44px;min-height:44px}.players{grid-template-columns:1fr 44px 1fr!important}#swap{width:44px!important;height:44px!important;position:relative;z-index:3}#game-settings,#game-cover{display:none;width:44px;height:44px;background:#fffafb;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);font-size:20px;color:var(--ink)}body.playing #game-settings,body.playing #game-cover{display:block}body.playing main{max-width:1040px;padding-top:14px}body.playing .express-hero,body.playing .meaning-strip,body.playing .video-teaser,body.playing .photo-note,body.playing .settings,body.playing .genre-choice,body.playing .session-row,body.playing footer,body.playing .author{display:none}body.playing .photo-controls{display:none}body.playing .players{margin:17px 0 21px!important}body.playing .player-box{padding:9px 14px!important;box-shadow:3px 3px 0 #55d2df!important}body.playing .player-box[data-gender=f]{box-shadow:3px 3px 0 #ed87ba!important}body.playing .player-box .avatar{width:47px;height:50px}.playing .player-box,.playing .player-box[data-gender=f]{grid-template-columns:48px 1fr!important;gap:2px 12px!important}body.playing .card{min-height:320px!important}body.playing .card h2{font-size:32px}body.playing .card .question-wrap{padding-top:26px;padding-bottom:24px}body.playing .matchmakers{margin-top:14px;padding:8px 12px}body.playing .reactions{margin-top:12px}body.playing .banter-toggle{margin-top:3px}body.playing .header-actions{gap:10px}body.playing-config .settings{display:flex}body.playing-config .genre-choice{display:block}body.playing-config .photo-controls{display:flex}body.playing-config .photo-note{display:block}body.playing-config .session-row{display:flex}body.playing-config .players{margin-bottom:15px!important}
@media(max-width:700px){.languages button{min-width:36px;min-height:44px}.help{width:44px!important;height:44px!important}.brand{max-width:205px;line-height:1.1}.brand>span{max-width:170px}.header-actions{gap:7px!important}.players{grid-template-columns:1fr 44px 1fr!important;gap:8px!important}.player-box .photo-controls .upload{font-size:9px!important}.card .controls{grid-template-columns:1fr 1fr;margin-top:18px}.card .controls .primary{grid-column:1/3}.card .below-controls{justify-content:space-between;gap:8px}.card .keyboard{margin-top:14px;margin-bottom:12px}.card .below-controls #end{min-height:44px}.card .question-wrap{padding-top:27px;padding-bottom:23px}.reactions button{font-size:10px!important}.genre-choice summary{display:flex;align-items:center}body.playing main{padding:12px 15px 18px}body.playing .brand>span{display:none}body.playing .brand img{width:25px!important;height:29px!important}body.playing header{padding-bottom:11px;min-height:55px}body.playing .header-actions{gap:7px!important}body.playing .players{margin:15px 0 18px!important}body.playing .player-box,body.playing .player-box[data-gender=f]{grid-template-columns:38px minmax(0,1fr)!important;padding:7px!important;gap:2px 7px!important}body.playing .player-box[data-gender=f] .avatar,body.playing .player-box[data-gender=m] .avatar{width:36px;height:46px}.playing .players .avatar img.pixel-avatar{width:33px;height:36px}body.playing .gender-button{font-size:11px;min-height:23px}body.playing .player-box>label{font-size:8px!important}body.playing .card{padding:18px!important;min-height:330px!important}body.playing .card h2{font-size:24px;line-height:1.3}body.playing .card .question-wrap{padding-top:23px;padding-bottom:22px}body.playing .controls .primary{font-size:14px;min-height:49px}body.playing .controls .secondary{min-height:44px}body.playing .card .controls{margin-top:16px;gap:9px}body.playing .card .below-controls #end{font-size:9px}body.playing .card .keyboard{font-size:9px}body.playing .matchmakers p{font-size:10px}body.playing .reactions{margin-top:14px}.photo-note{font-size:10px!important}.photo-note button{font-size:10px}body.playing .languages button{min-width:38px}.brand{font-size:18px!important}.hero-title{font-size:34px}body.playing-config .photo-controls{display:flex}}
@media(max-width:360px){.brand{max-width:145px!important;font-size:15px!important}.brand>span{max-width:108px}.header-actions{gap:6px!important}.languages button{min-width:33px}body.playing .languages button{min-width:36px}body.playing .card h2{font-size:23px}body.playing .card{padding:16px!important}.players .player-box[data-gender=f],.players .player-box[data-gender=m]{grid-template-columns:34px minmax(0,1fr)!important;padding:8px 6px 4px!important;gap:3px 5px!important}}
.video-teaser{display:flex;align-items:center;gap:13px;margin:-3px 0 18px;font-size:11px;color:var(--muted);flex-wrap:wrap}.video-teaser button{border:0;background:transparent;color:var(--ink);font-size:11px;font-weight:700;min-height:36px;padding:4px 0;text-decoration:underline;text-underline-offset:3px}#video-dialog{max-width:470px;padding:30px 23px 20px;max-height:94vh;overflow:auto}#video-dialog h2{font-size:21px;margin:15px 0}#video-frame{aspect-ratio:9/16;max-height:60vh;background:#151326;display:flex;justify-content:center}#video-frame iframe{width:100%;height:100%;border:0;max-height:60vh}#video-fallback{font-size:12px;color:var(--ink)}@media(max-width:700px){.video-teaser{font-size:10px;gap:8px;margin-bottom:13px}.video-teaser button{font-size:10px}#video-dialog{padding:24px 17px 17px;max-width:calc(100vw - 30px)}#video-frame{max-height:55vh}#video-frame iframe{max-height:55vh}}
:root{--ink:#26234d;--muted:#5f5274;--paper:#fff0f8}
body{background-color:#fff0f8;background-image:radial-gradient(#dfc6dd 1px,transparent 1px)}main{max-width:1140px}.brand{font-size:24px;text-transform:none;letter-spacing:-.7px}.brand img{width:34px;height:40px}
.express-hero{background:#fc93c3;position:relative;min-height:290px;padding:27px 33px;display:grid;grid-template-columns:1.2fr 1fr;gap:12px;box-shadow:7px 7px 0 #55d2df;margin-bottom:22px;isolation:isolate}.hero-copy{position:relative;z-index:2}.hero-title{display:block;margin:0 0 13px;font-size:58px;line-height:.95;font-weight:900;letter-spacing:-2.5px;color:#26234d;text-transform:lowercase;max-width:540px}.hero-subtitle{font-size:16px;font-weight:700;letter-spacing:-.2px;display:block;margin-bottom:23px}.express-hero .express-tab{font-size:19px;background:#26234d;color:#fff6ef;border-color:#26234d;box-shadow:4px 4px 0 #55d2df;min-height:56px;padding:14px 22px}.express-hero .express-tab[aria-pressed=true]{background:#55d2df;color:#26234d}.express-hero .express-tab:hover{box-shadow:2px 2px 0 #55d2df}.express-meta{font-size:10px;text-align:left;margin-top:12px;line-height:1.6}.hero-art{position:relative;display:flex;justify-content:center;align-items:center;grid-column:2;grid-row:1;z-index:1}.hero-art img{max-width:100%;width:270px;height:315px;object-fit:contain;filter:drop-shadow(8px 7px 0 #26234d20)}
.meaning-strip{margin-bottom:21px}.meaning-strip p{font-weight:400;font-size:12px}.meaning-strip span,.settings select{background:#fffafb}.player-box{background:#abe8ef!important;box-shadow:4px 4px 0 #55d2df!important}.player-box[data-gender=f]{background:#ffd0e6!important;box-shadow:4px 4px 0 #ed87ba!important}.players .avatar,.players .player-box[data-gender=f] .avatar{background:#fffaf6}.card,.card.him,.card.her,.card.together{background:#fffafb;box-shadow:7px 7px 0 #ed87ba;border-color:#26234d}.card-top{border-bottom-color:#b4a0c2}.card.him .card-top{border-bottom-color:#55aab7}.card.her .card-top{border-bottom-color:#d879a8}.controls .primary{background:#55d2df}.controls .primary:hover{background:#76dfeb}.controls .secondary,.modes button,.reactions button,.author-actions button,.author-actions a{background:#fffafb}.modes button[aria-pressed=true]{background:#26234d}.matchmakers{background:#fbcbe3}.reactions button[aria-pressed=true]{background:#abe8ef}.notice{background:#ffe5bf}.gender-options button{background:#abe8ef}.gender-options button:nth-child(2){background:#ffd0e6}.author h3{font-size:16px}.modes button{min-height:40px}dialog{background:#fff4fa}#amounts button{background:#fffafb}#amounts button[aria-pressed=true]{background:#26234d}.privacy{color:#5f5274}.express-info{background:#ffd0e6}
@media(max-width:700px){main{padding-left:17px;padding-right:17px}.brand{font-size:20px!important;letter-spacing:-.5px}.brand img{width:25px!important;height:30px!important}.header-actions{gap:7px!important}.express-hero{padding:23px 16px 20px;min-height:253px;display:grid;grid-template-columns:1.1fr .9fr;gap:0;box-shadow:5px 5px 0 #55d2df;margin-top:21px;margin-bottom:21px}.hero-title{font-size:36px;letter-spacing:-1.8px;line-height:1;margin-bottom:11px}.hero-subtitle{font-size:11px;line-height:1.5;margin-bottom:16px;max-width:170px}.hero-art img{width:160px;height:222px;max-width:115%;filter:drop-shadow(4px 4px 0 #26234d20)}.express-hero .express-tab{font-size:13px;padding:12px 8px;min-height:49px;max-width:100%;width:auto;white-space:nowrap;box-shadow:3px 3px 0 #55d2df}.express-meta{font-size:8px;text-align:left;max-width:165px;margin-top:11px}.hero-art{align-self:center;overflow:visible;position:relative;left:5px}.meaning-strip p{font-size:11px}.meaning-strip span{font-size:8px}.card{box-shadow:5px 5px 0 #ed87ba}.hero-copy{max-width:100%}.brand-sub{display:none!important}
.players .player-box[data-gender=f] .avatar,.players .player-box[data-gender=m] .avatar{width:43px;height:51px;grid-column:1;grid-row:1/4;margin:0;border:1px solid var(--ink)}.players .player-box[data-gender=f],.players .player-box[data-gender=m]{grid-template-columns:45px minmax(0,1fr)!important;gap:4px 6px!important;padding:10px 8px 5px!important}.players .avatar img.pixel-avatar{width:40px;height:40px}.players .player-box>label,.players .gender-button,.players .player-box>span{grid-column:2;width:auto!important;text-align:left;justify-content:flex-start}.players .player-box>label{font-size:8px!important}.players .gender-button{font-size:11px;min-height:25px}.players .player-box .life-dots{gap:3px}.players .life-dots i{width:5px;height:5px}.players .player-box>span>span:last-child{font-size:8px!important}.players .photo-controls{grid-column:1/3!important}.players .photo-controls .upload{font-size:8px!important}}
@media(max-width:360px){.brand{font-size:17px!important;max-width:165px;line-height:1.1}.brand img{width:22px!important}.express-hero{padding:20px 12px;grid-template-columns:1.05fr .95fr;min-height:224px}.hero-title{font-size:31px;letter-spacing:-1.5px}.hero-subtitle{font-size:10px}.hero-art img{height:191px;width:137px}.express-hero .express-tab{font-size:11px;padding:10px 6px;min-height:44px}.express-meta{font-size:7px}.hero-art{left:4px}.players .player-box[data-gender=f],.players .player-box[data-gender=m]{grid-template-columns:36px minmax(0,1fr)!important;gap:3px 5px!important;padding:8px 6px 4px!important}.players .player-box[data-gender=f] .avatar,.players .player-box[data-gender=m] .avatar{width:36px;height:46px}.players .avatar img.pixel-avatar{width:33px;height:36px}.players .gender-button{font-size:10px}.players .player-box>label{font-size:7px!important}.players .player-box>span>span:last-child{font-size:7px!important}}
/* QA: keep real touch targets and complete cards inside compact game viewports. */
body.playing .languages button{min-width:44px!important;min-height:44px!important}
@media(max-width:380px){body.playing .card h2{font-size:20px!important;line-height:1.25!important}body.playing .card .question-wrap{padding-top:12px!important;padding-bottom:10px!important}body.playing .card{padding:14px!important}body.playing .card .controls{margin-top:10px!important}body.playing .reactions{margin-top:8px!important}body.playing .header-actions{gap:6px!important}}
/* Approved dress/blazer artwork: isolate each face in the small participant portraits. */
.banner-portrait,.gender-options [data-gender] span{background-size:600% auto!important;background-position:48% 7%!important}
.banner-portrait[data-person=f],.gender-options [data-gender=f] span{background-position:62% 18%!important}

/* Decorative duo uses the same approved artwork as participant selectors. */
.matchmaker-sprites .banner-portrait{display:block;width:32px;height:36px;border-radius:7px;border:1px solid #7e688e;background-color:#fffafb;flex-shrink:0}.matchmaker-sprites{gap:5px}.banter-toggle{min-height:44px!important;font-size:12px!important}


.brand img{image-rendering:auto!important;object-fit:contain}

