:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#1f222e;--surface:#2b303f;--ink:#dfe3ed;--muted:#b0b7cb;--line:#76809f;--soft-line:#464d66;--accent:#74cde2;--accent-hover:#9adced;--selection:#8994e5;--focus:#ec8ac7;--error:#ec7368;--success:#70d689;--warning:#eec96e;color:var(--ink);background:var(--ground);font-synthesis:none;scrollbar-color:var(--soft-line) var(--ground);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-size:1rem;line-height:1.6}::selection{color:var(--ground);background:var(--selection)}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,textarea,select{font:inherit}fieldset{border:0;min-width:0;margin:0;padding:0}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}input,textarea{caret-color:var(--accent)}.site-header{border-bottom:1px solid var(--soft-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;min-height:88px;padding-inline:clamp(24px,4.45vw,64px);display:flex}.wordmark{color:var(--ink);letter-spacing:-.04em;font-size:1.75rem;font-weight:600;text-decoration:none}nav{flex-wrap:wrap;align-items:center;gap:8px 32px;font-size:.875rem;display:flex}nav a{min-height:44px;color:var(--muted);align-items:center;padding-block:10px;text-decoration:none;display:inline-flex}nav a:hover{color:var(--accent);text-decoration:underline}.page{max-width:1200px;margin:56px auto 64px;padding-inline:24px}.split-layout{grid-template-columns:minmax(0,1fr) minmax(0,620px);align-items:start;gap:88px;display:grid}h1,h2{overflow-wrap:anywhere;text-wrap:balance}h1{letter-spacing:-.035em;margin:0 0 20px;font-size:clamp(2.5rem,4vw,3rem);font-weight:600;line-height:1.1}h2{letter-spacing:-.02em;margin:0 0 24px;font-size:1.625rem;font-weight:550;line-height:1.3}.brief h1{max-width:9ch;margin-bottom:24px;font-size:clamp(3rem,5.3vw,4.75rem)}.brief .intro{max-width:29ch;font-size:1.25rem}.intro{color:var(--muted);overflow-wrap:anywhere;margin:0 0 32px;font-size:1.0625rem}.supporting-copy{border-top:1px solid var(--soft-line);max-width:36ch;color:var(--muted);margin-top:36px;padding-top:24px;font-size:.9375rem}.back-link{align-items:center;gap:8px;min-height:44px;font-size:.875rem;text-decoration:none;display:inline-flex}.back-link:hover{text-decoration:underline}.event-brief h1{max-width:7ch;margin-top:34px}#event-description{white-space:pre-wrap}.form-surface{background:var(--surface);border-radius:6px;min-width:0;padding:28px 32px}.field-group{margin-bottom:22px}label{margin-bottom:8px;font-size:.875rem;font-weight:600;display:block}input,textarea,select{border:1px solid var(--line);background:var(--ground);width:100%;min-width:0;color:var(--ink);border-radius:4px;padding:12px 14px;font-size:1rem;line-height:1.5}input,select{min-height:50px}textarea{resize:vertical;min-height:128px;display:block}input:disabled,textarea:disabled,select:disabled,input[readonly]{color:var(--muted)}input:disabled,textarea:disabled,select:disabled{cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error)}.field-help{color:var(--muted);overflow-wrap:anywhere;margin:7px 0 0;font-size:.8125rem;line-height:1.6}button{cursor:pointer;border-radius:4px;min-height:48px;padding:12px 20px;font-weight:600}.primary{color:var(--ground);background:var(--accent);border:1px solid var(--accent)}.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}.secondary:hover:not(:disabled){background:var(--soft-line)}.text-button{color:inherit;font-size:inherit;text-underline-offset:4px;background:0 0;border:0;padding:8px 0;text-decoration:underline}.text-button:hover:not(:disabled){color:var(--accent)}button:disabled{cursor:not-allowed;opacity:.65}.full-width{width:100%}.form-footnote{color:var(--muted);margin:16px 0 0;font-size:.8125rem;line-height:1.6}.error{color:var(--error);overflow-wrap:anywhere;font-size:.9375rem}.error:empty{display:none}.site-footer{border-top:1px solid var(--soft-line);text-align:center;color:var(--muted);padding:24px;font-size:.8125rem}.skip-link{background:var(--surface);z-index:1;padding:12px;position:absolute;top:-100px;left:24px}.skip-link:focus{top:12px}.receipt-icon{color:var(--success);margin:0 0 24px}.receipt h1{outline:none}.receipt .brief p{color:var(--muted);overflow-wrap:anywhere}.receipt-label{font-size:1.25rem}.receipt code{overflow-wrap:anywhere;color:var(--success);margin-bottom:16px;font-size:1rem;display:block}.receipt .secondary{margin-top:32px}.workspace-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:64px;margin-top:40px;display:grid}.workspace-layout>*{min-width:0}#review-heading{outline:none}.review-toolbar{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.review-toolbar button{flex-shrink:0}.signed-in{color:var(--muted);overflow-wrap:anywhere;margin:28px 0 8px;font-size:.8125rem}.password-settings{border-top:1px solid var(--soft-line);margin-top:20px}.password-settings summary{cursor:pointer;min-height:48px;color:var(--accent);padding-block:12px}.password-settings form{margin-top:24px}#password-status{color:var(--success);font-size:.875rem}.demo{border-top:1px solid var(--soft-line);padding:28px 0}.demo h2{margin:0 0 8px;font-size:1.5rem}.demo time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.demo-description{white-space:pre-wrap;overflow-wrap:anywhere;max-width:75ch;margin:20px 0;line-height:1.7}.repo-link{overflow-wrap:anywhere;max-width:100%;min-height:44px;padding-block:10px;font-size:.9375rem;font-weight:600;display:inline-block}#list-status{color:var(--muted);margin:0;font-size:.875rem}.event-state{color:var(--muted);margin:0 0 16px;font-size:.875rem;font-weight:600}.event-state[data-status=open]{color:var(--success)}.event-state[data-status=scheduled]{color:var(--warning)}.event-state:before{content:"";vertical-align:middle;background:currentColor;border-radius:50%;width:7px;height:7px;margin-right:9px;display:inline-block}.event-window{border-top:1px solid var(--soft-line);max-width:330px;margin:36px 0 0;padding-top:24px}.event-window>div{margin-bottom:16px}.event-window dt{color:var(--muted);font-size:.8125rem}.event-window dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:2px 0 0}.directory-list{border-top:1px solid var(--soft-line)}.event-row{border-bottom:1px solid var(--soft-line);padding:28px 0}.event-row h2{margin-bottom:16px}.event-row h2 a{padding-block:4px;display:inline-block}.event-row .event-state{margin-bottom:8px}.admin-page .workspace-layout{grid-template-columns:260px minmax(0,1fr)}.admin-content{gap:32px;display:grid}#editor-heading:focus{outline:none}.admin-content form{margin-top:28px}.event-list{margin:20px 0;padding:0;list-style:none}.event-choice{border:1px solid #0000;border-bottom-color:var(--soft-line);color:var(--ink);text-align:left;overflow-wrap:anywhere;background:0 0;border-radius:4px;width:100%;padding:16px 12px}.event-choice strong,.event-choice span{display:block}.event-choice span{color:var(--muted);margin-top:6px;font-size:.8125rem;font-weight:400}.event-choice:hover:not(:disabled){background:var(--surface)}.event-choice[aria-pressed=true]{background:var(--surface);border-color:var(--selection)}.event-choice[aria-pressed=true] strong{color:var(--accent)}.time-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid}.actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.check-label{overflow-wrap:anywhere;align-items:start;gap:12px;font-weight:400;display:flex}.check-label input{width:20px;height:20px;min-height:20px;accent-color:var(--accent);flex:0 0 20px;margin:3px 0 0}.assignment{min-height:48px;margin:0;padding-block:12px}#assignment-list{margin-top:20px}.judge-row{border-bottom:1px solid var(--soft-line);justify-content:space-between;align-items:center;gap:20px;padding-block:12px;display:flex}.judge-row span{overflow-wrap:anywhere;min-width:0}.judge-row button{color:var(--error);flex-shrink:0}#judge-list{margin-top:24px}#admin-status{color:var(--success)}#admin-status:empty{display:none}#selected-window{margin-bottom:16px}#share-row{overflow-wrap:anywhere;font-size:.875rem}@media (width<=1100px){.split-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px}.workspace-layout,.admin-page .workspace-layout{grid-template-columns:260px minmax(0,1fr);gap:32px}.form-surface{padding:24px}.time-fields{grid-template-columns:minmax(0,1fr);gap:0}}@media (width<=800px){.page{margin-block:32px 48px}.split-layout,.workspace-layout,.admin-page .workspace-layout{grid-template-columns:minmax(0,1fr);gap:32px}.brief h1{max-width:none;font-size:3rem}.brief .intro{max-width:50ch;margin-bottom:24px;font-size:1.125rem}.event-brief h1{margin-top:20px}.event-window{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;max-width:none;margin-top:24px;padding-top:20px;display:grid}.event-window>div{margin:0}.event-window>div:last-child{grid-column:1/-1}.event-window>div:last-child dt,.event-window>div:last-child dd{font-size:.8125rem;display:inline}.event-window>div:last-child dd{margin-left:8px}.event-state{margin-bottom:0}.supporting-copy{max-width:50ch;margin-top:24px}.workspace-layout{margin-top:32px}.event-list{margin-bottom:0}}@media (width<=480px){.site-header{gap:4px 20px;min-height:76px;padding-block:12px}nav{gap:4px 20px}.form-surface{padding:24px 20px}h1,.brief h1{font-size:2.75rem}.review-toolbar{align-items:start;gap:16px}.review-toolbar .secondary{padding-inline:14px}}@media (prefers-reduced-motion:no-preference){.receipt{animation:.24s cubic-bezier(.16,1,.3,1) receipt-in}@keyframes receipt-in{0%{filter:blur(2px);transform:translateY(8px)}to{filter:blur();transform:translateY(0)}}}@media (forced-colors:active){.form-surface{border:1px solid canvastext}.event-choice[aria-pressed=true]{border-color:highlight}.event-state:before{background:canvastext}}
