[hidden] { display: none !important; }
.skip-link { position: absolute; left: 1rem; top: -5rem; padding: 1rem; background: white; z-index: 100; }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 3px solid #1d6e6e; outline-offset: 4px; }
.header-inner, .access-bar, nav, .puzzle-options { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
.header-inner { justify-content:space-between; padding-block:1rem; }
nav a { color:inherit; padding:.4rem; }
.access-bar { padding-block:1rem; font-size:.9rem; }
.v1-hero { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:4rem; padding-block:4rem; }
.v1-hero h1 { font-size:clamp(2.4rem,5vw,4rem); line-height:1.1; margin-bottom:1.5rem; }
.v1-hero p { max-width:36rem; }
.today-card { border:1px solid var(--color-stone); border-radius:1rem; background:var(--color-bone); padding:2rem; }
.today-card li { margin-block:1rem; }
.text-link { display:inline-block; padding:1rem; color:var(--color-deep-teal); }
.quiet { font-size:.9rem; }
.puzzle-options { justify-content:space-between; margin-bottom:1rem; }
.puzzle-options select { display:block; max-width:100%; }
input:not([type=checkbox]), select { padding:.7rem; min-height:48px; border:1px solid var(--color-stone); border-radius:6px; font:inherit; background:var(--color-soft-paper); color:inherit; }
form { display:grid; gap:1rem; }
label { font-weight:500; }
input[type=checkbox] { width:1.25rem; height:1.25rem; vertical-align:middle; }
.account-layout { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.game-panel>.card { max-width:64rem; margin-inline:auto; }
.game-panel .game-layout { display:block; }
.activity-log { padding:0; list-style:none; display:grid; gap:.5rem; margin-block:1rem; }
.activity-log li { overflow-wrap:anywhere; }
.sudoku-board-wrapper { max-width:540px; margin-inline:auto; }
.sudoku-board { width:100%; max-width:540px; }
.sudoku-cell { min-width:0; min-height:0; }
.site-footer a { text-decoration:underline; }
.high-contrast input, .high-contrast select, .high-contrast .today-card { background:#fff; color:#000; border-color:#000; }
@media(max-width:760px) { .v1-hero,.account-layout { grid-template-columns:1fr; gap:1.5rem; } .v1-hero { padding-block:2rem; } .app-tabs { display:flex; flex-wrap:wrap; } .reading-layout { grid-template-columns:1fr; } .card { padding:1rem; } .header-inner nav { width:100%; order:3; } .numpad { flex-wrap:wrap; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
