/* Shared private judging surface. Motion confirms actions; it never drives scoring. */
html.judging-experience, html:has(body.judging-experience), body.judging-experience { height:100%; overflow:hidden; overscroll-behavior:none; background:#08182C; }
body.judging-experience > :is(.site-header,.site-footer,.demo-banner,.skip-link) { display:none; }
.judging-experience #main.jx-root { position:fixed; inset:var(--jx-top,0px) 0 auto; width:100%; height:var(--jx-height,100dvh); margin:0; padding:0; min-height:0; overflow:hidden; color:#F7F3EA; background:radial-gradient(ellipse at 100% 0%,#26465365,transparent 55%),radial-gradient(ellipse at 0% 90%,#B08A3C20,transparent 55%),#08182C; font-family:"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:1rem; }
.jx-root *, .jx-root *::before, .jx-root *::after { box-sizing:border-box; min-width:0; }
.jx-root [hidden] { display:none!important; }
.jx-shell { height:100%; max-width:720px; margin:auto; padding:env(safe-area-inset-top,0px) 20px env(safe-area-inset-bottom,0px); display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; }
.jx-topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:64px; border-bottom:1px solid #FFFFFF16; }
.jx-brand,.jx-mode { display:block; font-size:.65rem; line-height:1.45; letter-spacing:.12em; }
.jx-brand { font-weight:650; color:#F7F3EA; }
.jx-mode { font-size:.58rem; color:#D8BD7B; letter-spacing:.1em; }
.jx-event-progress { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; color:#D8BD7B; font-size:.75rem; }
.jx-event-progress small { color:#B7C5D5; font-size:.68rem; }
.jx-event-name { color:#B7C5D5; text-align:right; font-size:.65rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jx-content { min-height:0; display:flex; flex-direction:column; justify-content:center; gap:16px; padding:16px 0; }
.jx-title { margin:0; color:#F7F3EA; font-size:clamp(1.4rem,4.7vw,2.1rem); line-height:1.17; font-weight:600; letter-spacing:-.035em; overflow-wrap:anywhere; }
.jx-title:focus { outline:none; }
.jx-copy,.jx-context-text { margin:0; color:#D6E0E9; font-size:1rem; line-height:1.5; overflow-wrap:anywhere; }
.jx-small { font-size:.82rem; line-height:1.45; }
.jx-eyebrow { margin:0; color:#D8BD7B; font-size:.7rem; letter-spacing:.08em; line-height:1.4; text-transform:uppercase; }
.jx-footer { display:flex; align-items:center; gap:8px; padding:12px 0; border-top:1px solid #FFFFFF18; }
.jx-footer > .jx-button { flex:1; }
.jx-button { appearance:none; display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:10px 14px; border:1px solid #D8BD7B; border-radius:14px; background:linear-gradient(130deg,#E7D3A4,#C8A55D); color:#08182C; font:inherit; font-size:.92rem; line-height:1.2; font-weight:650; text-decoration:none; cursor:pointer; touch-action:manipulation; transition:box-shadow 160ms ease,transform 160ms ease,background 160ms ease; }
.jx-button:active:not(:disabled),.jx-rating:active:not(:disabled) { transform:scale(.975); }
.jx-secondary { background:#FFFFFF04; border-color:#64778E; color:#E2EAF2; font-weight:500; }
.jx-button:disabled,.jx-rating:disabled { opacity:.55; cursor:default; }
.jx-menu-button { min-height:44px; padding:8px 12px; font-size:.78rem; border-radius:12px; white-space:nowrap; flex-shrink:0; word-break:normal; overflow-wrap:normal; }
.jx-root :is(button,a):focus-visible { outline:3px solid #E7B751; outline-offset:3px; }
.jx-project-bar { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.jx-project-title { font-size:clamp(1.15rem,4.2vw,1.6rem); }
.jx-project-meta { margin:4px 0 0; color:#BBCBDB; font-size:.7rem; line-height:1.25; max-height:2.5em; overflow:hidden; }
.jx-timer { position:relative; flex:0 0 54px; width:54px; height:54px; display:grid; place-items:center; }
.jx-timer svg { position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg); }
.jx-timer circle { fill:none; stroke-width:2.4; }
.jx-timer-track { stroke:#32475E; }
.jx-timer-fill { stroke:#E2C17C; stroke-linecap:round; transition:stroke-dasharray 800ms linear; }
.jx-timer span { font-size:.72rem; font-variant-numeric:tabular-nums; color:#E9D7AA; }
.jx-criteria { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.jx-criterion-card { position:relative; min-height:94px; padding:12px 14px; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; align-items:center; gap:3px 7px; text-align:left; border:1px solid #415970; border-radius:16px; background:linear-gradient(135deg,#20364D,#112339); color:#F7F3EA; font:inherit; cursor:pointer; touch-action:manipulation; transition:border-color 180ms ease,box-shadow 180ms ease,background 180ms ease; }
.jx-card-label { font-size:.9rem; line-height:1.22; }
.jx-card-label small { display:block; margin-top:4px; color:#B5C2D0; font-size:.67rem; }
.jx-criterion-card strong { grid-column:2; grid-row:1 / 3; color:#D9E1EB; font-size:2rem; line-height:1; font-weight:500; }
.jx-card-state { grid-column:1; color:#9FB0C1; font-size:.65rem; line-height:1.25; }
.jx-criterion-card.is-active { border-color:#E0C383; background:linear-gradient(135deg,#2B3B49,#152B42); box-shadow:0 0 0 1px #D8BD7B55,0 0 28px #D8BD7B14; }
.jx-criterion-card.is-active .jx-card-label { color:#F5E5BD; }
.jx-criterion-card.is-rated strong { color:#E4C785; }
.jx-criterion-card.is-rated::after { content:''; position:absolute; right:10px; bottom:8px; width:4px; height:4px; border-radius:50%; background:#D8BD7B; }
.jx-dock { padding:0; display:grid; gap:9px; }
.jx-dock-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.jx-dock-heading h2 { margin:0; font-size:1rem; line-height:1.3; font-weight:550; letter-spacing:0; }
.jx-dock-heading h2 small { color:#D8BD7B; font-size:.7rem; white-space:nowrap; }
.jx-guide-button { min-height:44px; padding:6px 10px; font-size:.75rem; flex:none; }
.jx-anchor-preview { margin:0; min-height:2.5em; max-height:2.5em; color:#B8C9D9; font-size:.7rem; line-height:1.25; overflow:hidden; }
.jx-rating-dock { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.jx-rating { min-height:62px; padding:8px 2px; border:1px solid #63798D; border-radius:13px; background:#112C43; color:#EAF0F4; font:inherit; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; cursor:pointer; touch-action:manipulation; transition:transform 150ms ease,background 150ms ease,box-shadow 150ms ease; }
.jx-rating b { font-size:1.35rem; line-height:1; font-weight:600; }
.jx-rating span { font-size:.61rem; line-height:1.15; }
.jx-rating.is-selected { background:#D9BA78; color:#08182C; border-color:#F0DBAE; box-shadow:0 0 18px #D9BA7830; }
.jx-score-status { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:38px; }
.jx-total { color:#E4C785; font-size:1.7rem; line-height:1.1; white-space:nowrap; font-variant-numeric:tabular-nums; }
.jx-total small { color:#AEBECF; font-size:.72rem; }
.jx-save-state { margin:0; color:#B8C8D7; font-size:.72rem; line-height:1.3; text-align:right; }
.jx-status-button { min-height:44px; padding:5px 8px; font-size:.65rem; max-width:70%; }
.jx-filter-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.jx-filter-tabs button { min-height:44px; padding:7px 4px; border:1px solid #40586E; border-radius:11px; background:#142A40; color:#C8D5E2; font:inherit; font-size:.78rem; line-height:1.2; cursor:pointer; }
.jx-filter-tabs button[aria-pressed="true"] { background:#D8BD7B; border-color:#E8D4A9; color:#08182C; }
.jx-project-card { min-height:160px; padding:22px; display:flex; flex-direction:column; justify-content:center; gap:13px; text-align:left; color:#D9E4EC; border:1px solid #5C7385; border-radius:20px; background:linear-gradient(140deg,#203B50,#11263D); font:inherit; cursor:pointer; }
.jx-project-card strong { font-size:1.5rem; line-height:1.2; font-weight:550; overflow-wrap:anywhere; }
.jx-project-card > span:not(.jx-eyebrow) { font-size:.8rem; line-height:1.35; }
.jx-card-action { color:#E3C990; }
.jx-page-count,.jx-version { color:#A6BACD; font-size:.68rem; line-height:1.35; }
.jx-page-count { text-align:center; }
.jx-empty { padding:24px 0; color:#CFDCE8; font-size:.9rem; line-height:1.5; }
.jx-empty p { margin:8px 0 0; }
.jx-pending-conflict,.jx-warning { margin:0; color:#F1CF8E; font-size:.75rem; line-height:1.4; }
.jx-ready-clock { display:flex; gap:18px; align-items:center; padding:20px 0; }
.jx-ready-clock .jx-timer { width:80px; height:80px; flex-basis:80px; }
.jx-ready-clock .jx-timer span { font-size:1.05rem; }
.jx-ready-clock strong { font-size:1rem; line-height:1.4; }
.jx-ready-clock p { margin:6px 0 0; color:#B9C9D7; font-size:.8rem; line-height:1.5; }
.jx-review-list { margin:0; display:grid; gap:0; }
.jx-review-list > div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 0; border-bottom:1px solid #FFFFFF18; font-size:.93rem; line-height:1.35; }
.jx-review-list dt { font-weight:500; }
.jx-review-list dd { margin:0; font-weight:600; color:#E4C785; white-space:nowrap; }
.jx-review-list small { color:#B5C4D3; font-size:.7rem; }
.jx-review-total { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px; border:1px solid #8C815B; border-radius:15px; background:#D8BD7B0A; color:#D9E3EC; font-size:.85rem; }
.jx-review-total strong { color:#E8CC8E; font-size:2rem; line-height:1.1; }
.jx-review-total small { font-size:.8rem; font-weight:400; }
.jx-success-mark { width:70px; height:70px; display:grid; place-items:center; border:1px solid #D8BD7B; border-radius:50%; color:#E8CC8E; box-shadow:0 0 35px #D8BD7B24; font-size:2rem; }
.jx-anchor-list { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.jx-anchor-list li { padding:0 0 9px; border-bottom:1px solid #FFFFFF14; }
.jx-anchor-list strong { display:block; color:#E0C383; font-size:.76rem; line-height:1.3; }
.jx-anchor-list p { margin:3px 0 0; font-size:.82rem; line-height:1.35; color:#D3DFE9; }
.jx-menu-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.jx-menu-grid .jx-button { min-height:52px; font-size:.82rem; padding:8px; }
.jx-conflict-reasons { display:grid; gap:9px; }
.jx-conflict-reasons button { min-height:48px; padding:10px; border:1px solid #506B83; border-radius:12px; background:#142D43; color:#DBE6EF; font:inherit; font-size:.9rem; cursor:pointer; }
.jx-conflict-reasons button[aria-pressed="true"] { border-color:#D8BD7B; background:#D8BD7B; color:#08182C; }
.jx-conflict-comparison { display:grid; gap:10px; color:#E7CF9B; font-size:.85rem; line-height:1.4; }
.jx-conflict-comparison p { margin:0; }
.jx-conflict-comparison small { color:#C4D2DE; }
.jx-card-pager { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#C4D2DE; font-size:.72rem; }
.jx-card-pager .jx-button { width:44px; min-height:44px; padding:5px; }
.jx-announcement { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-height:700px) {
 .jx-shell { padding-inline:16px; } .jx-topbar { min-height:48px; } .jx-event-progress { padding-block:5px; }
 .jx-content { padding-block:8px; gap:10px; } .jx-title { font-size:1.4rem; } .jx-footer { padding-block:8px; }
 .jx-criterion-card { min-height:65px; padding:8px 11px; border-radius:13px; } .jx-criteria { gap:8px; } .jx-card-label { font-size:.8rem; } .jx-card-label small { display:inline; margin:0 0 0 6px; font-size:.6rem; } .jx-card-state { font-size:.6rem; }
 .jx-criterion-card strong { font-size:1.6rem; } .jx-dock { gap:5px; } .jx-dock-heading h2 { font-size:.9rem; } .jx-anchor-preview { font-size:.65rem; }
 .jx-rating { min-height:48px; padding-block:6px; } .jx-rating b { font-size:1.1rem; } .jx-rating span { font-size:.56rem; }
 .jx-project-title { font-size:1.15rem; } .jx-timer { width:44px; height:44px; flex-basis:44px; } .jx-project-meta { font-size:.65rem; }
 .jx-score-status { min-height:28px; } .jx-total { font-size:1.45rem; } .jx-save-state { font-size:.65rem; }
 .jx-button { min-height:44px; } .jx-menu-grid .jx-button { min-height:44px; font-size:.77rem; } .jx-menu-grid { gap:7px; }
 .jx-project-card { min-height:120px; padding:16px; gap:9px; } .jx-project-card strong { font-size:1.25rem; }
 .jx-review-list > div { padding-block:10px; font-size:.85rem; } .jx-review-total { padding:12px; } .jx-review-total strong { font-size:1.7rem; }
 .jx-anchor-list { gap:7px; } .jx-anchor-list li { padding-bottom:5px; } .jx-anchor-list strong { font-size:.7rem; } .jx-anchor-list p { font-size:.75rem; }
}
@media(max-height:530px) {
 .jx-content { gap:6px; padding-block:4px; } .jx-event-progress { padding-block:3px; font-size:.65rem; }
 .jx-criterion-card { min-height:54px; padding:5px 9px; gap:1px 5px; } .jx-criteria { gap:6px; }
 .jx-card-label { font-size:.74rem; } .jx-card-state { font-size:.55rem; } .jx-criterion-card strong { font-size:1.5rem; }
 .jx-project-meta { display:none; } .jx-project-title { font-size:1.05rem; } .jx-project-bar .jx-timer { height:36px; width:36px; flex-basis:36px; } .jx-timer span { font-size:.62rem; }
 .jx-dock { gap:3px; } .jx-anchor-preview { min-height:2.5em; max-height:2.5em; font-size:.6rem; }
 .jx-score-status { min-height:24px; } .jx-total { font-size:1.25rem; } .jx-footer { padding-block:6px; }
 .jx-context-text,.jx-copy { font-size:.9rem; line-height:1.4; } .jx-small { font-size:.75rem; }
 .jx-title { font-size:1.25rem; } .jx-ready-clock { padding-block:10px; } .jx-ready-clock .jx-timer { height:60px; width:60px; flex-basis:60px; }
 .jx-review-list > div { padding-block:7px; } .jx-anchor-list { gap:5px; } .jx-anchor-list li { padding-bottom:4px; }
 .jx-anchor-list p { margin-top:2px; font-size:.7rem; } .jx-success-mark { height:50px; width:50px; font-size:1.5rem; }
}
.jx-root[data-compact="true"] .jx-card-state,.jx-root[data-compact="true"] .jx-project-meta,.jx-root[data-compact="true"] .jx-anchor-preview { display:none; }
.jx-root[data-compact="true"] .jx-content { gap:5px; }
.jx-root[data-compact="true"] .jx-criterion-card { min-height:54px; }
.jx-root[data-compact="true"] .jx-criterion-card strong { grid-row:1; }
.jx-root[data-compact="true"] .jx-card-label small { display:inline; }
.jx-root[data-compact="true"] .jx-anchor-list p { font-size:.95rem; }
.jx-root[data-tiny="true"] .jx-criteria { grid-template-columns:1fr; }
.jx-root[data-tiny="true"] .jx-event-name,.jx-root[data-tiny="true"] .jx-project-bar .jx-timer { display:none; }
.jx-root[data-tiny="true"] .jx-card-pager { position:relative; margin-top:-49px; margin-left:calc(100% - 96px); height:44px; }
.jx-root[data-tiny="true"] .jx-card-pager > span { display:none; }
.jx-root[data-tiny="true"] .jx-criterion-card { padding-right:110px; }
.jx-root[data-tiny="true"] .jx-criterion-card strong { display:none; }
.jx-root[data-tiny="true"] .jx-score-status { gap:4px; }
.jx-root[data-tiny="true"] .jx-save-state { font-size:.6rem; }
@media(min-width:750px) and (max-height:500px) {
 .jx-shell { max-width:1100px; } .jx-criteria { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .jx-content { gap:6px; } .jx-rating-dock { max-width:520px; width:100%; margin:auto; }
 .jx-project-card { min-height:100px; } .jx-review-list { grid-template-columns:1fr 1fr; column-gap:24px; }
 .jx-anchor-list { grid-template-columns:1fr 1fr; column-gap:20px; } .jx-menu-grid { grid-template-columns:repeat(3,1fr); }
}
@media(prefers-reduced-motion:reduce) { .jx-root *, .jx-root *::before,.jx-root *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
.jx-selector-titlebar { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.jx-selector-titlebar .jx-button { flex:none; min-height:44px; font-size:.74rem; padding:7px 10px; }
.jx-selector-heading > .jx-copy { margin-top:5px; }
button.jx-timer { appearance:none; border:0; background:transparent; color:inherit; padding:0; min-width:44px; min-height:44px; cursor:pointer; font:inherit; }
button.jx-timer:disabled { cursor:default; }
.jx-timer [data-jx-time] { transform:translateY(-4px); }
.jx-timer [data-jx-timer-control] { position:absolute; bottom:9px; color:#C6D4E0; font-size:.47rem; line-height:1; }
.jx-ready-clock .jx-timer [data-jx-timer-control] { bottom:16px; font-size:.55rem; }
.jx-paginated-shell { grid-template-rows:auto auto minmax(0,1fr) auto auto; }
.jx-paged-content { justify-content:center; gap:8px; }
.jx-paged-content > * { flex-shrink:0; }
.jx-fit-navigation { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:4px 0; color:#B8C9D9; font-size:.7rem; }
.jx-fit-navigation .jx-button { min-height:44px; min-width:44px; padding:5px; }
.jx-root[data-tiny="true"] .jx-event-progress { display:none; }
.jx-root[data-tiny="true"] .jx-shell { grid-template-rows:auto minmax(0,1fr) auto; }
.jx-root[data-tiny="true"] .jx-paginated-shell { grid-template-rows:auto minmax(0,1fr) auto auto; }
.jx-root[data-tiny="true"] .jx-project-card { min-height:72px; padding:10px; gap:5px; }
.jx-root[data-tiny="true"] .jx-project-card > span:not(.jx-eyebrow):not(.jx-card-action) { display:none; }
.jx-root[data-tiny="true"] .jx-project-card strong { font-size:1rem; }
.jx-root[data-tiny="true"] .jx-ready-clock { padding:0; }
.jx-root[data-tiny="true"] .jx-ready-clock .jx-timer { display:none; }
.jx-root[data-tiny="true"][data-view="scoring"] :is(.jx-project-bar,.jx-criteria) { display:none; }
.jx-root[data-tiny="true"][data-view="scoring"] .jx-card-pager { margin:0; height:44px; }
.jx-root[data-tiny="true"][data-view="scoring"] .jx-card-pager > span { display:block; }
.jx-root[data-tiny="true"][data-view="scoring"] .jx-brand { letter-spacing:0; text-transform:none; }
.jx-root[data-tiny="true"][data-view="scoring"] .jx-rating { min-height:48px; }
.jx-root[data-tiny="true"][data-view="scoring"] .jx-score-status { display:none; }
.jx-footer > .jx-button { word-break:normal; overflow-wrap:normal; }
.jx-root[data-compact="true"] .jx-footer > .jx-button { padding-inline:8px; }

/* Personal completion reflects acknowledged scorecards, never panel results. */
.jx-root[data-view="complete"] .jx-content { align-items:center; text-align:center; gap:14px; }
.jx-root[data-view="complete"] .jx-title { max-width:18ch; }
.jx-completion-orbit { position:relative; width:112px; height:112px; flex:none; border-radius:50%; background:radial-gradient(circle,#D8BD7B12,transparent 68%); filter:drop-shadow(0 0 16px #D8BD7B22); }
.jx-completion-orbit svg { width:100%; height:100%; overflow:visible; }
.jx-completion-track,.jx-completion-ring { fill:none; stroke-width:1.6; }
.jx-completion-track { stroke:#39526B; }
.jx-completion-ring { stroke:#D8BD7B; stroke-linecap:round; stroke-dasharray:100; transform:rotate(-90deg); transform-origin:50% 50%; }
.jx-completion-check { fill:none; stroke:#F2DCA7; stroke-width:3.6; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:100; }
.jx-completion-spark { position:absolute; top:5%; left:48%; width:5px; height:5px; border-radius:50%; background:#F2DCA7; box-shadow:0 0 12px #E7B751; }
.jx-completion-count { margin:0; padding:7px 12px; border:1px solid #D8BD7B40; border-radius:30px; background:#D8BD7B09; color:#E7D09C; font-size:.78rem; line-height:1.3; font-variant-numeric:tabular-nums; }
.jx-completion-copy { max-width:35ch; font-size:.88rem; line-height:1.45; color:#BFCFDC; }
.jx-root[data-view="complete"] .jx-footer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:8px; }
.jx-completion-review,.jx-completion-refresh:last-child { grid-column:1 / -1; }
@media(max-height:600px) {
 .jx-root[data-view="complete"] .jx-content { gap:9px; }
 .jx-completion-orbit { width:76px; height:76px; }
 .jx-completion-count { padding:5px 9px; }
}
.jx-root[data-compact="true"][data-view="complete"] .jx-content { gap:7px; }
.jx-root[data-compact="true"] .jx-completion-orbit { width:54px; height:54px; }
.jx-root[data-tiny="true"] .jx-completion-orbit { display:none; }
.jx-root[data-tiny="true"] .jx-completion-count { padding:0; border:0; background:none; font-size:.75rem; }
.jx-root[data-tiny="true"] .jx-completion-copy { font-size:.8rem; }
.jx-root[data-tiny="true"][data-view="complete"] .jx-footer { gap:6px; }
.jx-root[data-tiny="true"][data-view="complete"] .jx-footer .jx-button { white-space:nowrap; }

/* Material and light stay still. The motion coordinator owns semantic reveals. */
.judging-experience #main.jx-root {
 --jx-surface-ease:cubic-bezier(.2,.75,.25,1);
 --jx-surface-spring:cubic-bezier(.2,.9,.25,1.25);
 isolation:isolate;
 background:
  radial-gradient(ellipse at 14% 2%,#B08A3C24,transparent 43%),
  radial-gradient(ellipse at 100% 38%,#355B7D38,transparent 50%),
  radial-gradient(ellipse at 50% 110%,#020916B3,transparent 66%),#08182C;
}
.judging-experience #main.jx-root::before,
.judging-experience #main.jx-root::after { content:''; position:absolute; pointer-events:none; z-index:0; }
.judging-experience #main.jx-root::before {
 inset:0;
 background-image:linear-gradient(#C4D4E40B 1px,transparent 1px),linear-gradient(90deg,#C4D4E40B 1px,transparent 1px);
 background-size:56px 56px;
 mask-image:radial-gradient(ellipse at 100% 0%,#000 0%,transparent 68%);
 -webkit-mask-image:radial-gradient(ellipse at 100% 0%,#000 0%,transparent 68%);
}
.judging-experience #main.jx-root::after {
 inset:0;
 background:radial-gradient(ellipse at 112% -10%,transparent 45%,#D8BD7B1F calc(45% + 1px),transparent calc(45% + 2px),transparent 54%,#D8BD7B0A calc(54% + 1px),transparent calc(54% + 2px),transparent 64%,#D8BD7B06 calc(64% + 1px),transparent calc(64% + 2px));
}
.jx-shell {
 position:relative; z-index:1;
 background:linear-gradient(90deg,#08182C12,#1023384D 30%,#1023384D 70%,#08182C12);
}
.jx-topbar { border-bottom-color:#BCCDDD2B; box-shadow:0 1px 0 #020A165E; }
.jx-brand { font-weight:700; letter-spacing:.14em; }
.jx-mode,.jx-eyebrow { color:#E7C984; }
.jx-event-progress { color:#EDD5A0; font-variant-numeric:tabular-nums; }
.jx-title { color:#FBF8F0; text-shadow:0 2px 16px #00000030; }
.jx-footer { border-top-color:#B8C9DA2B; box-shadow:0 -1px 0 #020A165E; }

/* A beveled gold surface, with a fixed highlight rather than a moving sweep. */
.jx-button {
 position:relative; isolation:isolate;
 border-color:#E7CA8D;
 background:linear-gradient(180deg,#F0DBA9 0%,#D8B56B 48%,#C49A4B 100%);
 color:#08182C;
 box-shadow:inset 0 1px 0 #FFF7DCD9,inset 0 -1px 0 #805C2499,0 3px 0 #6F501F,0 7px 18px #00000038;
 text-shadow:0 1px 0 #FFF1C64D;
 transition:translate 250ms var(--jx-surface-spring),scale 250ms var(--jx-surface-spring),box-shadow 180ms var(--jx-surface-ease),border-color 180ms var(--jx-surface-ease),filter 180ms var(--jx-surface-ease);
}
.jx-button::before {
 content:''; position:absolute; pointer-events:none; z-index:-1; inset:1px; border-radius:inherit;
 background:linear-gradient(112deg,#FFFFFF00 18%,#FFFFFF30 34%,#FFFFFF08 47%,#FFFFFF00 62%);
 opacity:.7; box-shadow:inset 0 0 0 1px #FFF8E526;
 transition:opacity 200ms var(--jx-surface-ease);
}
.jx-secondary {
 background:linear-gradient(165deg,#233B51E6,#102439F2 64%,#0B1D30);
 border-color:#73869A; color:#E9EFF4; text-shadow:none;
 box-shadow:inset 0 1px 0 #D8E6F022,inset 0 -1px 0 #020A1666,0 2px 0 #040F1D,0 5px 14px #00000025;
}
.jx-secondary::before { background:linear-gradient(112deg,#FFFFFF00 20%,#D8E7F01A 38%,#FFFFFF00 62%); box-shadow:inset 0 0 0 1px #DBE8F008; }
.jx-button:disabled { box-shadow:inset 0 1px 0 #FFF7DC29,0 1px 0 #020A1640; filter:saturate(.65); }
.jx-button:disabled::before { opacity:.25; }
.jx-root :is(.jx-button,.jx-rating,.jx-project-card,.jx-criterion-card,.jx-filter-tabs button,.jx-conflict-reasons button):active:not(:disabled) {
 transform:none; translate:0 2px; scale:.986;
 transition-duration:80ms;
}
.jx-button:active:not(:disabled) { box-shadow:inset 0 2px 4px #6C491C40,inset 0 1px 0 #FFF2CF70,0 1px 0 #6F501F,0 2px 7px #00000030; }
.jx-secondary:active:not(:disabled) { box-shadow:inset 0 2px 5px #020A1680,inset 0 1px 0 #C8D8E112,0 1px 0 #040F1D; }

/* Glass-like navy surfaces retain opaque, readable text and firm edges. */
.jx-project-card,.jx-criterion-card {
 isolation:isolate; border-color:#698096;
 background:radial-gradient(ellipse at 5% 0%,#5C78932E,transparent 62%),linear-gradient(145deg,#243E54E8,#122A40F5 65%,#0C1F33);
 box-shadow:inset 0 1px 0 #E1EDF02B,inset 0 -1px 0 #010813B3,0 7px 20px #00000030;
 transition:translate 250ms var(--jx-surface-spring),scale 250ms var(--jx-surface-spring),border-color 180ms var(--jx-surface-ease),box-shadow 180ms var(--jx-surface-ease);
}
.jx-project-card { position:relative; }
.jx-project-card::before,.jx-criterion-card::before {
 content:''; position:absolute; z-index:-1; inset:0; border-radius:inherit; pointer-events:none;
 background:linear-gradient(115deg,#FFFFFF0C,transparent 35%,transparent 68%,#FFFFFF03);
 box-shadow:inset 0 0 0 1px #E6EFF508;
}
.jx-project-card .jx-eyebrow { color:#E7CC94; }
.jx-project-card strong { color:#FAF6ED; letter-spacing:-.025em; font-weight:600; }
.jx-card-action { color:#F0D293; font-weight:600; }
.jx-criterion-card.is-active {
 border-color:#EACD8C;
 background:radial-gradient(ellipse at 0% 0%,#D3B57426,transparent 68%),linear-gradient(145deg,#2D4151F5,#142D44 70%,#10243A);
 box-shadow:inset 0 1px 0 #FFF2CA5C,inset 0 -1px 0 #02091699,0 0 0 1px #E7C57C3B,0 6px 20px #00000038,0 0 22px #C9A45C0D;
}
.jx-criterion-card.is-active .jx-card-label { color:#F7E6BD; }
.jx-criterion-card.is-rated strong { color:#F0D18D; text-shadow:0 1px 8px #E7B75114; }
.jx-criterion-card.is-rated::after { width:5px; height:5px; background:#F1D9A3; box-shadow:0 0 0 3px #E7C57C10,0 0 8px #E7C57C38; }
.jx-card-label small,.jx-card-state { color:#C1CEDA; }
.jx-dock-heading h2 { color:#F4F1E9; font-weight:600; }
.jx-dock-heading h2 small { color:#E7C984; }
.jx-anchor-preview,.jx-save-state { color:#C4D2DF; }

.jx-rating {
 position:relative; isolation:isolate;
 border-color:#768A9D; color:#F0F3F6;
 background:linear-gradient(170deg,#27435B,#102A41 70%,#0C2237);
 box-shadow:inset 0 1px 0 #D7E5F02E,inset 0 -1px 0 #000B16B3,0 3px 0 #050F1E,0 5px 12px #00000030;
 transition:translate 250ms var(--jx-surface-spring),scale 250ms var(--jx-surface-spring),box-shadow 180ms var(--jx-surface-ease),border-color 180ms var(--jx-surface-ease);
}
.jx-rating::before { content:''; position:absolute; z-index:-1; inset:1px; pointer-events:none; border-radius:inherit; background:linear-gradient(145deg,#FFFFFF0C,transparent 55%); }
.jx-rating b { font-variant-numeric:tabular-nums; font-weight:650; }
.jx-rating.is-selected {
 color:#08182C; border-color:#F6DFA8;
 background:linear-gradient(180deg,#F0DBA9,#D5B068 52%,#C49A4B);
 box-shadow:inset 0 1px 0 #FFF9E2D9,inset 0 -2px 0 #815D2680,0 0 0 1px #E5C37E66,0 3px 0 #705121,0 6px 16px #00000038;
}
.jx-rating.is-selected::after { content:''; position:absolute; width:4px; height:4px; top:5px; right:5px; border-radius:50%; background:#21324A; box-shadow:0 0 0 2px #FFF0C438; pointer-events:none; }
.jx-rating:active:not(:disabled) { box-shadow:inset 0 2px 5px #020A1680,0 1px 0 #050F1E; }
.jx-rating.is-selected:active:not(:disabled) { box-shadow:inset 0 2px 4px #805C264D,0 1px 0 #705121; }
.jx-total,.jx-review-total strong { color:#F0D18F; text-shadow:0 2px 12px #E7B75112; }
.jx-total small { color:#C3CEDA; }
.jx-review-total {
 border-color:#B69B64;
 background:radial-gradient(ellipse at 100% 0%,#D8BD7B14,transparent 60%),linear-gradient(145deg,#24394BE8,#13283BF5);
 box-shadow:inset 0 1px 0 #E9D4A32E,inset 0 -1px 0 #020A167A,0 7px 20px #00000025;
}
.jx-filter-tabs button,.jx-conflict-reasons button {
 background:linear-gradient(165deg,#223C52,#11273D); border-color:#687E93; color:#DCE5ED;
 box-shadow:inset 0 1px 0 #DCE8F01A,0 2px 0 #061222;
 transition:translate 240ms var(--jx-surface-spring),scale 240ms var(--jx-surface-spring),border-color 180ms var(--jx-surface-ease),box-shadow 180ms var(--jx-surface-ease);
}
.jx-filter-tabs button[aria-pressed="true"],.jx-conflict-reasons button[aria-pressed="true"] {
 background:linear-gradient(180deg,#EBD4A0,#CCA65B); border-color:#EDD49A; color:#08182C;
 box-shadow:inset 0 1px 0 #FFF6DAAD,0 2px 0 #785723;
}
button.jx-timer { border-radius:50%; background:radial-gradient(circle,#28415799 0%,#0C203599 66%,transparent 68%); }
.jx-timer-track { stroke:#50657A; }
.jx-timer-fill { stroke:#EFD299; filter:drop-shadow(0 0 2px #D5AF6038); }
.jx-timer span { color:#F2DCAC; }

/* Success lighting is static; the one-time flare/draw is triggered by WAAPI. */
.jx-success-mark,.jx-completion-orbit {
 background:radial-gradient(circle at 35% 24%,#F0D39A18,#B08A3C0A 52%,#08182C00 72%);
 box-shadow:inset 0 1px 0 #F8E7C01F,0 0 0 8px #D6B46D05,0 0 36px #D6B46D14;
}
.jx-success-mark { position:relative; border-color:#EBD29B; color:#F5DFAF; }
.jx-success-mark::after,.jx-completion-orbit::before {
 content:''; position:absolute; inset:-9px; border:1px solid #E9CD8B26; border-radius:50%; pointer-events:none;
 background:radial-gradient(ellipse at 50% 0%,#F4D99C14,transparent 44%);
}
.jx-completion-ring { stroke:#EACB89; filter:drop-shadow(0 0 2px #E9C67B45); }
.jx-completion-check { stroke:#F9E6B9; }
.jx-completion-spark { background:#FFF0C7; box-shadow:0 0 6px #EAC77D80,0 0 18px #D7AD4D40; }
.jx-completion-count { border-color:#D6B46D66; background:linear-gradient(135deg,#C5A45F12,#D8BD7B04); color:#EDD6A5; box-shadow:inset 0 1px 0 #F6DCA819; }

.jx-root :is(button,a):focus-visible {
 outline:3px solid #F4D99F; outline-offset:3px;
 box-shadow:0 0 0 3px #08182C,0 0 0 6px #F4D99F30;
}
@media(hover:hover) and (pointer:fine) {
 .jx-button:hover:not(:disabled):not(:active) { translate:0 -1px; filter:brightness(1.045); box-shadow:inset 0 1px 0 #FFF9E4,0 3px 0 #705121,0 9px 23px #00000040; }
 .jx-button:hover:not(:disabled)::before { opacity:1; }
 .jx-secondary:hover:not(:disabled):not(:active) { border-color:#B6C7D5; box-shadow:inset 0 1px 0 #DFEAF03D,0 2px 0 #040F1D,0 7px 17px #00000035; }
 .jx-project-card:hover:not(:disabled):not(:active),.jx-criterion-card:hover:not(:disabled):not(:active) { translate:0 -1px; border-color:#B6C7D5; box-shadow:inset 0 1px 0 #E1EDF03D,inset 0 -1px 0 #010813B3,0 9px 24px #00000038; }
 .jx-criterion-card.is-active:hover:not(:disabled):not(:active) { border-color:#F5DDA8; box-shadow:inset 0 1px 0 #FFF2CA6B,0 0 0 1px #E7C57C59,0 8px 22px #00000038; }
 .jx-rating:hover:not(:disabled):not(:active) { translate:0 -1px; border-color:#E8D5A9; }
 .jx-filter-tabs button:hover:not(:disabled),.jx-conflict-reasons button:hover:not(:disabled) { border-color:#CDBA8B; }
 .jx-root :is(.jx-button,.jx-rating,.jx-project-card,.jx-criterion-card):active:not(:disabled) { translate:0 2px; }
}
@media(pointer:coarse) {
 .jx-button::before { opacity:.65; }
 .jx-root :is(.jx-button,.jx-rating,.jx-project-card,.jx-criterion-card):active:not(:disabled) { scale:.99; }
}
@media(max-width:480px) {
 .judging-experience #main.jx-root::before { opacity:.65; }
 .judging-experience #main.jx-root::after { opacity:.7; }
}
.jx-root[data-tiny="true"] .jx-completion-count { box-shadow:none; }
@media(prefers-reduced-motion:reduce) {
 .jx-root :is(.jx-button,.jx-rating,.jx-project-card,.jx-criterion-card,.jx-filter-tabs button,.jx-conflict-reasons button) { translate:none!important; scale:none!important; }
 .jx-root :is(.jx-button,.jx-rating,.jx-project-card,.jx-criterion-card):active:not(:disabled) { transform:none!important; }
}
@media(forced-colors:active) {
 .judging-experience #main.jx-root::before,.judging-experience #main.jx-root::after,.jx-button::before,.jx-project-card::before,.jx-criterion-card::before,.jx-rating::before,.jx-rating::after,.jx-success-mark::after,.jx-completion-orbit::before { display:none; }
 .jx-criterion-card.is-active,.jx-rating.is-selected,.jx-filter-tabs button[aria-pressed="true"],.jx-conflict-reasons button[aria-pressed="true"] { outline:2px solid Highlight; outline-offset:-3px; }
 .jx-root :is(button,a):focus-visible { outline-color:Highlight; }
}

/* Search is explicit: typing does not move the project cards or keyboard. */
.jx-project-search { display:grid; gap:5px; margin:0; flex-shrink:0; }
.jx-project-search label { color:#D4E0E9; font-size:.76rem; line-height:1.3; font-weight:550; }
.jx-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:stretch; }
.jx-project-search input { appearance:none; width:100%; min-width:0; min-height:44px; padding:9px 12px; border:1px solid #73869A; border-radius:12px; background:linear-gradient(145deg,#172E44,#0D2136); color:#F7F3EA; font:inherit; font-size:max(16px,1rem); line-height:1.2; box-shadow:inset 0 1px 3px #00000040; }
.jx-project-search input::placeholder { color:#A6BACD; opacity:1; }
.jx-project-search input:focus-visible { outline:3px solid #F4D99F; outline-offset:2px; }
.jx-search-row .jx-button { min-height:44px; font-size:.82rem; padding:9px 12px; white-space:nowrap; }
.jx-search-summary { margin:0; color:#E8D1A0; font-size:.85rem; line-height:1.4; overflow-wrap:anywhere; }
.jx-search-summary small { display:block; margin-top:3px; color:#BFCFDC; font-size:.72rem; }
.jx-search-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.jx-search-actions .jx-button { min-height:44px; font-size:.8rem; padding:8px 12px; }
.jx-root[data-view="selector"] .jx-content { gap:10px; }
@media(max-height:600px) {
 .jx-root[data-view="selector"] .jx-content { gap:7px; }
 .jx-root[data-view="selector"] .jx-project-card { min-height:104px; padding:12px; gap:7px; }
}
.jx-root[data-compact="true"] .jx-search-row { gap:6px; }
.jx-root[data-compact="true"] .jx-project-search input { padding-inline:8px; }
.jx-root[data-tiny="true"] .jx-search-summary { font-size:.76rem; }
.jx-root[data-tiny="true"] .jx-search-summary small { font-size:.64rem; }
/* Keep the full selector stable on focus; compact only for constrained keyboard
   space, with the form anchored below the header rather than recentered. */
.jx-root.jx-search-compact .jx-shell { grid-template-rows:auto minmax(0,1fr); }
.jx-root.jx-search-compact :is(.jx-event-progress,.jx-footer,.jx-fit-navigation) { display:none; }
.jx-root.jx-search-compact .jx-content { justify-content:flex-start; padding-block:12px 6px; }
.jx-root.jx-search-compact .jx-content > :not(.jx-project-search) { display:none; }
.jx-root.jx-search-compact .jx-project-search { display:grid; width:100%; }
.jx-selector-card-slot { min-height:0; flex-shrink:0; }
.jx-selector-card-slot > .jx-project-card { width:100%; }
[data-jx-selector-event]:empty { display:none; }
.jx-root[data-view="complete"] .jx-footer > .jx-button:last-child { grid-column:1 / -1; }
