/* Hopechess · light walnut & cream. Shared by player and admin surfaces. */
:root{
 color-scheme:light;
 --bg:#fbf8f2;--panel:#fffdf8;--ink:#352a24;--text:var(--ink);--muted:#716255;
 --line:#e3d9cb;--lime:#32634f;--accent:#32634f;--accent-hover:#254e3d;
 --accent-soft:#e9f0e9;--wood:#95642f;--wood-soft:#f3eadb;--danger:#a33e34;
 --board-light:#f0e3ce;--board-dark:#af8a64;--shadow:0 4px 22px #5f432208;
 --serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,Helvetica,sans-serif;
}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
::selection{background:#d8e7da;color:#243f31}
a{color:var(--accent);text-underline-offset:3px}button,input,select{font-family:var(--sans)}
button{transition:background-color .15s,border-color .15s,box-shadow .15s}button:disabled{opacity:.5}
:is(button,a,input,select,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.025em;color:var(--ink)}
h1{font-size:clamp(32px,4vw,46px);line-height:1.16}h2{line-height:1.22}h3{letter-spacing:-.015em}
p{color:var(--muted)}.eyebrow{color:var(--wood);font-size:10px;letter-spacing:.13em;line-height:1.5}
body>header{max-width:1440px;padding:20px 36px;gap:24px;border-color:var(--line);min-height:90px}
.brand{font-family:var(--serif);font-size:29px!important;font-weight:600;letter-spacing:-.05em;gap:10px;flex-shrink:0}
.brand-light{color:var(--ink);font-weight:600}.brand small{font:600 8px/1.4 var(--sans);letter-spacing:.14em;color:var(--muted);margin-top:5px}
.brand-mark{display:block;width:44px;height:48px;flex:none;font-size:0!important;background:var(--wood);mask:url('icons/hopechess-tree-144.png') center/contain no-repeat}
body>header nav{gap:20px;align-items:center;flex-wrap:wrap;margin-left:auto}
body>header nav :is(button,a){font-size:13px;font-weight:500;line-height:1.4;min-height:44px;display:inline-flex;align-items:center;gap:7px;padding:10px 0;color:var(--muted)}
body>header nav .active{color:var(--ink);box-shadow:0 2px var(--wood)}
body>header nav :is(button,a):hover{color:var(--accent)}
body>header #account-nav{border:1px solid var(--line);border-radius:24px;padding:10px 14px;box-shadow:none}
body>header nav .admin-link{color:var(--wood)}
.site-help{border:0!important;background:none!important;padding:8px 0;font-weight:500;color:var(--muted)}
.guest-badge{color:var(--accent);background:var(--accent-soft)!important;border-color:#ccd9ce;font-weight:600}
main{max-width:1320px;padding:32px 36px 40px}main:not(.game){padding-top:30px}
.primary,.secondary{border-radius:7px;padding:12px 18px;font-size:14px;line-height:1.4;min-height:46px;text-decoration:none}
.primary{background:var(--accent);border-color:var(--accent);color:#fffdf8;box-shadow:0 2px 3px #254e3d0b}
.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.secondary{color:var(--ink);border-color:#c5b6a4;background:var(--panel)}
.secondary:hover{background:var(--wood-soft);border-color:#a98b6c}
.text-button{color:var(--accent);font-weight:600;font-size:13px;text-decoration:none}.text-button:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:4px}
:is(.panel,.motif-card,.result-card,.metrics,.dashboard-stats,.graph-panel){background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.panel{padding:24px}.metrics{overflow:hidden}.metric small{font-size:10px;font-weight:600;letter-spacing:.045em}.metric strong{font-family:var(--serif);font-size:32px;font-weight:500;color:var(--ink)}
.metric .accent{color:var(--accent)}.metric span{font-size:12px;line-height:1.5}
.progress{height:7px;background:#eee6d9;border-radius:8px;margin:14px 0}.progress>div{background:var(--accent);border-radius:8px}
.badge{background:var(--wood-soft);color:var(--muted);border-color:var(--line);border-radius:20px}.badge.mastered{background:var(--accent-soft);color:var(--accent);border-color:#bdd0c2}
.banner{background:var(--accent-soft);border-color:#bdcebf}.error,.save-warning,.review-dialog .review-error{color:var(--danger)}
input:not([type=radio]):not([type=range]):not([type=checkbox]),select{color:var(--ink);background:var(--panel);border:1px solid #998369;border-radius:6px;min-height:44px;padding:10px 12px;max-width:100%}
input::placeholder{color:#817466;opacity:1}input[type=range],input[type=radio],input[type=checkbox]{accent-color:var(--accent)}
input[type=file]::file-selector-button,#puzzle-csv::file-selector-button{color:var(--ink);background:var(--wood-soft);border:1px solid #b8a791;border-radius:6px;padding:9px 12px}
table{font-variant-numeric:tabular-nums}th{font-size:10px;font-weight:600;letter-spacing:.05em;background:#f8f3eb;color:var(--muted)}td{font-size:13px;border-color:#eee7dc}tbody tr:hover{background:#faf6ee}th,td{padding:14px 16px}
.table-wrap{padding:0}.theme-description summary{color:var(--accent)}
.result-tag{background:var(--accent-soft);color:var(--accent);border-radius:20px;padding:4px 10px}.result-tag.missed{background:#f8e9e4;color:var(--danger)}
.dashboard-heading{margin-bottom:24px}.dashboard-heading h1{font-size:38px;margin:7px 0 9px}.dashboard-heading p{font-size:14px}
.dashboard-stats{margin-bottom:24px}.dashboard-stats>div{padding:18px 22px}.dashboard-stats strong{font:500 32px/1.25 var(--serif);margin:5px 0}.dashboard-stats strong small{font:400 13px var(--sans)}
.dashboard-stats>div>span{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.dashboard-stats>div>small{font-size:11px}
.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);gap:24px}.dashboard-grid .panel{padding:24px;margin-bottom:22px}.dashboard-grid .panel h2{font-size:25px}
.dashboard-grid .daily-plan{border-top:3px solid #b8cbb9}.daily-plan .section-head{margin-bottom:12px}.plan-count{font-size:13px}.plan-count strong{font-family:var(--serif);font-size:36px}
.dashboard-page .daily-plan #daily-start{min-width:250px;min-height:48px;margin:3px 0 2px}
.daily-list li{padding:12px 0;border-color:#eee7dc}.daily-list strong{font-size:13px;font-weight:600}.daily-list li>div{min-width:0}.daily-list li>span{background:var(--wood-soft);border-radius:6px;padding:5px 10px;font-size:10px}.daily-list b{font-weight:600}
.plan-focus-heading{margin-top:22px;margin-bottom:4px}.plan-focus-heading h3{font-family:var(--sans);font-size:13px;font-weight:600}.plan-focus-heading>span{font-size:10px}
.goal-settings,.challenge-choice{margin-top:14px}.challenge-choice select{background:var(--bg);font-size:12px}.challenge-evidence{padding-bottom:10px;border-bottom:1px solid var(--line)}
.assessment-compact h2{font-size:25px}.assessment-caption{font-size:12px}.training-guide summary,.mastery-settings summary{color:var(--ink)}.mastery-settings{box-shadow:none;background:transparent}
.training-guide li strong{font-weight:600}.training-guide ol{padding-left:22px}.training-guide li::marker{color:var(--wood);font-weight:600}
.streak-metrics strong{font-family:var(--serif);font-weight:500;color:var(--wood)}.dashboard-page .streak-metrics strong{font-size:33px}.calendar-heading h2{font-family:var(--sans);font-weight:600}.dashboard-grid .calendar-heading h2{font:600 18px var(--sans)}
.goal-calendar th{background:none}.calendar-day{background:var(--panel);border-color:#ddd1bf;color:var(--ink);border-radius:7px}.calendar-day.goal-met,.dashboard-page .calendar-day.goal-met{background:var(--accent);border-color:var(--accent);color:#fffdf8}
.calendar-day.goal-active{background:var(--accent-soft);border-color:#77957d}.calendar-day[aria-current=date]{outline-color:var(--wood)!important}.calendar-day[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--wood)}
.calendar-day:disabled{opacity:.55}.weak-list b{color:var(--wood)}.compact-focus>.text-button{font-weight:500}.compact-focus .section-head{margin-bottom:6px}
.graphs-section{margin-top:26px}.graph-title h3{font-family:var(--serif);font-size:21px}.graph-title strong{font-family:var(--serif);color:var(--accent)}.graph-panel{padding:24px}.graph-grid{stroke:#e9e1d4}.graph-line{stroke:var(--accent);stroke-width:3}.graph-dot,.graph-end{fill:var(--accent);stroke:var(--panel)}.graph-axis{fill:var(--muted)}.graph-data th{background:var(--bg)}.graph-note,.graph-method{line-height:1.6}
.progress-page h1,.activity-page h1,.library-page h1{font-size:38px}.progress-page .training-plan{background:#f5f0e6;box-shadow:none}.weakest-list>div{background:var(--panel)}.weakest-list b{color:var(--wood);font-family:var(--serif)}
.result-card-head>strong,.rating-row b{font-family:var(--serif);color:var(--accent)}.result-card h3{font-size:21px}.motif-card:hover{border-color:#a98b6c}.motif-icon{color:var(--wood)}
.signin-gate{max-width:1060px;padding:0;margin:40px auto;display:grid;grid-template-columns:1.2fr 1fr;overflow:hidden;background:var(--panel)}
.welcome-copy{padding:52px 44px}.signin-gate h1{font-size:clamp(36px,4.5vw,53px);line-height:1.12;margin:16px 0 20px}.signin-gate p{font-size:14px;line-height:1.65}.signin-gate .primary{margin-top:14px}.signin-gate :is(.primary,.secondary){width:100%;max-width:340px}.signin-gate .guest-note{font-size:11px;max-width:340px}
.welcome-visual{background:linear-gradient(135deg,#f4e9d8,#efe2cc);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;padding:36px;border-left:1px solid var(--line)}
.welcome-board{width:min(100%,290px);aspect-ratio:1;background:repeating-conic-gradient(#eddcc1 0% 25%,#ba9974 0% 50%) 0/25% 25%;border:9px solid #fffaf1;border-radius:8px;box-shadow:0 8px 26px #73523318;display:grid;place-items:center;transform:rotate(-4deg)}
.welcome-board::after{content:'';display:block;width:46%;height:62%;background:#fffdf8;mask:url('icons/hopechess-tree-144.png') center/contain no-repeat;filter:drop-shadow(2px 4px 0 #5b3d25)}
.welcome-visual p{font:500 23px/1.3 var(--serif);text-align:center;color:#664a30;margin:0}.welcome-visual small{font:12px var(--sans);color:var(--muted)}
.rating-onboarding{padding:36px;max-width:840px}.rating-onboarding h1{font-size:38px}.rating-option{background:var(--panel);border-color:#cbbcaa}.rating-option:hover{background:#faf4e9}.rating-option:has(input:checked){background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.rating-option strong{font-family:var(--serif);font-size:21px}
/* The board keeps the existing square controls, coordinates and piece artwork. */
.sq{background-color:var(--board-light);background-image:url('wood-grain.svg');background-size:340px 160px}.sq.dark{background-color:var(--board-dark);background-image:url('wood-grain.svg')}
.sq.sel,.sq.dark.sel{background-color:#b6c39b;box-shadow:inset 0 0 0 3px #365c47}.sq.last{background-color:#dedcb1}.sq.dark.last{background-color:#b6ae7e}.sq.target:after{background:#244d3850}.sq.target.occupied:after{background:transparent;border-color:#244d3870}
.sq:not(:disabled):hover{box-shadow:inset 0 0 0 3px #365c4770}.sq:focus-visible{outline-color:#244d38;outline-width:3px;z-index:3}.piece{filter:sepia(.17) drop-shadow(0 2px 1px #49301b26)}.coord{color:#65482b;text-shadow:0 1px #fff7}.dark .coord{color:#33251a;text-shadow:0 1px #f5e3c780}
.board{box-shadow:0 0 0 1px #bca385;border-radius:5px;overflow:hidden}.turn-indicator{background:var(--wood-soft);color:#59412d;border:1px solid #d9c7ae;letter-spacing:.06em}.turn-indicator.black{background:#594434;color:#fffdf8;border-color:#594434}
.game{max-width:1320px;padding:20px 36px 32px;font-family:var(--sans)}.game :is(button,p,small,b,.eyebrow){font-family:var(--sans)}.game .layout{grid-template-columns:minmax(0,1fr) 340px!important;gap:26px!important;align-items:start}
.game #board{padding:20px 16px 16px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);max-width:min(100%,var(--board-size,700px),calc(100dvh - 180px))!important;width:100%}
.game #board>.turn-indicator{align-self:flex-start;border-radius:4px;margin:0 0 15px;min-height:26px;padding:5px 9px;font-size:10px}.game .board.turn-white,.game .board.turn-black{box-shadow:0 0 0 1px #bca385}
.game .puzzle-session-head{padding-bottom:12px;margin-bottom:18px;border-bottom:1px solid var(--line)}.game .desktop-toolbar{font-size:12px;gap:20px}.game .desktop-toolbar #toolbar-clock{color:var(--muted)}
.game .puzzle-control-panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);padding:24px;border-radius:12px;margin-top:0}
.game .puzzle-panel-title{font-family:var(--serif);font-size:28px;margin:0 0 8px;letter-spacing:-.025em}.game .puzzle-panel-instruction{font-size:12px;line-height:1.6;margin:0 0 20px}
.game .status{color:var(--ink);font-size:15px;line-height:1.5;min-height:0;margin:12px 0;padding-left:12px;border-left:3px solid #b79a76}.game .status[data-state=ready]{color:var(--ink)}.game .status[data-state=success]{color:var(--accent);border-color:var(--accent)}.game .status[data-state=mistake]{color:var(--danger);border-color:var(--danger)}
.game .difficulty-note{font-size:11px;background:var(--wood-soft);border-radius:6px;padding:9px 11px;line-height:1.6;margin:0 0 15px}.game .help-actions{gap:9px}.game .help-actions .secondary{background:var(--panel);padding:11px 12px;font-size:13px;min-height:55px}.game .help-actions .secondary:hover{background:var(--wood-soft)}
.game .help-actions button small{font-size:10px;color:var(--muted);font-weight:400}.game #too-easy{background:var(--accent-soft);border-color:#c3d3c4;color:#28513d;font-size:12px}.game #skip{font-size:12px;color:var(--muted);padding:8px 0;font-weight:400}.game .assist-rule{font-size:11px;line-height:1.65}.game .workspace-controls{margin-top:16px}.game .training-options,.game .shortcuts{border-color:var(--line)}.game summary{font-size:12px}.game .training-options p,.game details p{font-size:12px;line-height:1.6}.game .next-mode-status{padding-top:12px;font-size:11px}.game .promotion button,.solved-badge{background:var(--accent);color:#fffdf8}.game kbd{background:var(--bg);border-color:#ccbaa3}
.puzzle-session-title,.game .mobile-puzzle-counter,.game .stats .practice-untimed{color:var(--muted)}.game .stats{border-color:var(--line)}.game .stats small{color:var(--muted)}.game .stats b{color:var(--accent)}.game .progress{background:#eee6d9}.game .sound-toggle,.puzzle-help-button{background:var(--panel);color:var(--muted);border-color:#cbbcaa}
:root :is(.account-dialog,.review-dialog,.theme-dialog,.leave-dialog,.site-guide){background:var(--panel);color:var(--ink);border-color:var(--line);box-shadow:0 18px 80px #4f382530}
dialog::backdrop,.account-dialog::backdrop,.review-dialog::backdrop,.theme-dialog::backdrop,.leave-dialog::backdrop,.site-guide::backdrop{background:#3b2b1f66;backdrop-filter:blur(3px)}
.account-heading h2,.guide-heading h2{font-family:var(--serif);font-size:29px}.account-dialog .account-heading{background:var(--panel)}.account-dialog p{line-height:1.65}.account-links button,#account-message{color:var(--accent)}.account-dialog :is(#guest-reset,#account-reset,#guest-reset-confirm,#account-reset-confirm){color:var(--danger);border-color:#cb9d90;background:#fff8f4}.account-dialog :is(#guest-reset-confirm,#account-reset-confirm){background:var(--danger);color:#fffdf8}.account-dialog :is(#guest-leave,#account-signout){color:var(--muted)}.review-dialog .review-attempt{border-color:var(--danger)}
footer{max-width:1248px;margin:20px auto 0;padding:24px 0;font-size:11px;border-color:var(--line)}footer a{color:var(--muted)}
#admin-app input{width:100%}.admin-message h1{font-family:var(--serif)}.admin-strengths h2{font-size:27px}.admin-rank{padding:7px 0}.admin-rank b{color:var(--accent)}.admin-search{padding:20px;background:var(--wood-soft);border:1px solid var(--line);border-radius:10px}.admin-search label{font-size:13px}
/* One family of decorative, locally served line icons; labels stay accessible. */
:is([data-nav],#account-nav,#guest-status,#site-help,.admin-link)::before{content:'';display:inline-block;flex:none;width:17px;height:17px;background:currentColor;mask:var(--ui-icon) center/contain no-repeat}
[data-nav=dashboard]{--ui-icon:url('icons/home.svg')}[data-nav=train]{--ui-icon:url('icons/tactics.svg')}[data-nav=assessment]{--ui-icon:url('icons/chart.svg')}[data-nav=library]{--ui-icon:url('icons/book.svg')}[data-nav=history]{--ui-icon:url('icons/history.svg')}[data-nav=account],#account-nav,#guest-status{--ui-icon:url('icons/user.svg')}#site-help{--ui-icon:url('icons/help.svg')}.admin-link{--ui-icon:url('icons/shield.svg')}
#guest-status,#site-help{display:inline-flex;align-items:center;justify-content:center;gap:7px}
body>header:has(.guest-badge:not([hidden])) #account-nav{display:none}
.streak-metrics>div:first-child strong::before{content:'';display:inline-block;width:21px;height:23px;margin-right:8px;background:var(--wood);mask:url('icons/flame.svg') center/contain no-repeat}
:is(.daily-plan h2,.assessment-compact h2,.compact-focus h2,.graph-title h3,.plan-focus-heading h3,.puzzle-panel-title)::before{content:'';display:inline-block;width:20px;height:20px;margin-right:10px;vertical-align:-2px;background:var(--wood);mask:var(--ui-icon) center/contain no-repeat}
.daily-plan h2{--ui-icon:url('icons/target.svg')}.assessment-compact h2{--ui-icon:url('icons/chart.svg')}.compact-focus h2,.plan-focus-heading h3{--ui-icon:url('icons/target.svg')}.graph-title h3{--ui-icon:url('icons/chart.svg')}.puzzle-panel-title{--ui-icon:url('icons/tactics.svg')}
.dashboard-stats>div>span::before{content:'';width:16px;height:16px;background:var(--wood);mask:var(--ui-icon) center/contain no-repeat}.dashboard-stats>div:nth-child(1){--ui-icon:url('icons/chart.svg')}.dashboard-stats>div:nth-child(2){--ui-icon:url('icons/book.svg')}.dashboard-stats>div:nth-child(3){--ui-icon:url('icons/target.svg')}
#hint::before,#reveal::before{content:'';display:inline-block;width:17px;height:17px;vertical-align:-3px;margin-right:7px;background:var(--wood);mask:var(--ui-icon) center/contain no-repeat}#hint{--ui-icon:url('icons/bulb.svg')}#reveal{--ui-icon:url('icons/book.svg')}
@media(min-width:761px) and (max-width:1240px){body>header{padding-inline:24px;gap:16px}.brand{font-size:25px!important}body>header nav{gap:14px}body>header nav :is(button,a){font-size:12px}body>header nav :is(button,a)::before{display:none}body>header #account-nav{padding:9px 12px}body>header .site-help{font-size:12px}.dashboard-grid{gap:20px}.dashboard-grid .panel{padding:20px}}
@media(min-width:761px) and (max-width:1000px){body>header{flex-wrap:wrap}body>header nav{order:3;flex-basis:100%;justify-content:center;gap:22px}body>header .site-help{margin-left:auto}.game .layout{grid-template-columns:minmax(0,1fr) 285px!important}.game .puzzle-control-panel{padding:18px}.game .puzzle-panel-title{font-size:25px}.welcome-copy{padding:36px 30px}.dashboard-grid{grid-template-columns:minmax(0,1.3fr) minmax(285px,1fr)}}
@media(max-width:760px){
 body>header{padding:13px 16px;min-height:68px;gap:10px}.brand{font-size:25px!important;letter-spacing:-.05em}.brand-mark{width:34px;height:36px}.brand small{font-size:7px;letter-spacing:.1em}body>header:has(.guest-badge:not([hidden])) .brand{font-size:22px!important}body>header .guest-badge{font-size:10px;padding:6px 9px;gap:5px;margin-left:auto}#guest-status::before{width:14px;height:14px}body>header .site-help{font-size:12px;gap:5px;padding:5px;min-height:44px}#site-help::before{width:16px;height:16px}
 main,main:not(.game),.dashboard-page{padding:22px 16px}.dashboard-heading h1{font-size:31px}.dashboard-heading p{font-size:13px;line-height:1.6}.dashboard-heading{margin-bottom:17px}.dashboard-stats{border-radius:10px}.dashboard-stats>div{padding:13px 10px}.dashboard-stats strong{font-size:27px}.dashboard-stats>div>span{font-size:10px;gap:5px}.dashboard-stats>div>span::before{display:none}.dashboard-stats>div>small{font-size:10px;line-height:1.5}.dashboard-grid .panel{padding:20px;margin-bottom:17px}.dashboard-grid .panel h2{font-size:25px}.dashboard-page .daily-plan #daily-start{min-width:0;width:100%;min-height:48px}.daily-list strong{font-size:13px}.challenge-choice select{max-width:100%}.daily-list li{gap:8px}.plan-focus-heading>span{font-size:10px}
 .mobile-nav:has(button:not([hidden])){background:#fffdf8f5;border-color:var(--line);box-shadow:0 -3px 18px #60462b0b;backdrop-filter:blur(10px);padding-top:6px}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;font-weight:500;min-height:56px;color:var(--muted);border-radius:8px}.mobile-nav button::before{width:21px;height:21px}.mobile-nav button.active{background:var(--accent-soft);color:var(--accent);box-shadow:none}
 .signin-gate{display:flex;flex-direction:column;margin:10px auto;max-width:500px}.welcome-copy{padding:28px 24px}.signin-gate h1{font-size:39px;line-height:1.13}.signin-gate p{font-size:13px}.signin-gate :is(.primary,.secondary){max-width:none;width:100%}.welcome-visual{padding:24px;flex-direction:row;gap:20px;border:0;border-top:1px solid var(--line)}.welcome-board{width:100px;border-width:4px;flex:none}.welcome-visual p{font-size:20px;text-align:left}.welcome-visual small{font-size:10px}.signin-gate .guest-note{margin-bottom:0}
 .rating-onboarding{padding:24px;margin:4px auto}.rating-onboarding h1{font-size:30px}.rating-option{padding:16px}.rating-option strong{font-size:20px}.rating-onboarding p{font-size:13px;line-height:1.6}
 .progress-page h1,.activity-page h1,.library-page h1{font-size:31px}.metric strong{font-size:28px}.graph-panel{padding:18px}.graph-title h3{font-size:20px}.graph-title h3::before{width:16px;height:16px;margin-right:6px}.graph-title select{font-size:12px}.graph-title strong{font-size:27px}
 body:has(main#app.game)>header{height:auto;min-height:62px;padding:8px 12px!important;gap:8px}body:has(main#app.game)>header .brand{font-size:22px!important}.game{padding:12px 12px 18px;max-width:560px}.game .layout{display:flex;gap:15px!important}.game #board{padding:12px 10px 10px;max-width:min(100%,calc(100svh - 190px))!important;width:100%;border-radius:9px}.game #board>.turn-indicator{font-size:9px;min-height:22px;padding:4px 7px;margin-bottom:10px}.game .puzzle-session-head{margin-bottom:10px;padding-bottom:8px}.game .layout>.puzzle-control-panel{padding:16px;border:1px solid var(--line);background:var(--panel);border-radius:10px;box-shadow:var(--shadow);width:100%}.game .puzzle-panel-title{font-size:25px;margin:0 0 5px}.game .puzzle-panel-instruction{display:none}.game .status{font-size:13px;margin:9px 0;min-height:0;height:auto}.game .difficulty-note{font-size:10px;margin:10px 0}.game .help-actions .secondary{min-height:50px}.game .assist-rule{font-size:11px}.game #too-easy{font-size:12px}.game #feedback p{font-size:12px}.game #board .board{border-radius:3px}.game .desktop-toolbar{display:contents}.game .session-count{font-size:10px}.game .desktop-toolbar #review-last{font-size:11px}
 :root .account-dialog{border-radius:0;width:100%;max-width:100%}.account-heading h2{font-size:27px}.site-guide,.review-dialog{padding:20px}.table-wrap th,.table-wrap td{padding:12px}footer{margin:10px 16px 0;font-size:10px;line-height:1.7}.admin-search{padding:16px}.goal-calendar .calendar-heading h2{font-size:17px}.calendar-heading .secondary{padding:6px 10px}
}
@media(max-width:370px){body>header .brand,body>header:has(.guest-badge:not([hidden])) .brand{font-size:19px!important}.brand-mark{width:29px;height:32px}body>header .guest-badge{font-size:9px;padding:5px 7px}.site-help::before{display:none!important}.welcome-copy{padding:24px 20px}.signin-gate h1{font-size:35px}.dashboard-heading h1{font-size:29px}.dashboard-stats strong{font-size:24px}.dashboard-grid .panel{padding:17px}.game .puzzle-panel-title{font-size:23px}}
@media(max-height:500px) and (orientation:landscape){.game{max-width:1000px}.game .layout{display:grid;grid-template-columns:minmax(0,1fr) 280px!important}.game #board{width:100%;max-width:min(100%,calc(100svh - 135px))!important}.game .layout>.puzzle-control-panel{grid-column:2;grid-row:1}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
