/* Segment7 by Cedric Knight (2014), Reserved Font Name Segment7.
 * Unmodified lila storm.woff2 at 52da42057ee81705302a418817222e95fa51daf8.
 * SIL Open Font License 1.1; see included Segment7-OFL.txt.
 */
@font-face {
  font-family: storm;
  src: url(data:font/woff2;base64,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) format('woff2');
  font-style: normal;
  font-weight: normal;
  font-display: swap;
}

:root {
  color-scheme:light;
  --bg:#eeece8; --panel:#fff; --text:#36332e; --muted:#706d66;
  --line:#dedbd5; --accent:#477b39; --error:#b33b30;
  --board-size:min(66vw,calc(100dvh - 204px),780px);
}
* { box-sizing:border-box; }
body { margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,"Microsoft YaHei",sans-serif; }
a { color:var(--accent);text-decoration:none; }
button,select { font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:4px;min-height:44px;padding:8px 12px; }
button { cursor:pointer; }
button:hover:not(:disabled) { filter:brightness(.96); }
button:disabled { opacity:.5;cursor:default; }
button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid #d99936;outline-offset:2px; }
.primary { background:var(--accent);color:white;border-color:var(--accent); }
[hidden] { display:none!important; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
#cr-nav-root { min-height:56px; }
.training-toolbar { max-width:1188px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px; }
.training-toolbar nav { display:flex;align-items:stretch;gap:22px;min-height:48px; }
.training-toolbar nav a { display:flex;align-items:center;border-bottom:3px solid transparent;font-size:14px;white-space:nowrap;color:var(--muted); }
.training-toolbar nav a[aria-current] { font-weight:700;border-color:var(--accent);color:var(--text); }
#sound { flex-shrink:0;border:0;background:transparent;font-size:13px;padding:8px 4px;color:var(--muted); }
.training-layout { display:grid;grid-template-columns:minmax(0,var(--board-size)) minmax(240px,340px);gap:28px;justify-content:center;margin:8px auto 28px;padding:0 20px;max-width:1188px; }
.board-column { min-width:0; }
#board-wrap { width:100%;aspect-ratio:1;box-shadow:0 2px 8px #0002; }
#training-board { height:100%;width:100%;position:relative; }
.board-footer { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:14px; }
.board-footer button { border:0;background:transparent; }
.training-panel { background:var(--panel);padding:24px;align-self:start;min-width:0;box-shadow:0 1px 4px #0001; }
h1 { font-size:25px;margin:0 0 4px; }
h2 { font-size:17px;margin:20px 0 8px; }
p { margin:8px 0; }
#subtitle { color:var(--muted);font-size:14px;margin-bottom:20px; }
label { display:block;margin:12px 0;font-size:14px; }
select { width:100%;margin-top:5px; }
.check { display:flex;align-items:center;gap:7px; }
.check input { width:18px;height:18px; }
.rating-label strong { font-size:25px;margin-left:7px; }
.rating-label span { margin-left:7px;font-weight:600; }
.clock-score { display:flex;align-items:center;justify-content:space-between;margin:18px 0; }
.clock-score>strong { font-size:54px;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums; }
.clock-score>div { display:flex;flex-direction:column;align-items:center; }
.clock-score>div strong { font-size:40px;line-height:1.2; }
.clock-score>div span { font-size:13px;color:var(--muted); }
#combo-progress { width:100%;height:10px;accent-color:var(--accent); }
#bonus-label { color:var(--accent);margin-left:8px;font-weight:600;font-size:13px; }
#quota { font-size:13px;color:var(--muted); }
.feedback { padding:14px 0;min-height:60px;font-weight:600; }
.feedback[data-tone=wrong],#error { color:var(--error); }
.feedback[data-tone=correct] { color:var(--accent); }
.actions { display:flex;flex-wrap:wrap;gap:8px; }
.actions button { flex:1 1 auto; }
#details { font-size:14px;border-top:1px solid var(--line);margin-top:18px; }
summary { cursor:pointer; }
#storm-rules { margin-top:18px;font-size:13px;color:var(--muted); }
#storm-rules p { margin-top:10px; }
/* Lichess Storm end layout: score, six-row recap, play again, mini boards.
   Geometry follows lila ui/storm/css/_end.scss and the live summary. */
body[data-training-mode=storm] { --storm-good:#629924;--storm-play:#3893e8; }
#results .result-score { display:flex;flex-direction:column;justify-content:center;align-items:center;container-type:inline-size;min-width:0;min-height:314px;margin:0;padding:22px 20px;background:var(--storm-good);color:#fff;border-radius:8px; }
#results .result-score strong { display:block;font-family:storm,monospace;font-size:min(12.25rem,55cqw);line-height:1;font-weight:400;font-variant-numeric:tabular-nums;color:inherit;letter-spacing:normal; }
#results .result-score>span { font-size:.875rem;line-height:1.5;color:inherit;margin-top:18px; }
#results table.result-stats { container-type:inline-size;table-layout:fixed;width:100%;min-width:0;min-height:314px;margin:0;padding:18px 30px;border:0;border-collapse:separate;border-spacing:0;background:var(--panel);border-radius:8px;text-align:left; }
#results .result-stats th { width:50%;padding:8px 0;font-size:.875rem;line-height:1.35;font-weight:400;text-align:left;color:var(--text);white-space:normal;overflow-wrap:anywhere; }
#results .result-stats td { padding:8px 0 8px 18px;text-align:right;white-space:normal;line-height:1.15; }
#results .result-stats strong { display:inline-block;max-width:100%;font-family:storm,monospace;font-size:min(1.875rem,14cqw);line-height:1;font-weight:400;font-variant-numeric:tabular-nums;color:var(--text); }
#results .result-stats small { display:inline-block;font-size:.875rem;font-weight:400;margin-left:2px;color:var(--muted); }
#history-wrap { margin:0;padding:28px 48px 36px;border:0;border-radius:8px;background:var(--panel); }
.history-header { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-bottom:28px; }
.history-header h2 { margin:0;font-size:1.625rem;line-height:1.3;font-weight:400;color:var(--text); }
#history-count { margin-left:8px;font-size:.875rem;font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums; }
#history-failed { min-height:44px;padding:8px 12px;font-size:.8125rem;line-height:1.4;font-weight:400;color:var(--text);background:transparent;border:1px solid var(--line); }
#history-failed[aria-pressed=true] { color:#fff;background:var(--storm-play);border-color:var(--storm-play); }
#history { display:grid;grid-template-columns:repeat(auto-fill,minmax(164px,1fr));gap:24px 12px; }
.history-round { min-width:0; }
#history .history-puzzle { position:relative;display:block;aspect-ratio:1;width:100%;min-width:0;min-height:0;margin:0;padding:0;border:3px solid var(--muted);border-radius:5px;background:transparent;line-height:0;overflow:visible; }
#history .history-board.cg-wrap { position:relative;display:block;aspect-ratio:1;width:100%;height:auto;pointer-events:none; }
#history .history-board cg-container { position:absolute;inset:0;width:100%;height:100%; }
#history .history-board cg-board { border-radius:2px; }
#history .history-result { position:absolute;left:0;bottom:-27px;height:22px;font-size:1rem;line-height:22px;font-weight:600;color:var(--muted);pointer-events:none; }
#history .win .history-puzzle,#history .history-puzzle.win { border-color:var(--storm-good); }
#history .fail .history-puzzle,#history .history-puzzle.fail { border-color:var(--error); }
#history .win .history-result { color:var(--storm-good); }
#history .fail .history-result { color:var(--error); }
#history .unfinished .history-puzzle { border-color:var(--muted); }
#history .unfinished .history-result { color:var(--muted); }
#history .history-puzzle:hover:not(:disabled) { filter:none;outline:2px solid var(--storm-play);outline-offset:1px; }
#history .history-puzzle[aria-pressed=true],#history .history-puzzle:focus-visible { outline:3px solid var(--storm-play);outline-offset:2px; }
.history-meta { display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;min-width:0;margin-top:6px;padding-left:22px;line-height:1.5;font-variant-numeric:tabular-nums; }
.history-meta .history-rating { margin:0;font-size:.8125rem;line-height:1.5;color:var(--text);white-space:nowrap; }
.history-meta .history-id { visibility:hidden;margin-left:auto;min-width:0;font-size:.6875rem;line-height:1.5;color:var(--muted);white-space:nowrap; }
.history-round:hover .history-id,.history-round:focus-within .history-id { visibility:visible; }
#history-empty { color:var(--muted);font-size:.875rem;margin:8px 0 0; }
#return-results { white-space:nowrap; }
.board-footer #return-results { border:1px solid var(--line);background:var(--panel);font-size:.8125rem; }
#sync-status { color:var(--muted);font-size:13px;text-align:center; }
#sync-status:empty { display:none; }
#replay-controls { display:flex;gap:6px;flex-wrap:wrap;font-size:14px; }
#replay-label { padding:10px 0; }
dialog { max-width:320px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px; }
dialog::backdrop { background:#0006; }
dialog div { display:flex;gap:8px;margin:12px 0; }
#study-engine { margin-top:16px;font-size:13px; }
body[data-training-mode=practice] #study-engine { margin-top:0;margin-bottom:16px; }
.study-ai-header { display:flex;align-items:center;gap:8px; }
.study-ai-toggle[aria-checked=true] { background:var(--accent);color:white; }
.study-ai-lines { overflow-wrap:anywhere; }
.study-ai-depth { margin-left:8px; }
html[data-theme=dark] { color-scheme:dark;--bg:#12121f;--panel:#1e1e3a;--text:#e8e8ed;--muted:#a8a8b8;--line:#3d3d57;--accent:#a7d9b7;--error:#ffaba3; }
html[data-theme=dark] .primary { background:#32664c;border-color:#32664c; }
body[data-training-mode=storm][data-training-status=ended] #subtitle,
body[data-training-mode=storm][data-training-status=ended] #storm-metrics,
body[data-training-mode=storm][data-training-status=ended] #storm-rules,
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #feedback,
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) .board-column { display:none; }
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) .training-layout { display:block;max-width:768px;margin-top:20px; }
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) .training-panel { display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:15px;padding:0;background:transparent;box-shadow:none; }
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #title { grid-column:1/-1;font-size:1.125rem;text-align:left;margin:0 0 4px; }
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) .training-panel>p:has(#records-link) { grid-column:1/-1; }
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #results table.result-stats { display:block; }
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #results .result-stats tbody { display:table;width:100%;table-layout:fixed; }
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #results { display:contents; }
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) .result-score,
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) .result-stats { order:1; }
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) .actions { order:2;grid-column:1/-1;margin:0; }
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) .actions #start { flex:1 1 100%;min-height:154px;padding:24px;font-size:1.75rem;font-weight:400;letter-spacing:.2em;color:#fff;background:var(--storm-play);border:0;border-radius:8px; }
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #sync-status { order:3;grid-column:1/-1;margin:0; }
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #history-wrap { order:4;grid-column:1/-1; }
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #error,
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #login-again,
body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #retry { grid-column:1/-1; }
body[data-training-mode=storm][data-training-status=ended].training-reviewing #results { display:none; }
body[data-training-mode=storm][data-training-status=ended].training-reviewing .training-panel { padding:0;background:transparent;box-shadow:none; }
body[data-training-mode=storm][data-training-status=ended].training-reviewing .actions #start { flex:1 1 100%;min-height:44px;background:var(--storm-play);border-color:var(--storm-play);color:#fff; }
body[data-training-mode=storm][data-training-status=ended].training-reviewing #history-wrap { margin-top:16px;padding:16px 14px; }
body[data-training-mode=storm][data-training-status=ended].training-reviewing .history-header { gap:8px;margin-bottom:16px; }
body[data-training-mode=storm][data-training-status=ended].training-reviewing .history-header h2 { font-size:1rem; }
body[data-training-mode=storm][data-training-status=ended].training-reviewing #history { grid-template-columns:repeat(2,minmax(0,1fr));max-height:60vh;overflow:auto;overscroll-behavior:contain;padding:3px; }
.storm-mobile-metrics { display:none; }
@media(max-width:900px) {
  .training-toolbar { max-width:600px;padding:0 12px;gap:8px;min-height:50px; }
  .training-toolbar nav { gap:18px;min-height:46px; }
  .training-toolbar nav a { font-size:14px; }
  #sound { font-size:12px;padding:8px 2px; }
  .training-layout { display:flex;flex-direction:column;gap:14px;padding:0 10px;margin:4px auto 16px;max-width:600px; }
  .training-panel { padding:18px;width:100%; }
  .board-column { width:100%; }
  .board-footer { margin-top:2px; }
  .clock-score { margin:4px 0; }
  .clock-score>strong { font-size:44px; }
  #storm-metrics { margin-bottom:4px; }
  #practice-options { display:grid;grid-template-columns:1fr 1fr;gap:0 12px; }
  .rating-label,.check { grid-column:1/-1; }
  .training-panel h1 { font-size:22px; }
  .feedback { min-height:44px;padding:8px 0; }
  .storm-mobile-metrics { display:flex;position:sticky;top:0;z-index:15;align-items:center;justify-content:space-between;height:44px;padding:0 14px;background:var(--panel);border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums; }
  .storm-mobile-metrics>strong { font-size:25px; }
  body:has(#mobile-storm:not([hidden])) #board-wrap { scroll-margin-top:48px; }
}
@media(max-width:600px) {
  body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) .training-layout { margin-top:10px;padding:0; }
  body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) .training-panel { grid-template-columns:minmax(0,1fr);gap:10px;padding:0; }
  body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #title { margin-right:12px;margin-left:12px; }
  body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #results .result-score { min-height:200px;padding:14px; }
  body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #results .result-score strong { font-size:min(9.625rem,55cqw);line-height:.9; }
  body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #results .result-score>span { margin-top:8px; }
  body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #results .result-stats { order:3;min-height:269px;padding:12px 28px; }
  body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #results .result-stats th { padding-top:6px;padding-bottom:6px; }
  body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #results .result-stats td { padding-top:6px;padding-bottom:6px; }
  body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #results .result-stats strong { font-size:min(1.75rem,14cqw); }
  body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) .actions #start { min-height:61px;padding:12px;font-size:1.5rem; }
  body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #sync-status { order:4; }
  body[data-training-mode=storm][data-training-status=ended]:not(.training-reviewing) #history-wrap { order:5;padding:20px 16px 26px; }
  .history-header { gap:12px;margin-bottom:20px; }
  .history-header h2 { font-size:1.25rem; }
  #history { grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px; }
}
@media(max-height:500px) and (min-width:901px) {
  :root { --board-size:min(48vw,calc(100dvh - 180px)); }
  .training-layout { margin-top:4px; }
  .training-panel { padding:14px; }
}
@media(max-width:360px) {
  .training-toolbar { padding:0 8px; }
  .training-toolbar nav { gap:12px; }
  .training-toolbar nav a { font-size:13px; }
  .training-layout { padding:0 6px; }
  .training-panel { padding:14px; }
}

