/* Focus the practice screen on the question, keeping controls touch accessible. */
.site-tools{position:relative;margin-left:12px;flex-shrink:0}.site-tools>summary{min-height:44px;padding:12px;cursor:pointer;border:1px solid var(--line);border-radius:10px;font-size:13px;font-weight:600;color:var(--ink)}
.site-tools>summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.site-tools-body{position:absolute;right:0;top:calc(100% + 8px);width:320px;max-width:calc(100vw - 32px);padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 28px #0002;z-index:40}
.site-tools-body .theme-control{display:block}.site-tools-body .theme-label{display:block;margin-bottom:8px}.site-tools-body .theme-options{display:flex;width:100%}.site-tools-body .theme-options button{flex:1;min-height:44px;padding:8px;font-size:12px}.site-tools-body .offline-tools{width:100%;margin:12px 0 0;padding:0;border-top:1px solid var(--line)}
.draft-guard{max-width:1120px;margin:16px auto;padding:16px 20px;border:1px solid var(--vermilion);border-radius:12px;background:var(--surface);color:var(--ink)}
.draft-guard[hidden]{display:none}.draft-guard p{margin:8px 0;font-size:14px;line-height:1.6}.draft-guard>div{display:flex;flex-wrap:wrap;gap:10px}
.offline-tools{display:block;padding:0;max-width:1120px;margin:8px auto;color:var(--muted)}
.offline-tools summary{min-height:44px;display:list-item;width:fit-content;cursor:pointer;padding:10px 12px;font-size:13px;font-weight:600}
.offline-tools-body{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px 12px}
.offline-tools summary:focus-visible,.markup-toolbar summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:6px}
.markup-toolbar{padding:0!important}.markup-toolbar summary{padding:10px 20px;min-height:44px;cursor:pointer;font-size:13px;font-weight:700;color:var(--ink)}
.markup-toolbar summary span{font-weight:400;color:var(--muted);margin-left:8px}
.markup-toolbar[open] .markup-controls{padding:4px 20px 0}.markup-toolbar[open] p{padding:0 20px 12px}
.active-attempt{padding-top:12px!important}.active-attempt .practice-breadcrumb{margin-bottom:8px;font-size:12px}
.active-attempt .intro{margin-bottom:16px;min-height:0;gap:12px;align-items:center}
.active-attempt .intro h1{font-size:26px;line-height:1.35;margin:0;letter-spacing:-.5px}
.active-attempt .intro .japanese-title,.active-attempt .intro-number,.active-attempt .notebook-seal{display:none}
.active-attempt .intro [data-resumed-attempt]{display:inline-block;margin-top:8px}
.active-attempt .intro>div>p{margin:8px 0 0;font-size:13px}
.active-attempt .timer-control{padding:16px 20px;margin-bottom:20px;gap:12px 20px}
.active-attempt .timer-control .timer{font-size:24px;line-height:1.2}
.active-attempt .session-settings{margin-top:0;padding-top:8px}.active-attempt .session-settings summary{min-height:44px;display:flex;align-items:center;gap:10px}
.active-attempt .panel-top{padding:12px 20px}.active-attempt .question{padding-top:20px}
.active-attempt .session-settings>summary{line-height:1.5;padding:0}.active-attempt .session-settings>summary span{margin:0}
.practice-active .topbar{margin-bottom:0}.practice-active .offline-tools{margin-top:0;margin-bottom:0}
@media(max-width:768px){
 .topbar{grid-template-columns:1fr auto;min-height:0!important}.topbar .brand{grid-row:1;grid-column:1}.topbar .site-tools{grid-row:1;grid-column:2;margin:0}.topbar .library-nav{grid-row:2;grid-column:1/-1;display:flex;margin:0;width:100%;gap:6px}.topbar .library-nav>*{flex:1;text-align:center;margin:0;min-height:44px;padding:10px 8px}
 .practice-active .brand-sub{display:none}.active-attempt .intro [data-resumed-attempt]{display:none}
 .draft-guard{margin:12px 16px;padding:14px}.draft-guard .button{flex:1;min-width:150px}
 .offline-tools{margin-left:16px;margin-right:16px}.offline-tools-body{align-items:flex-start}
 .active-attempt .intro h1{font-size:22px}.active-attempt .intro{margin-bottom:12px}
 .active-attempt .timer-control{display:grid;grid-template-columns:1fr auto;padding:14px;gap:10px;margin-bottom:16px}
 .active-attempt .attempt-actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end}
 .active-attempt .attempt-actions .button{min-height:44px;padding:10px 14px}
 .active-attempt .session-settings{grid-column:1/-1;padding-top:0}.active-attempt .session-settings summary{font-size:12px;flex-wrap:wrap;gap:4px 10px}
 .active-attempt .practice-breadcrumb button{min-height:44px}
 .markup-toolbar summary{padding:10px 14px}.markup-toolbar summary span{font-size:12px}
 .markup-toolbar[open] .markup-controls{padding:4px 12px 0}.markup-toolbar[open] p{padding:0 12px 12px}
 .active-attempt .panel-top{padding:12px 14px}
 .active-attempt .panel-top>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.active-attempt .section-name{display:inline;margin:0}
 .active-attempt .mobile-nav:not([open]){display:none}
}
