#dialog[open]{position:fixed;inset-block-start:calc(var(--dialog-visible-top,0px) + 8px);inset-block-end:auto;margin:0 auto;max-block-size:calc(var(--dialog-visible-height,100dvh) - 16px);overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:24px;box-sizing:border-box}
#dialog:has(#login-form){width:min(560px,calc(100% - 24px));padding:24px}#dialog:has(#login-form) input{font-size:16px;min-height:44px;box-sizing:border-box;width:100%}#dialog:has(#login-form) input[type=checkbox]{width:20px;min-height:20px;flex:none}#dialog:has(#login-form) button{min-height:44px}#dialog:has(#login-form) .login-intro[hidden],#dialog:has(#login-form) form[hidden]{display:none!important}#dialog:has(#login-form) #code-login-form{margin-top:10px}#dialog:has(#login-form) #login-change-email{margin-top:12px}
@media(max-width:640px){#dialog:has(#login-form){padding:16px}#dialog:has(#login-form) h2{font-size:22px;margin:0 40px 12px 0}#dialog:has(#login-form) p{font-size:14px;line-height:1.5;margin:10px 0}#dialog:has(#login-form) .form{gap:12px}#dialog:has(#login-form) .close{position:sticky;top:0;float:inline-end;margin:0 0 0 8px}}

/* Four original game cards remain; resume replaces the heading without adding a row. */
.puzuni-game-hub header{flex-wrap:nowrap!important;min-height:58px}.puzuni-game-hub h2{min-width:0;flex:1}.puzuni-game-hub h2 .return-resume{display:block;box-sizing:border-box;min-height:44px;height:44px;max-width:100%;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:inherit;line-height:44px;color:#176b5b;text-decoration:underline;text-underline-offset:4px}.puzuni-game-hub #game-hub-all{flex:none}
#game-hub-title .return-resume{display:block;box-sizing:border-box;min-height:44px;height:44px;max-width:100%;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:inherit;line-height:44px}
[data-return-guide=true]{outline:2px solid #267c69;outline-offset:2px;background:#e7f4e9!important}
.return-next{grid-column:1/-1;border-top:1px solid #c9ddd4;padding-block:16px;margin-block-start:16px}.return-next h3{font-size:18px;margin:0 0 8px}.return-next p{font-size:14px}.return-next .btn{display:inline-flex;min-height:44px;margin-inline-end:8px;margin-block-end:8px;white-space:normal}.return-next>span{display:block}
.return-admin form{display:grid;gap:16px;max-width:620px}.return-admin label{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.return-admin input{width:24px;height:24px;flex:none}.return-admin select{width:100%;min-height:180px;font-size:16px}.return-admin button{min-height:44px}.return-cohort{border-top:1px solid #d3e1dc;padding-block:12px}.return-cohort p{overflow-wrap:anywhere}
@media(max-width:640px){.puzuni-game-hub h2{font-size:18px}.return-next .btn{max-width:100%}.return-admin{padding:16px}}
@media(max-width:640px){#newgame-scope .new-game-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}#newgame-scope .new-game-actions .btn{min-width:0;min-height:44px;padding:6px 4px;font-size:13px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}}

/* Progress lives below play controls; it never adds a row above the board. */
.return-growth{border:1px solid #c8ddd4;border-radius:12px;padding:10px 14px;margin-block:12px;background:#f5faf6}.return-growth>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:650;overflow-wrap:anywhere}.return-growth p{margin:8px 0;font-size:14px}.return-growth progress{display:block;width:100%;height:12px;accent-color:#23775f}.return-first-steps{font-size:14px;line-height:1.6;border-inline-start:3px solid #267c69;padding-inline-start:10px}.return-admin input[type=number]{width:90px;min-height:44px}.return-funnel{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.return-funnel article{padding:14px;border:1px solid #c8ddd4;border-radius:12px}.return-funnel strong{font-size:24px;display:block}.return-funnel p{overflow-wrap:anywhere}
