:root{color-scheme:light;--bg: #eef1f8;--bg-2: #e3e7f3;--surface: rgba(255, 255, 255, .94);--surface-strong: #e4e7f5;--field: #ffffff;--border: rgba(24, 32, 80, .2);--text: #12163a;--muted: #474d73;--accent: #4f3fd1;--accent-2: #0a7089;--accent-grad: linear-gradient(135deg, #5543d8 0%, #3563c9 55%, #0a7089 100%);--on-accent: #ffffff;--gold: #8a5a00;--max: #6b3fc4;--faint: #6b7090;--fainter: #6e7396;--warn: #8f5200;--error: #b42318;--focus: #1f6feb;--radius: 18px;--radius-small: 10px;--shadow: 0 8px 28px rgba(24, 32, 80, .1);--font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg)}html,body{margin:0;color:var(--text);font-family:var(--font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}body{min-height:100vh;overflow-x:hidden}a{color:var(--accent-2)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--muted)}.page-loading{min-height:100vh}.backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(120% 80% at 50% 0%,var(--bg-2) 0%,var(--bg) 60%)}.glow{position:absolute;width:46vmax;height:46vmax;border-radius:50%;filter:blur(90px);opacity:.22;animation:drift 38s ease-in-out infinite alternate}.glow-a{background:#8f82ff;top:-18vmax;left:-12vmax}.glow-b{background:#5cc8e0;bottom:-20vmax;right:-14vmax;animation-duration:46s}.glow-c{background:#d39af0;top:40%;left:55%;width:28vmax;height:28vmax;opacity:.14;animation-duration:54s}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(6vmax,4vmax,0) scale(1.08)}}@media(prefers-reduced-motion:reduce){.glow,.fade-in{animation:none!important}}.topbar{position:sticky;top:0;z-index:10;background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.topbar-inner{max-width:1200px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:800;letter-spacing:-.01em;white-space:nowrap}.brand-sub{font-weight:600;color:var(--gold);font-size:.8em;margin-left:4px;display:inline-block;max-width:min(36vw,16rem);overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}@media(max-width:479px){.brand{min-width:0}.brand-text{display:grid;line-height:1.15}.brand-sub{margin-left:0;max-width:calc(100vw - 150px)}}.main-nav{display:flex;align-items:center;gap:16px;flex:1}.main-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex:1}.main-nav a{display:block;padding:8px 14px;border-radius:999px;color:var(--muted);text-decoration:none;font-weight:600;transition:background .2s,color .2s}.main-nav a:hover{color:var(--text);background:var(--surface)}.main-nav a.active{color:var(--text);background:var(--surface-strong);box-shadow:inset 0 0 0 1px var(--border)}.user-chip{display:flex;align-items:center;gap:12px}.user-text{display:flex;flex-direction:column;line-height:1.2;text-align:right}.user-name{font-weight:600;font-size:.9rem}.user-role{font-size:.78rem;color:var(--muted)}.menu-button{display:none;margin-left:auto;width:44px;height:44px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:18px;height:2px;margin:0 auto;background:currentColor;border-radius:2px;position:relative}.menu-icon:before,.menu-icon:after{content:"";position:absolute}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}@media(max-width:760px){.menu-button{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;padding:12px 16px 16px;background:#fff;border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav ul{flex-direction:column}.main-nav a{padding:12px 14px;border-radius:12px}.user-chip{justify-content:space-between;padding-top:12px;border-top:1px solid var(--border)}.user-text{text-align:left}}.content{max-width:1200px;margin:0 auto;padding:28px 16px 64px}.page-head{margin-bottom:24px}.page-title{font-size:clamp(2rem,6vw,3.4rem);line-height:1.05;letter-spacing:-.03em;margin:0 0 4px;padding-bottom:.08em;font-weight:800;background:linear-gradient(120deg,#12163a,#3a2fa8 60%,#0a6278);-webkit-background-clip:text;background-clip:text;color:transparent}.page-lede{margin:0;color:var(--muted);max-width:48rem}.layout-main-side{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.side{display:grid;gap:20px}@media(max-width:900px){.layout-main-side{grid-template-columns:minmax(0,1fr)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);min-width:0}.card-title{margin:0 0 12px;font-size:1.2rem;letter-spacing:-.01em}.eyebrow{margin:0 0 6px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2)}.tick-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.tick-list li{position:relative;padding-left:22px;color:var(--muted)}.tick-list li:before{content:"";position:absolute;left:2px;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--accent-grad)}.fade-in{animation:fade-in .45s ease-out both}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid transparent;font:inherit;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent-grad);color:var(--on-accent);box-shadow:0 6px 18px #3563c947}.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-small{min-height:36px;padding:0 14px;font-size:.85rem}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}label{display:block;font-weight:600;margin-bottom:6px;font-size:.9rem}input[type=email],input[type=text],input[type=number],input[type=search],input[type=date]{width:100%;min-height:44px;padding:0 14px;border-radius:var(--radius-small);border:1px solid var(--border);background:var(--field);color:var(--text);font:inherit}input::placeholder{color:#6a7096}.field-row{display:flex;gap:10px}.field-row input{flex:1;min-width:0}.form-error{color:var(--error);margin:10px 0 0}.notice{margin:0;padding:12px 14px;border-radius:var(--radius-small);background:var(--surface);border:1px solid var(--border)}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:700;border:1px solid var(--border);background:var(--surface);color:var(--muted);white-space:nowrap}.badge-admin{color:var(--gold);border-color:#f2c86773}.badge-editor{color:#4a39c2;border-color:#8b7cff80}.badge-viewer{color:#0a6278;border-color:#3fc8e473}.badge-judge{color:#7a2b9c;border-color:#b06bd880}.signin{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.signin-card{width:100%;max-width:480px}.signin-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.signin-head p{margin:0}.signin-title{margin:0;font-size:clamp(1.6rem,6vw,2.2rem);letter-spacing:-.02em;line-height:1.1}.lead{font-size:1.05rem}.signin-action{margin-top:20px}.dev-users{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}.dev-user{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:8px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;text-align:left;transition:transform .15s,background .2s}.dev-user:hover:not(:disabled){background:var(--surface-strong);transform:translateY(-1px)}.dev-user-name{font-weight:600;min-width:0;overflow-wrap:anywhere}.who{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0 0 12px}.who dt{color:var(--muted)}.who dd{margin:0;overflow-wrap:anywhere}.log-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.log-list li{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--border)}.log-list li:last-child{border-bottom:0}.log-what{min-width:0;overflow-wrap:anywhere}.log-meta{grid-column:2;font-size:.82rem;color:var(--muted)}.badge-area{text-transform:capitalize;align-self:start}@media(max-width:520px){.log-list li{grid-template-columns:minmax(0,1fr)}.log-list .badge-area{justify-self:start}.log-meta{grid-column:1}}.small{font-size:.85rem}.stack{display:grid;gap:16px}.subnav{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.subnav a{padding:6px 14px;border-radius:999px;color:var(--muted);text-decoration:none;font-weight:600;font-size:.9rem;border:1px solid transparent}.subnav a:hover{color:var(--text)}.subnav a.active{color:var(--text);border-color:var(--border);background:var(--surface)}select,textarea{width:100%;min-height:44px;padding:10px 14px;border-radius:var(--radius-small);border:1px solid var(--border);background:var(--field);color:var(--text);font:inherit}textarea{resize:vertical;line-height:1.4}select option{background:#fff}input[aria-invalid=true]{border-color:var(--error)}.field{min-width:0}.field label{font-size:.8rem;color:var(--muted)}.field-hint{margin:4px 0 0;font-size:.8rem;color:var(--muted)}.field-error{margin:4px 0 0;font-size:.82rem;color:var(--error)}.btn-quiet{background:transparent;color:var(--muted);border-color:transparent}.btn-quiet:hover:not(:disabled){color:var(--text);background:var(--surface)}.icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.icon-btn:disabled{opacity:.35;cursor:default}.move-buttons{display:inline-flex;gap:6px}.push-right{margin-left:auto}.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:18px;scrollbar-width:thin}.tab{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.tab[aria-selected=true]{color:var(--on-accent);background:var(--accent-grad);border-color:transparent}.count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;font-size:.75rem;font-weight:800}.count-error{background:#ff8a8a33;color:var(--error)}.count-warning{background:#f5b45433;color:var(--warn)}.tab[aria-selected=true] .count{background:#ffffff40}.row-card{padding:18px;scroll-margin-top:90px}.row-card.narrow{max-width:640px}.row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.row-title{margin:0;font-size:1.05rem;display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.save-status{font-size:.85rem;color:var(--muted)}.add-btn{justify-self:start}.grid-fields{display:grid;gap:12px}.grid-age{grid-template-columns:2fr 1fr 1fr 1fr 1.5fr}.grid-comp{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-comp .span-2{grid-column:span 2}.grid-add{grid-template-columns:2fr .8fr 3fr}.grid-points{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.grid-age{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr))}.grid-age>:first-child,.grid-age>:last-child{grid-column:1 / -1}.grid-comp{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-comp .span-2{grid-column:1 / -1}.grid-add{grid-template-columns:minmax(0,1fr) 90px}.grid-add>:last-child{grid-column:1 / -1}}@media(max-width:420px){.grid-points{grid-template-columns:minmax(0,1fr)}}.chips-field{border:0;padding:0;margin:14px 0 0;min-width:0}.chips-field legend{font-size:.8rem;color:var(--muted);font-weight:600;margin-bottom:6px;padding:0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;margin:0;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.85rem;cursor:pointer}.chip input{position:absolute;opacity:0;width:1px;height:1px}.chip.on{color:var(--text);border-color:#8b7cff99;background:#8b7cff2e}.chip:focus-within{outline:3px solid var(--focus);outline-offset:2px}.row-checks{display:grid;gap:6px;margin-top:12px}.check-note{display:flex;gap:8px;margin:0;padding:8px 12px;border-radius:var(--radius-small);font-size:.88rem}.check-note.check-error{background:#ff8a8a1a;border:1px solid rgba(255,138,138,.35)}.check-note.check-warning{background:#f5b45414;border:1px solid rgba(245,180,84,.3)}.check-error .check-icon{color:var(--error)}.check-warning .check-icon{color:var(--warn)}.flash{animation:flash 1.6s ease-out}@keyframes flash{0%,40%{box-shadow:0 0 0 3px var(--accent-2),var(--shadow)}to{box-shadow:var(--shadow)}}.criteria-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}@media(max-width:900px){.criteria-layout{grid-template-columns:minmax(0,1fr)}}.set-list ul{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:6px}.set-pill{position:relative;width:100%;text-align:left;padding:10px 40px 10px 14px;border-radius:14px;border:1px solid var(--border);background:transparent;color:var(--text);font:inherit;cursor:pointer;transition:background .2s}.set-pill:hover{background:var(--surface)}.set-pill.on{background:var(--surface-strong);border-color:#8b7cff99}.set-pill-name{display:block;font-weight:700}.set-pill-meta{display:block;font-size:.78rem;color:var(--muted)}.dot{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.85rem}.dot-error{color:var(--error)}.dot-warning{color:var(--warn)}.new-set label{font-size:.8rem;color:var(--muted)}.set-editor-head{display:flex;gap:16px;align-items:flex-end}.set-name{flex:1}.total-pill{display:flex;flex-direction:column;align-items:center;min-width:84px;padding:6px 12px;border-radius:14px;border:1px solid rgba(245,180,84,.45);background:#f5b45414}.total-pill.ok{border-color:#3fc8e480;background:#3fc8e41a}.total-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.total-value{font-size:1.5rem;font-weight:800;line-height:1.1}.criteria-rows{display:grid;gap:8px;margin-top:14px}.criteria-row{display:grid;grid-template-columns:minmax(0,1.4fr) 72px minmax(0,2fr) auto;gap:8px;align-items:start;padding:6px;border-radius:12px}.criteria-row.dirty{background:#8b7cff1a}.criteria-row-head{font-size:.75rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding-bottom:0}.criteria-row input.missing{border-color:#ff8a8a99;background:#ff8a8a14}.criteria-row-tools{display:inline-flex;gap:6px;padding-top:4px}@media(max-width:700px){.criteria-row-head{display:none}.criteria-row{grid-template-columns:minmax(0,1fr) 72px;border:1px solid var(--border);padding:10px}.criteria-row textarea{grid-column:1 / -1}.criteria-row-tools{grid-column:1 / -1;justify-content:flex-end}}.add-criterion{margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.small-title{margin:0 0 10px;font-size:.95rem}.set-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.judge-preview{margin-top:18px}.preview-card{max-width:420px;border-radius:16px;border:1px solid var(--border);background:var(--field);padding:14px}.preview-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.chest{font-size:1.4rem;font-weight:800;letter-spacing:.02em}.preview-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.preview-name{font-weight:600}.preview-guide{font-size:.8rem;color:var(--muted)}.preview-input{display:flex;align-items:center;gap:6px;flex-shrink:0}.fake-input{width:56px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--field)}.check-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.check-item{display:flex;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:#18205008}.check-item.check-error{border-color:#ff8a8a59}.check-item.check-warning{border-color:#f5b4544d}.check-item .check-icon{font-weight:800;padding-top:1px}.check-body{flex:1;min-width:0;overflow-wrap:anywhere}.check-where{font-weight:700}.check-affects{font-size:.85rem;color:var(--muted);margin-top:2px}.check-actions{display:flex;gap:8px;margin-top:8px}.check-actions a{text-decoration:none}.accept-form{margin-top:10px}.accept-form label{font-size:.8rem;color:var(--muted)}@media(max-width:520px){.accept-form .field-row{flex-wrap:wrap}.accept-form .field-row input{flex-basis:100%}}.accepted{margin-top:14px}.accepted summary{cursor:pointer;color:var(--muted);font-weight:600}.check-accepted{opacity:.8}.criteria-row textarea{min-height:64px}.set-editor{scroll-margin-top:90px}@media(max-width:600px){.tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.tab{justify-content:center;padding:0 10px}}.grid-age,.grid-comp{align-items:end}input[type=date]{color-scheme:dark}.page-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head-row .btn-primary{margin-bottom:8px}.segmented{display:inline-flex;gap:4px;padding:4px;margin-bottom:18px;border-radius:999px;border:1px solid var(--border);background:var(--surface)}.segmented button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.segmented button[aria-selected=true]{background:var(--surface-strong);color:var(--text)}.segmented .count,.count-on{background:#8b7cff38;color:var(--text)}.grid-person{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:520px){.grid-person{grid-template-columns:minmax(0,1fr)}}.chip-fee{color:var(--muted);font-size:.78rem}.chip.on .chip-fee{color:var(--text)}.form-total{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.form-total strong{font-size:1.5rem}.confirm-box{margin-top:14px;padding:12px 14px;border-radius:14px;border:1px solid rgba(245,180,84,.4);background:#f5b45414}.confirm-box p{margin:0}.confirm-box .row-actions{margin-top:10px}.registered{text-align:center;border-color:#3fc8e473}.registered .row-actions{justify-content:center}.registered-name{margin:0;font-size:1.1rem;font-weight:600}.registered-chest{margin:4px 0;font-size:clamp(4rem,18vw,7rem);font-weight:800;line-height:1;letter-spacing:-.02em;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.registered-due{margin:0 0 8px;color:var(--muted)}.registered-due strong{color:var(--gold);font-size:1.3rem;margin-left:6px}.side-count{margin:8px 0 0}.filters summary{cursor:pointer;font-weight:700;font-size:1.05rem;display:flex;align-items:center;gap:8px}.filters[open] summary{margin-bottom:4px}.filters .field{margin-top:14px}.summary-list{list-style:none;margin:0 0 10px;padding:0}.summary-list li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border)}.summary-num{font-weight:700;font-variant-numeric:tabular-nums}.empty-state{color:var(--muted);text-align:center;padding:36px 20px}.people-card{padding:6px 0;overflow-x:auto}table.people{width:100%;border-collapse:collapse;font-size:.92rem}table.people th,table.people td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}table.people thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}table.people tbody tr:last-child th,table.people tbody tr:last-child td{border-bottom:0}table.people .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.chest-cell{font-weight:800;font-size:1rem;white-space:nowrap}.chest-cell .badge{margin-left:6px;vertical-align:middle}.comps-cell{color:var(--muted);min-width:180px}.actions-cell{white-space:nowrap;text-align:right!important}.actions-cell .btn+.btn{margin-left:4px}.row-inactive>*{opacity:.6}.row-inactive>.actions-cell{opacity:1}.badge-status-withdrawn{background:#f5b45429;color:var(--warn)}.badge-status-deleted{background:#18205012;color:var(--muted)}.row-form td{background:#8b7cff12}.inline-reason label{display:block;font-size:.88rem;margin-bottom:6px}.inline-reason .btn-quiet{margin-top:6px;padding-left:0}.people-card{container-type:inline-size}.phone-name{display:none}@container (max-width: 720px){table.people,table.people tbody,table.people tr,table.people th,table.people td{display:block}table.people thead,table.people td[data-label="First name"],table.people td[data-label="Last name"]{display:none}table.people tbody tr:not(.row-form){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:14px 16px;border-bottom:1px solid var(--border)}table.people tbody tr:last-child{border-bottom:0}table.people th,table.people td{border:0;padding:0}.phone-name{display:inline;font-weight:600;margin-left:10px}.chest-cell{grid-column:1;grid-row:1;font-size:1.1rem;white-space:normal}table.people td[data-label="Amount due"]{grid-column:2;grid-row:1;font-weight:700;align-self:center}table.people td[data-label="Age group"]{grid-column:1 / -1;font-size:.85rem;color:var(--muted)}.comps-cell{grid-column:1 / -1;min-width:0;margin-top:2px}.actions-cell{grid-column:1 / -1;text-align:left!important;white-space:normal;margin-top:8px}table.people .row-form td{padding:14px 16px}}.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}.member-list{list-style:none;margin:0;padding:0}.member-list li{padding:6px 0;border-bottom:1px solid var(--border)}.member-list li:last-child{border-bottom:0}.member-chest{display:inline-block;min-width:52px;font-weight:800}.badge-billed{margin-left:8px;background:#f2c86724;color:var(--gold)}.grid-group{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}@media(max-width:520px){.grid-group{grid-template-columns:minmax(0,1fr)}}.member-picker{list-style:none;margin:8px 0 0;padding:4px;max-height:260px;overflow-y:auto;border-radius:var(--radius-small);border:1px solid var(--border)}.member-picker label{display:flex;align-items:center;gap:10px;margin:0;min-height:40px;padding:0 10px;border-radius:8px;font-weight:400;cursor:pointer}.member-picker label.on{background:#8b7cff29}.member-picker input{width:18px;height:18px;accent-color:var(--accent)}.member-picker .muted{padding:10px}.narrow-field{max-width:360px;margin-top:14px}.history-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0;padding:10px 14px;border-radius:14px;background:#3fc8e41a;border:1px solid rgba(63,200,228,.35)}.link-btn{padding:0;border:0;background:none;color:var(--text);font:inherit;font-weight:700;text-decoration:underline;text-decoration-color:#0a708980;text-underline-offset:3px;cursor:pointer}.link-btn:hover{text-decoration-color:var(--focus)}.load-more{display:block;margin:12px auto 0}.grid-dates{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.grid-dates .field{margin-top:0}.log-open{margin-top:12px}@media(max-width:400px){.subnav{gap:2px}.subnav a{padding:6px 10px}}.due-amount{display:block;font-weight:700;margin-bottom:4px}.badge-pay-unpaid{background:#f5b4542e;color:var(--warn)}.badge-pay-part{background:#8b7cff33;color:#4a39c2}.badge-pay-paid{background:#3fc8e429;color:var(--accent-2)}.badge-pay-nothing{background:#18205012;color:var(--muted)}.payment-form{display:grid;gap:4px}.pay-summary{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0 0 6px;color:var(--muted)}.pay-summary strong{color:var(--text);margin-left:4px}.pay-history{list-style:none;margin:0 0 8px;padding:0;font-size:.88rem}.pay-history li{display:flex;flex-wrap:wrap;gap:4px 12px;padding:6px 0;border-bottom:1px solid var(--border)}.pay-amount{font-weight:700;min-width:64px}.pay-correction .pay-amount,.pay-correction .money-amount{color:var(--warn)}.grid-pay{grid-template-columns:140px minmax(0,1fr) 170px;margin-top:6px}.grid-pay-fix{grid-template-columns:repeat(2,minmax(0,1fr))}.check-line{display:flex;align-items:center;gap:10px;margin:12px 0 4px;font-weight:400;cursor:pointer}.check-line input{width:18px;height:18px;accent-color:var(--accent)}@container (max-width: 720px){table.people .due-cell{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px}table.people .due-amount{margin-bottom:0}.grid-pay,.grid-pay-fix{grid-template-columns:minmax(0,1fr)}}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}@media(max-width:900px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat{display:flex;flex-direction:column;gap:2px;padding:16px 18px}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.stat-value{font-size:clamp(1.5rem,4vw,2.1rem);font-weight:800;font-variant-numeric:tabular-nums}.stat-note{font-size:.8rem;color:var(--muted)}.stat-owing .stat-value{color:var(--gold)}.money-list{list-style:none;margin:0;padding:0}.money-list li{display:flex;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.money-list li:last-child{border-bottom:0}.money-name{flex:1;min-width:0;overflow-wrap:anywhere}.money-amount{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.card .row-head .card-title{margin:0}@media(max-width:480px){.segmented{display:flex;width:100%;box-sizing:border-box}.segmented button{flex:1;min-width:0;justify-content:center;padding:0 4px;gap:5px;font-size:.85rem}}.stack>.segmented{justify-self:start;margin-bottom:0}.comp-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.comp-item{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:18px 20px;text-align:left;font:inherit;color:var(--text);cursor:pointer;transition:transform .15s,border-color .2s}.comp-item:hover{transform:translateY(-2px);border-color:#8b7cff8c}.comp-name{font-weight:800;font-size:1.05rem;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.comp-status{grid-column:1;color:var(--muted);font-size:.88rem}.comp-go{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:1.6rem;color:var(--accent-2)}.scorecard-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-bottom:16px}.back-btn{flex-basis:100%;justify-content:flex-start;padding-left:0;width:max-content;flex-grow:0}.scorecard-title{margin:0;font-size:clamp(1.4rem,4vw,2rem);letter-spacing:-.02em;line-height:1.2}.badge-locked{color:var(--gold);border-color:#f2c86773}.stack-tight p{margin:0}.stack-tight p+p{margin-top:6px}.judge-list{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:4px}.judge-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}.judge-name{font-weight:700}.judge-state{font-size:.85rem;color:var(--muted)}.judge-list .is-absent .judge-name{color:var(--muted);text-decoration:line-through}.chip-num{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accent-grad);color:var(--on-accent);font-size:.72rem;font-weight:800}.chip-tick{color:var(--accent-2);font-weight:800}.whose{margin:0}.entry-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.entry-card{padding:16px 18px 18px}.entry-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:12px}.entry-chest{font-size:1.5rem;font-weight:800;letter-spacing:-.01em}.entry-total{font-weight:800;font-variant-numeric:tabular-nums}.entry-total.is-done{color:var(--accent-2)}.row-status{margin-left:auto;font-size:.82rem;color:var(--muted)}.row-status.is-saved{color:var(--accent-2)}.row-status.is-offline{color:var(--warn)}.row-status.is-error{color:var(--error)}.entry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}.score-field{display:grid;grid-template-rows:1fr auto auto;gap:4px;min-width:0}.score-field label{display:flex;flex-direction:column;justify-content:flex-end;font-size:.8rem;color:var(--muted);line-height:1.25;overflow-wrap:anywhere}.score-box{position:relative}.crit-num{display:block;font-size:.6rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fainter)}.crit-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:2px}table.score-table .crit-meta .crit-max{display:inline;margin-top:0}.max{color:var(--max);font-weight:600}.score-max{position:absolute;right:10px;bottom:8px;font-size:.78rem;font-weight:700;color:var(--max);font-variant-numeric:tabular-nums;pointer-events:none}input.score-input{width:100%;min-height:52px;padding:0 34px;text-align:center;font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums}.score-field.is-empty input.score-input:not(:disabled){border-style:dashed;border-color:#8b7cff8c}input.score-input:disabled{opacity:.5}.submit-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:16px 20px}.submit-bar p{margin:0}.submit-bar .form-error{flex-basis:100%}.score-table-card{padding:8px 0 14px;container-type:inline-size}.score-scroll{overflow-x:auto}table.score-table{border-collapse:separate;border-spacing:0;font-size:.88rem}table.score-table th,table.score-table td{padding:8px;border-bottom:1px solid var(--border);white-space:nowrap}table.score-table thead th{font-size:.72rem;letter-spacing:.04em;color:var(--muted);font-weight:700;text-align:center;vertical-align:bottom}table.score-table .crit-col{vertical-align:bottom}table.score-table .crit-cell{white-space:normal;min-width:150px;max-width:200px;font-size:.8rem;font-weight:600;color:var(--text);line-height:1.3}table.score-table .crit-max{display:block;margin-top:2px}table.score-table .entrant-head{font-size:.9rem;color:var(--text);border-left:1px solid var(--border);border-bottom:0;padding-bottom:2px}table.score-table .num{text-align:center;font-variant-numeric:tabular-nums}table.score-table .pin{position:sticky;left:0;z-index:1;background:var(--field);text-align:left;padding-left:18px}table.score-table .split-cell{padding:0;border-left:1px solid var(--border);min-width:calc(var(--judges, 3) * 64px)}.split{display:grid;grid-template-columns:1fr 1fr;height:100%;min-height:38px}.split-judges{display:grid;grid-template-columns:repeat(var(--judges, 3),minmax(0,1fr))}.split-judges>span,.split-avg{display:grid;place-items:center;padding:6px 2px;font-variant-numeric:tabular-nums}.split-avg{font-weight:800;color:var(--text);background:#8b7cff1f;border-left:1px solid var(--border)}table.score-table .split-head .split{min-height:0}table.score-table .split-head .split-judges>span,table.score-table .split-head .split-avg{padding:4px 2px 6px;font-size:.7rem;font-weight:700;color:var(--muted)}.split-judges>.cell-empty{background:#8b7cff29;box-shadow:inset 0 0 0 1px #8b7cff80}.split-judges>.cell-over,.mini.cell-over{color:var(--warn);font-weight:800}.col-absent{opacity:.45}table.score-table .sum-row .split{font-weight:700}table.score-table .sum-row .split-avg{background:#8b7cff38}table.score-table .sum-row>*{border-top:1px dashed var(--border)}table.score-table td.num{border-left:1px solid var(--border);font-weight:700}table.score-table .rank-cell{font-weight:800}table.score-table .rank-cell.is-first{color:var(--gold)}table.score-table tbody tr:last-child>*{border-bottom:0}.table-note{margin:10px 18px 0}.score-cards{display:none;list-style:none;margin:0;padding:0 14px}.score-card{padding:14px 0;border-bottom:1px solid var(--border)}.score-card:last-child{border-bottom:0}.score-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:8px}.score-card-final{font-weight:800;font-variant-numeric:tabular-nums}.score-card-head .badge{margin-left:auto}.score-card-list{margin:0;display:grid;gap:4px;font-size:.88rem}.score-card-list>div{display:flex;justify-content:space-between;gap:10px}.score-card-list dt{color:var(--muted);min-width:0}.score-card-list dd{margin:0;display:flex;gap:4px;font-variant-numeric:tabular-nums;font-weight:700}.score-card-totals{border-top:1px dashed var(--border);padding-top:4px}.mini{display:inline-grid;place-items:center;min-width:34px;height:24px;border-radius:6px;background:var(--surface)}.mini-avg{background:#8b7cff2e;font-weight:800}.score-card-judges .mini-avg{background:transparent}.mini.cell-empty{background:#8b7cff29;box-shadow:inset 0 0 0 1px #8b7cff80}@container (max-width: 640px){.score-scroll{display:none}.score-cards{display:block}}@media(max-width:520px){.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-card{padding:14px}}.judge-rows{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:12px}.grid-judge{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:end}.judge-row-actions{display:flex;gap:4px}@media(max-width:560px){.grid-judge{grid-template-columns:minmax(0,1fr)}}.score-card-judges .mini{background:transparent;height:auto;font-size:.72rem;font-weight:700;color:var(--muted)}.judge-rows li+li{border-top:1px solid var(--border);padding-top:12px}.head-actions{display:flex;gap:8px;margin-bottom:8px}.head-actions .btn-primary{margin-bottom:0}.win-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.win-card{height:100%}.badge-published{color:var(--accent-2);border-color:#3fc8e473}.podium{list-style:none;margin:0;padding:0;display:grid;gap:2px}.place{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"rank who score" "rank who points";align-items:center;gap:0 10px;padding:8px 0;border-bottom:1px solid var(--border)}.place:last-child{border-bottom:0}.place-rank{grid-area:rank;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);font-weight:800;font-size:.85rem}.place-1 .place-rank{border-color:#f2c867b3;color:var(--gold)}.place-2 .place-rank,.place-3 .place-rank{color:var(--text)}.place-4 .place-rank{color:var(--muted)}.place-who{grid-area:who;min-width:0;overflow-wrap:anywhere}.place-chest{font-weight:800}.place-score{grid-area:score;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.place-points{grid-area:points;text-align:right;font-size:.8rem;color:var(--accent-2);font-weight:700}.full-ranking{margin-top:10px}.full-ranking summary{cursor:pointer;color:var(--muted);font-size:.88rem}.podium-rest{margin-top:6px}.champion-card{background:linear-gradient(140deg,#f2c8671f,#8b7cff1a);border-color:#f2c86759}.champion-card .eyebrow{color:var(--gold)}.champion-name{margin:0 0 4px;font-size:1.25rem;font-weight:800;line-height:1.3}.champion-chest{color:var(--gold)}.points-list{list-style:none;margin:0;padding:0}.points-list li{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.points-list li:last-child{border-bottom:0}.points-list .is-champion .member-chest{color:var(--gold)}.all-groups-card{padding:8px 0}table.all-groups{border-collapse:collapse;min-width:100%;font-size:.86rem}table.all-groups th,table.all-groups td{padding:10px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}table.all-groups thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap}table.all-groups tbody th{white-space:nowrap}.mini-podium{list-style:none;margin:0;padding:0;display:grid;gap:2px;min-width:170px}.mini-rank{display:inline-block;width:1.2em;color:var(--muted);font-weight:700}.champion-row th,.champion-row td{border-bottom:0}.champion-row th{color:var(--gold)}.print-only{display:none}.enter-panel{display:grid;gap:14px}.enter-panel-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 12px 10px 18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.enter-panel-head .card-title{margin:0}.enter-toggle{margin-left:auto}.segmented.segmented-small{margin:0;padding:3px}.segmented.segmented-small button{min-height:32px;padding:0 14px;font-size:.85rem;white-space:nowrap}@media(max-width:560px){.enter-panel-head .segmented{order:3;display:flex;width:100%}.enter-panel-head .segmented button{flex:1;justify-content:center;padding:0 8px}}.chip-btn{position:relative;display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s}.chip-btn:hover{background:var(--surface-strong);border-color:var(--accent)}.chip-btn:focus-visible,.chip-btn:focus-within{outline:none;box-shadow:0 0 0 3px var(--focus)}.chip-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-card{display:grid;gap:10px}.upload-card .row-actions,.upload-card p{margin:0}.criteria-key{margin:0;padding:0;list-style:none;display:grid;gap:2px}.criteria-key li{display:grid;grid-template-columns:5.6rem 1fr auto;gap:8px;align-items:baseline;padding:3px 0;border-bottom:1px solid var(--border)}.criteria-key li:last-child{border-bottom:0}.criteria-key-col{font-weight:700;white-space:nowrap}.criteria-key-name{color:var(--muted);overflow-wrap:anywhere}.criteria-key-guide{display:block;margin-top:2px;font-size:.72rem;opacity:.8}.upload-format summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--muted)}.upload-format ul{margin:8px 0;padding-left:18px;display:grid;gap:4px}.upload-format code{font-size:.8rem;padding:1px 5px;border-radius:6px;background:var(--surface-strong)}.upload-example{margin:6px 0 0;padding:10px 12px;border-radius:var(--radius-small);background:#f5f6fb;border:1px solid var(--border);font-size:.75rem;white-space:pre-wrap;overflow-wrap:anywhere}.upload-paste label{font-size:.8rem}.upload-paste-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px}.upload-paste-head label{margin:0}.upload-tools{display:inline-flex;flex-wrap:wrap;gap:6px}.upload-file-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.upload-file-name{font-weight:600;overflow-wrap:anywhere}.upload-paste textarea{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.78rem;white-space:pre;overflow-x:auto}.upload-check{display:grid;gap:8px}.upload-check .form-error{margin:0}.upload-problems{margin:0;padding-left:18px;display:grid;gap:4px}.saved-note{color:var(--accent-2)}@media print{:root{color-scheme:light}html,body{background:#fff!important;color:#000}.backdrop,.topbar,.no-print,.page-lede{display:none!important}.print-only{display:block}.print-title{margin:0 0 8px}.card{background:#fff;border-color:#bbb;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;break-inside:avoid}.page-head{display:none}*{color:#000!important;text-shadow:none!important}.muted,.muted *,.place-points,.badge{color:#444!important}.place-rank,.badge{border-color:#999!important}.champion-card{background:#fff}.score-scroll{overflow:visible}.layout-main-side{grid-template-columns:minmax(0,1fr)}.fade-in{animation:none}}.waiting-card .card-title{font-size:1rem;margin-bottom:6px}.waiting-card p{margin:0}.event-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.event-row .row-head{margin-bottom:4px}.event-row p{margin:0}.event-row.is-current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.badge-current{color:var(--on-accent);background:var(--accent-grad);border-color:transparent}.event-note{margin-top:10px!important;color:var(--accent-2);font-weight:600}.event-confirm{margin-top:12px;padding:12px 14px;border-radius:var(--radius-small);border:1px solid var(--border);background:var(--surface-strong)}.event-confirm .row-actions{margin-top:10px}.archived-events summary{cursor:pointer;font-weight:700}.archived-events>p{margin:8px 0 12px}.archived-events .event-row{box-shadow:none}.stack-form{display:grid;gap:14px;margin-top:12px}.stack-form>.btn{justify-self:start}.entrant-picker{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px}.picker-field{display:grid;gap:4px;flex:1 1 180px;max-width:320px}.picker-label{font-size:.85rem;font-weight:600;color:var(--muted)}.picker-field select{font-weight:700;font-variant-numeric:tabular-nums}.picker-step{min-width:44px;min-height:44px;font-size:1.2rem;line-height:1}.picker-count{align-self:flex-end;line-height:44px}.enter-panel{scroll-margin-top:84px}.edit-scores{display:block;margin:4px auto 0;padding:2px 8px;font-size:.75rem;font-weight:600}.score-card-head .edit-scores{display:inline-flex;margin:0}.access-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.access-list+p{margin:12px 0 0}.access-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:#18205008}.access-row.is-waiting{border-color:var(--accent);background:var(--surface-strong)}.access-who{flex:1 1 220px;min-width:0;display:grid;gap:2px;overflow-wrap:anywhere}.access-name{font-weight:700}.access-email{color:var(--muted)}.access-hint{color:var(--gold)}.access-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.access-controls select{width:auto;min-width:9.5rem}.access-row .form-error{flex-basis:100%;margin:0}.role-guide{margin:8px 0 12px;display:grid;gap:4px}.role-guide dt{font-weight:700;margin-top:6px}.role-guide dd{margin:0;color:var(--muted)}.google-signin{display:grid;gap:8px;min-height:44px}.grid-judge{align-items:start}.grid-judge .judge-row-actions{padding-top:30px}.judge-how{display:grid;gap:6px}.judge-how .field-hint,.judge-how .field-error{margin:0}.judge-hint-todo{color:var(--gold)}@media(max-width:560px){.grid-judge .judge-row-actions{padding-top:0}}table.score-table .crit-max,table.score-table .max,.score-card .max,.criteria-key .max,.place-score .max{font-size:.72rem;font-weight:500;color:var(--faint)}
