:root{font-family:Arial,sans-serif;color:#183834;background:#f5f5ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header,main{max-width:1120px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:30px 28px;border-bottom:1px solid #d6ddd2}.brand{color:inherit;text-decoration:none;font-size:30px;font-weight:800;display:flex;gap:18px;align-items:center}.brand span,.tag,.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700}.tag{letter-spacing:1px;color:#52685c}main{padding:0 28px}.intro{padding:64px 0 36px;max-width:750px}.eyebrow{color:#697b4d;margin:0 0 18px}h1{font-size:clamp(40px,6vw,68px);line-height:1.04;letter-spacing:-3px;font-weight:500;margin:0 0 24px}.intro>p:last-child{font-size:17px;line-height:1.6;color:#607166;max-width:460px}h2{font-size:25px;letter-spacing:-.7px;font-weight:500;margin:0}section{margin-bottom:44px}.control{border:1px solid #c6d1bd;border-radius:14px;display:flex;align-items:center;justify-content:space-between;padding:25px;background:#edf0e0;gap:20px}.control p{font-size:13px;color:#667461;margin:9px 0 0 22px}.dot{width:9px;height:9px;background:#8c9783;border-radius:50%;display:inline-block;margin-right:12px}.dot.active{background:#458349}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.section-title .eyebrow{margin-bottom:10px}button{border:1px solid #244e3e;border-radius:7px;padding:12px 19px;background:#244e3e;color:#fff;font-size:13px;cursor:pointer}button:hover{background:#17372c}button:disabled{opacity:.5;cursor:wait}.secondary{background:transparent;color:#244e3e;border-color:#bfcbb8}.secondary:hover{background:#e7ebdf}.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:15px}.card{padding:23px;border:1px solid #d4dbcc;border-radius:12px;background:#fffef8}.card h3{font-size:20px;font-weight:500;margin:20px 0 12px}.card .top{display:flex;justify-content:space-between;font-size:12px}.badge{border-radius:20px;padding:4px 9px;background:#edf1df;font-size:11px;color:#507035}.muted{color:#6c786a;font-size:13px;line-height:1.6}.actions{display:flex;gap:8px;margin-top:20px}.empty{border:1px dashed #c4cdbb;border-radius:10px;padding:30px;color:#6c786a;font-size:14px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#76846e;font-weight:500}td,th{padding:17px 12px;border-bottom:1px solid #d9dfd1}td:nth-child(2){font-size:17px}input,select{padding:12px;border:1px solid #bdc8b4;border-radius:6px;background:#fffef9;color:#183834;font:inherit}label{display:block;font-size:13px;margin-bottom:18px}label>input:not([type=checkbox]),label>select{display:block;width:100%;margin-top:8px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex;align-items:center;gap:10px}.check input{width:17px;height:17px}dialog{border:0;border-radius:16px;background:#f8f8f0;padding:30px;width:min(94%,490px);color:inherit}dialog::backdrop{background:#102d2266}dialog form{margin:0}footer{padding:25px 0 35px;border-top:1px solid #d4dbcc;font-size:12px;color:#6c786a}footer a{float:right;color:inherit}footer p{margin-top:18px;font-size:11px}#notice{padding:15px;background:#fff0d4;border-radius:8px;font-size:14px}a{color:#244e3e}.history-row{display:flex;justify-content:space-between;gap:15px;padding:17px 0;border-bottom:1px solid #d9dfd1;font-size:13px}.guide{max-width:850px;padding-top:45px;line-height:1.7}code,pre{font-family:monospace;font-size:13px;background:#e9eddf}pre{padding:20px;overflow:auto;border-radius:8px}@media(max-width:600px){header,main{padding-left:18px;padding-right:18px}.tag{display:none}.intro{padding-top:40px}.control{align-items:flex-start}.control p{margin-left:0}.section-title{align-items:flex-end}h1{letter-spacing:-2px}td,th{padding:14px 8px}.section-title button{padding:10px}.control button{white-space:nowrap}.rules{grid-template-columns:1fr}}
.login-page{max-width:480px;padding-top:64px;padding-bottom:64px}.login-form{margin-top:32px}.login-form button{width:100%;margin:8px 0 12px}.login-error{padding:14px;background:#fff0d4;border-radius:8px;font-size:14px}.login-page>a{font-size:13px}header form{margin:0}
.connection{margin-bottom:36px;border:1px solid #c6d1bd;border-radius:12px;padding:20px}.connection summary{cursor:pointer;font-weight:700}.connection form{max-width:360px;margin-top:24px}.connection input{letter-spacing:6px;font-size:22px}#otp-message{font-size:14px;line-height:1.5}
.header-actions{display:flex;align-items:center;gap:20px;font-size:14px}.gate-page{max-width:560px;padding-top:48px;padding-bottom:48px}.gate-page>p{line-height:1.6}.gate-display{margin:24px auto;background:#fff;border-radius:12px;padding:12px;max-width:380px}.gate-display canvas{display:block;width:100%;height:auto;image-rendering:pixelated}.gate-actions{display:flex;gap:12px;margin:20px 0}.gate-page>a{display:inline-block;margin-top:16px}#gate-status{min-height:26px}#gate-timer{min-height:20px}@media(max-width:600px){.header-actions{gap:12px}.brand{gap:8px}.brand span{font-size:9px;letter-spacing:1px}.gate-page{padding-top:32px}}@media print{.gate-display{display:none!important}}

.gate-members{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}.gate-members button{min-height:60px;font-size:20px;padding:16px 20px}

.gate-page h1{font-size:32px;letter-spacing:-1px;margin-bottom:24px}#gate-status:empty,#gate-timer:empty{display:none}

.actions.row{margin-top:0;align-items:center;flex-wrap:wrap}.actions-inline{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.settings-form{max-width:420px;margin-top:20px}.settings-form .fields{margin-bottom:0}#memberships p{margin:6px 0}

.inner{border:0;padding:0;margin:18px 0 0}.inner summary{font-weight:500;font-size:13px}.invite{padding:12px;background:#fffef8;border:1px solid #d4dbcc;border-radius:8px;font-family:monospace;font-size:13px;word-break:break-all;user-select:all}.member-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #d9dfd1;font-size:14px}
.impersonation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 0;padding:12px 16px;background:#fff0d4;border:1px solid #e6c98a;border-radius:8px;font-size:14px}.impersonation button{padding:8px 12px}
.admin-only .intro>p:last-child,.admin-only .control,.admin-only #club-connection,.admin-only #opening,.admin-only main>section:not(.intro),.admin-only #rule-dialog{display:none}.admin-only .intro{padding-bottom:12px}
