/* Task-first surfaces. Original season artwork keeps its own colours. */
:root { --motion-fast:160ms; --motion-page:300ms; --ease-out:cubic-bezier(.22,1,.36,1); }
/* Transition screenshots must not intercept clicks on the new document. */
::view-transition,::view-transition-group(*),::view-transition-image-pair(*) { pointer-events:none; }
body.vitrazh :focus-visible, body.vitrazh .top :focus-visible, body.vitrazh .arena :focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
[hidden] { display:none!important; }
.atlas-utility a,.atlas-divisions a,.discipline-identity .work-context .quick-link { min-height:44px; }
.atlas-search input:focus-visible { outline:none; }
.atlas-rail a,.atlas-divisions a,.view-switch a,.queue-link,.match-card,.atlas-game { transition:background-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast) var(--ease-out); }
.atlas-game .game-preview { transition:transform 240ms var(--ease-out); }
@media(hover:hover) { .atlas-game:hover .game-preview { transform:translateY(-3px); }.match-card:hover { box-shadow:0 4px 16px #0000000a; }.queue-link:hover { background:var(--soft); } }
button:active,.button:active { transform:translateY(1px); }
button[aria-disabled=true],form[aria-busy=true] button[type=submit] { cursor:progress; opacity:.75; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 20px; border-radius:24px; background:var(--accent); color:var(--accent-ink); font-weight:600; text-decoration:none; }
.back-link,.match-open { display:inline-flex; align-items:center; min-height:44px; font-size:14px; text-decoration:none; }
.match-open { margin-top:4px; font-weight:600; }
.match-reference { color:var(--muted); font:13px/1.5 ui-monospace,monospace; overflow-wrap:anywhere; }
.card-meta { gap:12px; }.card-meta a { min-height:32px; display:inline-flex; align-items:center; }.card-meta span { text-align:right; }
.pair-side strong,.competition-pulse strong,.queue-count { font-variant-numeric:tabular-nums; }
.home-team-search { max-width:440px; margin:24px 0 0; padding:20px; border-radius:20px; background:var(--paper); }
.home-team-search label,.team-finder>label { display:block; margin-bottom:8px; color:var(--ink); font-size:14px; font-weight:650; }
.home-team-search .inline,.team-finder .inline { display:flex; flex-wrap:nowrap; gap:8px; }
.home-team-search input,.team-finder input { width:100%; min-width:0; }.home-team-search button,.team-finder button { flex-shrink:0; }
.poster-caption p { font-weight:550; font-size:20px; line-height:1.45; }
.season-poster { isolation:isolate; }
.season-poster::after { content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit; box-shadow:inset 0 0 0 1px #f3d9b52e; }
.phase-note { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); margin:12px 0; }
.status-dot { display:inline-block; flex-shrink:0; width:7px; height:7px; border-radius:50%; background:var(--accent); }
.workspace-tabs { border-bottom:1px solid var(--line); margin-bottom:20px!important; }
.workspace-tabs a { position:relative; min-height:48px; font-weight:600; }
.team-finder { margin:20px 0 24px; max-width:680px; }.team-finder .search-context { margin:8px 0 0; font-size:13px; }
.competition-pulse { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid var(--line); margin:24px 0 28px; padding:20px 0; gap:20px; }
.competition-pulse>div { padding-left:20px; border-left:1px solid var(--line); }.competition-pulse>div:first-child { border-left:0; padding-left:0; }
.competition-pulse span { display:block; color:var(--muted); font-size:12px; line-height:1.4; }.competition-pulse strong { display:block; font-size:28px; line-height:1.3; margin-top:8px; letter-spacing:-.04em; }.competition-pulse small { display:inline; font-size:14px; color:var(--muted); font-weight:400; letter-spacing:0; }
.overview-section { margin:28px 0 32px; }.overview-section .catalog-heading h2 { font-size:18px; line-height:1.5; }.catalog-heading>a { flex-shrink:0; min-height:44px; display:inline-flex; align-items:center; font-size:14px; }
.empty-state { grid-column:1/-1; padding:24px; border-radius:16px; background:var(--raised); }.empty-state h3 { margin:0; }.empty-state p { max-width:60ch; color:var(--muted); margin:10px 0; }.empty-state>a { display:inline-flex; align-items:center; min-height:44px; font-weight:600; }
.view-switch { display:flex; background:var(--raised); border-radius:12px; padding:3px; gap:3px; }.view-switch a { min-height:44px; display:inline-flex; align-items:center; padding:8px 14px; border-radius:9px; text-decoration:none; }.view-switch a[aria-current=page] { background:var(--paper); color:var(--ink); box-shadow:0 1px 4px #00000014; }
.participant-steps { padding-left:24px; color:var(--muted); font-size:14px; }.participant-steps li { padding-left:4px; margin-bottom:12px; }.participant-steps li::marker { color:var(--accent); font-weight:700; }
.team-directory li { display:grid; grid-template-columns:1fr auto; gap:4px 24px; padding:18px 0; }.team-directory li a { grid-column:1; min-height:32px; display:flex; align-items:center; font-weight:650; }.team-directory li span { grid-column:1; }.team-directory li small { grid-column:2; grid-row:1/3; align-self:center; color:var(--muted); }
.updates-notice { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; border-left:3px solid var(--accent); }.updates-notice button { flex-shrink:0; }
.judge-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }.judge-heading h1 { margin:0; }.judge-heading p { color:var(--muted); margin:8px 0; }
.judge-queues { display:flex; gap:8px; flex-wrap:wrap; margin:24px 0 16px; }.queue-link { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px; min-height:52px; border:1px solid var(--line); border-radius:14px; text-decoration:none; color:var(--ink); }.queue-link[aria-current=page] { background:var(--soft); border-color:var(--accent); box-shadow:inset 0 -2px var(--accent); }.queue-count { display:inline-flex; align-items:center; justify-content:center; min-width:28px; height:28px; padding:0 6px; background:var(--paper); border-radius:8px; font-size:13px; font-weight:700; }
.judge-context { color:var(--muted); font-size:14px; }.judge-tools { margin:28px 0 16px; padding:16px 0; border-top:1px solid var(--line); }.judge-tools>summary { min-height:44px; align-content:center; font-weight:600; }
.filter-more { flex-basis:100%; margin:4px 0 0; }.filter-more>summary { min-height:44px; align-content:center; font-size:13px; color:var(--accent); }.filter-more>.filters { margin:8px 0 0; padding:16px; background:var(--raised); border-radius:12px; }
.result-context { max-width:760px; margin:16px 0 24px; padding:20px 24px; background:var(--raised); border-radius:20px; border-left:3px solid var(--accent); }.result-context h2 { margin:4px 0 12px; line-height:1.6; overflow-wrap:anywhere; }.result-context p { margin:8px 0; color:var(--muted); }
[data-result-form] { max-width:760px; }.result-score-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:20px 0; }.result-score-fields>div { min-width:0; padding:16px; border:1px solid var(--line); border-radius:16px; }.result-score-fields label { min-height:44px; font-weight:650; overflow-wrap:anywhere; }.result-score-fields input { font-size:28px; font-weight:700; width:100%; min-height:64px; font-variant-numeric:tabular-nums; }
.result-summary { display:block; padding:16px 20px; margin:20px 0; border-radius:12px; background:var(--raised); line-height:1.6; }.result-summary[data-state=ready] { background:var(--soft); color:var(--accent); }
.form-actions,.preview-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:24px; }.form-actions a,.preview-actions a { min-height:44px; display:inline-flex; align-items:center; }.preview-heading { max-width:840px; }.preview-actions form { margin:0; }
.batch-selection-tools { display:flex; gap:12px; flex-wrap:wrap; align-items:end; padding:20px; margin:16px 0; border-radius:16px; background:var(--raised); }.batch-selection-tools label { flex:1 1 260px; }.batch-selection-tools output { flex-basis:100%; font-size:13px; color:var(--muted); }.batch-matches { max-height:520px; overflow:auto; padding:8px; border:1px solid var(--line); border-radius:12px; }.batch-matches label { min-height:44px; padding:8px; line-height:1.6; }.batch-matches label:has(input:checked) { background:var(--soft); border-radius:8px; }
.sheet-feedback { flex-basis:100%; }.sheet-feedback[data-state=error] { color:var(--alert); }.sheet-feedback[data-state=edited] { color:var(--accent); }.sheet-feedback[data-state=saving] { font-weight:650; }
.bracket-links path { transition:stroke 180ms,stroke-width 180ms; }
@media(min-width:768px) and (max-width:1099px) { .discipline-work .context-panel { display:none; }.discipline-work .master { width:100%; }.home-team-search { max-width:none; }.poster-caption { align-items:start; } }
@media(max-width:767px) {
  .season-intro { gap:12px; }.home-team-search { grid-column:1/-1; width:100%; margin:4px 0 0; padding:16px; }.poster-caption p { font-size:14px; }
  .workspace main.inner { padding-top:16px; }.atlas-utility { gap:4px 12px; }.atlas-utility a { font-size:12px; }
  .discipline-work .master>.toolbar.tabs { gap:0; justify-content:space-between; }.discipline-work .master>.toolbar.tabs a { padding:10px 8px; font-size:13px; }.discipline-work .workspace-tabs { margin-bottom:16px!important; }
  .team-finder { margin:16px 0 20px; }.team-finder label { font-size:13px; }.team-finder input { font-size:16px; }.team-finder button,.home-team-search button { padding-inline:16px; }
  .competition-pulse { gap:12px; padding:16px 0; margin:20px 0; }.competition-pulse>div { padding-left:12px; }.competition-pulse strong { font-size:24px; }.competition-pulse span { font-size:11px; }
  .overview-section { margin:24px 0; }.overview-section .catalog-heading { gap:4px; }.empty-state { padding:20px; }
  .mobile-row-details { display:block; }.mobile-row-details summary { min-height:44px; align-content:center; }.standings-table { min-width:0; }.standings-table td { overflow-wrap:anywhere; }
  .team-directory li { display:block; }.team-directory li span,.team-directory li small { display:block; margin-top:4px; }
  .judge-queues { gap:8px; margin-top:16px; }.queue-link { flex:1 1 145px; padding:10px 12px; gap:8px; font-size:13px; }
  .judge-nav { flex-wrap:nowrap; overflow-x:auto; gap:16px; padding:4px 12px; }.judge-nav>a { white-space:nowrap; flex-shrink:0; min-height:44px; display:inline-flex; align-items:center; }.judge-nav form { flex-shrink:0; }
  .judge-heading h1 { font-size:23px; }.result-context { padding:16px; }.result-context h2 { font-size:17px; }.result-score-fields { gap:12px; }.result-score-fields>div { padding:12px; }.result-score-fields label { font-size:13px; }
  .form-actions { align-items:stretch; }.form-actions button { flex:1 1 100%; }.form-actions>a { justify-content:center; }
  .match-list-table,.match-list-table tbody { display:block; min-width:0; }.match-list-table thead { position:absolute; clip-path:inset(50%); width:1px; height:1px; overflow:hidden; }.match-list-table tr { display:grid; grid-template-columns:1fr 1fr; padding:12px 0; border-bottom:1px solid var(--line); }.match-list-table td { display:block; padding:8px 12px; border:0; min-width:0; overflow-wrap:anywhere; }.match-list-table td:first-child,.match-list-table td:last-child:has(.row-actions),.match-list-table td[colspan] { grid-column:1/-1; }.match-list-table td:nth-child(2)::before { content:'Команда'; }.match-list-table td:nth-child(3)::before { content:'Соперник'; }.match-list-table td:nth-child(4)::before { content:'Время МСК'; }.match-list-table td:nth-child(5)::before { content:'Итог'; }.match-list-table td::before { display:block; font-size:11px; color:var(--muted); margin-bottom:4px; }.match-list-table .row-actions { display:flex; flex-wrap:wrap; gap:8px; }.match-list-table .row-actions a { min-height:44px; display:inline-flex; align-items:center; padding:8px 12px; background:var(--raised); border-radius:10px; }
}
@media(max-width:360px) { .result-score-fields { grid-template-columns:1fr; }.atlas-utility { gap:0 8px; }.atlas-utility a { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { body.vitrazh *,body.vitrazh *::before,body.vitrazh *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
html[data-motion=reduce] body.vitrazh *,html[data-motion=reduce] body.vitrazh *::before,html[data-motion=reduce] body.vitrazh *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
@media print { .team-finder,.home-team-search,.judge-queues,.form-actions,.updates-notice { display:none; } }
