ReviewOS

also looking at this

stacks/lastsoulultra

LSU's own coaching surface, and what auditing the site turned up

#12
Merged glennmichael123 wants to merge claude/last-soul-ultra-web-6e0718 into main
86 files +3943 -1190

Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.

public/assets/styles/production/race-entry.cssmodified+48-0
Changes to public/assets/styles/production/race-entry.css
@@ -1,1 +1,49 @@
11.form.lsu-scope-lottery{max-width:760px;border:1px solid rgba(255,255,255,.16);padding:44px;display:flex;flex-direction:column;gap:26px}.portal.lsu-scope-lottery .portal-head h2,.portal.lsu-scope-lottery .portal-top h2{margin:10px 0 0;font-family:var(--lsu-display);font-size:clamp(26px,3.4vw,48px);line-height:1.05;text-transform:uppercase}.portal.lsu-scope-lottery .portal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.portal.lsu-scope-lottery button:not(.btn){appearance:none;border:0;padding:4px 0;background:transparent;color:#ffffffb8;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.portal.lsu-scope-lottery .portal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.portal.lsu-scope-lottery .portal-form:not(.application){grid-template-columns:1fr;max-width:520px}.portal.lsu-scope-lottery .field{display:flex;flex-direction:column;gap:9px;color:#ffffff9e;font-family:var(--lsu-mono);font-size:17px;letter-spacing:.04em;line-height:1.4;text-transform:uppercase}.portal.lsu-scope-lottery .field input,.portal.lsu-scope-lottery .field select{box-sizing:border-box;width:100%;min-height:52px;border:1px solid rgba(255,255,255,.2);border-radius:0;background:#090909;color:var(--lsu-white);padding:13px 15px;font-family:var(--lsu-body);font-size:17px;letter-spacing:0;outline:none;text-transform:none}.portal.lsu-scope-lottery .field input:hover,.portal.lsu-scope-lottery .field select:hover{border-color:#ffffff61}.portal.lsu-scope-lottery .field select{appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23ffffff' stroke-opacity='.7' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}.portal.lsu-scope-lottery .field select option{background:#090909;color:var(--lsu-white)}.portal.lsu-scope-lottery .field input:focus-visible,.portal.lsu-scope-lottery .field select:focus-visible,.portal.lsu-scope-lottery .field textarea:focus-visible{border-color:var(--lsu-red);box-shadow:0 0 0 1px var(--lsu-red)}.portal.lsu-scope-lottery .portal-form>.form-submit,.portal.lsu-scope-lottery .portal-form>.form-status,.portal.lsu-scope-lottery .portal-form>.save-state,.portal.lsu-scope-lottery .field-wide,.portal.lsu-scope-lottery [data-pb],.portal.lsu-scope-lottery .check,.portal.lsu-scope-lottery .form-actions{grid-column:1 / -1}.portal.lsu-scope-lottery [data-pb]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.portal.lsu-scope-lottery [data-pb][hidden]{display:none}.portal.lsu-scope-lottery .portal-links,.portal.lsu-scope-lottery .form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.portal.lsu-scope-lottery .portal-links{max-width:520px;padding-top:2px}.portal.lsu-scope-lottery .form-actions .btn{flex:1}.portal.lsu-scope-lottery .form-back{min-height:49px;padding:0 18px;border:1px solid rgba(255,255,255,.28);color:var(--lsu-white);font:600 12px/1 var(--lsu-mono);letter-spacing:.12em;text-transform:uppercase}.portal.lsu-scope-lottery .form-back:hover,.portal.lsu-scope-lottery .form-back:focus-visible{border-color:var(--lsu-red);color:var(--lsu-red)}.portal.lsu-scope-lottery .field textarea{min-height:140px;resize:vertical;background:#0a0a0a;border:1px solid rgba(255,255,255,.2);color:var(--lsu-white);padding:14px;font:16px/1.5 var(--lsu-body)}.portal.lsu-scope-lottery .field small{min-height:1em;color:#ff725e;font:12px/1.35 var(--lsu-body);letter-spacing:0;text-transform:none}.portal.lsu-scope-lottery .check{display:flex;align-items:flex-start;gap:12px;color:#ffffffd1;font-size:15px;line-height:1.45}.portal.lsu-scope-lottery .check input{width:19px;height:19px;accent-color:var(--lsu-red)}.portal.lsu-scope-lottery .attest{padding:18px;border:1px solid rgba(255,255,255,.18)}.portal.lsu-scope-lottery .steps-mini{display:flex;gap:8px}.portal.lsu-scope-lottery .steps-mini span{width:100%;height:3px;background:#ffffff26;color:transparent}.portal.lsu-scope-lottery .steps-mini .active{background:var(--lsu-red);box-shadow:0 0 12px var(--lsu-red-glow)}.portal.lsu-scope-lottery .save-state{min-height:1em;margin:-10px 0 0;color:var(--lsu-dim-2);font-size:12px}.portal.lsu-scope-lottery .form-status.bad,.portal.lsu-scope-lottery .save-state.bad{color:#ff725e}.portal.lsu-scope-lottery .portal-message{text-align:center;padding:28px 0;color:#ffffffbf}.portal.lsu-scope-lottery .retry{align-self:center}.portal.lsu-scope-lottery .status-card{padding:28px;border:1px solid rgba(255,255,255,.18);font-size:22px}.portal.lsu-scope-lottery .status-card p{margin:10px 0 0;color:var(--lsu-dim-2);font-size:14px}.portal.lsu-scope-lottery .status-card .add-cal{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;color:var(--lsu-red);font:600 11px var(--lsu-mono);letter-spacing:.16em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}.portal.lsu-scope-lottery .close-note{margin:0 0 18px;color:var(--lsu-dim-2);font-size:13px}.portal.lsu-scope-lottery .status-dot{width:9px;height:9px;margin-bottom:14px;border-radius:50%;background:var(--lsu-red);box-shadow:0 0 14px var(--lsu-red)}.portal.lsu-scope-lottery .danger{color:#ff725e!important}.portal.lsu-scope-lottery .withdraw-row{grid-column:1 / -1;margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}.portal.lsu-scope-lottery .withdraw-row .danger{font-size:14px;text-decoration:underline;text-underline-offset:4px}.portal.lsu-scope-lottery .withdraw-ask{display:grid;gap:6px;margin:0 0 18px;max-width:520px}.portal.lsu-scope-lottery .withdraw-ask strong{font-size:17px;color:var(--lsu-white)}.portal.lsu-scope-lottery .withdraw-ask span{font-size:14px;color:var(--lsu-dim-2)}.portal.lsu-scope-lottery .withdraw-why{max-width:520px;margin:0 0 18px;font-size:13px}.portal.lsu-scope-lottery .withdraw-why textarea{min-height:88px}.portal.lsu-scope-lottery .withdraw-answers{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.portal.lsu-scope-lottery .withdraw-answers .btn{flex:0 0 auto}.lottery-dialog.lsu-scope-lottery{width:min(760px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid rgba(255,255,255,.16);background:#050505;color:var(--lsu-white);box-shadow:0 0 70px #dd0f1559;overflow:auto;overscroll-behavior:contain}.lottery-dialog.lsu-scope-lottery::backdrop{background:#000000d1}.lottery-dialog.lsu-scope-lottery .form.lsu-scope-lottery{border:0;padding-top:0}.lottery-dialog.lsu-scope-lottery[data-account-only] .lottery-stages.lsu-scope-lottery{display:none}.lottery-dialog.lsu-scope-lottery[data-account-only] .lottery-bar.lsu-scope-lottery{justify-content:flex-end}.lottery-bar.lsu-scope-lottery{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;gap:16px;padding:12px 8px 28px 44px;background:#050505}.lottery-stages.lsu-scope-lottery{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}.lottery-stages.lsu-scope-lottery li.lsu-scope-lottery{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:3px solid rgba(255,255,255,.15);color:#ffffff73;transition:border-color .3s,color .3s}.lottery-stages.lsu-scope-lottery .done.lsu-scope-lottery{border-color:var(--lsu-red);color:var(--lsu-red)}.lottery-stages.lsu-scope-lottery .lsu-scope-lottery[aria-current=step]{border-color:var(--lsu-red);color:var(--lsu-white)}.stage-n.lsu-scope-lottery{font:11px var(--lsu-mono);letter-spacing:.16em;text-transform:uppercase}.lsu-scope-lottery[aria-current=step] .stage-n.lsu-scope-lottery{color:var(--lsu-red)}.stage-label.lsu-scope-lottery{font:20px/1 var(--lsu-display);text-transform:uppercase}.lottery-close.lsu-scope-lottery{width:48px;height:48px;border:0;background:transparent;color:var(--lsu-white);font-size:32px;line-height:1;cursor:pointer}.lottery-close.lsu-scope-lottery:hover,.lottery-close.lsu-scope-lottery:focus-visible{color:var(--lsu-red)}html:has(.lottery-dialog[open]){overflow:hidden}@media(prefers-reduced-motion:no-preference){.lottery-dialog.lsu-scope-lottery[open]{animation:lottery-in .22s cubic-bezier(.2,.8,.2,1)}.lottery-dialog.lsu-scope-lottery[open]::backdrop{animation:lottery-fade .22s ease-out}}@keyframes lottery-in{0%{opacity:0;transform:translateY(12px)}}@keyframes lottery-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.lottery-stages.lsu-scope-lottery li.lsu-scope-lottery{transition:none}}@media(max-width:760px){.form.lsu-scope-lottery{padding:28px 20px}.lottery-bar.lsu-scope-lottery{gap:8px;padding:8px 4px 24px 20px}.stage-n.lsu-scope-lottery{font-size:10px;letter-spacing:.1em}.stage-label.lsu-scope-lottery{font-size:16px}.portal.lsu-scope-lottery .portal-form,.portal.lsu-scope-lottery [data-pb]{grid-template-columns:1fr}}
2
3/* The two sections below the form.
4
5 They shipped with no rules at all: .entry, .entry-shell, .open-now,
6 .open-list, .open-status, .steps-shell, .steps-title, .steps, .step,
7 .step-n, .step-copy, .step-title, .step-body and .deadline are named in
8 lottery.stx and defined in no stylesheet this site serves, so the four
9 open events rendered as a plain stack of country, date and status running
10 together, and the six entry steps as bare numerals over unstyled text.
11
12 Written in the vocabulary the rest of the site uses: hairline rules
13 rather than cards, Anton for anything that is a label or a number, Barlow
14 for anything that is a sentence, and red reserved for the one state that
15 is actionable. */
16
17.entry.lsu-scope-lottery{padding:clamp(40px,6vw,80px) var(--lsu-pad-x) 0}
18.entry-shell.lsu-scope-lottery{max-width:var(--lsu-max);margin:0 auto}
19
20.open-now.lsu-scope-lottery .h2-sm.lsu-scope-lottery{margin:0 0 clamp(26px,3vw,40px)}
21.open-list.lsu-scope-lottery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--lsu-line)}
22.open-list.lsu-scope-lottery article.lsu-scope-lottery{display:flex;flex-direction:column;gap:12px;padding:clamp(22px,2.4vw,30px) clamp(18px,2vw,26px) clamp(26px,3vw,36px) 0;border-bottom:1px solid var(--lsu-line)}
23.open-list.lsu-scope-lottery h3.lsu-scope-lottery{display:flex;flex-direction:column;gap:8px;margin:0;font:400 clamp(20px,2.1vw,27px)/1.05 var(--lsu-display);letter-spacing:.02em;text-transform:uppercase}
24.open-list.lsu-scope-lottery h3.lsu-scope-lottery span.lsu-scope-lottery{color:var(--lsu-dim-2);font:400 12px/1 var(--lsu-body);letter-spacing:.16em}
25.open-status.lsu-scope-lottery{margin:auto 0 0;color:var(--lsu-dim-2);font:400 13px/1.5 var(--lsu-body)}
26.open-status.is-open.lsu-scope-lottery{color:var(--lsu-red);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
27.open-status.lsu-scope-lottery a.lsu-scope-lottery{color:var(--lsu-white);text-decoration:underline;text-underline-offset:4px}
28.open-status.lsu-scope-lottery a.lsu-scope-lottery:hover{color:var(--lsu-red)}
29
30.steps-shell.lsu-scope-lottery{max-width:var(--lsu-max);margin:0 auto;padding:0 var(--lsu-pad-x)}
31.steps-title.lsu-scope-lottery{margin:0 0 clamp(30px,4vw,52px)}
32.steps.lsu-scope-lottery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--lsu-line)}
33.step.lsu-scope-lottery{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(14px,1.8vw,24px);align-items:start;padding:clamp(24px,2.6vw,34px) clamp(20px,2.2vw,30px) clamp(28px,3vw,38px) 0;border-bottom:1px solid var(--lsu-line-soft)}
34.step-n.lsu-scope-lottery{color:var(--lsu-red);font:400 clamp(26px,2.8vw,38px)/1 var(--lsu-display)}
35.step-copy.lsu-scope-lottery{display:flex;flex-direction:column;gap:10px}
36.step-title.lsu-scope-lottery{font:400 clamp(17px,1.7vw,21px)/1.2 var(--lsu-display);letter-spacing:.02em;text-transform:uppercase}
37.step-body.lsu-scope-lottery{max-width:40ch;color:var(--lsu-dim-1);font:400 15px/1.65 var(--lsu-body)}
38.step-body.lsu-scope-lottery a{color:var(--lsu-white);text-decoration:underline;text-underline-offset:4px}
39.step-body.lsu-scope-lottery a:hover{color:var(--lsu-red)}
40
41.deadline.lsu-scope-lottery{min-height:clamp(360px,54vh,520px)}
42
43@media(max-width:1000px){
44.open-list.lsu-scope-lottery{grid-template-columns:repeat(2,minmax(0,1fr))}
45.steps.lsu-scope-lottery{grid-template-columns:repeat(2,minmax(0,1fr))}
46}
47@media(max-width:620px){
48.open-list.lsu-scope-lottery,.steps.lsu-scope-lottery{grid-template-columns:minmax(0,1fr)}
49}
resources/assets/styles/site/race-entry.cssmodified+48-0
Changes to resources/assets/styles/site/race-entry.css
@@ -1,1 +1,49 @@
11.form.lsu-scope-lottery{max-width:760px;border:1px solid rgba(255,255,255,.16);padding:44px;display:flex;flex-direction:column;gap:26px}.portal.lsu-scope-lottery .portal-head h2,.portal.lsu-scope-lottery .portal-top h2{margin:10px 0 0;font-family:var(--lsu-display);font-size:clamp(26px,3.4vw,48px);line-height:1.05;text-transform:uppercase}.portal.lsu-scope-lottery .portal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.portal.lsu-scope-lottery button:not(.btn){appearance:none;border:0;padding:4px 0;background:transparent;color:#ffffffb8;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.portal.lsu-scope-lottery .portal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.portal.lsu-scope-lottery .portal-form:not(.application){grid-template-columns:1fr;max-width:520px}.portal.lsu-scope-lottery .field{display:flex;flex-direction:column;gap:9px;color:#ffffff9e;font-family:var(--lsu-mono);font-size:17px;letter-spacing:.04em;line-height:1.4;text-transform:uppercase}.portal.lsu-scope-lottery .field input,.portal.lsu-scope-lottery .field select{box-sizing:border-box;width:100%;min-height:52px;border:1px solid rgba(255,255,255,.2);border-radius:0;background:#090909;color:var(--lsu-white);padding:13px 15px;font-family:var(--lsu-body);font-size:17px;letter-spacing:0;outline:none;text-transform:none}.portal.lsu-scope-lottery .field input:hover,.portal.lsu-scope-lottery .field select:hover{border-color:#ffffff61}.portal.lsu-scope-lottery .field select{appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23ffffff' stroke-opacity='.7' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}.portal.lsu-scope-lottery .field select option{background:#090909;color:var(--lsu-white)}.portal.lsu-scope-lottery .field input:focus-visible,.portal.lsu-scope-lottery .field select:focus-visible,.portal.lsu-scope-lottery .field textarea:focus-visible{border-color:var(--lsu-red);box-shadow:0 0 0 1px var(--lsu-red)}.portal.lsu-scope-lottery .portal-form>.form-submit,.portal.lsu-scope-lottery .portal-form>.form-status,.portal.lsu-scope-lottery .portal-form>.save-state,.portal.lsu-scope-lottery .field-wide,.portal.lsu-scope-lottery [data-pb],.portal.lsu-scope-lottery .check,.portal.lsu-scope-lottery .form-actions{grid-column:1 / -1}.portal.lsu-scope-lottery [data-pb]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.portal.lsu-scope-lottery [data-pb][hidden]{display:none}.portal.lsu-scope-lottery .portal-links,.portal.lsu-scope-lottery .form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.portal.lsu-scope-lottery .portal-links{max-width:520px;padding-top:2px}.portal.lsu-scope-lottery .form-actions .btn{flex:1}.portal.lsu-scope-lottery .form-back{min-height:49px;padding:0 18px;border:1px solid rgba(255,255,255,.28);color:var(--lsu-white);font:600 12px/1 var(--lsu-mono);letter-spacing:.12em;text-transform:uppercase}.portal.lsu-scope-lottery .form-back:hover,.portal.lsu-scope-lottery .form-back:focus-visible{border-color:var(--lsu-red);color:var(--lsu-red)}.portal.lsu-scope-lottery .field textarea{min-height:140px;resize:vertical;background:#0a0a0a;border:1px solid rgba(255,255,255,.2);color:var(--lsu-white);padding:14px;font:16px/1.5 var(--lsu-body)}.portal.lsu-scope-lottery .field small{min-height:1em;color:#ff725e;font:12px/1.35 var(--lsu-body);letter-spacing:0;text-transform:none}.portal.lsu-scope-lottery .check{display:flex;align-items:flex-start;gap:12px;color:#ffffffd1;font-size:15px;line-height:1.45}.portal.lsu-scope-lottery .check input{width:19px;height:19px;accent-color:var(--lsu-red)}.portal.lsu-scope-lottery .attest{padding:18px;border:1px solid rgba(255,255,255,.18)}.portal.lsu-scope-lottery .steps-mini{display:flex;gap:8px}.portal.lsu-scope-lottery .steps-mini span{width:100%;height:3px;background:#ffffff26;color:transparent}.portal.lsu-scope-lottery .steps-mini .active{background:var(--lsu-red);box-shadow:0 0 12px var(--lsu-red-glow)}.portal.lsu-scope-lottery .save-state{min-height:1em;margin:-10px 0 0;color:var(--lsu-dim-2);font-size:12px}.portal.lsu-scope-lottery .form-status.bad,.portal.lsu-scope-lottery .save-state.bad{color:#ff725e}.portal.lsu-scope-lottery .portal-message{text-align:center;padding:28px 0;color:#ffffffbf}.portal.lsu-scope-lottery .retry{align-self:center}.portal.lsu-scope-lottery .status-card{padding:28px;border:1px solid rgba(255,255,255,.18);font-size:22px}.portal.lsu-scope-lottery .status-card p{margin:10px 0 0;color:var(--lsu-dim-2);font-size:14px}.portal.lsu-scope-lottery .status-card .add-cal{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;color:var(--lsu-red);font:600 11px var(--lsu-mono);letter-spacing:.16em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}.portal.lsu-scope-lottery .close-note{margin:0 0 18px;color:var(--lsu-dim-2);font-size:13px}.portal.lsu-scope-lottery .status-dot{width:9px;height:9px;margin-bottom:14px;border-radius:50%;background:var(--lsu-red);box-shadow:0 0 14px var(--lsu-red)}.portal.lsu-scope-lottery .danger{color:#ff725e!important}.portal.lsu-scope-lottery .withdraw-row{grid-column:1 / -1;margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}.portal.lsu-scope-lottery .withdraw-row .danger{font-size:14px;text-decoration:underline;text-underline-offset:4px}.portal.lsu-scope-lottery .withdraw-ask{display:grid;gap:6px;margin:0 0 18px;max-width:520px}.portal.lsu-scope-lottery .withdraw-ask strong{font-size:17px;color:var(--lsu-white)}.portal.lsu-scope-lottery .withdraw-ask span{font-size:14px;color:var(--lsu-dim-2)}.portal.lsu-scope-lottery .withdraw-why{max-width:520px;margin:0 0 18px;font-size:13px}.portal.lsu-scope-lottery .withdraw-why textarea{min-height:88px}.portal.lsu-scope-lottery .withdraw-answers{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.portal.lsu-scope-lottery .withdraw-answers .btn{flex:0 0 auto}.lottery-dialog.lsu-scope-lottery{width:min(760px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid rgba(255,255,255,.16);background:#050505;color:var(--lsu-white);box-shadow:0 0 70px #dd0f1559;overflow:auto;overscroll-behavior:contain}.lottery-dialog.lsu-scope-lottery::backdrop{background:#000000d1}.lottery-dialog.lsu-scope-lottery .form.lsu-scope-lottery{border:0;padding-top:0}.lottery-dialog.lsu-scope-lottery[data-account-only] .lottery-stages.lsu-scope-lottery{display:none}.lottery-dialog.lsu-scope-lottery[data-account-only] .lottery-bar.lsu-scope-lottery{justify-content:flex-end}.lottery-bar.lsu-scope-lottery{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;gap:16px;padding:12px 8px 28px 44px;background:#050505}.lottery-stages.lsu-scope-lottery{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}.lottery-stages.lsu-scope-lottery li.lsu-scope-lottery{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:3px solid rgba(255,255,255,.15);color:#ffffff73;transition:border-color .3s,color .3s}.lottery-stages.lsu-scope-lottery .done.lsu-scope-lottery{border-color:var(--lsu-red);color:var(--lsu-red)}.lottery-stages.lsu-scope-lottery .lsu-scope-lottery[aria-current=step]{border-color:var(--lsu-red);color:var(--lsu-white)}.stage-n.lsu-scope-lottery{font:11px var(--lsu-mono);letter-spacing:.16em;text-transform:uppercase}.lsu-scope-lottery[aria-current=step] .stage-n.lsu-scope-lottery{color:var(--lsu-red)}.stage-label.lsu-scope-lottery{font:20px/1 var(--lsu-display);text-transform:uppercase}.lottery-close.lsu-scope-lottery{width:48px;height:48px;border:0;background:transparent;color:var(--lsu-white);font-size:32px;line-height:1;cursor:pointer}.lottery-close.lsu-scope-lottery:hover,.lottery-close.lsu-scope-lottery:focus-visible{color:var(--lsu-red)}html:has(.lottery-dialog[open]){overflow:hidden}@media(prefers-reduced-motion:no-preference){.lottery-dialog.lsu-scope-lottery[open]{animation:lottery-in .22s cubic-bezier(.2,.8,.2,1)}.lottery-dialog.lsu-scope-lottery[open]::backdrop{animation:lottery-fade .22s ease-out}}@keyframes lottery-in{0%{opacity:0;transform:translateY(12px)}}@keyframes lottery-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.lottery-stages.lsu-scope-lottery li.lsu-scope-lottery{transition:none}}@media(max-width:760px){.form.lsu-scope-lottery{padding:28px 20px}.lottery-bar.lsu-scope-lottery{gap:8px;padding:8px 4px 24px 20px}.stage-n.lsu-scope-lottery{font-size:10px;letter-spacing:.1em}.stage-label.lsu-scope-lottery{font-size:16px}.portal.lsu-scope-lottery .portal-form,.portal.lsu-scope-lottery [data-pb]{grid-template-columns:1fr}}
2
3/* The two sections below the form.
4
5 They shipped with no rules at all: .entry, .entry-shell, .open-now,
6 .open-list, .open-status, .steps-shell, .steps-title, .steps, .step,
7 .step-n, .step-copy, .step-title, .step-body and .deadline are named in
8 lottery.stx and defined in no stylesheet this site serves, so the four
9 open events rendered as a plain stack of country, date and status running
10 together, and the six entry steps as bare numerals over unstyled text.
11
12 Written in the vocabulary the rest of the site uses: hairline rules
13 rather than cards, Anton for anything that is a label or a number, Barlow
14 for anything that is a sentence, and red reserved for the one state that
15 is actionable. */
16
17.entry.lsu-scope-lottery{padding:clamp(40px,6vw,80px) var(--lsu-pad-x) 0}
18.entry-shell.lsu-scope-lottery{max-width:var(--lsu-max);margin:0 auto}
19
20.open-now.lsu-scope-lottery .h2-sm.lsu-scope-lottery{margin:0 0 clamp(26px,3vw,40px)}
21.open-list.lsu-scope-lottery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--lsu-line)}
22.open-list.lsu-scope-lottery article.lsu-scope-lottery{display:flex;flex-direction:column;gap:12px;padding:clamp(22px,2.4vw,30px) clamp(18px,2vw,26px) clamp(26px,3vw,36px) 0;border-bottom:1px solid var(--lsu-line)}
23.open-list.lsu-scope-lottery h3.lsu-scope-lottery{display:flex;flex-direction:column;gap:8px;margin:0;font:400 clamp(20px,2.1vw,27px)/1.05 var(--lsu-display);letter-spacing:.02em;text-transform:uppercase}
24.open-list.lsu-scope-lottery h3.lsu-scope-lottery span.lsu-scope-lottery{color:var(--lsu-dim-2);font:400 12px/1 var(--lsu-body);letter-spacing:.16em}
25.open-status.lsu-scope-lottery{margin:auto 0 0;color:var(--lsu-dim-2);font:400 13px/1.5 var(--lsu-body)}
26.open-status.is-open.lsu-scope-lottery{color:var(--lsu-red);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
27.open-status.lsu-scope-lottery a.lsu-scope-lottery{color:var(--lsu-white);text-decoration:underline;text-underline-offset:4px}
28.open-status.lsu-scope-lottery a.lsu-scope-lottery:hover{color:var(--lsu-red)}
29
30.steps-shell.lsu-scope-lottery{max-width:var(--lsu-max);margin:0 auto;padding:0 var(--lsu-pad-x)}
31.steps-title.lsu-scope-lottery{margin:0 0 clamp(30px,4vw,52px)}
32.steps.lsu-scope-lottery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--lsu-line)}
33.step.lsu-scope-lottery{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(14px,1.8vw,24px);align-items:start;padding:clamp(24px,2.6vw,34px) clamp(20px,2.2vw,30px) clamp(28px,3vw,38px) 0;border-bottom:1px solid var(--lsu-line-soft)}
34.step-n.lsu-scope-lottery{color:var(--lsu-red);font:400 clamp(26px,2.8vw,38px)/1 var(--lsu-display)}
35.step-copy.lsu-scope-lottery{display:flex;flex-direction:column;gap:10px}
36.step-title.lsu-scope-lottery{font:400 clamp(17px,1.7vw,21px)/1.2 var(--lsu-display);letter-spacing:.02em;text-transform:uppercase}
37.step-body.lsu-scope-lottery{max-width:40ch;color:var(--lsu-dim-1);font:400 15px/1.65 var(--lsu-body)}
38.step-body.lsu-scope-lottery a{color:var(--lsu-white);text-decoration:underline;text-underline-offset:4px}
39.step-body.lsu-scope-lottery a:hover{color:var(--lsu-red)}
40
41.deadline.lsu-scope-lottery{min-height:clamp(360px,54vh,520px)}
42
43@media(max-width:1000px){
44.open-list.lsu-scope-lottery{grid-template-columns:repeat(2,minmax(0,1fr))}
45.steps.lsu-scope-lottery{grid-template-columns:repeat(2,minmax(0,1fr))}
46}
47@media(max-width:620px){
48.open-list.lsu-scope-lottery,.steps.lsu-scope-lottery{grid-template-columns:minmax(0,1fr)}
49}