/* Public pages share one readable column. Orientation and zoom stay unrestricted. */
html body{padding:24px 16px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
main.info-page,main.results-page{width:min(100%,500px);max-width:500px}
#game-screen>h1{margin-bottom:12px}
.orb,.orb.playing{width:64px;height:64px;margin:24px auto}
#game-screen .controls{grid-template-columns:minmax(0,1fr)}
#game-screen .controls button{width:100%}
.instructions{margin:16px 0 12px}
.instructions>summary,.board-rules>summary,.previous-results>summary{padding:14px 0;min-height:52px;cursor:pointer;line-height:1.5;font-weight:700}
.instructions[open]{padding-bottom:12px;border-bottom:1px solid var(--line)}
.instruction-steps{padding-left:1.65rem;margin:20px 0;text-align:left}
.instruction-steps>li{padding:0 0 16px 4px}
.instruction-steps h2{font-size:1.05rem;line-height:1.5;margin:0 0 6px}
.instruction-steps p{margin:0 0 10px}
.lane-choice{border:0;padding:0;margin:12px 0 24px}
.lane-choice button{width:100%;font-size:1rem}
.score-line{grid-template-columns:minmax(0,1fr);gap:4px}
.score-time{display:block}
.board-rules{margin-top:16px;border-top:1px solid var(--line)}
.board-rules p{font-size:1rem}
.boards{grid-template-columns:minmax(0,1fr);gap:16px}
.boards article{padding:18px}
.previous-results{border-top:1px solid var(--line);padding-top:4px}
.previous-results>summary h2{display:inline;font-size:1.15rem;line-height:1.5;margin:0}
.previous-results[open]>summary{margin-bottom:12px}
#load-status:empty{display:none}
.page-nav,html[data-interface="welcome"] .page-nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:0;padding:0;margin:0 0 20px}
.page-nav a{display:inline-block;padding:10px 0;min-height:44px}
#message{scroll-margin-block:24px}
#send{width:100%}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
html[data-interface="welcome"] body{padding:20px 12px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
html[data-interface="welcome"] main,html[data-interface="welcome"] #entry-screen{width:min(100%,500px);max-width:500px;padding:28px 24px}
html[data-interface="welcome"] #entry-screen h1{font-size:clamp(2.1rem,7.5vw,2.8rem);margin-bottom:12px}
html[data-interface="welcome"] #entry-screen .entry-eyebrow{margin-bottom:20px}
html[data-interface="welcome"] .brand-mark{display:inline-block;vertical-align:.06em;width:.48em;height:.48em;margin-right:.25em;border-radius:50%;background:#086772}
html[data-interface="welcome"] input,html[data-interface="welcome"] textarea{border:2px solid #526f79}
html[data-interface="welcome"] .previous-results{border-color:#cbdade}
html[data-interface="welcome"] .previous-results>summary{color:#142e36}
html[data-interface="welcome"] .previous-results>summary h2{font-size:1.15rem;margin:0}
@media(max-width:540px){html[data-interface="welcome"] main,html[data-interface="welcome"] #entry-screen{padding:24px 18px;border-radius:16px}html[data-interface="welcome"] main{margin:0}}
@media(max-height:680px){.orb,.orb.playing{width:48px;height:48px;margin:20px auto}}
@media(forced-colors:active){html[data-interface="welcome"] input,html[data-interface="welcome"] textarea{border-color:ButtonText}html[data-interface="welcome"] .brand-mark{background:CanvasText}}
