/* Shared desktop features, adapted for smaller screens and touch input. */
.brand-logo{width:220px;height:165px}
.brand-app-icon{width:72px;height:72px}
.pt-home .pt-nav{min-height:181px}
.app-reference-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #416477;border-radius:8px;color:#36d3e4;font-size:14px;font-weight:700;text-decoration:none}
.header-user[role=button]:focus-visible,.mode-card[role=button]:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #36d3e4;outline-offset:4px}
.app-main,.screen,.question-screen,.chat-container,.chat-input-row,.chat-bubble{min-width:0}
a.btn-primary,a.btn-secondary{display:inline-flex;align-items:center;justify-content:center;text-align:center;max-width:100%;white-space:normal}
.pt-app .btn-primary::after{display:none}
.chat-input-row input{min-width:0}
.app-main{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
.bottom-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
.nav-tab{min-height:48px}
.codebook-layout .page-nav{position:relative}
.codebook-layout .code-section{scroll-margin-top:24px}
.codebook-layout .codebook-nav a{display:inline-flex;align-items:center;min-height:44px}
.reader-tools button,.reader-tools select{min-height:44px}
#arena-examsetup>div,#arena-account>div{max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:760px){
 html{scroll-padding-top:16px}
 body{overflow-wrap:break-word}
 input,select,textarea{font-size:16px!important;max-width:100%;min-width:0}
 button,a,input,select,textarea,[role=button]{touch-action:manipulation}
 button{min-height:44px!important}
 input:not([type=checkbox]):not([type=radio]),select{min-height:44px}
 .pt-home .wrap{padding-left:20px;padding-right:20px}
 .pt-home .pt-nav{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding-top:12px;padding-bottom:14px;min-height:0}
 .brand-logo{width:184px;height:138px}
 .pt-home .pt-nav nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:4px;font-size:12px;text-align:center}
 .pt-home .pt-nav nav a{display:flex;justify-content:center;align-items:center;min-height:44px;padding:8px 4px;border-radius:8px}
 .pt-home .pt-nav .nav-login{border-color:#416477;background:#102737}
 .pt-home .pt-hero{grid-template-columns:1fr;gap:28px;padding-top:30px;padding-bottom:36px}
 .pt-home h1{font-size:clamp(36px,10.8vw,52px);line-height:1.08;letter-spacing:-1.7px;margin-bottom:20px}
 .pt-home .hero-intro{font-size:16px;line-height:1.65;margin-bottom:22px}
 .pt-home .hero-actions{display:grid;grid-template-columns:1fr;gap:12px}
 .pt-home .hero-actions>a{min-height:48px;display:flex;align-items:center;justify-content:center}
 .pt-home .hero-caption{gap:8px;font-size:11px;margin-top:14px}
 .pt-home .hero-caption span+span{padding-left:8px}
 .pt-home .session-card{padding:22px;border-radius:12px;scroll-margin-top:20px}
 .pt-home .session-card h2{font-size:32px}
 .pt-home .session-card input,.pt-home .session-card button{min-height:48px;width:100%}
 .pt-home .training-section{padding:36px 0}
 .pt-home .section-intro{display:block;margin-bottom:24px}
 .pt-home .section-intro>p{margin-top:16px}
 .pt-home .training-grid{grid-template-columns:1fr;gap:14px}
 .pt-home .training-card{min-height:0;padding:24px;border-radius:12px}
 .pt-home .training-card h3{margin-top:16px}
 .pt-home .tools-strip{display:block}
 .pt-home .tools-strip a{display:inline-flex;align-items:center;min-height:48px;margin-top:8px}
 .pt-home .pt-footer{grid-template-columns:1fr;gap:22px;padding-top:28px;padding-bottom:28px}
 .pt-home .pt-footer nav{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
 .pt-home .pt-footer nav a{min-height:44px;display:flex;align-items:center}
 .page-nav{position:relative;flex-direction:column;gap:8px;padding:12px 16px;align-items:center}
 .page-nav .nav-links{width:100%;justify-content:center;flex-wrap:wrap;gap:4px 12px}
 .page-nav .nav-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:13px}
 .landing-nav{flex-direction:column;gap:10px;padding:12px 16px}
 .landing-nav-links{width:100%;justify-content:center;flex-wrap:wrap;gap:12px}
 .landing-nav-links a{display:inline-flex;align-items:center;min-height:44px}
 .pricing-head h1{font-family:Arial,sans-serif;letter-spacing:-1px;font-size:34px;line-height:1.15}
 .brand-app-icon{width:62px;height:62px}
 .pt-app .app-header{padding:8px 12px;gap:8px}
 .pt-app .app-header .header-left{gap:8px;min-width:0}
 .pt-app .header-user{gap:6px;min-width:0;min-height:48px}
 .pt-app .user-info{min-width:0;max-width:100px}
 .pt-app .user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .pt-app .user-avatar{width:32px;height:32px;font-size:18px;flex-shrink:0}
 .pt-app .xp-bar{width:80px;max-width:100%}
 .app-reference-link{padding:8px;font-size:12px}
 .pt-app .app-main{padding:20px 14px calc(102px + env(safe-area-inset-bottom,0px));width:100%}
 .pt-app .welcome-heading h1{font-size:28px;line-height:1.2}
 .pt-app .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .pt-app .stat-card{padding:16px 10px}
 .pt-app .game-modes-grid{grid-template-columns:1fr;gap:12px}
 .pt-app .mode-card{padding:20px;border-radius:12px}
 .pt-app .mode-icon{margin-bottom:8px}
 .pt-app .mode-name{font-size:21px}
 .pt-app .mode-desc{font-size:15px}
 .pt-app .bottom-nav{padding-left:4px;padding-right:4px}
 .pt-app .nav-tab{font-size:10px;letter-spacing:0;min-height:52px;padding:6px 2px}
 .pt-app .question-card{padding:18px 14px}
 .pt-app .question-text{font-size:18px;line-height:1.55}
 .pt-app .question-header{flex-wrap:wrap;gap:10px}
 .pt-app .answer-option{min-height:56px;padding:14px 12px;align-items:flex-start;font-size:16px;line-height:1.5}
 .pt-app .answer-letter{flex-shrink:0}
 .pt-app .question-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .pt-app .action-btn,.pt-app .btn-primary,.pt-app .btn-secondary{min-height:46px;white-space:normal}
 .pt-app .question-actions .action-btn{padding:10px 8px;font-size:13px}
 .pt-app .results-stats{flex-wrap:wrap;gap:14px}
 .pt-app .chat-container{height:calc(100dvh - 230px - env(safe-area-inset-bottom,0px));min-height:280px;max-height:none}
 .pt-app .chat-bubble{max-width:calc(100% - 42px);padding:12px;overflow-wrap:anywhere;font-size:16px}
 .pt-app .chat-input-row{padding:10px 0;gap:8px}
 .pt-app .chat-input-row input{padding:12px 10px}
 .pt-app .chat-input-row button{min-width:48px;min-height:48px;padding:10px}
 .pt-match{padding:18px 14px}.pt-match h2{font-size:20px;overflow-wrap:anywhere}
 .pt-match-option{padding:14px 12px;gap:10px;min-height:56px}
 .pt-match-summary{gap:6px}.pt-match-summary div{padding:10px 6px}.pt-match-summary span{font-size:12px}
 .pt-match-actions button{min-height:48px}
 #arena-paywall{align-items:flex-start!important;padding:24px 16px max(24px,env(safe-area-inset-bottom))!important}
 #arena-paywall>div{margin-block:auto;max-width:100%!important;padding:22px!important}
 .reader-intro{padding:24px 16px 8px}.reader-intro h1{font-size:32px}
 .codebook-search{padding:14px 16px}.reader-tools{padding:0 16px 16px;gap:8px}
 .reader-tools label{width:100%;justify-content:space-between}.reader-tools select{flex:1}
 .codebook-nav{padding-inline:16px;gap:8px}.codebook-nav a{padding:8px 12px}
 .code-section-header{padding:14px 16px}.code-section-title{font-size:16px}
 .table-scroll{overscroll-behavior-inline:contain}
}
@media(max-width:359px){
 .pt-home .pt-nav nav{grid-template-columns:repeat(2,1fr);gap:4px 8px}
 .pt-home .hero-caption{display:block}.pt-home .hero-caption span{display:block}.pt-home .hero-caption span+span{border:0;padding:4px 0 0}
 .pt-app .app-header{padding-inline:8px}.pt-app .user-avatar{display:none}
 .pt-app .app-header .header-left{gap:4px}.app-reference-link{padding-inline:6px}
}
