@media(max-width:700px){
 html,body{max-width:100%;overflow-x:clip}
 header{padding:16px 20px;gap:16px;flex-wrap:wrap}
 header img{width:84px;height:36px}
 header nav{gap:16px;flex-wrap:wrap}
 header nav a{display:inline-flex;align-items:center;min-height:44px}
 main{width:100%;padding:24px 20px 32px;min-width:0}
 main>*{min-width:0;max-width:100%}
 h1{overflow-wrap:break-word;letter-spacing:-.035em}
 .hero{padding:24px 0}
 .hero h1{font-size:clamp(32px,8vw,44px)}
 .model-heading{gap:12px;flex-wrap:wrap}
 #model-eye{width:44px;height:44px;flex-shrink:0}
 #model-explanation{position:static;width:100%;margin-top:16px;padding:16px;text-align:left}
 .actions{display:grid;grid-template-columns:1fr;width:100%;max-width:360px;margin-inline:auto}
 .join-link,.cta,button.cta,a.cta{min-height:46px;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:14px;line-height:1.4}
 .waiting-card{width:100%;padding:24px 18px;min-width:0}
 .waiting-card h1{font-size:30px;line-height:1.15}
 .waiting-card input:not([type=checkbox]){font-size:16px;min-height:48px}
 .waiting-card label,.waiting-card legend{font-size:14px}
 .waiting-card .note{font-size:13px}
 .search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .search-row input{min-width:0}.search-row button{min-height:48px}
 #org-list label{min-height:52px;align-items:flex-start;padding:12px;gap:12px}
 #org-list input[type=checkbox]{width:20px;height:20px;padding:0;margin:2px 0 0;flex-shrink:0}
 #org-list .org-name{font-size:14px}#org-list .org-meta{font-size:12px}
 .waiting-card .back-link{min-height:44px;display:inline-flex;align-items:center;font-size:13px}
 .canvas{padding:20px 16px}.featured,.journey,.game-grid{grid-template-columns:minmax(0,1fr)}
 .steps{grid-template-columns:minmax(0,1fr);gap:12px}
 .step{min-height:0;padding:16px 0}.step h3{font-size:17px}.step p{font-size:13px}
 .chevron{transform:rotate(90deg);justify-self:center}
 .game p{font-size:14px;line-height:1.6;min-height:0}
 .game-top,.intro{display:block}
 .option-label{flex-wrap:wrap;gap:6px 12px}.option-label small{flex-basis:100%}
 dialog{width:calc(100% - 32px);max-height:calc(100svh - 32px);overflow:auto;padding:24px 20px}
 dialog .close{min-width:44px;min-height:44px}
}
@media(max-width:360px){.search-row{grid-template-columns:minmax(0,1fr)}header{padding-inline:16px}main{padding-inline:16px}}

