/* Lobby typography is twice its 0.5 size; game controls keep their own scale. */
.page-auth{padding-top:28px}.page-auth .auth-layout{display:block;max-width:1020px;margin:0 auto}.page-auth .auth-card{padding:50px 60px;width:100%;border-radius:16px}.page-auth .auth-card>.eyebrow{font-size:28px;letter-spacing:1px}.page-auth .auth-card h2{font-size:72px;margin:20px 0 32px}.page-auth .segmented{padding:8px;gap:8px}.page-auth .segmented button{font-size:28px;padding:18px 24px;white-space:normal}.page-auth form>label{font-size:28px;margin:28px 0}.page-auth input{font-size:32px;min-height:86px;padding:20px 24px;border-radius:8px;margin-top:14px}.page-auth input::placeholder{font-size:28px}.page-auth .btn{font-size:32px;min-height:90px;padding:20px 28px}.page-auth .auth-card>p{font-size:28px;line-height:1.6;margin-top:32px}.page-auth .error-text{font-size:28px}.page-auth .auth-card .btn svg{width:30px;height:30px}
.page-matchmaking .page-heading h1{font-size:64px}.page-matchmaking .matchmaking-card{border-radius:14px}.page-matchmaking .match-tabs{justify-content:stretch;gap:0}.page-matchmaking .match-tabs>button{font-size:28px;padding:22px 18px;flex:1}.page-matchmaking .match-tabs>.eyebrow{font-size:28px;letter-spacing:1px}.page-matchmaking .choose-deck{padding:28px 30px}.page-matchmaking .choose-deck h2{font-size:50px}.page-matchmaking .text-button{font-size:28px;line-height:1.5}.page-matchmaking .section-heading{align-items:flex-start;flex-wrap:wrap}.page-matchmaking .deck-selector{justify-content:flex-start;gap:24px;padding:26px 10px 10px;scroll-snap-type:x proximity}.page-matchmaking .deck-stack{width:230px;height:330px;scroll-snap-align:start}.page-matchmaking .stack-front,.page-matchmaking .stack-layer{width:210px;height:305px}.page-matchmaking .stack-frame{padding:15px 12px;gap:14px}.page-matchmaking .stack-frame>span:not(.random-mark){font-size:32px}.page-matchmaking .stack-frame>small{font-size:28px;letter-spacing:0;line-height:1.3}.page-matchmaking .stack-frame .sigil{width:76px;height:76px}.page-matchmaking .random-mark{font-size:98px}.page-matchmaking .deck-stack.selected:after{width:36px;height:36px;font-size:24px}.page-matchmaking .match-options{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.page-matchmaking .match-options>section{padding:28px 30px;min-width:0}.page-matchmaking .match-options>section:first-child{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line)}.page-matchmaking .match-options h3{font-size:44px;margin:0 0 20px}.page-matchmaking .match-options h3 small{font-size:28px;margin-top:12px}.page-matchmaking .times{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.page-matchmaking .times>button{font-size:28px;min-height:72px;padding:12px 8px}.page-matchmaking .segmented{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:6px}.page-matchmaking .segmented button{font-size:28px;white-space:normal;padding:16px 8px;min-height:68px}.page-matchmaking .segmented button:first-child{grid-column:1/-1}.page-matchmaking input,.page-matchmaking select{font-size:28px;min-height:80px;padding:16px}.page-matchmaking input::placeholder{font-size:28px}.page-matchmaking .inline-form{gap:12px}.page-matchmaking .inline-form .icon-button{min-width:68px;width:68px;min-height:80px;height:80px;font-size:34px}.page-matchmaking .checkbox-label{font-size:28px;line-height:1.5;align-items:flex-start}.page-matchmaking .checkbox-label input{width:28px;height:28px;min-height:28px;padding:0;margin-top:6px}.page-matchmaking .match-submit{padding:28px 30px;align-items:stretch;gap:28px}.page-matchmaking .match-submit p{font-size:28px;line-height:1.55;max-width:none;flex:1}.page-matchmaking .match-submit .btn{font-size:32px;min-height:90px;min-width:300px}.page-matchmaking .random-deck-result{font-size:28px}.page-matchmaking .mythic-picker h3{font-size:44px}.page-matchmaking .mythic-picker p{font-size:28px;max-width:none}.page-matchmaking .mythic-picker article{width:280px}.page-matchmaking .mythic-picker strong{font-size:28px}.page-matchmaking .mythic-picker article span{font-size:28px}.page-matchmaking .mythic-picker img{max-width:210px}.page-matchmaking .mythic-picker .btn{font-size:28px}
.room-tools{border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:18px}.room-tools h3{font-size:23px;margin:0 0 12px}.room-tools h3>span{font:18px var(--sans);padding:2px 7px;border:1px solid var(--line);border-radius:5px}.room-tools p,.room-tools h4{font-size:15px}.room-tools h4{margin:18px 0 8px}.access-request{display:flex;flex-direction:column;gap:9px;padding:12px 0;border-top:1px solid var(--line)}.access-request>div{display:flex;gap:8px;flex-wrap:wrap}.access-request .btn{padding:8px 12px;font-size:15px}.access-request>span{font-size:14px}.access-granted{font-size:14px;color:#437348}.access-pending{font-size:14px}.opponent-hand{flex-wrap:wrap;height:auto;min-height:50px;gap:10px}.opponent-hand .btn{font-size:14px;min-height:36px;padding:7px 10px}.visible-opponent-hand{display:flex;gap:10px;overflow:auto;padding:8px 4px 14px}.visible-opponent-hand>.image-card{flex:0 0 120px;max-width:120px}.visible-opponent-hand .card-caption{min-height:40px}.visible-opponent-hand .card-caption strong{font-size:14px}.spectator-banner{font-size:15px;padding:12px 15px;background:#57534c0d;border:1px solid var(--line);border-radius:6px;margin:8px 0}.empty-hand .btn{margin:15px 0 0;display:flex}.absence-status{padding:14px 16px;border:1px solid #AB2C2C;border-radius:6px;margin-top:12px;display:flex;gap:8px;flex-direction:column;background:#AB2C2C08;font-size:15px}.absence-overlay{position:absolute;inset:0;z-index:40;display:grid;place-items:center;padding:18px;background:#57534c88;backdrop-filter:blur(3px)}.absence-overlay>section{width:min(480px,100%);padding:28px;border:2px solid #57534C;border-radius:12px;background:#F2ECE1;text-align:center}.absence-overlay h2{font-size:34px;margin-bottom:16px}.absence-overlay p{font-size:17px;line-height:1.6}.absence-countdown{display:block;font:38px Consolas,monospace;margin:15px 0 20px}.absence-overlay .btn{font-size:23px;min-height:58px;width:100%}.game-actions{flex-wrap:wrap}.game-actions .absence-trigger{flex:1 1 100%}.room-tools button{overflow-wrap:anywhere}
@media(max-width:1000px){.page-matchmaking .match-tabs{flex-direction:column}.page-matchmaking .match-tabs>button{text-align:left}.page-matchmaking .match-submit{flex-direction:column}.page-matchmaking .match-submit .btn{min-width:0;width:100%}.page-matchmaking .match-options{grid-template-columns:1fr}.page-matchmaking .match-options>section{border-right:0;border-bottom:1px solid var(--line)}.page-matchmaking .choose-deck h2{font-size:50px}.page-auth .auth-card{padding:36px}}
@media(max-width:600px){.page-auth{padding:20px 12px}.page-auth .auth-card{padding:26px 20px}.page-auth .auth-card h2{font-size:64px;overflow-wrap:anywhere}.page-auth .auth-card>.eyebrow{font-size:28px}.page-auth .segmented{display:grid;grid-template-columns:1fr;gap:8px}.page-auth .segmented button{padding:16px 10px}.page-auth input{padding:18px 12px;font-size:32px}.page-auth input::placeholder{font-size:26px}.page-auth .btn{font-size:28px;padding:18px 12px}.page-auth form>label{font-size:28px}.page-auth .auth-card>p{font-size:28px}.page-auth .auth-card .btn svg{display:none}.page-matchmaking .page-heading{gap:14px}.page-matchmaking .page-heading h1{font-size:54px;overflow-wrap:anywhere}.page-matchmaking .choose-deck,.page-matchmaking .match-options>section,.page-matchmaking .match-submit{padding:22px 16px}.page-matchmaking .times{grid-template-columns:repeat(2,minmax(0,1fr))}.page-matchmaking .times [data-time="random"]{grid-column:1/-1}.page-matchmaking .match-tabs>button{font-size:28px;padding:18px 16px}.page-matchmaking .match-options h3{font-size:44px}.page-matchmaking .deck-selector{gap:18px}.page-matchmaking .match-submit p{font-size:28px}.page-matchmaking .mythic-picker{padding:22px 16px}.page-matchmaking .mythic-picker article{width:100%;max-width:none}.page-matchmaking .mythic-picker article>button:first-child{padding:18px}.page-matchmaking .mythic-picker img{max-width:210px}.absence-overlay{padding:10px}.absence-overlay>section{padding:20px 16px}.absence-overlay h2{font-size:28px}.absence-overlay p{font-size:16px}.absence-countdown{font-size:32px}.absence-overlay .btn{font-size:22px}.visible-opponent-hand>.image-card{flex-basis:105px;max-width:105px}.spectator-banner{font-size:14px}}
