html.puzzles-page .daily-training{width:100%;min-height:34px;margin-bottom:6px;padding:6px 10px;border:1px solid var(--border-soft);border-radius:10px;background:var(--panel-soft);color:var(--text);font:inherit;font-size:12px;font-weight:800;cursor:pointer;text-align:left}
.training-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:20px;border:1px solid var(--border-soft,#bca578);border-radius:16px;background:var(--panel,#f6eedf);color:var(--text,#28251f);font-family:inherit;overscroll-behavior:contain}
.training-dialog::backdrop{background:rgba(0,0,0,.6)}
.training-dialog h2{font-size:20px;margin:0 0 14px}.training-dialog p{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.training-dialog button{min-height:44px;padding:9px 12px;margin:4px;border:1px solid var(--border-soft,#bca578);border-radius:10px;background:var(--panel-soft,#ede2cf);color:inherit;font:inherit;cursor:pointer}
.training-actions{display:flex;flex-wrap:wrap;gap:4px}.training-dialog button:focus-visible,.daily-training:focus-visible{outline:3px solid var(--gold,#b58931);outline-offset:2px}
.training-reward{display:grid;justify-items:center;gap:8px;margin:0 0 14px;padding:16px;border:1px solid var(--gold,#b58931);border-radius:14px;background:linear-gradient(145deg,rgba(181,137,49,.22),rgba(255,255,255,.06));text-align:center;animation:training-reward-in .45s ease-out}
.training-reward-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;background:#21a956;color:#fff;font-size:34px;font-weight:900;box-shadow:0 0 0 8px rgba(33,169,86,.14)}
.training-reward>strong{font-size:20px}.training-reward p{margin:0;font-size:18px;font-weight:900}.training-perfect{display:flex;flex-direction:column;gap:3px;padding:8px 12px;border-radius:10px;background:rgba(181,137,49,.2)}.training-perfect span{font-size:12px}
.training-week{display:grid;gap:8px;margin:12px 0;padding:12px;border-radius:12px;background:var(--panel-soft,#ede2cf)}.training-week-dots{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.training-week-dots span{display:grid;aspect-ratio:1;max-width:38px;place-items:center;border:2px solid var(--border-soft,#bca578);border-radius:50%;font-weight:900}.training-week-dots span.complete{border-color:#21a956;background:#21a956;color:#fff}.training-milestone-value{text-align:center;font-size:24px;font-weight:900;line-height:1.1}.training-milestone-progress{height:10px;overflow:hidden;border:1px solid var(--border-soft,#bca578);border-radius:999px;background:rgba(0,0,0,.08)}.training-milestone-progress span{display:block;height:100%;border-radius:inherit;background:#21a956;transition:width .25s ease}.training-countdown{font-variant-numeric:tabular-nums;font-weight:900;text-align:center}
.training-goals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:12px 0;padding:12px;border:1px solid var(--border-soft,#bca578);border-radius:12px}.training-goals>strong{grid-column:1/-1}.training-goal{min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;color:var(--muted,#777)}.training-goal img{width:48px;height:55px;filter:grayscale(1) opacity(.25)}.training-goal.is-earned img{filter:drop-shadow(0 3px 4px #0006)}.training-goal span{font-size:11px;font-weight:900}.training-goal small{font-size:9px}.training-goal.is-earned small{color:var(--gold,#b58931);font-weight:900}@media(max-width:420px){.training-goals{grid-template-columns:repeat(3,minmax(0,1fr))}}
@keyframes training-reward-in{from{opacity:0;transform:scale(.88) translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.training-reward{animation:none}}
@media(min-width:801px){html.puzzles-page .puzzle-panel{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}}
@media(max-width:800px) and (orientation:portrait){html.puzzles-page .puzzle-panel{max-height:min(360px,48dvh)}}

.feedback-progress{margin:8px 0 0;color:#f4cd73;font-size:13px;font-weight:900;line-height:1.35}
.feedback-detail{margin:5px 0 0;color:#c7d4df;font-size:12px;font-weight:800;line-height:1.35}
.feedback-actions{grid-template-columns:1.15fr .85fr}
.feedback-next{order:-1;min-height:48px;font-size:14px;box-shadow:0 5px 14px #0005}
.feedback-repeat{opacity:.92}
html.puzzles-page[data-theme="light"] .feedback-progress{color:#8f5e0d}
html.puzzles-page[data-theme="light"] .feedback-detail{color:#627687}
@media(max-width:520px){.feedback-actions{grid-template-columns:1fr}.feedback-next{order:-1}}

.training-profile-summary{display:grid;gap:6px;margin:12px 0;padding:12px;border:1px solid var(--border-soft,#bca578);border-radius:12px;background:linear-gradient(145deg,rgba(181,137,49,.15),rgba(255,255,255,.04))}.training-profile-summary>strong{text-align:center;font-size:17px}.training-level-progress,.training-protection{text-align:center;margin:0}.training-daily-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:4px 0}.training-daily-goals>strong{grid-column:1/-1}.training-daily-goal{min-width:0;display:grid;justify-items:center;gap:3px;padding:8px 4px;border:1px solid var(--border-soft,#bca578);border-radius:10px;background:var(--panel,#f6eedf);text-align:center;color:var(--muted,#777)}.training-daily-goal>span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--panel-soft,#ede2cf)}.training-daily-goal strong{font-size:11px}.training-daily-goal small{font-size:9px}.training-daily-goal.is-earned{border-color:#21a956;color:var(--text,#28251f)}.training-daily-goal.is-earned>span{background:#21a956;color:#fff;font-weight:900}@media(max-width:390px){.training-daily-goals{grid-template-columns:1fr}.training-daily-goal{grid-template-columns:auto 1fr auto;align-items:center;justify-items:start;text-align:left}.training-daily-goal small{justify-self:end}}

html.catalog-mastery-active .category-progress{border-color:#b58931;background:linear-gradient(115deg,rgba(181,137,49,.18),rgba(255,255,255,.04))}
html.catalog-mastery-active .category-progress-fill{background:linear-gradient(90deg,#9b690e,#e2bd63,#9b690e);background-size:200% 100%;animation:catalog-mastery-shine 3.2s linear infinite}
.feedback-card.catalog-complete{border-color:#d9ab3f;background:radial-gradient(circle at 50% 0,rgba(240,196,88,.25),transparent 52%),var(--panel,#f6eedf);box-shadow:0 18px 55px #0008,0 0 0 2px rgba(217,171,63,.28)}
.feedback-card.catalog-complete .feedback-icon{background:linear-gradient(145deg,#e8c668,#93600a);box-shadow:0 0 0 9px rgba(217,171,63,.16),0 8px 24px rgba(102,65,5,.35)}
.feedback-card.catalog-complete .feedback-message{color:#9b690e;font-size:clamp(22px,5vw,30px)}
.feedback-card.catalog-complete .feedback-actions{grid-template-columns:1fr}
.feedback-card.catalog-complete .feedback-next{background:linear-gradient(135deg,#9b690e,#c99525);color:#fff}
@keyframes catalog-mastery-shine{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){html.catalog-mastery-active .category-progress-fill{animation:none}}