/* Selected mobile layouts: centered invitation, one game at a time, open form. */
.games-mobile-only{display:none}
.game-carousel-controls{display:none}
@media(max-width:700px){
 .games-landing,.games-library,.games-waitlist{min-height:100svh}
 .games-landing header,.games-library header,.games-waitlist header{min-height:80px;flex-wrap:nowrap;padding:16px 20px}
 .games-landing header nav,.games-library header nav,.games-waitlist header nav{flex-wrap:nowrap;gap:16px}
 .games-mobile-only{display:block}
 .games-desktop-only{display:none!important}
 .games-landing main{min-height:calc(100svh - 80px);padding:24px 24px 36px}
 .games-landing .hero{display:flex;flex-direction:column;align-items:center;padding:0;max-width:420px}
 .games-landing .hero h1{font-size:clamp(38px,10.5vw,48px);line-height:1.08;letter-spacing:-.045em;margin:22px 0 14px}
 .games-landing .hero .mobile-invitation-copy{font-size:15px;line-height:1.65;max-width:330px;margin:0}
 .games-landing .hero .mobile-payoff{width:min(100%,250px);margin:26px auto 0}
 .games-landing .hero .actions{order:5;margin:24px 0 0;max-width:330px}
 .games-landing .hero>.launch{order:6;font-size:12px;margin:15px 0 0}
 .mobile-payoff{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;font:16px/1.4 ui-monospace,monospace}
 .mobile-payoff span{display:grid;place-items:center;min-height:52px;border:1px solid #9abdab35;border-radius:7px;background:#17382c75;color:#bdd6c8}
 .games-library main{min-height:calc(100svh - 80px);display:flex;flex-direction:column;justify-content:center;padding:24px 20px 32px}
 .games-library .intro,.games-library .option[data-option="1"],.games-library .option[data-option="3"],.games-library main>.note{display:none}
 .games-library .option[data-option="2"]{width:100%;max-width:440px;margin:0 auto}
 .games-library .option[data-option="2"]>.option-label{display:none}
 .games-library .option[data-option="2"]>.canvas{padding:0;border:0;background:none;overflow:visible}
 .games-library .game-top h2{font-size:30px;line-height:1.15;margin:10px 0 20px;letter-spacing:-.8px;max-width:330px}
 .games-library .game-grid{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:100%;grid-template-columns:none;gap:14px;margin:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:12px}
 .games-library .game-grid::-webkit-scrollbar{display:none}
 .games-library .game-grid:focus-visible{outline:2px solid #c1dfd1;outline-offset:4px}
 .games-library .game{width:100%;min-width:0;min-height:286px;align-items:center;justify-content:center;text-align:center;padding:24px 20px;scroll-snap-align:start;scroll-snap-stop:always;border-radius:12px}
 .games-library .game .symbol{height:44px;flex-shrink:0}
 .games-library .game h3{font-size:23px;line-height:1.25;margin:14px 0 8px}
 .games-library .game p{font-size:14px;line-height:1.6;margin:0;max-width:270px;min-height:0}
 .games-library .game .mobile-payoff{display:grid;width:min(100%,240px);margin:20px 0 0;font-size:14px}
 .games-library .game .mobile-payoff span{min-height:40px;background:#293e40}
 .game-carousel-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;margin-top:10px}
 .game-carousel-controls button{width:44px;height:44px;padding:0;background:#263841;border:1px solid #8aab9d70;color:#d7ebdf;border-radius:50%;font-size:20px;line-height:1;display:grid;place-items:center}
 .game-carousel-controls button:disabled{opacity:.3;cursor:default}
 .game-carousel-controls p{text-align:center;margin:0;color:#afc7bd;font-size:12px;line-height:1.5}
 .game-carousel-controls p span{display:block;color:#8fa69e;font-size:11px}
 .games-library .game-mobile-join{display:flex;width:100%;min-height:48px;justify-content:center;margin-top:16px}
 .games-waitlist main{display:block;min-height:calc(100svh - 80px);padding:30px 24px 40px}
 .games-waitlist .waiting-card{width:100%;max-width:440px;margin:auto;padding:0;border:0;border-radius:0;box-shadow:none;background:none}
 .games-waitlist .waiting-card h1{font-size:32px;line-height:1.15;margin:18px 0 14px}
 .games-waitlist .waiting-card form{margin-top:28px}
 .games-waitlist .waiting-card .join-link{min-height:48px;font-size:14px}
 .games-waitlist #org-list{max-height:none}
 .games-waitlist #waiting-status:empty,.games-waitlist #org-status:empty{display:none}
 .games-waitlist .back-link{margin-top:20px}
}
@media(max-width:360px){
 .games-landing header,.games-library header,.games-waitlist header{padding-inline:16px}
 .games-landing main,.games-library main,.games-waitlist main{padding-inline:20px}
 .games-landing .hero h1{font-size:38px}
 .games-library .game{padding-inline:16px}
}
@media(max-width:700px) and (max-height:700px){
 .games-landing main{padding-top:12px;padding-bottom:24px}
 .games-landing .hero h1{margin-top:16px;font-size:38px}
 .games-landing .hero .mobile-payoff{margin-top:18px}
 .games-landing .hero .actions{margin-top:18px}
 .games-library main{padding-top:16px;padding-bottom:24px}
 .games-library .game{min-height:262px;padding-block:18px}
 .games-library .game-top h2{font-size:28px;margin-bottom:16px}
}
