:root{color-scheme:light;--paper:#f3efe3;--wine:#760d2d;--ink:#252525;--muted:#7b7973;--line:#b8b5ac}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 "Trebuchet MS",Arial,sans-serif}
.club{max-width:1440px;margin:auto;padding:42px 48px 28px}
h1,h2{color:var(--wine);font-weight:700;line-height:1.15;overflow-wrap:anywhere}
h1{font-size:clamp(32px,4.5vw,50px);margin:0 0 45px;letter-spacing:1px}h2{font-size:clamp(27px,3.6vw,42px);margin:0 0 12px;letter-spacing:.5px}
#events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:stretch}
.event{min-width:0;padding:32px;background:#faf7ee;border:1px solid #ded7c8;border-radius:18px;box-shadow:0 4px 16px #43231308}
.event h2{font-size:clamp(27px,2.5vw,36px)}
.event-meta{display:flex;flex-wrap:wrap;gap:5px 12px;margin:0 0 35px;color:var(--muted);font-size:14px}
.line-field{display:block;width:296px;max-width:100%;margin:0 0 44px;border-bottom:1px solid var(--line);color:var(--muted)}
.line-field span{display:block;font-size:20px;font-weight:400;letter-spacing:.5px}
.line-field input{width:100%;display:block;border:0;background:transparent;border-radius:0;padding:7px 0 9px;color:var(--ink);font:inherit;outline:none}
.line-field:focus-within{border-bottom-color:var(--wine);box-shadow:0 1px 0 var(--wine)}
.upload-field{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:center;gap:8px 20px;margin:4px 0 36px}.upload-title{display:block;font-weight:400;font-size:18px;letter-spacing:.3px;color:var(--muted)}
.upload-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
.upload-button{position:relative;display:inline-block;overflow:hidden;border-radius:30px;padding:10px 24px;background:#b1dc75;color:var(--ink);font-size:18px;white-space:nowrap;cursor:pointer}
.upload-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-button:focus-within{outline:2px solid var(--wine);outline-offset:4px}
.file-name{font-size:13px;color:var(--muted);overflow-wrap:anywhere;max-width:100%}.upload-hint{display:block;grid-column:1/-1;font-size:11px;color:var(--muted)}
.consent{display:flex;gap:11px;align-items:flex-start;font-size:14px;line-height:1.4;margin:0 0 28px;cursor:pointer}
.consent input{appearance:none;flex:0 0 20px;width:20px;height:20px;margin:0;border:2px solid #77756c;background:transparent;border-radius:0;cursor:pointer}
.consent input:checked{background:var(--wine);border-color:var(--wine)}.consent input:checked::after{content:"";display:block;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:translate(5px,0px) rotate(45deg)}
a{color:inherit;text-underline-offset:3px}button.submit{min-width:220px;padding:16px 28px;border:0;border-radius:40px;background:var(--wine);color:white;font:700 19px/1.5 "Trebuchet MS",Arial,sans-serif;cursor:pointer}
button.submit:hover{background:#5d0922}.upload-button:hover{background:#a0ce62}button:disabled,input:disabled{opacity:.55;cursor:default}
button:focus-visible,.consent input:focus-visible,a:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.result{font-size:14px;max-width:650px;margin:15px 0 0}.result:empty{display:none}.result.error{color:#a23326}.result.success{color:#315d29}
.event > .result.success{font-size:18px;line-height:1.5;margin:28px 0 8px}
.upload-button input:disabled{opacity:0}
#notice{color:var(--muted);margin-bottom:20px}#notice:empty{display:none}[hidden]{display:none!important}
@media(max-width:1000px){#events{gap:40px 32px}.upload-field{grid-template-columns:1fr;justify-items:start}.upload-title{font-size:17px}}
@media(max-width:760px){#events{grid-template-columns:1fr;gap:24px}.club{padding:28px 22px}.event-meta{font-size:13px;gap:4px 8px}.event{padding:24px}.line-field{margin-bottom:36px}.consent{font-size:13px}button.submit{min-width:180px}h1{margin-bottom:32px}.upload-field{grid-template-columns:auto auto;gap:8px 16px}}
@media(max-width:480px){.upload-field{grid-template-columns:1fr}}
