@layer components{.train-feedback{border-radius:var(--vz-radius-lg);background:var(--vz-surface-2);gap:4px;padding:14px 16px;display:grid}.train-feedback[data-kind=right]{background:var(--vz-mint-soft)}.train-feedback[data-kind=right] svg{color:var(--vz-mint)}.train-feedback[data-kind=wrong]{background:var(--vz-berry-soft)}.train-feedback[data-kind=wrong] svg{color:var(--vz-berry)}.train-feedback svg{flex:none;width:22px;height:22px}.train-status{border-radius:var(--vz-radius-lg);background:var(--vz-surface-2);min-height:96px;transition:background-color var(--vz-duration-fast) ease-out;align-content:start;gap:4px;padding:14px 16px;display:grid}.train-status[data-kind=right]{background:var(--vz-mint-soft)}.train-status[data-kind=wrong]{background:var(--vz-berry-soft)}.train-status-short{min-height:76px}.train-status svg{flex:none;width:22px;height:22px}.train-status[data-kind=right] svg{color:var(--vz-mint)}.train-status[data-kind=wrong] svg{color:var(--vz-berry)}.puzzle-strip{background:var(--vz-surface);min-width:0;height:32px;color:var(--vz-ink-2);align-items:center;gap:6px;margin:0;padding:0 12px;font-size:14px;display:flex}.puzzle-strip>span{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.puzzle-strip svg{flex:none;width:18px;height:18px}.puzzle-strip[data-kind]{color:var(--vz-ink);font-weight:600}.puzzle-strip[data-kind=right]{background:var(--vz-mint-soft)}.puzzle-strip[data-kind=right] svg{color:var(--vz-mint)}.puzzle-strip[data-kind=wrong]{background:var(--vz-berry-soft)}.puzzle-strip[data-kind=wrong] svg{color:var(--vz-berry)}.train-grades{align-items:center;gap:8px;min-height:52px;display:flex}.train-grades .vz-button{flex:1 1 0;min-width:0;max-width:104px;height:auto;padding:8px 6px}.train-grade{justify-items:center;gap:3px;display:grid}.train-interval{font:600 12px/1 var(--vz-font-mono);opacity:.78}.train-card-list{display:grid}.train-card-list li{border-top:1px solid var(--vz-line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.train-card-list li:first-child{border-top:0}.puzzle-board{border-radius:var(--vz-radius-lg)}.puzzle-line{min-height:1.5em;font:600 15px/1.5 var(--vz-font-body);font-variant-numeric:tabular-nums}.puzzle-meter{border-radius:var(--vz-radius-pill);background:var(--vz-surface-2);height:8px;overflow:hidden}.puzzle-meter span{border-radius:inherit;background:var(--vz-mint);height:100%;transition:transform var(--vz-duration-base) var(--vz-ease-out);display:block;transform:translate(-100%)}.puzzle-dots{flex-wrap:wrap;gap:6px;display:flex}.puzzle-dot{border:1.5px solid var(--vz-line-strong);border-radius:var(--vz-radius-menu);background:var(--vz-surface);width:32px;height:32px;color:var(--vz-ink-2);font:600 12px var(--vz-font-body);font-variant-numeric:tabular-nums;cursor:pointer;place-items:center;display:grid}.puzzle-dot:hover{border-color:var(--vz-ink-3);color:var(--vz-ink)}.puzzle-dot[data-solved]{background:var(--vz-mint-soft);color:var(--vz-ink);border-color:#0000}.puzzle-dot[data-clean]{background:var(--vz-mint);color:var(--vz-on-mint)}.puzzle-dot[aria-current=true]{border:2px solid var(--vz-accent);box-shadow:var(--vz-lift-1)}.rating-change{border-radius:var(--vz-radius-pill);font:600 13px/1.5 var(--vz-font-body);font-variant-numeric:tabular-nums;background:var(--vz-surface);color:var(--vz-ink);padding:1px 8px}.rating-change[data-direction=up]:before{content:"▲ ";vertical-align:1px;color:var(--vz-mint);font-size:12px}.rating-change[data-direction=down]:before{content:"▼ ";vertical-align:1px;color:var(--vz-berry);font-size:12px}.session{border-top:1px solid var(--vz-line);gap:8px;padding-top:12px;display:grid}.session-results{flex-wrap:wrap;gap:5px;display:flex}.session-results li{border-radius:var(--vz-radius-xs);background:var(--vz-berry);width:12px;height:12px}.session-results li[data-clean]{background:var(--vz-mint)}.practice-dialog .train-grid{flex-direction:column;gap:16px;display:flex}.practice-dialog .train-grid>.board-col{--board-size:min(100%, 420px, max(240px, var(--board-fit)));width:var(--board-size);margin-inline:auto;position:static}.endgame-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.endgame-item{border:1px solid var(--vz-line);border-radius:var(--vz-radius-lg);background:var(--vz-surface);width:100%;height:100%;color:var(--vz-ink);font:inherit;text-align:left;cursor:pointer;gap:8px;padding:12px 14px;display:grid}.endgame-item:hover{background:var(--vz-surface-2)}.endgame-item:focus-visible{outline:var(--vz-focus-ring);outline-offset:2px}.endgame-item[data-locked]{color:var(--vz-ink-2)}.endgame-item-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.endgame-item-head strong{font:600 15px/1.3 var(--vz-font-body)}.endgame-item-head svg{width:16px;height:16px;color:var(--vz-ink-3);flex:none}.endgame-item-meta{color:var(--vz-ink-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.train-settings{border-top:1px solid var(--vz-line);flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;display:flex}.theme-popover{width:min(560px,100vw - 32px);max-height:min(70vh,560px);overflow-y:auto}.theme-group-title{font:600 12px/1.4 var(--vz-font-body);color:var(--vz-ink-2)}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px 8px;display:grid}.theme-option{border-radius:var(--vz-radius-menu);min-height:36px;color:var(--vz-ink);font:500 14px/1.3 var(--vz-font-body);text-align:left;cursor:pointer;align-items:center;gap:8px;padding:6px 10px;display:flex}.theme-option:hover{background:var(--vz-surface-2)}.theme-option[aria-pressed=true]{background:var(--vz-accent-soft);font-weight:650}.theme-option svg,.theme-option-space{flex:none;width:16px;height:16px}.setup{gap:12px;display:grid}.setup-options{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;display:grid}.setup-option{border:1.5px solid var(--vz-line-strong);border-radius:var(--vz-radius-lg);background:var(--vz-surface);color:var(--vz-ink);text-align:left;cursor:pointer;transition:border-color var(--vz-duration-fast) var(--vz-ease-out), transform var(--vz-duration-fast) var(--vz-ease-out);gap:2px;padding:10px 14px;display:grid}.setup-option strong{font:600 15px/1.3 var(--vz-font-body)}.setup-option span{color:var(--vz-ink-2);font-size:13px}.setup-option:hover{border-color:var(--vz-ink-3)}.setup-option[aria-pressed=true]{border:2px solid var(--vz-accent);background:var(--vz-accent-soft);box-shadow:var(--vz-lift-1);transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.setup-option{transition:none}.setup-option[aria-pressed=true]{transform:none}}.train-stage[data-focus]{z-index:70;padding:14px 20px calc(20px + env(safe-area-inset-bottom));background:var(--vz-paper);animation:vz-fade-in var(--vz-duration-base) var(--vz-ease-out);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"bar""main";align-content:start;gap:14px;display:grid;position:fixed;inset:0;overflow-y:auto}.train-stage[data-focus]>:not(.focus-bar){grid-area:main}.train-stage[data-focus] .train-deck{display:none}.blunder-moves{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}@media (width<=479px){.blunder-moves{grid-template-columns:repeat(2,minmax(0,1fr))}}.blunder-move{border:1px solid var(--vz-line);border-radius:var(--vz-radius-lg);background:var(--vz-surface);width:100%;min-height:44px;color:var(--vz-ink);font:600 15px/1.2 var(--vz-font-body);font-variant-numeric:tabular-nums;cursor:pointer;padding:8px 10px}.blunder-move:hover:not(:disabled){background:var(--vz-surface-2)}.blunder-move:focus-visible{outline:var(--vz-focus-ring);outline-offset:2px}.blunder-move:disabled{cursor:default}.blunder-move[data-kind=slip]{border-color:var(--vz-berry);background:var(--vz-berry-soft)}.blunder-move[data-kind=wrong]{color:var(--vz-ink-2);text-decoration:line-through}.visualise-pieces{grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin:0;font-size:14px;display:grid}.visualise-pieces dt{color:var(--vz-ink-2);font-weight:650}.visualise-pieces dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.woodpecker-sets,.woodpecker-cycles{gap:20px;max-width:760px;display:grid}.woodpecker-group{gap:8px;display:grid}.woodpecker-set-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.woodpecker-set{border:1px solid var(--vz-line);border-radius:var(--vz-radius-menu);background:var(--vz-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 14px;display:flex}.woodpecker-set-text{flex:280px;gap:4px;min-width:0;display:grid}.woodpecker-set-text h4{flex-wrap:wrap;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.woodpecker-set-text h4 a{color:inherit;text-decoration:none}.woodpecker-set-text h4 a:hover{color:var(--vz-link);text-decoration:underline}.woodpecker-set-text p{color:var(--vz-ink-2);font-size:14px}.woodpecker-set-text .woodpecker-set-facts{color:var(--vz-ink-3);font-variant-numeric:tabular-nums;font-size:13px}.woodpecker-set-actions{align-items:center;gap:4px;display:flex}.woodpecker-back{color:var(--vz-ink-2);justify-self:start;align-items:center;gap:6px;font-size:14px;text-decoration:none;display:inline-flex}.woodpecker-back:hover{color:var(--vz-link)}.woodpecker-pro{color:var(--vz-ink-2);align-items:center;gap:3px;font-size:12px;font-weight:600;display:inline-flex}.woodpecker-table-scroll{overflow-x:auto}.woodpecker-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.woodpecker-table :is(th,td){border-bottom:1px solid var(--vz-line);text-align:left;vertical-align:top;padding:8px 12px}.woodpecker-table thead th{color:var(--vz-ink-2);font-size:12px;font-weight:600}.woodpecker-change{color:var(--vz-ink-3);font-size:12px;display:block}.woodpecker-next{border-radius:var(--vz-radius-menu);background:var(--vz-surface-2);gap:2px;padding:12px 14px;display:grid}.woodpecker-meter{border-radius:var(--vz-radius-pill);background:var(--vz-surface-3);height:6px;overflow:hidden}.woodpecker-meter span{border-radius:inherit;background:var(--vz-good,#15803d);height:100%;display:block}.woodpecker-facts{font-variant-numeric:tabular-nums;grid-template-columns:max-content 1fr;gap:6px 16px;font-size:14px;display:grid}.woodpecker-facts dt{color:var(--vz-ink-2)}.woodpecker-facts dd{font-weight:600}}
