/* 정예멤버 골프회 — golf-club.html 톤 이식 */
:root{
  --green:#1e4031; --green-2:#2c5a44; --green-soft:#3c7257;
  --cream:#f3ecdb; --cream-2:#e9dfc7; --paper:#fbf7ec;
  --brass:#b08433; --brass-2:#caa252; --ink:#22271f;
  --terra:#bb5a3c; --line:rgba(30,64,49,.16);
  --shadow:0 12px 30px -14px rgba(30,40,30,.45);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Gowun Dodum',sans-serif; color:var(--ink);
  background:
    radial-gradient(circle at 12% -5%, rgba(176,132,51,.10), transparent 40%),
    radial-gradient(circle at 90% 110%, rgba(60,114,87,.12), transparent 45%),
    var(--cream);
  min-height:100vh; line-height:1.6;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; opacity:.5; z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
}
.wrap{max-width:880px;margin:0 auto;padding:0 18px 80px;position:relative;z-index:1}

/* ---- header ---- */
header{text-align:center;padding:46px 0 24px}
.crest{
  display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;
  border:2px solid var(--brass);border-radius:50%;color:var(--green);
  font-family:'Fraunces',serif;font-size:30px;margin-bottom:14px;
  box-shadow:inset 0 0 0 4px var(--paper),0 0 0 1px var(--brass);
}
header .kr{font-family:'Gowun Batang',serif;font-weight:700;font-size:30px;color:var(--green);letter-spacing:.04em}
header .en{font-family:'Fraunces',serif;font-style:italic;font-size:15px;color:var(--brass);letter-spacing:.18em;text-transform:uppercase;margin-top:4px}
header .sub{font-size:13px;color:var(--green-soft);margin-top:10px}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--brass),transparent);margin:22px auto 0;max-width:340px}