/* Training hierarchy: current action, personal rating, then quiet settings. */
.training-panel {
  font-family:"Segoe UI","Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif;
  font-size:1rem;
  line-height:1.5;
}
.training-panel h1 {
  font-family:inherit;font-size:1.125rem;font-weight:600;line-height:1.4;
  text-shadow:none;-webkit-text-stroke:0;letter-spacing:normal;margin:0 0 12px;
}
body[data-training-mode=practice] #subtitle { display:none; }
body[data-training-mode=practice] .feedback {
  min-height:0;margin:0 0 16px;padding:0;font-size:1rem;font-weight:600;line-height:1.5;
}
.training-panel button,.training-panel select { font-family:inherit; }
body[data-training-mode=practice] .actions { gap:8px; }
body[data-training-mode=practice] .actions button { font-size:.875rem;font-weight:500;min-height:44px;padding:8px 12px; }
#practice-options { display:block;margin-top:20px; }
.practice-rating { border-top:1px solid var(--line);padding:20px 0 16px;text-align:center; }
.practice-rating .rating-label { display:flex;flex-direction:column;gap:6px;margin:0; }
.practice-rating .rating-caption { margin:0;color:var(--muted);font-size:.8125rem;font-weight:400; }
.practice-rating .rating-value { display:flex;align-items:baseline;justify-content:center;gap:8px;margin:0;line-height:1.15; }
.practice-rating #rating { margin:0;font-size:2.75rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em; }
.practice-rating #rating-change { margin:0;font-size:.875rem;font-weight:600; }
.training-panel .check { gap:8px;margin:0;font-size:.875rem;font-weight:400;min-height:44px;line-height:1.5; }
.training-panel .check input { flex:0 0 16px;width:16px;height:16px;margin:0;accent-color:var(--accent); }
.practice-rating #rated-option { justify-content:center;color:var(--muted);font-size:.8125rem;margin-top:6px; }
.practice-settings { border-top:1px solid var(--line);padding-top:12px; }
.practice-settings .setting-row { display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:8px 0; }
.practice-settings .setting-row>span { flex:0 0 64px;color:var(--muted);font-size:.8125rem;font-weight:400; }
.practice-settings select { flex:1 1 12rem;width:auto;min-width:0;min-height:44px;margin:0;font-size:.875rem;font-weight:400;padding:8px 10px; }
.practice-settings .auto-next-option { color:var(--muted);margin-top:6px; }
.training-tools { display:flex;align-items:center;gap:2px;flex-shrink:0; }
#training-more { position:relative; }
#training-more>summary { display:flex;align-items:center;justify-content:center;width:44px;height:44px;list-style:none;color:var(--muted);font-size:22px;line-height:1; }
#training-more>summary::-webkit-details-marker { display:none; }
.training-more-menu { position:absolute;right:0;top:100%;z-index:30;min-width:140px;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:4px; }
.training-more-menu a { display:block;min-height:44px;padding:11px 12px;color:var(--text);font-size:13px;white-space:nowrap; }
.training-more-menu a:hover { background:color-mix(in srgb,var(--text) 5%,transparent); }
@media(max-width:900px) {
  .training-panel { padding:18px; }
  .training-panel h1 { font-size:1.125rem; }
  #practice-options { display:block; }
  .practice-rating { padding:16px 0 12px; }
  .practice-settings select { font-size:1rem; }
}
