html:has(body.judging-login), body.judging-login { height:100%; overflow:hidden; overscroll-behavior:none; }
body.judging-login > :is(.site-header,.site-footer,.demo-banner,.skip-link) { display:none; }
.judging-login #main.jl-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,Arial,sans-serif; }
.jl-root *, .jl-root *::before, .jl-root *::after { box-sizing:border-box; min-width:0; }
.jl-shell { max-width:520px; height:100%; margin:auto; padding:env(safe-area-inset-top,0px) 20px env(safe-area-inset-bottom,0px); display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.jl-header { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid #ffffff20; }
.jl-brand,.jl-mode { display:block; font-size:.65rem; line-height:1.4; letter-spacing:.08em; }
.jl-mode { color:#D8BD7B; font-size:.6rem; }
.jl-content { min-height:0; display:flex; flex-direction:column; justify-content:center; gap:16px; padding:16px 0; }
.jl-intro { display:grid; gap:10px; }
.jl-root h1 { margin:0; color:#F7F3EA; font-size:1.8rem; line-height:1.15; font-weight:550; letter-spacing:-.025em; }
.jl-root h1:focus { outline:none; }
.jl-root p { margin:0; color:#C8D6E3; line-height:1.4; font-size:.9rem; }
.jl-root .jl-eyebrow { color:#D8BD7B; font-size:.7rem; letter-spacing:.06em; }
.jl-root #login-form { margin:0; display:grid; gap:10px; }
.jl-root label { color:#E6D4AB; font-size:.85rem; line-height:1.3; }
.jl-root input { width:100%; min-height:48px; border:1px solid #7B91A6; border-radius:12px; background:#142B41; color:#F7F3EA; padding:10px 12px; font:inherit; font-size:max(16px,1rem); }
.jl-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; min-width:44px; padding:10px 14px; border:1px solid #D8BD7B; border-radius:12px; background:linear-gradient(130deg,#E7D3A4,#C8A55D); color:#08182C; font:inherit; font-size:.9rem; font-weight:600; line-height:1.2; cursor:pointer; }
.jl-secondary { color:#E2EAF2; border-color:#64778E; background:#ffffff04; }
.jl-header .jl-button { min-height:44px; padding:6px 10px; font-size:.78rem; white-space:nowrap; flex-shrink:0; word-break:normal; overflow-wrap:normal; }
.jl-root :is(button,a,input):focus-visible { outline:3px solid #E7B751; outline-offset:3px; }
.jl-actions { display:flex; gap:8px; } .jl-actions > button { flex:1; }
.jl-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-top:1px solid #ffffff20; color:#B7C8D8; font-size:.68rem; line-height:1.4; }
.jl-footer a { min-height:44px; display:inline-flex; align-items:center; color:#D8BD7B; }
@media(max-height:550px) { .jl-shell { padding-inline:16px; } .jl-header { min-height:48px; } .jl-content { gap:10px; padding-block:8px; } .jl-intro { gap:5px; } .jl-root h1 { font-size:1.25rem; } .jl-intro p,.jl-intro .jl-eyebrow { display:none; } .jl-footer { padding-block:8px; } .jl-button,.jl-root input { min-height:44px; } }
.jl-root:not([data-login-view="form"]) .jl-footer { display:none; }
.jl-root[data-large-text="true"] .jl-footer { display:none; }
.jl-root[data-editing="true"] .jl-header,.jl-root[data-editing="true"] .jl-intro,.jl-root[data-editing="true"] .jl-footer { display:none; }
.jl-root[data-editing="true"] .jl-shell { display:flex; flex-direction:column; justify-content:center; }
.jl-root[data-editing="true"] .jl-content { flex:0 0 auto; padding-block:6px; }
@media(prefers-reduced-motion:reduce) { .jl-root * { transition:none!important; animation:none!important; } }