/* ---- nav ---- */
nav{position:sticky;top:0;z-index:20;display:flex;gap:4px;justify-content:center;flex-wrap:wrap;
  padding:10px;margin:8px 0 26px;background:rgba(251,247,236,.86);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
nav a{font-family:'Gowun Dodum';font-size:14px;color:var(--green-2);background:none;border:none;text-decoration:none;
  padding:8px 14px;border-radius:999px;cursor:pointer;transition:.18s;white-space:nowrap}
nav a:hover{background:var(--cream-2)}
nav a.on{background:var(--green);color:var(--paper)}

section{display:block;animation:fade .4s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

h2{font-family:'Gowun Batang',serif;font-size:22px;color:var(--green);margin-bottom:4px;display:flex;align-items:baseline;gap:9px}
h2 .en{font-family:'Fraunces',serif;font-style:italic;font-size:13px;color:var(--brass);font-weight:500;letter-spacing:.06em}
.desc{font-size:13px;color:var(--green-soft);margin-bottom:18px}

.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:18px 20px;margin-bottom:14px;position:relative}

/* ---- members ---- */
.members{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.mem{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:15px 16px;box-shadow:var(--shadow);transition:.2s}
.mem:hover{transform:translateY(-3px)}
.mem .top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.ava{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:'Gowun Batang',serif;font-weight:700;font-size:17px;color:var(--paper);background:var(--green-2);flex:none}
.mem .nm{font-family:'Gowun Batang',serif;font-weight:700;font-size:16px;color:var(--green)}
.mem .full{font-size:11px;color:var(--green-soft)}
.bday{display:inline-block;font-size:11px;color:var(--brass);border:1px solid var(--brass);border-radius:999px;padding:1px 9px;margin-left:auto}
.mem .note{font-size:12px;color:#5a6157;line-height:1.5}

/* ---- birthday event ---- */
.ev{display:flex;align-items:flex-start;gap:14px;padding:13px 16px;border-radius:12px;border:1px solid var(--line);
  background:var(--paper);margin-bottom:10px;box-shadow:var(--shadow)}
.ev.empty{opacity:.5;box-shadow:none}
.ev.done{background:linear-gradient(0deg,rgba(60,114,87,.08),rgba(60,114,87,.08)),var(--paper);border-color:var(--green-soft)}
.mo{font-family:'Fraunces',serif;font-style:italic;font-size:22px;color:var(--green);width:54px;flex:none;text-align:center;line-height:1.1}
.mo small{display:block;font-family:'Gowun Dodum';font-style:normal;font-size:11px;color:var(--brass)}
.ev .body{flex:1;min-width:0}
.ev .who{font-family:'Gowun Batang',serif;font-weight:700;color:var(--green);font-size:15px}
.ev .who .none{color:#9a9486;font-weight:400;font-size:13px}
.ev .meta{font-size:12px;color:var(--green-soft);margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ev .meta input{font-family:'Gowun Dodum';font-size:12px;border:none;border-bottom:1px dotted var(--brass);background:none;color:var(--terra);width:140px}
.ev .meta button{font-size:11px;border:1px solid var(--brass);color:var(--brass);background:none;border-radius:999px;padding:2px 9px;cursor:pointer}
.toggle{flex:none;align-self:center;font-size:12px;border:1px solid var(--green-soft);color:var(--green-2);background:none;
  border-radius:999px;padding:5px 12px;cursor:pointer;transition:.18s;white-space:nowrap}
.toggle.done{background:var(--green-soft);color:var(--paper);border-color:var(--green-soft)}
.ruleline{font-size:12px;color:var(--green-soft);background:var(--cream-2);border-left:3px solid var(--brass);
  border-radius:0 8px 8px 0;padding:10px 14px;margin-bottom:16px}
.bday-summary{font-family:'Gowun Batang',serif;font-size:14px;color:var(--green);background:var(--paper);
  border:1px solid var(--green-soft);border-radius:12px;padding:11px 15px;margin-bottom:14px}
.bday-summary b{color:var(--terra)}
.ev .who .bcount{font-family:'Gowun Dodum';font-size:11px;color:var(--paper);background:var(--brass);
  border-radius:999px;padding:1px 9px;margin-left:8px;vertical-align:middle}
.ev.birthday .meta.none{color:#9a9486}
.bactions{flex:none;align-self:flex-start;display:flex;gap:6px;flex-wrap:wrap}
.bactions .toggle.done{background:var(--green-soft);color:var(--paper);border-color:var(--green-soft)}
/* 생일 완료 이력 */
.bhistory{margin-top:6px;display:flex;flex-direction:column;gap:5px}
.bdone-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:#5a6157}
.bdone-text{font-family:'Gowun Batang',serif;color:var(--green-2)}
details.bitem-edit,details.badd{display:inline-block}
details.bitem-edit>summary,details.badd>summary{cursor:pointer;list-style:none}
details.bitem-edit>summary::-webkit-details-marker,details.badd>summary::-webkit-details-marker{display:none}
details.bitem-edit>summary{font-size:11px;color:var(--brass);border:1px solid var(--brass);border-radius:999px;padding:1px 8px}
.bform{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:7px;background:var(--cream-2);padding:8px 10px;border-radius:10px}
.bform input[type=date]{width:auto;font-size:13px;padding:6px 9px}
.bform input[type=text]{flex:1;min-width:120px;font-size:13px;padding:6px 9px}
.bform-btns{display:flex;gap:6px;width:100%;margin-top:2px}
.edit-done-bar{margin-top:14px;padding-top:10px;border-top:1px dashed var(--line);text-align:center}

/* ---- rounds ---- */
.round .rtop{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.round .place{font-family:'Gowun Batang',serif;font-weight:700;font-size:18px;color:var(--green)}
.round .date{font-family:'Fraunces',serif;font-style:italic;color:var(--brass);font-size:14px}
.photo{margin:13px 0;border-radius:10px;min-height:150px;display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(45deg,var(--cream-2),var(--cream-2) 12px,var(--cream) 12px,var(--cream) 24px);
  color:var(--green-soft);font-size:13px;border:1px dashed var(--line);overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.photo label{cursor:pointer;text-align:center;padding:30px 10px}
.photo input[type=file]{display:block;margin:8px auto 0;font-size:12px;max-width:220px}
.photo .uplbtn{margin-top:8px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:13px 0 8px}
.gphoto{display:block;border-radius:10px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--cream-2)}
.gphoto img{width:100%;height:100%;object-fit:cover;display:block;transition:.2s}
.gphoto:hover img{transform:scale(1.04)}
.addphotos{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.addphotos input[type=file]{font-size:12px;max-width:200px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.chip{font-size:12px;background:var(--cream-2);color:var(--green-2);border-radius:999px;padding:3px 11px}
.chip.win{background:var(--green-soft);color:var(--paper)}
.chip.guest{border:1px dashed var(--brass)}
.info-line{font-size:12.5px;color:#5a6157;margin-top:8px}
.info-line b{color:var(--green-2);font-weight:400;font-family:'Gowun Batang',serif}
.recap{font-family:'Gowun Batang',serif;font-size:14.5px;color:var(--green);background:var(--cream-2);
  border-radius:10px;padding:11px 15px;margin:4px 0 12px;line-height:1.65}
.hl-wrap{margin-top:14px;border-top:1px dashed var(--line);padding-top:12px}
.hl-title{font-family:'Gowun Batang',serif;font-weight:700;color:var(--green);font-size:14px;margin-bottom:8px}
.hl-title span{font-family:'Fraunces',serif;font-style:italic;font-size:11px;color:var(--brass);font-weight:500;margin-left:5px;letter-spacing:.06em}
.hl{border-left:3px solid var(--brass);padding:3px 0 3px 12px;margin-bottom:9px}
.hl-q{font-family:'Gowun Batang',serif;color:var(--ink);font-size:14px;line-height:1.5}
.hl-w{font-size:12px;color:var(--green-soft);margin-top:2px}
.hl-w span{color:#8a8678}
.maplink{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--terra);text-decoration:none;
  border:1px solid var(--terra);border-radius:999px;padding:3px 11px;margin-top:10px;transition:.18s}
.maplink:hover{background:var(--terra);color:var(--paper)}
.maplink.sm{padding:1px 9px;font-size:11px;margin:0 0 0 7px;border-radius:999px}
.teams{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.team{background:var(--cream-2);border-radius:10px;padding:9px 12px}
.team h4{font-family:'Fraunces',serif;font-style:italic;font-size:13px;color:var(--green);margin-bottom:4px}

/* ---- next round / ladder ---- */
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;color:var(--green-2);margin-bottom:6px;font-family:'Gowun Batang',serif}
input[type=text],input[type=date],select{font-family:'Gowun Dodum';width:100%;padding:9px 12px;border:1px solid var(--line);
  border-radius:10px;background:var(--paper);color:var(--ink);font-size:14px}
.pick{display:flex;flex-wrap:wrap;gap:7px}
.pick label{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:5px 13px;cursor:pointer;
  background:var(--paper);color:var(--green-2);transition:.16s;user-select:none}
.pick label.sel{background:var(--green);color:var(--paper);border-color:var(--green)}
.pick input{display:none}
.btn{font-family:'Gowun Batang',serif;font-weight:700;background:var(--green);color:var(--paper);border:none;
  border-radius:10px;padding:11px 20px;font-size:15px;cursor:pointer;transition:.18s}
.btn:hover{background:var(--green-2)}
.btn.ghost{background:none;color:var(--green-2);border:1px solid var(--green-soft)}
.btn.brass{background:var(--brass);} .btn.brass:hover{background:var(--brass-2)}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.result{margin-top:16px}
.empty-state{text-align:center;color:var(--green-soft);font-size:14px;padding:30px 0}
.small{font-size:12px;color:var(--green-soft)}
footer{text-align:center;font-size:12px;color:var(--green-soft);margin-top:36px}
footer .en{font-family:'Fraunces',serif;font-style:italic;color:var(--brass)}
footer a{color:var(--terra)}
.admin-tag{font-size:11px;background:var(--terra);color:var(--paper);border-radius:999px;padding:2px 9px}
@media(max-width:520px){.teams{grid-template-columns:1fr}}

/* ---- 라운딩 생명주기 ---- */
.sec-head{font-family:'Gowun Batang',serif;font-size:17px;color:var(--green);margin:26px 0 12px;
  display:flex;align-items:baseline;gap:8px;border-bottom:1px solid var(--line);padding-bottom:6px}
.sec-head .small{font-family:'Gowun Dodum'}
.status-badge{font-size:11px;border-radius:999px;padding:1px 9px;margin-left:8px;vertical-align:middle;font-family:'Gowun Dodum'}
.status-badge.up{background:var(--brass);color:var(--paper)}
.status-badge.done{background:var(--green-soft);color:var(--paper)}
.btn-sm{padding:6px 13px;font-size:13px;border-radius:9px}
.btn.danger{background:var(--terra);color:var(--paper)} .btn.danger:hover{background:#a44}
.del-sm{font-size:11px;border:1px solid var(--terra);color:var(--terra);background:none;border-radius:999px;
  padding:1px 8px;cursor:pointer;line-height:1.4}
.del-sm:hover{background:var(--terra);color:var(--paper)}
.inline-del{display:inline;margin-left:6px}

/* 사진 삭제 오버레이 */
.gphoto-wrap{position:relative}
.photo-del{position:absolute;top:5px;right:5px;margin:0}
.photo-del button{background:rgba(187,90,60,.92);color:#fff;border:none;border-radius:50%;
  width:24px;height:24px;cursor:pointer;font-size:12px;line-height:1}

/* 사다리 이력 */
.ladder{margin-top:14px;border-top:1px dashed var(--line);padding-top:12px}
.draw{background:var(--cream-2);border-radius:10px;padding:8px 12px;margin-bottom:8px;opacity:.7}
.draw.current{opacity:1;border:1px solid var(--green-soft);background:linear-gradient(0deg,rgba(60,114,87,.06),rgba(60,114,87,.06)),var(--cream-2)}
.draw-head{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--green-2);margin-bottom:6px}
.cur-tag{font-size:10px;background:var(--green);color:var(--paper);border-radius:999px;padding:1px 7px}

/* 인라인 편집 */
details.edit{margin-top:14px;border-top:1px dashed var(--line);padding-top:10px}
details.edit>summary{cursor:pointer;font-family:'Gowun Batang',serif;color:var(--green-2);font-size:13px;list-style:none}
details.edit>summary::-webkit-details-marker{display:none}
details.edit[open]>summary{margin-bottom:10px}
.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.edit-grid label{display:flex;flex-direction:column;font-size:12px;color:var(--green-2);gap:3px}
.edit-grid label.full{grid-column:1 / -1}
.edit-grid input{font-size:13px;padding:7px 10px}
.edit-grid button{grid-column:1 / -1;justify-self:start}
.edit-block{margin-top:14px;padding-top:10px;border-top:1px dotted var(--line)}
.eb-title{font-family:'Gowun Batang',serif;font-size:13px;color:var(--green);margin-bottom:8px}
.place-row,.hl-add{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:7px}
.place-row input[type=text],.hl-add input{flex:1;min-width:120px;font-size:13px;padding:6px 9px}
.place-row select{width:auto;font-size:13px;padding:6px 9px}
.admin-zone{border-top:1px solid var(--terra)}
/* 식당 편집: 표시이름/지도검색 2칸 */
.place-edit{display:grid;grid-template-columns:auto 56px 1fr 1fr auto auto;gap:6px;align-items:center;margin-bottom:7px}
.place-edit input,.place-edit select{font-size:13px;padding:6px 9px}
.place-edit.add{border-top:1px dotted var(--line);padding-top:8px}
.edit-grid .hint,.eb-title .hint{display:block;font-size:11px;color:var(--green-soft);font-weight:400;font-family:'Gowun Dodum';margin-top:2px}
.eb-title .hint{display:inline;margin-left:6px}
/* 토스트 */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);
  background:var(--green);color:var(--paper);padding:9px 18px;border-radius:999px;font-size:13px;
  box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.22s;z-index:50}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:520px){.edit-grid{grid-template-columns:1fr}.place-edit{grid-template-columns:auto 52px 1fr 1fr;}.place-edit button{grid-column:span 2}}
