*{box-sizing:border-box}body{margin:0;background:#f4f6f0;color:#243c2d;font-family:Arial,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}main{max-width:880px;margin:auto;padding:26px 20px 50px}header{display:flex;gap:12px;align-items:center;margin-bottom:26px}.brand{background:#244e3b;color:#d6e2b8;border-radius:13px;font-size:26px;padding:10px 17px;font-weight:bold}header small{color:#7c8b75;font-size:11px}h1{font-size:25px;margin:4px 0}h1 span{font-size:13px;letter-spacing:2px;margin-left:6px;color:#7b8d73}header>button{margin-left:auto;font-size:11px}.hero{background:#244e3b;color:#fff;border-radius:23px;padding:29px}.hero small{letter-spacing:3px;font-size:10px;color:#bed2a7}.hero h2{font-size:30px;line-height:1.4;font-weight:500;margin:20px 0 26px}.hero>div{border-top:1px solid #ffffff33;padding-top:18px;display:flex;justify-content:space-between;font-size:12px;color:#d6e1ce}.hero b{color:white;margin-left:8px}nav{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;background:#e8ede1;padding:5px;border-radius:13px;margin:23px 0}button{font:inherit;cursor:pointer;border:1px solid #d4decc;border-radius:9px;padding:11px 13px;background:white;color:#355238}nav button{border:0;background:transparent;font-size:13px;padding:13px 3px}.selected{background:white;box-shadow:0 2px 7px #2e492014;font-weight:600}.primary{background:#244e3b;color:white;border:0}.title{display:flex;justify-content:space-between;align-items:center;margin:26px 0 17px}h2{font-size:21px;margin:0 0 10px}.title h2{margin:0}.title p,.card p{color:#7d8c73;font-size:12px;line-height:1.8}.title p{margin:6px 0 0}.cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}.card{background:white;border:1px solid #e0e6d7;border-radius:16px;padding:21px}.clickable{cursor:pointer;text-align:left;width:100%}.card h3{font-size:18px;margin:5px 0 13px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.muted{font-size:12px;color:#8b9782}.badge{background:#edf4e6;color:#53794a;padding:6px 10px;border-radius:20px;font-size:12px}.negative{background:#fff0e8;color:#aa633f}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.stats small{display:block;color:#8b9682;font-size:10px;margin-bottom:6px}.stats b{font-size:14px;font-weight:550}.empty{padding:35px 20px;text-align:center;color:#86957d;border:1px dashed #cedbc5;border-radius:15px;line-height:1.8}.rank{font-size:12px;color:#93a186}.big{font-size:29px;font-weight:600}label{display:flex;flex-direction:column;gap:7px;color:#6d7c64;font-size:12px;margin-bottom:16px}input,select,textarea{font:inherit;font-size:16px;width:100%;padding:12px;border:1px solid #d9e2d0;border-radius:9px;color:#2b4933;background:white}input:focus,textarea:focus{outline:2px solid #7da76b}input[type=checkbox]{width:20px;accent-color:#31593b}label.check{flex-direction:row;align-items:center;background:white;border:1px solid #e0e5d8;border-radius:10px;padding:13px;margin:0}dialog{border:0;border-radius:22px;background:#f8faf4;padding:23px;width:calc(100% - 24px);max-width:480px;max-height:93dvh;overflow:auto;color:inherit}dialog::backdrop{background:#132c2177}.dialoghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.dialoghead button{border:0;background:#eaf0e1}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.wide{grid-column:span 2}.full{width:100%}.calc{padding:15px;background:#e9f2e2;border-radius:10px;margin-bottom:17px}.filters{display:flex;gap:10px;margin-bottom:17px}.filters select{width:125px}#status{color:#8b512f;line-height:1.6;font-size:13px}footer{text-align:center;color:#9aa590;font-size:11px;margin-top:34px}.group{margin-bottom:15px}.group ul{list-style:none;padding:0;margin:15px 0 0}.group li{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid #eef2e8;font-size:14px}.round-controls{margin-bottom:18px}.gap{margin-top:17px}.delete{color:#aa6249;background:transparent;border:0;width:100%;margin-top:13px}button:disabled{opacity:.5;cursor:wait}.ranklist{display:flex;flex-direction:column;gap:12px}.ranklist .card{display:flex;justify-content:space-between;align-items:center}.ranklist h3{margin:4px 0}.note{margin-top:13px;color:#94a08a;font-size:11px;line-height:1.7}.card form .primary{width:100%}#login{max-width:430px;margin:50px auto}#login h2{margin:5px 0 15px}#login p{margin-bottom:25px}[hidden]{display:none!important}@media(max-width:600px){main{padding:21px 16px 40px}.cards{grid-template-columns:1fr}.hero{padding:25px}.hero h2{font-size:28px}nav button{font-size:12px}.stats b{font-size:16px}.title h2{font-size:20px}dialog{margin:auto auto 0;border-radius:22px 22px 0 0;width:100%;padding-bottom:max(24px,env(safe-area-inset-bottom))}}

.game-toolbar{margin-bottom:16px}.group-total{padding-top:14px;border-top:1px solid #e0e6d7;font-size:13px}.filters select{min-width:150px}

.participant-result{border:0;background:transparent;padding:0;border-radius:0}.participant-result p{margin-bottom:0}

.group-sheet{max-width:1050px;width:calc(100% - 32px);margin:auto;border-radius:20px;background:#fff}.group-sheet .dialoghead h2{margin:6px 0 0}.group-sheet .dialoghead small{color:#74866d}.sheet-scroll{overflow-x:auto;padding-bottom:8px}.sheet-layout{display:grid;grid-template-columns:minmax(180px,0.9fr) minmax(270px,1.4fr) minmax(180px,0.9fr);gap:12px;align-items:stretch;min-width:690px}.match-table{border-collapse:collapse;width:100%;font-size:13px;text-align:center;border:2px solid #244e3b}.match-table caption{font-weight:bold;text-align:left;padding:8px 0 10px;color:#244e3b}.match-table th,.match-table td{border:1px solid #71876d;padding:9px 6px;white-space:nowrap}.match-table thead{background:#c7d8bf;color:#243c2d}.rank-table tbody tr:nth-child(even),.team-0{background:#edf3e8}.team-1{background:#fffbe3}.team-total{font-size:16px}.team-total small{display:block;font-size:11px;margin-top:6px;font-weight:normal}.match-info{border:2px solid #244e3b;margin-top:33px;padding:14px;background:#f8faf4}.match-info h3{margin:0 0 15px;font-size:15px}.match-info strong{color:#244e3b;font-size:17px}.match-info p{font-size:13px;line-height:1.8;margin-top:20px}.sheet-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:18px}@media(max-width:600px){.group-sheet{width:calc(100% - 16px);margin:auto;border-radius:16px;padding:16px;max-height:90dvh}.group-sheet .dialoghead h2{font-size:19px}.sheet-actions button{flex:1;font-size:13px}.match-table th,.match-table td{padding:8px 5px}.sheet-layout{min-width:660px}}

.group-sheet.capture-fit{width:calc(100% - 16px);max-width:1050px;max-height:calc(100dvh - 16px);margin:auto;overflow:hidden;padding:14px;border-radius:16px}.capture-fit .dialoghead{margin-bottom:10px}.capture-fit .dialoghead h2{font-size:18px}.sheet-fit-controls{display:flex;gap:8px;margin-bottom:12px}.sheet-fit-controls button{font-size:12px;padding:7px 12px}.sheet-fit-controls button[aria-pressed=true]{background:#244e3b;color:#fff}.capture-fit .sheet-scroll{overflow:hidden;padding:0;margin:0 auto}.capture-fit .sheet-layout{width:900px;min-width:900px;grid-template-columns:230px 360px 286px;gap:12px;transform-origin:top left}.capture-fit .match-table{font-size:13px}.capture-fit .match-table th,.capture-fit .match-table td{padding:6px 5px}.capture-fit .match-info{padding:12px}.capture-fit .match-info p{margin-top:12px}.capture-fit .sheet-actions{margin-top:12px}.capture-fit .sheet-actions button{padding:8px 12px;font-size:12px}.capture-fit.fit-portrait .sheet-layout{width:560px;min-width:560px;grid-template-columns:218px 330px}.fit-portrait .match-info{grid-column:1 / -1;margin-top:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.fit-portrait .match-info h3,.fit-portrait .match-info strong{margin:0;font-size:14px}.fit-portrait .match-info p{margin:0;font-size:12px;line-height:1.5}.fit-portrait .match-info .note{grid-column:1 / -1}.capture-fit .sheet-actions button{flex:initial}@media(max-width:600px){.capture-fit .sheet-actions button{flex:1}.group-sheet.capture-fit{padding:12px}.capture-fit .dialoghead h2{font-size:17px}}

.participant-delete{display:block;width:auto;margin:10px 0 0 auto;padding:6px 9px;border:0;border-radius:7px;background:#c93636;color:#fff;font-size:10px;line-height:1.3}.participant-delete:hover{background:#ac2929}

.member-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 12px;align-items:start}.member-detail{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12px;color:#7b8b73;overflow-wrap:anywhere}.member-detail b{color:#355238;font-size:13px}.member-detail:nth-child(even){text-align:right}

.member-detail{flex-direction:row;align-items:baseline;gap:5px;font-size:12px}.member-detail b{font-size:12px;white-space:nowrap}.member-detail:nth-child(even){justify-content:flex-end}.member-detail>span{white-space:nowrap}

.member-detail:nth-child(even){justify-content:flex-start;text-align:left}

#editform .grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#editform .grid>label{min-width:0}#editform input,#editform select,#editform textarea{min-width:0;max-width:100%}#editform input[type=date]{appearance:none;-webkit-appearance:none;display:block;min-height:46px}@media(max-width:380px){#editform .grid{grid-template-columns:minmax(0,1fr)}#editform .wide{grid-column:span 1}}

#editform .participant-save{margin-top:20px}

#editor.participants-dialog{overflow:hidden;height:min(760px,90dvh);max-height:90dvh}#editor.participants-dialog[open]{display:flex;flex-direction:column}#editor.participants-dialog .dialoghead{flex:0 0 auto;margin-bottom:12px}#editor.participants-dialog #editform{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}#editor.participants-dialog #editform>.note{flex:0 0 auto;margin:0 0 12px}#editor.participants-dialog #editform>.cards{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:3px;padding-bottom:3px;align-content:start}#editor.participants-dialog .participant-save{flex:0 0 auto;margin-top:16px}#editor.participants-dialog #editerror{flex:0 0 auto;margin:8px 0 0;font-size:12px;color:#a33b31}@media(max-width:600px){#editor.participants-dialog{height:90dvh;padding-bottom:max(16px,env(safe-area-inset-bottom))}}

#editor.group-edit-dialog{overflow:hidden;height:min(760px,90dvh);max-height:90dvh}#editor.group-edit-dialog[open]{display:flex;flex-direction:column}#editor.group-edit-dialog .dialoghead{flex:0 0 auto;margin-bottom:12px}#editor.group-edit-dialog #editform{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}#editor.group-edit-dialog #editform>.note{flex:0 0 auto;margin:0 0 10px}#editor.group-edit-dialog #groupeditpreview{flex:0 0 auto;margin-bottom:10px;max-height:22dvh;overflow-y:auto}#editor.group-edit-dialog .group-edit-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:3px}#editor.group-edit-dialog #editform>.primary{flex:0 0 auto;margin-top:16px}#editor.group-edit-dialog #editerror{flex:0 0 auto;margin:8px 0 0;font-size:12px;color:#a33b31}@media(max-width:600px){#editor.group-edit-dialog{height:90dvh;padding-bottom:max(16px,env(safe-area-inset-bottom))}}

.member-attendance-history{margin-top:24px;padding-top:18px;border-top:1px solid #d9e2d0}.member-attendance-history h3{font-size:16px;margin:0 0 12px}.member-attendance-history ul{list-style:none;padding:0;margin:0}.member-attendance-history li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e5ebdf;font-size:12px}.member-attendance-history li small{display:block;margin-top:5px;color:#819178}.member-attendance-history li>span{white-space:nowrap;color:#355238}

.member-profile-labels{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:14px;background:#edf3e8;border-radius:10px;margin-bottom:16px}.member-profile-labels>div{display:flex;flex-direction:column;gap:7px}.member-profile-labels span{font-size:12px;color:#6d7c64}.member-profile-labels strong{font-size:17px;color:#2b4933}

#editor.member-edit-dialog{overflow:hidden;max-height:90dvh}#editor.member-edit-dialog[open]{display:flex;flex-direction:column}#editor.member-edit-dialog .dialoghead{flex:0 0 auto;margin-bottom:16px}#editor.member-edit-dialog #editform{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:3px}

.member-attendance-history .attendance-date-course{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.member-attendance-history .attendance-date{white-space:nowrap;font-size:12px}.member-attendance-history .attendance-course{font-size:15px;color:#2b4933;overflow-wrap:anywhere;line-height:1.4}

.member-attendance-history .attendance-date,.member-attendance-history li>span{font-size:15px}

.game-edit-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.game-delete{background:#c93636;color:white;border:0;font-size:12px}

.game-delete-footer{display:flex;justify-content:flex-end;margin-top:24px}

.match-note{grid-column:1 / -1;border:2px solid #244e3b;padding:12px;background:#f8faf4;font-size:13px;line-height:1.6}.match-note h3{font-size:14px;margin:0 0 6px}.match-note>div{white-space:pre-wrap;overflow-wrap:anywhere}

.match-inline-note{display:block;margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere}

.attendance-actions{display:flex;gap:10px}.attendance-actions .primary{flex:1}.attendance-actions .game-delete{flex:0 0 auto}

.upcoming-course-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.upcoming-course-row h3{margin:0;min-width:0;overflow-wrap:anywhere}.upcoming-course-row .attendance-actions{flex:0 0 auto}.upcoming-course-row .attendance-actions button{flex:0 0 auto;font-size:11px;padding:6px 10px;white-space:nowrap}

.upcoming-course-row .attendance-actions{flex:0 0 33.333%;justify-content:flex-end}.upcoming-course-row .attendance-actions button{width:100%;font-size:13px;padding:10px 12px}

.participant-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.participant-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.participant-side .participant-delete{margin:0}.participant-side .badge{white-space:nowrap}

.game-list-card-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.game-list-card-meta{display:flex;flex-direction:column;align-items:flex-end;gap:10px;text-align:right}.game-list-card-meta .muted{font-size:11px;white-space:nowrap}.game-list-card-meta .badge{white-space:nowrap}

.game-list-aligned{align-items:center;row-gap:18px}.game-list-aligned h3,.game-list-aligned p{margin:0}.game-list-aligned>.badge,.game-list-aligned>.muted{justify-self:end;text-align:right;white-space:nowrap}.game-list-aligned>.muted{font-size:11px}

.participant-side{gap:18px}

.participant-aligned{align-items:center;row-gap:18px}.participant-aligned .participant-name h3{margin:0}.participant-aligned .participant-handicap{justify-self:end;white-space:nowrap}.participant-aligned .participant-score{grid-column:1}.participant-aligned .participant-delete{grid-column:2;justify-self:end;margin:0}

.course-results{margin:-4px 0 18px;max-height:230px;overflow-y:auto;overscroll-behavior:contain}.course-results .note{margin:4px 0 10px}.course-option{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;margin:5px 0;padding:10px;font-size:13px}.course-option small{color:#84947b;white-space:nowrap}

.course-option-details{display:flex;flex-direction:column;gap:5px;min-width:0}.course-option-details span{font-size:12px;color:#68815c}.course-option-details b{overflow-wrap:anywhere}

.course-tab-results{display:grid;gap:8px;max-height:360px;overflow-y:auto;margin-bottom:16px}.course-tab-results .course-option{width:100%;text-align:left}.course-selected{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.course-selected h3{margin:0 0 7px}.course-selected p{margin:0}.course-official-link{flex-shrink:0;color:#31593b;font-size:12px;font-weight:600}.course-track-tabs{display:flex;gap:9px;overflow-x:auto;margin:18px 0 22px;padding-bottom:4px}.course-track-tabs button{flex:0 0 auto;border-radius:24px;color:#888}.course-track-tabs button.active{border-color:#4c91dd;color:#347ac7;background:#f7fbff}.course-hole-title{display:flex;justify-content:space-between;align-items:center;margin:0 4px}.course-hole-title>div{display:flex;flex-direction:column;gap:4px}.course-hole-title strong{font-size:24px;color:#1c3024}.course-hole-title span,.course-hole-count{color:#768279}.course-hole-map{position:relative;min-height:360px;display:flex;align-items:center;justify-content:center;margin:12px 0 22px}.course-hole-map img{display:block;max-width:76%;max-height:460px;object-fit:contain}.course-hole-map>button{position:absolute;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#86928b;font-size:38px;padding:5px 10px}.course-hole-map>button:first-of-type{left:0}.course-hole-map>button:last-of-type{right:0}.course-tee-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px;background:#f9f9f9;border-radius:14px;padding:18px}.course-tee-item>div{display:flex;align-items:center;gap:6px;font-size:14px;color:#555}.course-tee-item strong{font-weight:600}.course-tee-item small{display:block;color:#858585;margin:8px 0 0 22px;font-size:12px}.tee-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.tee-black{background:#444}.tee-blue{background:#3584df}.tee-white{background:#fff;border:1px solid #ccc}.tee-yellow{background:#f28a37}.tee-red{background:#ee5260}.tee-pink{background:#ed85bd}.course-strategy{margin:24px 0}.course-strategy h3{font-size:17px;margin:0 0 10px}.course-strategy-card{padding:14px;background:white;border:1px solid #e0e6d7;border-radius:12px;margin:8px 0}.course-strategy-card>div{display:flex;justify-content:space-between;color:#65705e;font-size:12px}.course-strategy-card small{color:#99a094}.course-strategy-card p{font-size:14px;line-height:1.7;white-space:normal;margin:10px 0 0;color:#39443b}@media(max-width:600px){.course-selected{align-items:flex-start;flex-direction:column}.course-hole-map{min-height:340px}.course-hole-map img{max-height:440px}.course-tee-grid{padding:16px 13px;gap:16px 8px}}
.course-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 16px}.course-filter-grid label{font-size:13px}.course-filter-grid select{width:100%;margin-top:6px}@media(max-width:600px){.course-filter-grid{grid-template-columns:1fr 1fr}.course-filter-grid label:first-child{grid-column:1/-1}}
.course-recommendations{margin:18px 0}.course-recommendations h3{margin:0 0 6px;font-size:17px}.course-recommendations .course-option{margin:7px 0}
.course-recommendations .recommended-selected{border:2px solid #426e50;background:#eff6ed;box-shadow:0 0 0 2px #426e501a}.course-recommendations .recommended-selected small{color:#31593b;font-weight:700}
.member-attendance-history button.attendance-course{border:0;background:transparent;padding:0;margin:0;color:#2b4933;font:inherit;font-size:15px;font-weight:600;text-align:left;overflow-wrap:anywhere;line-height:1.4;cursor:pointer}.member-attendance-history button.attendance-course:hover{text-decoration:underline;color:#31593b}.member-course-detail{margin-top:18px;scroll-margin-top:20px}.member-course-detail>.empty{padding:14px;background:#f7f8f5;border-radius:10px}.member-course-detail>.course-option{margin:7px 0}.member-course-detail>.course-selected{margin-top:0}.member-course-detail .course-intro{margin:14px 0;padding:15px;background:#fff;border:1px solid #e0e6d7;border-radius:12px}.member-course-detail .course-intro h3{margin:0 0 8px;font-size:16px}.member-course-detail .course-intro p{margin:8px 0;line-height:1.65}.member-course-detail .course-intro small{color:#748071}
.member-attendance-history .attendance-difficulties{white-space:nowrap;color:#71816e;font-size:12px;line-height:1.4}
.game-course-title{border:0;background:transparent;padding:0;margin:0;color:inherit;font:inherit;font-size:inherit;font-weight:inherit;text-align:left;cursor:pointer}.game-course-title:hover{color:#31593b;text-decoration:underline}#game-course-detail{margin:0 0 18px}
.profile-history-row{display:block!important}.profile-history-content{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%}.profile-history-content .attendance-date-course{flex:1}.profile-history-content .profile-history-score{white-space:nowrap;color:#355238}.profile-history-content .member-course-detail{flex:0 0 100%;width:100%}
.profile-history-content .member-course-detail[hidden]{display:none!important}
.member-history-row{display:block!important}.member-history-content{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%}.member-history-content .attendance-date-course{flex:1}.member-history-content .member-history-score{white-space:nowrap;color:#355238}.member-history-content .member-course-detail{flex:0 0 100%;width:100%}.member-history-content .member-course-detail[hidden]{display:none!important}
