:root{color-scheme:light;--ink:#18342d;--muted:#61746d;--green:#176a51;--line:#dce5df;--paper:#f6f8f3;--gold:#9a631d;--danger:#a43a32}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}button,input,select{font:inherit}a{color:var(--green);text-underline-offset:4px}header{height:84px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;gap:24px;align-items:center;border-bottom:1px solid var(--line);background:#fff}header>a:last-child{margin-left:auto;white-space:nowrap}.brand{display:flex;gap:12px;font-size:22px;font-weight:800;text-decoration:none;color:var(--ink)}.light{font-weight:400}.pill{font-size:12px;border:1px solid #d6e3d9;padding:4px 12px;border-radius:20px;color:var(--muted)}main{max-width:1180px;margin:auto;padding:42px 24px}.hero{padding:12px 0 32px}.eyebrow{color:var(--green);font-size:11px;font-weight:750;letter-spacing:1.8px}h1{font-size:44px;line-height:1.35;letter-spacing:-1.6px;margin:16px 0}h2{font-size:23px;line-height:1.5;margin:10px 0 18px}h3{font-size:16px;margin:0 0 8px}p{color:var(--muted);margin:8px 0 14px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 26px}.tabs button{padding:12px 20px;border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);cursor:pointer}.tabs button[aria-selected=true]{border-bottom-color:var(--green);color:var(--green);font-weight:700}.grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 4px 22px #17372a04}.step{display:flex;gap:18px;padding:22px 0;border-top:1px solid var(--line)}.step>div{min-width:0;flex:1}.number{flex:0 0 29px;height:29px;display:grid;place-items:center;background:#eaf1e9;border-radius:50%;font-size:13px;color:var(--green);font-weight:800}label{display:block;font-size:13px;color:var(--muted)}select{width:100%;padding:12px;border:1px solid #becdc3;border-radius:9px;background:#fff;color:var(--ink);margin-top:8px}.hint{font-size:12px;color:var(--muted);margin-top:10px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 10px}button.primary,button.secondary{border:1px solid var(--green);padding:11px 18px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:650}.primary{background:var(--green);color:white}.secondary{background:white;color:var(--green)}button:disabled{background:#e5ebe6;border-color:#e5ebe6;color:#7c8982;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d9a949;outline-offset:3px}.upload{padding:12px 14px;border:1px dashed #adbbb1;border-radius:8px;margin:12px 0}.upload input{display:block;font-size:12px;max-width:100%;margin-top:8px}.checklist{list-style:none;padding:0;margin:12px 0}.checklist li{margin:8px 0}.checklist label{font-size:14px;color:var(--ink)}input[type=checkbox]{width:17px;height:17px;vertical-align:middle;margin-right:7px;accent-color:var(--green)}aside{display:grid;gap:20px}.summary-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.summary-title h2{margin-bottom:0}.badge{font-size:12px;border-radius:6px;background:#f8ecd5;color:#825417;padding:4px 10px;white-space:nowrap}.venue{font-size:12px;margin-top:3px}.health{display:flex;gap:11px;margin:24px 0}.health p{font-size:12px;margin:2px 0}.dot{background:#96a69c;width:9px;height:9px;border-radius:50%;flex:0 0 9px;margin-top:9px}.dot.good{background:var(--green)}.dot.bad{background:var(--danger)}.facts{margin:10px 0}.facts>div{display:flex;gap:14px;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:12px}.facts dt{color:var(--muted);flex-shrink:0}.facts dd{margin:0;text-align:right;overflow-wrap:anywhere}.callout{padding:14px;background:#f3f6ef;color:#52674f;font-size:12px;border-radius:8px;margin-top:14px}.preview{background:#edf3ed}.preview h3{margin-top:12px}.preview p,.preview a{font-size:12px}.stages{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}.stages span{padding:5px 9px;background:#dce9df;border-radius:5px;font-size:11px}.stages .waiting{background:#f4e7c8;color:#80541b}.footer-note{max-width:820px;margin:36px 0 6px}.footer-note p{font-size:13px}footer{padding:26px max(24px,calc((100vw - 1132px)/2));border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.operator-actions{margin:24px 0}#notice:not(:empty){border:1px solid #aac7b4;background:#edf7ef;border-radius:9px;padding:12px 18px;margin-bottom:20px}#notice.error{border-color:#e6b8ae;background:#fff0ec;color:var(--danger)}[hidden]{display:none!important}.guide{max-width:780px}.guide section{margin:30px 0}.guide li{margin:10px 0}.guide table{width:100%;border-collapse:collapse;font-size:14px}.guide td,.guide th{border-bottom:1px solid var(--line);padding:12px;text-align:left}@media(max-width:780px){header{height:auto;min-height:72px;padding:16px;gap:12px;flex-wrap:wrap}.brand{font-size:18px}.pill{order:3}main{padding:25px 16px}.hero{padding-top:8px}h1{font-size:33px}.grid{grid-template-columns:1fr}.card{padding:22px}.step{gap:12px}.tabs button{padding:10px 12px}.facts>div{flex-wrap:wrap}.facts dd{text-align:left}.actions button{flex:1 1 100%}footer{gap:12px;flex-wrap:wrap}.hero br{display:none}}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--ink:#e0ece5;--muted:#a4b8aa;--paper:#111e18;--line:#304539;--green:#8bd0ab;--danger:#f7a99d}header,.card{background:#1b2b22}.brand{color:var(--ink)}select{background:#17271e;color:var(--ink)}.primary{background:#a1dbb7;color:#10291c}.secondary{background:#1b2b22!important;color:var(--green)}.number,.callout,.preview{background:#243e2d;color:#c3d6c0}.stages span{background:#30523c}.badge,.stages .waiting{background:#514322;color:#f3d798}#notice:not(:empty){background:#244330;color:#e0ece5}#notice.error{background:#482a25;color:#ffc0b4}.pill{border-color:var(--line)}}
.ranking{margin-bottom:32px}.rank-controls{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:24px 0}.rank-controls label{flex:1;min-width:180px}.rank-controls input{display:block;width:100%;padding:12px;border:1px solid #aab7ae;border-radius:8px;background:transparent;color:inherit;font:inherit}.rank-list{display:grid;gap:16px}.rank-row{padding:22px;border:1px solid #aab7ae;border-radius:14px}.rank-heading{display:flex;gap:16px;align-items:center}.rank-heading h3{margin:0;overflow-wrap:anywhere}.rank-number{font-size:25px;color:#5b7f63;font-weight:700}.rank-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:18px 0}.rank-stats span{display:block;font-size:12px;opacity:.75}.rank-stats strong{display:block;font-size:21px;font-variant-numeric:tabular-nums}.rank-stats>div:first-child strong{font-size:29px;color:#39764e}.ranking details{margin:16px 0}.ranking summary{cursor:pointer}.ranking code{overflow-wrap:anywhere}.rank-row p{overflow-wrap:anywhere}@media(max-width:650px){.rank-stats{grid-template-columns:1fr 1fr}.rank-row{padding:16px}.rank-controls{display:block}.rank-controls label{display:block;margin-bottom:12px}.rank-stats strong{font-size:18px}}

#admin{margin-bottom:32px}#memberForm{display:grid;gap:12px;max-width:560px}#memberForm input{font:inherit;padding:12px;border:1px solid #aab7ae;border-radius:8px}#admin details{margin:24px 0}

.auth-main{max-width:660px;margin:48px auto;padding:0 24px}.auth-main form,#inviteForm,#passwordForm{display:grid;gap:12px}.auth-main input,#inviteForm input,#passwordForm input,#issuedCodeValue{display:block;width:100%;padding:12px;font:inherit;border:1px solid #aab7ae;border-radius:8px}#inviteForm,#passwordForm{max-width:560px;margin:20px 0}#issuedCode{margin:20px 0}#message{color:#a43b2b;overflow-wrap:anywhere}.auth-main .tabs button[aria-pressed=true]{background:#1d4430;color:white}
