/* INFI8 member screens: type, font and focus polish (owner request 2026-10-06, stages 1-2 of the UI review).
   Loaded last on index.html. Everything is scoped to body.refined-member (member routes) except the focus-ring rule,
   which app.js drives through html[data-input]: pointer = tap/click (no rings), key = Tab/arrows/TV remote (rings stay). */

@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/barlow-condensed-600.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/barlow-condensed-700.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/barlow-condensed-800.woff2) format("woff2")}

/* 1. Focus rings: keyboard / TV remote only */
html[data-input="pointer"] :is(:focus,:focus-visible){outline:none!important}
html[data-input="pointer"] :is(:focus,:focus-visible)+:is(span,.set-switch){outline:none!important}

/* 2. Tokens: one Korean UI font, one number font shared with the center TV, one lime */
body.refined-member{
  --lime:#ddf878;
  --kr:"Pretendard Variable",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;
  --num:"Barlow Condensed","Pretendard Variable",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  --body-font:var(--kr);--display-font:var(--num);
  --tx:#f2f4ef;--tx2:#bcc5bf;--tx3:#909b95;--ln:#34413b;--fld:#141a19;--chip:#1a2120;
  font-family:var(--kr);letter-spacing:-.01em;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased
}
body.refined-member :is(button,input,select,textarea){font-family:var(--kr)}
/* Owner report 2026-10-06 18:20: use the text-wrap-style longhand only. The text-wrap shorthand also resets text-wrap-mode to wrap,
   which undid white-space:nowrap on the intro tag and slogan (<p>) once app.js added refined-member, so they broke into 3 lines. */
body.refined-member :is(h1,h2,h3){text-wrap-style:balance}
body.refined-member p{text-wrap-style:pretty}
body.refined-member #intro p{white-space:nowrap}

/* 3. Type floor: nothing a member needs to read under 12px; help text 13px */
body.refined-member .fine{font-size:13px!important;line-height:1.55}
body.refined-member .eyebrow{font-size:12px!important;letter-spacing:.12em!important}
body.refined-member .page-title h1{letter-spacing:-.02em}
body.refined-member .page-title p{font-size:14px}
body.refined-member :is(.muted,.empty){font-size:14px}
body.refined-member .identity-switch span{font-size:12px}
body.refined-member .status-tag{font-size:12px!important}
body.refined-member :is(.social-comment-meta small,.social-flag,.journal-play,.member-summary .summary-cell span,.member-summary .summary-cell small,.week-strip .day-dot small,.date-strip button span,.class-time span,.class-info small,.class-total-grid span,.weeks .week small){font-size:12px!important}
body.refined-member dd small{font-size:12px!important}
body.refined-member .season-kicker{font-size:12px!important}
body.refined-member .season-kicker span{font-size:11px!important}
body.refined-member :is(.date-picker,.class-info p,.crm-empty p){font-size:13px!important}
body.refined-member :is(.class-action button.primary,.gym-booking-action button,.member-hero .hero-copy button.primary){font-size:14px!important}
body.refined-member .service-shortcuts button.subtle{font-size:13px!important}
body.refined-member .hero-foot{font-size:12px!important;letter-spacing:.08em!important}
body.refined-member :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{border-color:var(--lime)}

/* 4. Header and the back bar: readable screen title, no dead back button on the first screen */
body.refined-member .member-header #logout{border:0;background:transparent;color:var(--tx3);font-size:13px;font-weight:600;padding:8px 4px;min-height:0;box-shadow:none}
body.refined-member .detail-back-bar{padding:6px 0;margin-bottom:16px;justify-content:flex-start;gap:4px;border-bottom-color:#26302b}
body.refined-member .detail-back-button{width:40px;height:40px;border:0;background:transparent}
body.refined-member .detail-back-button span{color:var(--lime)}
body.refined-member .detail-back-button:disabled{display:none}
body.refined-member .detail-back-bar>span{font-size:17px;font-weight:700;color:var(--tx);letter-spacing:-.02em}

/* 5. Tab bar: calm selected state, 11px names, the centre name stays neutral unless selected */
body.refined-member .member-tabs{background:#19201ef2!important;border-color:#2f3a35!important}
body.refined-member .member-tabs button{color:#c3cbc5}
body.refined-member .member-tabs button span{font-size:11px!important;font-weight:600;letter-spacing:-.01em}
body.refined-member .member-tabs button.selected{background:#ddf8781f!important;color:var(--lime)!important}
body.refined-member .member-tabs .challenge-nav:not(.selected){color:#c3cbc5}
body.refined-member .member-tabs .challenge-nav.selected .enuf-challenge-symbol{filter:invert(1);mix-blend-mode:screen}
@media (min-width:760px){body.refined-member .member-tabs{width:480px!important}}

/* 6. Floating layers: booking CTA centred, inquiry as a round icon, nothing floats over the keyboard */
body.refined-member .booking-fab{font-size:15px;font-weight:700;padding:13px 20px;left:50%}
body.refined-member .member-inquiry{width:46px;height:46px;min-height:46px;padding:0;gap:0;justify-content:center;border-radius:50%}
body.refined-member .member-inquiry svg{width:20px;height:20px;flex:none}
body.refined-member .member-inquiry .inquiry-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.refined-member:has(#daily-form) :is(.booking-fab,.member-inquiry){display:none}
@media (hover:none) and (pointer:coarse){
  body.refined-member:has(:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=button]):not([type=submit]),textarea,select):focus) :is(.member-tabs,.member-inquiry,.booking-fab){display:none!important}
}
body.refined-member .member-main{padding-bottom:calc(150px + env(safe-area-inset-bottom))}

/* 7. Record form (운동 기록) */
body.refined-member .record-date-bar{gap:8px;margin-bottom:22px}
body.refined-member .record-date-bar button{min-width:60px;padding:9px 12px!important;border-radius:14px!important;border-color:var(--ln)!important;background:transparent!important}
body.refined-member .record-date-bar button b{font-family:var(--num);font-size:18px;font-weight:700;letter-spacing:.02em}
body.refined-member .record-date-bar button small{font-size:11px;font-weight:600}
body.refined-member .record-date-bar button[aria-pressed="true"]{background:var(--lime)!important;border-color:var(--lime)!important}
body.refined-member #daily-form .quick-wod .eyebrow{font-family:var(--num);font-size:15px!important;letter-spacing:.08em!important;color:var(--tx3)}
body.refined-member #daily-form .quick-wod h2{font-family:var(--num);font-size:34px;font-weight:700;letter-spacing:.01em;line-height:1.05;margin-top:2px}
body.refined-member #daily-form legend{font-size:14px!important;font-weight:600;color:var(--tx2)!important;margin-bottom:10px!important}
body.refined-member .level-picker{gap:8px;margin:0 0 22px}
body.refined-member .level-picker span{font-family:var(--num);font-style:normal;font-size:19px;font-weight:700;letter-spacing:.1em;padding:0;height:48px;display:flex!important;align-items:center;justify-content:center;border-width:1px;border-color:#3e4b45;border-radius:12px;background:var(--chip);color:var(--tx)}
body.refined-member .level-picker .level-peak input:checked+span{background:var(--lime);border-color:var(--lime)}
body.refined-member .cap-choice{gap:8px!important;margin:0 0 4px}
body.refined-member .cap-choice label{margin:0!important;min-height:52px;padding:0 16px!important;gap:12px;font-size:15px!important;font-weight:600;border-radius:12px!important;border-color:var(--ln)!important;background:var(--chip)}
body.refined-member .cap-choice label:has(input:checked){border-color:var(--lime)!important;background:#ddf87812}
body.refined-member .cap-choice .fine{margin-top:4px!important}
body.refined-member .score-host .sb-title{font-size:15px;font-weight:700;color:var(--tx);margin:18px 0 10px}
body.refined-member .score-box .sb-label{font-size:13px;font-weight:600;color:var(--tx2)}
body.refined-member .score-box .sb-field:only-of-type .sb-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.refined-member .score-box .sb-input{height:56px;padding:0 16px;border-radius:12px;border-color:#3e4b45;background:var(--fld)}
body.refined-member .score-box .sb-input:focus-within{border-color:var(--lime);box-shadow:0 0 0 3px #ddf87826}
body.refined-member .score-box .sb-input input{font-family:var(--num);font-size:28px!important;font-weight:700;text-align:left;padding:0!important;letter-spacing:.02em}
body.refined-member .score-box .sb-input input::placeholder{color:#59645f}
body.refined-member .score-box .sb-input em{font-size:15px;font-weight:600;color:var(--tx2)}
body.refined-member .score-box .sb-sep{font-size:22px;padding-bottom:16px}
body.refined-member .quick-record-form>label input:not([type=checkbox]){font-size:17px;min-height:54px}
body.refined-member .rank-optout{gap:12px;font-size:15px!important;font-weight:600;padding:16px 0 6px!important}
body.refined-member .rank-optout input{-webkit-appearance:checkbox;appearance:auto;width:22px!important;height:22px!important;min-height:0!important;min-width:22px;font-size:inherit!important;padding:0!important;margin:0!important;border:0!important;background:none!important;accent-color:var(--lime);flex:none}
body.refined-member #daily-form button.primary{min-height:54px;font-size:17px;border-radius:14px}

/* 8. One lime on member screens */
body.refined-member :is(.roster-mine,.roster-table .roster-find,.social-post,.social-rules a,.race-roster-summary .eyebrow){color:var(--lime)}
body.refined-member .my-services [data-service-kind="hold"]{background:var(--lime)}
body.refined-member .social-rules input{accent-color:var(--lime)}

/* 9. Race roster: wider table, readable names, quieter sub-labels */
body.refined-member .race-roster.surface{padding-left:12px;padding-right:12px}
body.refined-member .roster-table th{font-size:12px!important;font-weight:600;color:var(--tx3)}
body.refined-member .roster-table td{vertical-align:top}
body.refined-member .roster-person{font-size:15px!important;font-weight:700}
body.refined-member .roster-division{font-size:14px!important;font-weight:500;color:var(--tx)}
body.refined-member .roster-window{font-size:14px!important;font-weight:600}
body.refined-member .roster-table small{font-size:12px!important;color:var(--tx3)}

/* 10. App feel (owner 2026-10-06): no double-tap zoom, no text inflation */
html[data-input]{touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* 11. 오늘의 운동: the whole WOD in the card, no inner scroll box (owner 2026-10-06) */
body.refined-member .today-workout .workout-content{max-height:none!important;overflow:visible!important;font-size:15px;font-weight:600;line-height:1.75}

/* 12. One record per day: the saved day opens as 기록 수정 */
body.refined-member .record-edit-note{margin:0 0 18px;padding:12px 14px;border-radius:12px;border:1px solid #ddf87840;background:#ddf87812;color:#e8f0c9;font-size:14px;font-weight:600;line-height:1.5}

/* 13. 체크인 취소 on 나의 예약 */
body.refined-member .booking-mini .checkin-undo{border:1px solid #6b4f45;color:#ffcfc4;background:transparent;font-size:14px;font-weight:700;border-radius:12px;padding:9px 14px;margin-top:10px}
body.refined-member .checkin-undo-note{margin-top:8px}

/* 14. Comments: ♡ and 💬 with counts on the card, the list and composer in a bottom sheet */
body.refined-member .social-reactions{gap:4px}
body.refined-member .social-panel>.social-discussion[hidden]{display:none!important}
body.refined-member .social-comment-open{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 10px;border:0;border-radius:20px;background:transparent;color:var(--tx);font-size:15px;font-weight:600;cursor:pointer}
body.refined-member .social-comment-open svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
body.refined-member .social-comment-open:active{background:#ffffff12}
body.refined-member dialog.comment-sheet{position:fixed;inset:auto 0 0 0;width:100%;max-width:560px;max-height:min(82vh,720px);margin:0 auto;padding:0;border:0;border-radius:22px 22px 0 0;background:#1a2120;color:var(--tx);box-shadow:0 -14px 40px #0009;overflow:hidden}
body.refined-member dialog.comment-sheet[open]{display:flex;flex-direction:column;animation:sheet-up .22s ease-out}
body.refined-member dialog.comment-sheet::backdrop{background:#000000a6}
body.refined-member .comment-sheet .sheet-inner{display:flex;flex-direction:column;min-height:0;max-height:min(82vh,720px);width:100%}
body.refined-member .comment-sheet .sheet-head{position:relative;display:flex;align-items:center;justify-content:center;padding:18px 52px 12px;border-bottom:1px solid #2c3833}
body.refined-member .comment-sheet .sheet-grip{position:absolute;top:7px;left:50%;width:38px;height:4px;margin-left:-19px;border-radius:2px;background:#46524c}
body.refined-member .comment-sheet h2{margin:0;font-size:16px;font-weight:700}
body.refined-member .comment-sheet .sheet-close{position:absolute;right:10px;top:8px;width:40px;height:40px;border:0;background:transparent;color:var(--tx2);font-size:26px;line-height:1}
body.refined-member .comment-sheet .sheet-list{flex:1 1 auto;min-height:120px;max-height:none!important;overflow-y:auto;padding:8px 18px;-webkit-overflow-scrolling:touch}
body.refined-member .comment-sheet .sheet-empty{margin:28px 0;text-align:center;color:var(--tx2);font-size:14px}
body.refined-member .comment-sheet .sheet-composer{padding:10px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #2c3833;background:#1a2120}
body.refined-member .comment-sheet .social-rules{margin:0 0 8px;font-size:13px}
@keyframes sheet-up{from{transform:translateY(48px);opacity:.6}to{transform:none;opacity:1}}

/* 12. WOD card (owner guideline 2026-10-06, public/wod-view.js): PEAK lists every movement; BUILD / START that repeat
   PEAK show only the loads, like the center TV; the coach's memo sits under a small "코치 코멘트" title, one sentence a line. */
body.refined-member .workout-content.wod-structured{white-space:normal}
body.refined-member .wod-structured p{margin:0}
body.refined-member .wod-structured .wod-a{margin-bottom:8px;font-size:15px}
body.refined-member .wod-structured .wod-m{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 8px;font-size:14px;color:#dde1d9;word-break:keep-all}
body.refined-member .wod-structured .wod-m b{padding:2px 8px;border:1px solid #8b9b6c;border-radius:999px;color:#ddf878;font-size:12px;white-space:nowrap}
body.refined-member .wod-structured .wod-head{font-family:var(--num);font-size:20px;font-weight:700;letter-spacing:.02em;color:var(--tx)}
body.refined-member .wod-structured .wod-score{margin-top:2px;font-size:13px;font-weight:600;line-height:1.5;color:var(--tx2)}
body.refined-member .wod-structured .wod-teamline{display:inline-block;margin:6px 0 2px;padding:2px 9px;border-radius:999px;background:rgba(228,246,48,.14);color:var(--lime);font-size:12.5px;font-weight:800;letter-spacing:.02em}
body.refined-member .wod-structured .wod-team3{margin:10px 0 2px;padding:9px 12px;border:1.5px solid var(--lime);border-radius:10px;font-size:14px;font-weight:600;line-height:1.45;color:var(--tx);word-break:keep-all}
body.refined-member .wod-structured .wod-team3 b{display:inline-block;margin-right:6px;padding:2px 7px;border-radius:5px;background:var(--lime);color:#111;font-size:12px;font-weight:800}
body.refined-member .wod-structured .wod-level{margin-top:14px}
body.refined-member .wod-structured .wod-lv{display:inline-block;margin-bottom:6px;padding:2px 9px;border:1.5px solid var(--lime);border-radius:7px;font-family:var(--num);font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--lime)}
body.refined-member .wod-structured .lv-build .wod-lv{border-color:#9fe0c0;color:#9fe0c0}
body.refined-member .wod-structured .lv-start .wod-lv{border-color:#ffb86b;color:#ffb86b}
body.refined-member .wod-structured ul{margin:0;padding:0;list-style:none}
body.refined-member .wod-structured li{padding:3px 0;font-size:15px;font-weight:600;line-height:1.5;word-break:keep-all}
body.refined-member .wod-structured .wod-reps{margin-right:4px;font-family:var(--num);font-weight:700;color:var(--lime)}
body.refined-member .wod-structured .wod-load{color:var(--tx2);white-space:nowrap}
body.refined-member .wod-structured li.wod-same{font-size:17px;font-weight:700}
body.refined-member .wod-structured li.wod-same b{margin-right:6px;font-family:var(--num);letter-spacing:.06em;color:var(--tx2)}
body.refined-member .wod-structured .lv-build li.wod-same{color:#9fe0c0}
body.refined-member .wod-structured .lv-start li.wod-same{color:#ffb86b}
body.refined-member .wod-structured .wod-note{margin-top:16px;padding-top:12px;border-top:1px solid var(--ln)}
body.refined-member .wod-structured .wod-note-title{display:block;margin-bottom:6px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--lime)}
body.refined-member .wod-structured .wod-note p{font-size:14px;font-weight:500;line-height:1.65;color:var(--tx2);word-break:keep-all}
/* 나의 운동 프로필 v2 + A · STRENGTH load field (owner 2026-10-07) */
body.refined-member .my-performance .profile-rows{display:grid;gap:8px;margin-top:18px}
body.refined-member .my-performance .profile-rows h3{margin:0 0 4px;font-size:15px}
body.refined-member .my-performance .profile-row{padding:10px 14px}
body.refined-member .my-performance .profile-row summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"name score conf" "spark spark spark";align-items:center;column-gap:10px;row-gap:4px;cursor:pointer}
body.refined-member .my-performance .profile-row .profile-row-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"name score conf" "spark spark spark";align-items:center;column-gap:10px;row-gap:4px}
body.refined-member .my-performance .profile-row .profile-name{grid-area:name;white-space:nowrap}
body.refined-member .my-performance .profile-lead{margin:0 0 10px;color:#dde1d9;word-break:keep-all}
body.refined-member .my-performance .profile-about{margin:0 0 12px;padding:0 14px;border:1px solid #3d4540;border-radius:14px}
body.refined-member .my-performance .profile-about summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-size:13px;font-weight:700;color:#c9d6a0}
body.refined-member .my-performance .profile-about[open] summary{border-bottom:1px solid #2f3537}
body.refined-member .my-performance .profile-about-body{padding:12px 0 14px}
body.refined-member .my-performance .profile-about-body h3{margin:0 0 6px;font-size:16px}
body.refined-member .my-performance .profile-about-body p{margin:0 0 10px;line-height:1.55;word-break:keep-all}
body.refined-member .my-performance .profile-about-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
body.refined-member .my-performance .profile-about-list li{display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:10px;font-size:13px;line-height:1.45;word-break:keep-all}
body.refined-member .my-performance .profile-about-list b{color:#ddf878;font-weight:700;white-space:nowrap}
body.refined-member .my-performance .profile-about-list span{color:#dde1d9}
body.refined-member .my-performance .profile-about-list small{display:block;margin-top:1px;font-size:12px;color:#aeb7a9}
body.refined-member .my-performance .profile-about-h{margin:14px 0 6px!important;font-size:13px;font-weight:800;color:#f3f4ee}
body.refined-member .my-performance .profile-about-data b{color:#f3f4ee}
body.refined-member .my-performance .profile-about button{width:100%;min-height:44px}
body.refined-member .my-performance .profile-row .profile-score{grid-area:score}
body.refined-member .my-performance .profile-row .profile-conf{grid-area:conf}
body.refined-member .my-performance .profile-score{font-size:20px;color:#ddf878;font-variant-numeric:tabular-nums}
body.refined-member .my-performance .profile-conf{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid #3d4540;color:#aeb7a9;white-space:nowrap}
body.refined-member .my-performance .profile-conf.conf-high{border-color:#8b9b6c;color:#ddf878}
body.refined-member .my-performance .profile-conf.conf-mid{border-color:#5d6b4a;color:#c9d6a0}
body.refined-member .my-performance svg.profile-spark{grid-area:spark;width:100%;height:30px;margin:0;max-width:none}
body.refined-member .my-performance .profile-evidence{margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.65;color:#c5ccc0}
body.refined-member .my-performance .profile-flagged{border:1px solid #6b4a2a;border-radius:14px;padding:12px 14px;margin-top:14px}
body.refined-member .my-performance .profile-flagged h3{margin:0 0 6px;font-size:15px;color:#e6b775}
body.refined-member .my-performance .profile-flagged ul{margin:0;padding-left:18px;font-size:13px;line-height:1.6}
body.refined-member .my-performance .profile-method{margin-top:14px}
body.refined-member .my-performance .profile-method ol{padding-left:18px;line-height:1.7}
/* 매일 00시 업데이트 표시 (owner 2026-10-08): when the numbers were made, and own records waiting for the next 00:00 */
body.refined-member .my-performance .profile-update{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:6px 0 10px;font-size:12px;line-height:1.5}
body.refined-member .my-performance .profile-update-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid #3d4540;border-radius:999px;color:#c9d6a0;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
body.refined-member .my-performance .profile-update-chip i{width:6px;height:6px;border-radius:50%;background:#ddf878}
body.refined-member .my-performance .profile-update-wait{color:#aeb7a9}
/* 운동 프로필 v3 (owner 2026-10-08): solid = scored from records, grey dashed = 추정 (no test yet) */
body.refined-member .my-performance .profile-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin:4px 0 0;font-size:12px;color:#aeb7a9}
body.refined-member .my-performance .profile-legend .lg{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
body.refined-member .my-performance .profile-legend .lg::before{content:"";width:9px;height:9px;border-radius:50%;box-sizing:border-box}
body.refined-member .my-performance .profile-legend .lg-solid::before{background:#ddf878;border:2px solid #ddf878}
body.refined-member .my-performance .profile-legend .lg-est::before{background:transparent;border:2px dashed #8a9387}
body.refined-member .my-performance .profile-conf.conf-est{border-style:dashed;border-color:#5f685c;color:#aeb7a9}
body.refined-member .my-performance .profile-conf.conf-wait{border-color:#3d4540;color:#8a9387}
body.refined-member .my-performance .profile-row.is-estimate .profile-score{color:#a9b2a5}
body.refined-member .my-performance .profile-rank{margin:8px 0 0;font-size:14px;font-weight:700;color:#ddf878;word-break:keep-all}
body.refined-member .my-performance .profile-change{margin:4px 0 0;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
body.refined-member .my-performance .profile-change.up{color:#9fe0a0}
body.refined-member .my-performance .profile-change.down{color:#f0a37a}
body.refined-member .my-performance .profile-best{margin:4px 0 0;font-size:13px;color:#c5ccc0}
body.refined-member .my-performance .profile-best b{color:#dde1d9;font-variant-numeric:tabular-nums}
body.refined-member .my-performance .profile-best small{color:#8a9387;margin-left:4px}
/* A · STRENGTH (owner 2026-10-14): the member's own load, first in the record form and on the team card. One big weight box
   with a kg|lb switch; the reps follow the WOD ("10회 기준") and open only on 횟수 바꾸기. */
body.refined-member .strength-entry{border:1px solid #3d4540;border-radius:14px;padding:12px 14px 14px;margin:0;min-width:0}
body.refined-member .strength-entry legend{float:left;width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;margin:0 0 4px;font-size:15px;font-weight:800;color:var(--tx);white-space:nowrap}
body.refined-member .strength-entry legend+*{clear:both}
body.refined-member .strength-entry legend em{font-style:normal;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:#ddf87822;color:#ddf878;white-space:nowrap}
body.refined-member .strength-entry .se-what{margin:0 0 10px;font-size:14px;line-height:1.45;color:#c5ccc0;word-break:keep-all}
body.refined-member .strength-entry .se-what b{color:var(--tx);font-weight:700}
body.refined-member .strength-entry .se-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
body.refined-member .strength-entry .se-weight{display:grid;gap:6px;min-width:0;margin:0;padding:0}
body.refined-member .strength-entry .se-label{font-size:13px;font-weight:600;color:#c5ccc0;white-space:nowrap}
body.refined-member .strength-entry .se-weight input{width:100%;min-width:0;height:52px;margin:0;padding:0 12px;font-size:22px;font-weight:700;text-align:center;box-sizing:border-box}
body.refined-member .strength-entry .se-unit{display:grid;grid-template-columns:48px 48px;gap:3px;padding:3px;height:52px;box-sizing:border-box;margin:0;border:1px solid #3d4540;border-radius:12px}
body.refined-member .strength-entry .se-unit label{position:relative;display:block;margin:0;cursor:pointer}
body.refined-member .strength-entry .se-unit input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
body.refined-member .strength-entry .se-unit span{display:flex;align-items:center;justify-content:center;height:100%;border-radius:8px;font-size:15px;font-weight:700;color:#aeb7a9}
body.refined-member .strength-entry .se-unit input:checked+span{background:#ddf878;color:#0b0c0d}
body.refined-member .strength-entry .se-unit input:focus-visible+span{outline:2px solid #ddf878;outline-offset:2px}
body.refined-member .strength-entry .se-reps{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0 -6px;font-size:13px;color:#c5ccc0;white-space:nowrap}
body.refined-member .strength-entry .se-reps[hidden],body.refined-member .strength-entry .se-reps-edit[hidden]{display:none}
body.refined-member .strength-entry .se-reps .text-action{min-height:44px;padding:0 2px;border:0;background:none;color:#ddf878;font-size:13px;font-weight:700;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
body.refined-member .strength-entry .se-reps-edit{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:10px 0 0;font-size:13px;font-weight:600;color:#c5ccc0;white-space:nowrap}
body.refined-member .strength-entry .se-reps-edit input{width:100%;min-width:0;height:44px;font-size:18px;font-weight:700;text-align:center;box-sizing:border-box}
body.refined-member .strength-entry .se-reps-edit em{font-style:normal;font-weight:700;color:var(--tx)}
/* 완주 / 미완주 (owner 2026-10-14 02:22): 완주 by default; 미완주 opens the failed set (chips), the reps done in it and a readback. */
body.refined-member .strength-entry .se-done{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;margin:0 0 12px;border:1px solid #3d4540;border-radius:12px}
body.refined-member .strength-entry .se-done label,body.refined-member .strength-entry .se-sets label{position:relative;display:block;margin:0;cursor:pointer}
body.refined-member .strength-entry .se-done input,body.refined-member .strength-entry .se-sets input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
body.refined-member .strength-entry .se-done span{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:9px;font-size:15px;font-weight:700;color:#aeb7a9;white-space:nowrap}
body.refined-member .strength-entry .se-done input:checked+span{background:#ddf878;color:#0b0c0d}
body.refined-member .strength-entry .se-done input[value="no"]:checked+span{background:#f0a37a;color:#0b0c0d}
body.refined-member .strength-entry .se-done input:focus-visible+span,body.refined-member .strength-entry .se-sets input:focus-visible+span{outline:2px solid #ddf878;outline-offset:2px}
body.refined-member .strength-entry .se-fail{display:grid;gap:10px;margin:12px 0 0;padding:12px 0 0;border-top:1px dashed #3d4540}
body.refined-member .strength-entry .se-fail[hidden]{display:none}
body.refined-member .strength-entry .se-fail-q{margin:0;font-size:13px;font-weight:600;color:#c5ccc0;white-space:nowrap}
body.refined-member .strength-entry .se-sets{display:flex;flex-wrap:wrap;gap:8px}
body.refined-member .strength-entry .se-sets span{display:flex;align-items:center;justify-content:center;width:48px;height:44px;border:1px solid #3d4540;border-radius:10px;font-size:16px;font-weight:700;color:#dde1d9}
body.refined-member .strength-entry .se-sets input:checked+span{background:#f0a37a;border-color:#f0a37a;color:#0b0c0d}
body.refined-member .strength-entry .se-fail-set,body.refined-member .strength-entry .se-fail-reps{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:0;font-size:13px;font-weight:600;color:#c5ccc0;white-space:nowrap}
body.refined-member .strength-entry .se-fail-set{grid-template-columns:minmax(0,1fr) auto}
body.refined-member .strength-entry .se-fail-set input,body.refined-member .strength-entry .se-fail-reps input{width:100%;min-width:0;height:44px;margin:0;font-size:18px;font-weight:700;text-align:center;box-sizing:border-box}
body.refined-member .strength-entry .se-fail-set em,body.refined-member .strength-entry .se-fail-reps em{font-style:normal;font-weight:700;color:var(--tx)}
body.refined-member .strength-entry .se-fail-sum{margin:0;font-size:14px;font-weight:700;color:#f0a37a;word-break:keep-all}
body.refined-member .strength-entry .se-fail-sum:empty{display:none}
body.refined-member .level-record-form>.strength-entry{margin-bottom:14px}
body.refined-member .strength-card{display:grid;gap:10px;margin:0 0 14px}
body.refined-member .strength-card>button{min-height:44px}
body.refined-member .strength-saved{margin:0 0 12px;font-size:14px;color:#c5ccc0;word-break:keep-all}
body.refined-member .strength-saved b{color:var(--tx);margin-right:6px}
/* 기록 방법 on the score itself (owner 2026-10-14): a long coach note sits right under the score label */
body.refined-member .score-host .sb-note{margin:-4px 0 10px;font-size:14px;font-weight:600;line-height:1.45;color:#e8f0c9;word-break:keep-all}
/* START free-load weight (owner 2026-10-08): the strength box, with a START-orange edge; shown only while START is picked */
body.refined-member .start-load-entry{border:1px solid #3d4540;border-left:4px solid #ffb86b;border-radius:14px;padding:12px 14px}
body.refined-member .start-load-entry[hidden]{display:none}
body.refined-member .start-load-entry legend{font-weight:700;padding:0 6px}
body.refined-member .start-load-entry .start-load-inputs{display:grid;gap:8px;margin:8px 0 0}
body.refined-member .start-load-entry .start-load-inputs label{display:grid;gap:4px;font-size:14px;font-weight:700}
body.refined-member .start-load-entry .start-load-inputs input{width:100%;min-width:0;padding:10px 8px;font-size:16px;text-align:center}
/* 난이도 기준 확인 + ELITE·PEAK·BUILD 무게 칸 (대표 2026-11-13, 최용준 코치 요청): 난이도를 고르면 열리는 두 칸짜리 확인과,
   낮춘 동작이 있을 때만 나오는 줄별 기준 버튼. 누른 버튼은 그 난이도 색, 터치 높이 46px 이상 */
body.refined-member .start-load-entry.level-load-build{border-left-color:#9fe0c0}
body.refined-member .start-load-entry.level-load-peak{border-left-color:var(--lime)}
body.refined-member .start-load-entry.level-load-elite{border-left-color:#d7dce1}
body.refined-member .start-load-entry .start-load-inputs small{font-size:12px;font-weight:500;color:var(--tx3)}
body.refined-member .scale-check{border:1px solid #3d4540;border-radius:14px;padding:12px 14px;min-width:0;margin:0}
body.refined-member .scale-check[hidden],body.refined-member .scale-check [hidden]{display:none}
body.refined-member .scale-check legend{font-weight:700;padding:0 6px}
body.refined-member .scale-check .fine{margin:0 0 10px}
body.refined-member .scale-ask{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.refined-member .scale-ask label,body.refined-member .scale-opts label{position:relative;display:block;min-width:0;margin:0}
body.refined-member .scale-ask input,body.refined-member .scale-opts input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
body.refined-member .scale-ask span,body.refined-member .scale-opts span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:6px 8px;border:1px solid #3e4b45;border-radius:12px;background:var(--chip);color:var(--tx);font-size:15px;font-weight:700;line-height:1.25;text-align:center}
body.refined-member .scale-ask input:checked+span{background:var(--tx);border-color:var(--tx);color:#0b0c0d}
body.refined-member .scale-ask input:focus-visible+span,body.refined-member .scale-opts input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
body.refined-member .scale-rows{display:grid;gap:12px;margin-top:14px}
body.refined-member .scale-row{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--ln);min-width:0}
body.refined-member .scale-move{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:15px;min-width:0}
body.refined-member .scale-move b{font-weight:700}
body.refined-member .scale-move span{color:var(--tx3);font-size:14px}
body.refined-member .scale-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px}
body.refined-member .scale-opts span{flex-direction:column;gap:1px;font-size:14px;font-weight:600;overflow-wrap:anywhere}
body.refined-member .scale-opts i{font-family:var(--num);font-style:normal;font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--tx3)}
body.refined-member .scale-opts input:checked+span i{color:inherit}
body.refined-member .scale-opts .level-peak input:checked+span{background:var(--lime);border-color:var(--lime);color:#0b0c0d}
body.refined-member .scale-opts .level-build input:checked+span{background:#9fe0c0;border-color:#9fe0c0;color:#0b0c0d}
body.refined-member .scale-opts .level-start input:checked+span{background:#ffb86b;border-color:#ffb86b;color:#0b0c0d}
body.refined-member .scale-result{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:var(--chip);font-size:15px;font-weight:700;text-align:center}
body.refined-member .scale-result[data-level=peak]{color:var(--lime)}
body.refined-member .scale-result[data-level=build]{color:#9fe0c0}
body.refined-member .scale-result[data-level=start]{color:#ffb86b}
/* Teammates' levels in the team record form + START weight on the team card (handoff 2026-10-07) */
body.refined-member .team-levels{border:1px solid #3d4540;border-radius:14px;padding:12px 14px;margin:0 0 18px}
body.refined-member .team-levels[hidden]{display:none}
body.refined-member .team-levels legend{font-weight:700;padding:0 6px}
body.refined-member .team-levels .fine{margin:2px 0 0}
body.refined-member .team-levels-list{display:grid;gap:10px;margin:10px 0 0}
body.refined-member .tl-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center}
body.refined-member .tl-name{min-width:0;display:flex;gap:6px;align-items:baseline}
body.refined-member .tl-name b{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.refined-member .tl-name small{font-size:12px;color:#9aa395}
body.refined-member .tl-pick{display:flex;gap:4px}
body.refined-member .tl-pick label{position:relative;display:block;margin:0}
body.refined-member .tl-pick input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%}
body.refined-member .tl-pick span{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:34px;padding:0 6px;border:1px solid #3d4540;border-radius:999px;font-family:var(--num);font-size:12.5px;font-weight:700;letter-spacing:.06em}
body.refined-member .tl-pick .level-peak input:checked+span{background:#e4f630;border-color:#e4f630;color:#0b0c0d}
body.refined-member .tl-pick .level-build input:checked+span{background:#9fe0c0;border-color:#9fe0c0;color:#0b0c0d}
body.refined-member .tl-pick .level-start input:checked+span{background:#ffb86b;border-color:#ffb86b;color:#0b0c0d}
body.refined-member .tl-pick input:focus-visible+span{outline:2px solid #c7ccc3}
body.refined-member .tl-load{grid-column:1/-1;display:grid;gap:6px}
body.refined-member .tl-load label{display:grid;grid-template-columns:minmax(0,1fr) auto 88px;gap:8px;align-items:center;font-size:13px;margin:0}
body.refined-member .tl-load small{font-size:12px;color:#9aa395}
body.refined-member .tl-load input{min-width:0;width:100%;padding:8px;font-size:16px;text-align:center}
body.refined-member .team-load{display:grid;gap:8px;margin:6px 0 12px}
body.refined-member .team-load .start-load-inputs{display:grid;gap:8px}
body.refined-member .team-load .start-load-inputs label{display:grid;gap:4px;font-size:14px;font-weight:700}
body.refined-member .team-load .start-load-inputs input{width:100%;min-width:0;padding:10px 8px;font-size:16px;text-align:center}
body.refined-member .my-performance .profile-score.is-waiting{font-size:14px;color:#8a9387;font-weight:600}

/* Team WOD records (owner 2026-10-07): 개인/팀 switch, class + teammate picker, team record card, 3인 badge */
body.refined-member .record-mode{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border:1px solid #3d4540;border-radius:14px;margin-bottom:6px}
body.refined-member .record-mode button{min-height:42px;border-radius:10px;border:0;background:transparent;color:#aeb7a9;font-weight:700}
body.refined-member .record-mode button[aria-pressed="true"]{background:#ddf878;color:#0b0c0d}
body.refined-member .team-pick{border:1px solid #3d4540;border-radius:14px;padding:12px 14px;display:grid;gap:8px;margin-top:6px}
body.refined-member .team-pick legend{font-weight:700;padding:0 6px}
body.refined-member .team-pick select{width:100%;min-height:44px}
body.refined-member .team-people{display:grid;gap:8px}
body.refined-member .team-sub{display:flex;justify-content:space-between;font-size:12px;color:#8f9a8a;margin:6px 2px 0}
body.refined-member .team-list{border:1px solid #2c332e;border-radius:16px;overflow:hidden;background:#1d2220}
body.refined-member .team-row{position:relative;display:flex;align-items:center;gap:12px;padding:11px 14px;border-top:1px solid #262c28;cursor:pointer}
body.refined-member .team-row:first-child{border-top:0}
body.refined-member .team-row>*{margin:0}
body.refined-member .team-row .team-nm>*{margin:0;line-height:1.35}
body.refined-member .team-row{min-height:0;align-items:center;margin:0!important}
body.refined-member .team-list{display:block}
body.refined-member .team-row input{position:absolute;opacity:0;pointer-events:none}
body.refined-member .team-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:800;font-size:14px;background:#4a524c;color:#e8ece4}
body.refined-member .team-av.m{background:#7cb6ff;color:#0b0c0d}
body.refined-member .team-av.f{background:#ff8fc4;color:#0b0c0d}
body.refined-member .team-nm{flex:1;min-width:0;display:grid;gap:2px}
body.refined-member .team-nm b{font-size:15px}
body.refined-member .team-nm small{font-size:11.5px;color:#8f9a8a}
body.refined-member .team-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5a625c;margin-right:5px;vertical-align:1px}
body.refined-member .team-dot.on{background:#8fd16a}
body.refined-member .team-ck{width:26px;height:26px;border-radius:50%;border:2px solid #4a524c;flex:none;display:grid;place-items:center}
body.refined-member .team-row input:checked+.team-ck{background:#ddf878;border-color:#ddf878}
body.refined-member .team-row input:checked+.team-ck:after{content:'';width:10px;height:6px;border-left:2.5px solid #0b0c0d;border-bottom:2.5px solid #0b0c0d;transform:rotate(-45deg) translate(1px,-1px)}
body.refined-member .team-row.me .team-ck{opacity:.65}
body.refined-member .team-row input:focus-visible+.team-ck{outline:2px solid #ddf878;outline-offset:2px}
body.refined-member .team-list.off .team-row{opacity:.45;cursor:default}
body.refined-member .team-tag{font-size:11px;border:1px solid #3d4540;border-radius:999px;padding:3px 8px;color:#aeb7a9;white-space:nowrap}
body.refined-member .team-summary{display:grid;gap:2px;background:#ddf878;color:#0b0c0d;border-radius:14px;padding:10px 14px;margin-top:4px}
body.refined-member .team-summary b{font-size:14.5px}
body.refined-member .team-summary span{font-size:13px}
body.refined-member .team-pick.bad .team-summary{background:#3a3222;color:#e6b775}
body.refined-member .team-record-card{border:1px solid #8b9b6c;border-radius:16px;padding:16px;display:grid;gap:6px}
body.refined-member .team-record-card h2{margin:0}
body.refined-member .team-record-card .team-score b{font-size:28px;color:#ddf878}
body.refined-member .team-record-card .team-score span{margin-left:6px;color:#aeb7a9;font-weight:700}
body.refined-member .team-hint{border:1px solid #5d6b4a;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.55}
body.refined-member .t3b{display:inline-block;margin-left:4px;padding:0 6px;border-radius:6px;background:#ddf878;color:#0b0c0d;font-size:11px;font-weight:800}

/* Team matching before class (owner 2026-10-07): 오늘 tab card, record-form team banner */
body.refined-member .team-match-card{display:grid;gap:10px;border:1px solid #6f7d55}
body.refined-member .team-match-card h2{margin:0}
body.refined-member .team-match-card .tm-head{display:flex;align-items:center;justify-content:space-between}
body.refined-member .team-match-card .tm-no{font:italic 800 16px/1 "Barlow Condensed",sans-serif;background:#ddf878;color:#0b0c0d;border-radius:8px;padding:4px 10px;letter-spacing:.04em}
body.refined-member .team-match-card .tm-who{margin:0;font-size:14px}
body.refined-member .team-match-card .tm-mem{display:flex;flex-wrap:wrap;gap:14px}
body.refined-member .team-match-card .tm-mem>span{display:grid;justify-items:center;gap:6px;min-width:58px;text-align:center}
body.refined-member .team-match-card .tm-mem .team-av{width:46px;height:46px;font-size:17px}
body.refined-member .team-match-card .tm-mem small{font-size:12.5px;color:#dfe5da}
body.refined-member .team-match-card .tm-rec{margin:0}
body.refined-member .team-match-card .tm-rec b{font-size:24px;color:#ddf878;margin-left:6px}
body.refined-member .team-match-card .tm-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.refined-member .team-match-card .tm-btns button{min-height:46px}
body.refined-member .team-match-card .tm-btns button:only-child{grid-column:1/-1}
body.refined-member .team-match-form{margin-top:4px}
body.refined-member .team-banner{display:flex;align-items:center;gap:10px;background:#202622;border:1px solid #6f7d55;border-radius:14px;padding:12px}
body.refined-member .team-stack{display:flex;flex:none}
body.refined-member .team-stack .team-av{width:30px;height:30px;font-size:12px;border:2px solid #202622;margin-left:-8px}
body.refined-member .team-stack .team-av:first-child{margin-left:0}
body.refined-member .team-banner-txt{flex:1;min-width:0;display:grid;gap:2px}
body.refined-member .team-banner-txt b{font-size:14.5px}
body.refined-member .team-banner-txt small{font-size:12px;color:#9aa395}
body.refined-member .team-locked{border:1px dashed #3d4540;border-radius:14px;padding:14px;text-align:center;margin:0}
body.refined-member .team-pick.locked .team-summary{display:none}
body.refined-member .wod-structured .wod-method{margin-top:16px;padding-top:12px;border-top:1px solid var(--ln)}
body.refined-member .wod-structured .wod-method-title{display:block;margin-bottom:6px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--lime)}
body.refined-member .wod-structured .wod-method p{margin:0;font-size:14px;font-weight:600;line-height:1.6;color:var(--tx);word-break:keep-all}
body.refined-member .wod-structured .wod-method+.wod-note{margin-top:12px}
/* 제휴 동호회 수업 (2026-10-07) */
body.refined-member .class-card .partner-note{display:inline-block;margin:4px 0 2px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;line-height:1.5;color:var(--lime);border:1px solid var(--ln)}

/* CAP calculator (owner 2026-10-07, app only): folded table on the WOD card + helper in the record form */
body.refined-member .wod-structured .wod-cap{margin-top:14px;border:1px solid #4f5c38;border-radius:12px;padding:10px 12px;background:rgba(221,248,120,.04)}
body.refined-member .wod-structured .wod-cap summary{cursor:pointer;font-size:13px;font-weight:800;color:var(--lime)}
body.refined-member .wod-structured .wod-cap-scroll{overflow-x:auto;margin-top:8px}
body.refined-member .wod-structured .wod-cap table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
body.refined-member .wod-structured .wod-cap th{font-size:10.5px;font-weight:700;color:#8f9a8a;text-align:right;padding:3px 4px;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.refined-member .wod-structured .wod-cap th:first-child{text-align:left}
body.refined-member .wod-structured .wod-cap td{text-align:right;padding:6px 4px;border-top:1px solid #262c28;font-size:14px;font-weight:700}
body.refined-member .wod-structured .wod-cap td.r{text-align:left;color:var(--lime);font-weight:800;white-space:nowrap}
body.refined-member .wod-structured .wod-cap td.end{color:var(--lime)}
body.refined-member .wod-structured .wod-cap p{margin:8px 0 0;font-size:12px;line-height:1.6;color:#9aa395;word-break:keep-all}
body.refined-member .cap-helper .ch-box{border:1px solid #6f7d55;border-radius:16px;padding:14px;background:#1c221d;display:grid;gap:6px}
body.refined-member .cap-helper .ch-title{font-size:15px}
body.refined-member .cap-helper .ch-sub{margin:0;font-size:12px;color:#9aa395}
body.refined-member .cap-helper .ch-step{margin:8px 0 0;font-size:12px;font-weight:700;color:#8f9a8a}
body.refined-member .cap-helper .ch-rounds{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}
body.refined-member .cap-helper .ch-rounds button{display:grid;justify-items:center;gap:1px;padding:8px 0;border:1px solid #3d4540;border-radius:10px;background:transparent;color:#e8ece4;min-height:48px}
body.refined-member .cap-helper .ch-rounds button b{font-size:18px}
body.refined-member .cap-helper .ch-rounds button small{font-size:10px;color:#8f9a8a;min-height:12px}
body.refined-member .cap-helper .ch-rounds button.done{background:#2b3420;border-color:#4f5c38;color:#c9d6a8}
body.refined-member .cap-helper .ch-rounds button.on{background:#ddf878;border-color:#ddf878;color:#0b0c0d}
body.refined-member .cap-helper .ch-rounds button.on small{color:#3b4510}
body.refined-member .cap-helper .ch-moves{display:grid;border:1px solid #2c332e;border-radius:12px;overflow:hidden}
body.refined-member .cap-helper .ch-moves button{display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;border-top:1px solid #262c28;background:transparent;color:#e8ece4;text-align:left;font-size:14px;min-height:44px}
body.refined-member .cap-helper .ch-moves button:first-child{border-top:0}
body.refined-member .cap-helper .ch-moves .k{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:11px;font-weight:800;background:#2b3420;color:#ddf878}
body.refined-member .cap-helper .ch-moves button.done .k{background:#ddf878;color:#0b0c0d}
body.refined-member .cap-helper .ch-moves button.on{background:rgba(221,248,120,.1)}
body.refined-member .cap-helper .ch-moves .nm{flex:1;min-width:0}
body.refined-member .cap-helper .ch-moves .c{font-size:12px;color:#9aa395;white-space:nowrap}
body.refined-member .cap-helper .ch-count{display:grid;grid-template-columns:44px 1fr auto 44px;align-items:center;gap:8px}
body.refined-member .cap-helper .ch-count button{height:44px;border-radius:10px;border:1px solid #3d4540;background:#121614;color:#e8ece4;font-size:22px;line-height:1;padding:0;display:grid;place-items:center}
body.refined-member .cap-helper .ch-count input{height:44px;text-align:center;font-size:20px;font-weight:800;min-width:0}
body.refined-member .cap-helper .ch-count span{font-size:12px;line-height:1;color:#8f9a8a}
body.refined-member .cap-helper .ch-sum{margin-top:6px;background:#ddf878;color:#0b0c0d;border-radius:14px;padding:10px 14px;display:grid;gap:2px}
body.refined-member .cap-helper .ch-sum small{font-size:12px;line-height:1.45}
body.refined-member .cap-helper .ch-sum b{font-size:28px}
body.refined-member .cap-helper .ch-apply{margin-top:4px;min-height:46px}
/* 기록 입력 방식 (owner 2026-10-14): the folded table on the WOD card (same frame as the CAP table) + the adding helper
   under the score in the record forms. */
body.refined-member .wod-structured .wod-guide td{font-size:14px;font-weight:700;color:#c9d0c4}
body.refined-member .wod-structured .wod-guide td.r{color:var(--tx);font-weight:600;white-space:normal;word-break:keep-all;text-align:left}
body.refined-member .wod-structured .wod-guide tr.more td{color:#6f7a6b;font-weight:600}
body.refined-member .wod-structured .wod-guide tr.sum td{color:var(--lime);font-weight:800;border-top:1px solid #4f5c38}
body.refined-member .wod-structured .wod-guide tr.sum td.r{color:var(--lime)}
body.refined-member .wod-structured .wod-guide.wg-emom th{max-width:none}
body.refined-member .sum-helper .sh-box{margin-top:4px;border:1px solid #3d4540;border-radius:16px;padding:14px;background:#1c221d;display:grid;gap:10px}
body.refined-member .sum-helper .sh-title{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
body.refined-member .sum-helper .sh-title b{font-size:15px;color:var(--tx)}
body.refined-member .sum-helper .sh-title small{font-size:12px;color:#9aa395;word-break:keep-all}
body.refined-member .sum-helper .sh-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
body.refined-member .sum-helper .sh-grid.sh-n4{grid-template-columns:repeat(4,minmax(0,1fr))}
body.refined-member .sum-helper .sh-grid.sh-n3{grid-template-columns:repeat(3,minmax(0,1fr))}
body.refined-member .sum-helper .sh-grid.sh-n2{grid-template-columns:repeat(2,minmax(0,1fr))}
body.refined-member .sum-helper .sh-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.refined-member .sum-helper .sh-rows{display:grid;gap:8px}
body.refined-member .sum-helper .sh-f{display:grid;gap:4px;margin:0}
body.refined-member .sum-helper .sh-grid .sh-f{justify-items:center}
body.refined-member .sum-helper .sh-rows .sh-f{grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:10px}
body.refined-member .sum-helper .sh-f span{font-size:12px;font-weight:700;color:#8f9a8a;white-space:nowrap}
body.refined-member .sum-helper .sh-rows .sh-f span{font-size:14px;font-weight:600;color:var(--tx);white-space:normal;word-break:keep-all}
body.refined-member .sum-helper .sh-f input{width:100%;min-width:0;height:48px;padding:0;border-radius:10px;border:1px solid #3e4b45;background:var(--fld);color:var(--tx);text-align:center;font-family:var(--num);font-size:22px;font-weight:700}
body.refined-member .sum-helper .sh-f input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px #ddf87826}
body.refined-member .sum-helper .sh-add{justify-self:start;min-height:44px;padding:0 14px;border-radius:10px;border:1px dashed #4f5c38;background:transparent;color:var(--lime);font-size:14px;font-weight:700}
body.refined-member .sum-helper .sh-sum{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-variant-numeric:tabular-nums}
body.refined-member .sum-helper .sh-sum .f{font-size:13px;color:#9aa395}
body.refined-member .sum-helper .sh-sum b{font-size:22px;color:var(--lime)}
body.refined-member .sum-helper .sh-sum small{font-size:12px;color:#9aa395}

/* 13. Sticky header (owner request 2026-10-07): the logo / KOR·ENG / logout bar stays on top while the page scrolls.
   The detail back bar sticks right below it instead of sliding under it. */
body.refined-member .member-header{position:sticky;top:0;z-index:30;background:#17191b}
body.refined-member .detail-back-bar{top:84px}
@media(max-width:600px){body.refined-member .detail-back-bar{top:64px}}
body.refined-member .day-jump{margin-top:12px}
/* 챌린지 WOD 요구도 vs 나의 프로필 (2026-10-07): legend for the overlaid radar on the 8주 챌린지 tab. */
body.refined-member .challenge-demand .button-row{margin-top:14px}
body.refined-member .challenge-demand .cd-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 0;font-size:12px;color:#c5ccc0}
body.refined-member .challenge-demand .cd-key{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
body.refined-member .challenge-demand .cd-key i{display:inline-block;width:24px;height:0;border-top:2px dashed #e6b775}
body.refined-member .challenge-demand .cd-me i{border-top:3px solid #ddf878}
body.refined-member .challenge-demand svg.cd-radar{margin-top:6px}

/* WOD card type unification (owner 2026-10-07): one row system for PEAK / BUILD / START.
   reps · movement · load share one grid per level, one size (16px), one family per role; the level shows in colour only. */
body.refined-member .wod-structured .wod-level{margin-top:18px;padding-left:12px;border-left:2px solid var(--lime)}
body.refined-member .wod-structured .lv-build{border-left-color:#9fe0c0}
body.refined-member .wod-structured .lv-start{border-left-color:#ffb86b}
body.refined-member .wod-structured .wod-level ul{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:12px;row-gap:8px;align-items:baseline}
body.refined-member .wod-structured li.wod-row{display:contents}
body.refined-member .wod-structured li.wod-row>span{font-size:16px;line-height:1.35;word-break:keep-all}
body.refined-member .wod-structured li.wod-row .wod-reps{margin:0;font-family:var(--num);font-size:17px;font-weight:700;color:var(--lime);white-space:nowrap}
body.refined-member .wod-structured li.wod-row .wod-mv{font-weight:600;color:var(--tx)}
body.refined-member .wod-structured li.wod-row .wod-load{font-weight:700;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--tx)}
/* A level's own round count (owner 2026-10-08): "8 ROUNDS" on the level's label line, right of the chip, in the level colour */
body.refined-member .wod-structured .wod-lv-rounds{margin-left:6px;font-family:var(--num);font-size:14px;font-weight:800;letter-spacing:.08em;color:var(--lime);white-space:nowrap}
body.refined-member .wod-structured .lv-build .wod-lv-rounds{color:#9fe0c0}
body.refined-member .wod-structured .lv-start .wod-lv-rounds{color:#ffb86b}
body.refined-member .wod-structured li.wod-same .wod-mv{color:var(--tx2)}
body.refined-member .wod-structured .lv-build li.wod-row .wod-reps,body.refined-member .wod-structured .lv-build li.wod-row .wod-load{color:#9fe0c0}
body.refined-member .wod-structured .lv-start li.wod-row .wod-reps,body.refined-member .wod-structured .lv-start li.wod-row .wod-load{color:#ffb86b}
body.refined-member .wod-structured .wod-level ul.wod-compact{grid-template-columns:minmax(0,1fr) auto}
body.refined-member .wod-structured ul.wod-compact li.wod-row .wod-reps{display:none}

/* 기록 방법 · 코치 코멘트 beside their titles, like the TV (owner 2026-10-07); the coach note shows a one-line summary. */
body.refined-member .wod-structured .wod-inline{display:grid;grid-template-columns:76px minmax(0,1fr);column-gap:12px;align-items:baseline}
body.refined-member .wod-structured .wod-inline .wod-note-title,body.refined-member .wod-structured .wod-inline .wod-method-title{display:block;margin:0;white-space:nowrap}
body.refined-member .wod-structured .wod-method.wod-inline+.wod-note.wod-inline{margin-top:0;padding-top:8px;border-top:0}
body.refined-member .wod-structured .wod-note-body>p{margin:0;font-size:14px;font-weight:600;line-height:1.55;color:var(--tx)}
body.refined-member .wod-structured .wod-note-more{margin-top:4px}
body.refined-member .wod-structured .wod-note-more summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--tx3);list-style:none}
body.refined-member .wod-structured .wod-note-more summary::-webkit-details-marker{display:none}
body.refined-member .wod-structured .wod-note-more summary::after{content:" ▾"}
body.refined-member .wod-structured .wod-note-more[open] summary::after{content:" ▴"}
body.refined-member .wod-structured .wod-note-more p{margin:4px 0 0;font-size:13px;font-weight:500;line-height:1.6;color:var(--tx2)}

/* Hold screens on phones (owner 2026-10-07: the hold dialog and MY 홀딩 card looked off on iPhone).
   iOS date fields ignore width:100% unless their native look is turned off, so they spilled past the card. */
body.refined-member .hold-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:12px}
body.refined-member .hold-form>*{min-width:0}
body.refined-member .hold-form label{margin-bottom:16px}
body.refined-member .hold-form input[type=date]{-webkit-appearance:none;appearance:none;display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:50px;margin-top:7px;padding:0 12px;line-height:48px;text-align:left;font-size:14px}
body.refined-member .hold-form input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}
body.refined-member .hold-form .hold-balance-summary{margin:2px 0 18px}
body.refined-member .hold-form .hold-days-preview{margin:-2px 0 14px;font-size:14px;line-height:1.5}
body.refined-member .hold-form .hold-notes{display:grid;gap:7px;margin:0;padding:14px 0 0;list-style:none;border-top:1px solid var(--ln)}
body.refined-member .hold-form .hold-notes li{position:relative;padding-left:13px;font-size:13px;line-height:1.5;color:var(--tx2)}
body.refined-member .hold-form .hold-notes li::before{content:'';position:absolute;left:1px;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--tx3)}
body.refined-member .hold-form>button{margin-top:18px}
body.refined-member .hold-form .hold-current{display:grid;gap:4px;margin:0 0 18px;padding:14px 16px;border:1px solid var(--ln);border-radius:14px;background:var(--chip)}
body.refined-member .my-services .service-pair{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
body.refined-member .my-services .service-metric small{display:inline;margin:0 0 0 6px;font-size:15px;letter-spacing:0;color:var(--tx2)}
body.refined-member .self-hold-history{display:grid;margin-top:14px}
body.refined-member .self-hold-history .hold-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--ln)}
body.refined-member .self-hold-history .hold-row-info{display:grid;gap:3px;min-width:0}
body.refined-member :is(.self-hold-history,.hold-current) .hold-row-dates{font-size:14px;font-weight:700;color:var(--tx);white-space:nowrap}
body.refined-member :is(.self-hold-history,.hold-current) .hold-row-meta{display:flex;flex-wrap:wrap;gap:0 6px;font-size:12px;color:var(--tx3)}
body.refined-member :is(.self-hold-history,.hold-current) .hold-row-meta small{font-size:12px}
body.refined-member :is(.self-hold-history,.hold-current) .hold-row-meta small+small::before{content:'·';margin-right:6px}
body.refined-member .self-hold-history .hold-row-act{display:flex;flex:none;gap:6px;align-items:center}
body.refined-member .self-hold-history .hold-row-act button{margin:0;min-height:36px;padding:0 12px;border-radius:10px;font-size:12px;white-space:nowrap}
body.refined-member .self-hold-history .hold-row-act small{font-size:12px;color:var(--tx2);white-space:nowrap}
/* 홀딩 연장 (owner 2026-10-08): a hold with two actions puts them under its dates as two equal buttons; every hold button is 44px tall. */
body.refined-member .self-hold-history .hold-row-act button{min-height:44px}
body.refined-member .self-hold-history .hold-row-2{flex-wrap:wrap;row-gap:10px}
body.refined-member .self-hold-history .hold-row-2>*{flex:1 1 100%}
body.refined-member .self-hold-history .hold-row-2 .hold-row-act button{flex:1 1 0}
body.refined-member .hold-form .hold-clash{margin:-6px 0 14px;font-size:13px;line-height:1.5;color:#ffb86b}
body.refined-member .hold-form .hold-clash.is-blocked{color:#ffb4a8}
/* 오픈짐 예약 취소 (owner 2026-10-08): an outline button on the open gym card, so cancelling never looks like the main action. */
body.refined-member .gym-booking-action button[data-cancel-booking]{min-height:44px;background:transparent;color:#17191b;border:1px solid #9aa576;box-shadow:none}
/* 직원 [회원앱] (owner 2026-10-07): '코치' tag and the 인피에잇 팀원권 card ('팀원 전용' in place of a number). */
body.refined-member .coach-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#2f3a14;color:#e4f630;font-size:11px;font-style:normal;font-weight:800}
body.refined-member .service-pass-staff{border-color:#5b6b1f}
body.refined-member .service-pass-staff .service-remaining strong{color:#e4f630;white-space:nowrap}
body.refined-member .service-pass-staff .service-remaining{flex-wrap:wrap;row-gap:4px}

/* 측정 기록 (owner 2026-10-08, 운동 프로필 v3): own form under the day record; one test per block, big number fields */
body.refined-member .benchmark-form{margin-top:12px;padding:16px}
body.refined-member .benchmark-form>button{margin-top:16px;min-height:48px}
body.refined-member .bench-entry{border:0;padding:0;margin:0;display:grid;gap:12px;min-width:0}
body.refined-member .bench-entry legend{font-size:16px;font-weight:700;padding:0;margin-bottom:4px}
body.refined-member .bench-entry>.fine{margin:0;word-break:keep-all}
body.refined-member .bench-test{display:grid;gap:6px;min-width:0}
body.refined-member .bench-test>b{font-size:14px;white-space:nowrap}
body.refined-member .bench-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.refined-member .bench-field{position:relative;display:block;margin:0;padding:0;min-width:0}
body.refined-member .bench-field input{display:block;width:100%;margin:0;min-height:52px;padding:0 44px 0 14px;font-size:20px;font-variant-numeric:tabular-nums;box-sizing:border-box}
body.refined-member .bench-field span{position:absolute;right:14px;top:0;bottom:0;display:flex;align-items:center;font-size:13px;color:#aeb7a9;pointer-events:none;white-space:nowrap}
body.refined-member .bench-split{margin:0;padding:0;border:0}
body.refined-member .bench-split summary{cursor:pointer;min-height:44px;margin:0;padding:0;display:flex;align-items:center;gap:6px;font-size:13px;color:#ddf878;list-style:none}
body.refined-member .bench-split summary::-webkit-details-marker{display:none}
body.refined-member .bench-split summary::before{content:"+";font-weight:700;width:12px}
body.refined-member .bench-split[open] summary::before{content:"−"}
body.refined-member .bench-split .fine{margin:6px 0 0}
body.refined-member .bench-hint{margin:4px 0 10px;padding:8px 12px;border:1px dashed #8b9b6c;border-radius:12px;font-size:13px;color:#dde1d9;word-break:keep-all}

/* 외부 기준선 (owner 2026-10-08): outside vs INFI8 place of the latest test, mix share, source */
body.refined-member .my-performance .profile-baselines{display:grid;gap:4px;margin:8px 0 0;padding:10px 12px;border:1px solid #3d4540;border-radius:12px;font-size:13px;color:#dde1d9;word-break:keep-all}
body.refined-member .my-performance .profile-baselines p{margin:0}
body.refined-member .my-performance .profile-link-wait{margin:8px 0 0;color:#aeb7a9}
body.refined-member .my-performance .profile-growth{margin:14px 0 0;padding:12px 14px;border:1px solid #3d4540;border-radius:14px}
body.refined-member .my-performance .profile-growth h3{margin:0 0 4px;font-size:15px}
body.refined-member .my-performance .profile-growth ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
body.refined-member .my-performance .profile-growth li{display:grid;grid-template-columns:minmax(0,1fr) auto 48px;align-items:baseline;column-gap:10px;font-size:14px;color:#dde1d9}
body.refined-member .my-performance .profile-growth li b{white-space:nowrap;font-variant-numeric:tabular-nums}
body.refined-member .my-performance .profile-growth li em{font-style:normal;font-weight:800;text-align:right;color:#aeb7a9;white-space:nowrap}
body.refined-member .my-performance .profile-growth li em.up{color:#ddf878}
body.refined-member .my-performance .profile-growth li em.down{color:#f2a08f}
body.refined-member .my-performance .profile-baselines .bl-row{display:grid;grid-template-columns:84px minmax(0,1fr);column-gap:8px;align-items:baseline}
body.refined-member .my-performance .profile-baselines .bl-label{color:#ddf878;font-weight:700;white-space:nowrap}
body.refined-member .my-performance .profile-baselines .bl-src a{display:block;width:max-content;max-width:100%;margin-top:2px;color:#aeb7a9;text-decoration:underline}
body.refined-member .bench-note{margin:0;color:#aeb7a9}
/* 기간 추가 (2026-10-08): 회원권 카드의 '기간 추가 +7일 · 지인추천' 한 줄 */
body.refined-member .pass-extension{margin:6px 0 0;font-size:13px;font-weight:600;color:#e3f531;word-break:keep-all}

/* Choice group and word reps (owner 2026-10-11, "선택 동작 묶음", then "배열이 별로 안예쁜 것 같은데"), the same as the TV:
   the reps share one column so the names line up; "DROP 1개 선택" and a word in place of reps ("Max Unbroken") take the
   full line; the options sit one step in under the header, with no line (owner 10/11 "숫자 옆에 선은 없애는게 낫지 않아?").
   Rows are spaced by cell padding (no row gap). */
body.refined-member .wod-structured .wod-level ul{row-gap:0}
body.refined-member .wod-structured li.wod-row>span{padding:4px 0}
body.refined-member .wod-structured li.wod-pick .wod-reps,body.refined-member .wod-structured li.wod-pick .wod-load,body.refined-member .wod-structured li.wod-wide .wod-reps{display:none}
body.refined-member .wod-structured li.wod-pick .wod-mv{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0 4px}
body.refined-member .wod-structured li.wod-wide .wod-mv{grid-column:1/3}
body.refined-member .wod-structured li.wod-pick .wod-mv b{font-family:var(--num);font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--lime)}
body.refined-member .wod-structured li.wod-pick .wod-mv em{font-style:normal;font-size:12px;font-weight:800;line-height:1;padding:4px 7px 3px;border-radius:4px;background:var(--lime);color:#0b0c0d;white-space:nowrap}
body.refined-member .wod-structured li.wod-opt .wod-reps{padding-left:14px}
body.refined-member .wod-structured li.wod-opt.wod-wide .wod-mv{padding-left:14px}
body.refined-member .wod-structured .wod-rt{margin-right:6px;font-family:var(--num);font-size:13px;font-weight:800;font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--lime);white-space:nowrap}
/* TABATA interval under the headline (owner 2026-10-11): "20 SEC ON / 10 SEC OFF × 8", one line. */
body.refined-member .wod-structured .wod-interval{margin-top:2px;font-family:var(--num);font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--lime);white-space:nowrap}

/* 증빙 기간 연장 신청 (2026-10-13): MY 홀딩 카드 아래 입구 + 신청 화면 */
body.refined-member .proof-entry{margin-top:14px;padding-top:14px;border-top:1px solid var(--ln)}
body.refined-member .proof-entry button{width:100%;min-height:44px;white-space:nowrap}
body.refined-member .proof-entry .fine{margin:8px 0 0;word-break:keep-all}
body.refined-member .proof-form{gap:14px}
body.refined-member .proof-form .fine{word-break:keep-all}
body.refined-member .proof-who{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
body.refined-member .proof-who div{padding:10px 12px;border-radius:12px;background:#ffffff0d}
body.refined-member .proof-who dt{font-size:12px;color:#9aa39a}
body.refined-member .proof-who dd{margin:2px 0 0;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
body.refined-member .proof-pass{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;margin:0;font-size:14px}
body.refined-member .proof-pass span{color:#9aa39a}
body.refined-member .proof-reasons{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}
body.refined-member .proof-reasons legend{margin-bottom:6px;font-size:14px}
body.refined-member .proof-reasons label{margin:0}
body.refined-member .proof-reasons input{position:absolute;opacity:0;width:1px;height:1px}
body.refined-member .proof-reasons span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid #ffffff2e;font-weight:700;white-space:nowrap;cursor:pointer}
body.refined-member .proof-reasons input:checked+span{background:#ddf878;border-color:#ddf878;color:#172116}
body.refined-member .proof-reasons input:focus-visible+span{outline:2px solid #ddf878;outline-offset:2px}
body.refined-member .proof-days{margin:-4px 0 0;font-size:14px;font-weight:700;color:#ddf878;word-break:keep-all}
body.refined-member .proof-days.over{color:#ff8a7a}
body.refined-member .proof-files{display:grid;gap:8px}
body.refined-member .proof-files-label{font-size:14px;font-weight:700}
body.refined-member .proof-files-label small{margin-left:6px;font-weight:500;color:#9aa39a}
body.refined-member .proof-file-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}
body.refined-member .proof-file-list:empty{display:none}
body.refined-member .proof-file-list li{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border-radius:12px;background:#ffffff0d}
body.refined-member .proof-file-list li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
body.refined-member .proof-file-list li small{color:#9aa39a;white-space:nowrap}
body.refined-member .proof-file-list li button{min-height:44px;padding:0 12px;white-space:nowrap}
body.refined-member .proof-add{position:relative;display:flex;white-space:nowrap;align-items:center;justify-content:center;min-height:52px;margin:0;border:1.5px dashed #ffffff40;border-radius:14px;font-weight:800;cursor:pointer}
body.refined-member .proof-add[hidden]{display:none}
body.refined-member .proof-add.busy{opacity:.5;pointer-events:none}
body.refined-member .proof-consent{padding:14px;border-radius:14px;border:1px solid #ffffff26;background:#ffffff08}
body.refined-member .proof-consent p{margin:0 0 6px}
body.refined-member .proof-consent ul{margin:0 0 8px;padding-left:18px;display:grid;gap:3px;font-size:13px;line-height:1.5;word-break:keep-all}
body.refined-member .proof-check{display:flex;align-items:center;gap:10px;min-height:44px;margin:4px 0 0;font-weight:800;cursor:pointer}
body.refined-member .proof-check input{width:22px;height:22px;margin:0;flex:none;accent-color:#ddf878}
body.refined-member .pe-error{margin:0;color:#ff8a7a;font-weight:700;font-size:13px}
body.refined-member .pe-error[hidden]{display:none}
body.refined-member .proof-done{display:grid;gap:6px;padding:8px 0}
body.refined-member .proof-done strong{font-size:20px}
body.refined-member .proof-add input[type=file]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;opacity:0;overflow:hidden;pointer-events:none}
/* 파운데이션 멤버 안내 카드 (대표 2026-10-13 시안 B): MY, 본인만 */
body.refined-member .foundation-card{display:flex;gap:14px;align-items:center;margin:14px 0 4px;padding:14px 16px;border:1px solid #ddf878;border-radius:14px;background:rgba(221,248,120,.07)}body.refined-member .foundation-mark{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#ddf878;color:#17191b;display:grid;place-items:center;font-weight:900;font-size:20px}body.refined-member .foundation-card>div{display:grid;gap:2px}body.refined-member .foundation-eyebrow{color:#ddf878;font-size:11px;font-weight:700;letter-spacing:.12em}body.refined-member .foundation-card b{font-size:16px}body.refined-member .foundation-card small{color:#a8b0a6;font-size:12px}
/* Leaderboard A·B (owner 2026-10-14): the person's own strength load beside the name; B labels the ranked score. */
body.refined-member .rank-a{display:inline-block;margin-left:6px;padding:1px 7px;border:1px solid #3d4540;border-radius:6px;font-size:12px;font-weight:700;line-height:1.5;color:#c5ccc0;white-space:nowrap;vertical-align:1px}
body.refined-member .rank-a.f{color:#f0a37a;border-color:#f0a37a66}
body.refined-member .rank-b{font-size:.72em;font-weight:800;color:#8a9387;margin-right:2px}
body.refined-member .podium-card .rank-a{margin:4px 0 6px}
body.refined-member .my-ranking-summary .rank-a{margin-left:0}

/* 친구와 함께 1일권 (대표 2026-10-26) */
body.refined-member .dropin-form .dropin-row{margin-top:6px;padding-top:10px;border-top:1px dashed #2e3734}
body.refined-member .dropin-form .dropin-row:first-child{margin-top:0;padding-top:0;border-top:0}
body.refined-member .dropin-form .dropin-row>b{display:block;font-size:12.5px;color:#aab4ab;margin-bottom:2px}
body.refined-member .dropin-form .dropin-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:10px}
body.refined-member .dropin-form .dropin-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}
body.refined-member .dropin-form .dropin-foot button{margin:0}
body.refined-member .dropin-form .dropin-message:empty{display:none}
/* Group drop-in review, 2026-10-27. Scope to this form so other member screens stay unchanged. */
body.refined-member .dropin-form{word-break:keep-all;min-width:0}
body.refined-member .dropin-form>*{min-width:0}
body.refined-member .dropin-form .dropin-grid{grid-template-columns:minmax(0,1fr)}
body.refined-member .dropin-form label,body.refined-member .dropin-form input,body.refined-member .dropin-form select{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
body.refined-member .dropin-form button,body.refined-member .dropin-form input,body.refined-member .dropin-form select,body.refined-member .dropin-details summary{min-height:44px}
body.refined-member .dropin-form button,body.refined-member .dropin-details summary{white-space:nowrap}
body.refined-member .dropin-details summary{display:flex;align-items:center;cursor:pointer;font-size:14px;text-decoration:underline;text-underline-offset:3px}
body.refined-member .dropin-details summary::after{content:'+';margin-left:auto}
body.refined-member .dropin-details[open] summary::after{content:'−'}
body.refined-member .dropin-form .dropin-price{font-size:13px;margin:0}
body.refined-member .dropin-form .hold-notes{padding-left:18px;margin:4px 0 8px;line-height:1.6}
@media(max-width:430px){body.refined-member dialog:has(.dropin-form) h2{font-size:20px;word-break:keep-all}body.refined-member .dropin-form .dropin-foot{flex-wrap:wrap}}

body.refined-member dialog:has(.dropin-form) .dialog-head button{min-height:44px;min-width:44px;white-space:nowrap;flex-shrink:0}

/* Optional ELITE uses a neutral accent; these rules never match a three-level picker. */
body.refined-member .level-picker .level-elite input:checked+span,body.refined-member .tl-pick .level-elite input:checked+span{background:#d7dce1;border-color:#9aa3ad;color:#17202a}
body.refined-member .wod-structured .lv-elite{border-left-color:#b8c0c8}
body.refined-member .wod-structured .lv-elite .wod-lv{border-color:#b8c0c8;color:#d7dce1}
body.refined-member .wod-structured .lv-elite .wod-lv-rounds{color:#d7dce1}
@media(max-width:430px){body.refined-member .tl-row:has(.level-elite){grid-template-columns:minmax(0,1fr)}body.refined-member .tl-pick:has(.level-elite){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0;width:100%}body.refined-member .tl-pick:has(.level-elite) label{min-width:0}body.refined-member .tl-pick:has(.level-elite) span{display:flex;min-width:0;min-height:44px;width:100%;box-sizing:border-box}}
/* 운동 프로필 v4 (2026-10-31): weekly change in each row, one labelled weekly line for 종합 수행력 */
body.refined-member .my-performance .profile-row .profile-row-head .profile-change{grid-area:conf;margin:0;font-size:12px;white-space:nowrap}
body.refined-member .my-performance .profile-trend{margin:14px 0 0;padding:12px 14px 6px;border:1px solid #3d4540;border-radius:14px}
body.refined-member .my-performance .profile-trend h3{margin:0 0 2px;font-size:15px}
body.refined-member .my-performance .profile-trend .fine{margin:0 0 4px;word-break:keep-all}
body.refined-member .my-performance svg.profile-trend-chart{display:block;width:100%;height:auto}

/* 오늘 탭 8주 챌린지 카드 v2 (2026-11-13, public/today-challenge.js): nearest-level headline, one level ladder with "나",
   six abilities open as 강점 / 보완, bottom sheet on tap. Lime = me. Lengths are SVG attributes (CSP).
   The numeral in the headline is Barlow Condensed at 1.23 x the Hangul size, lowered so its ink sits on the Hangul's. */
body.refined-member .today-challenge{padding:18px}
/* 2026-11-03: 다른 홈 카드처럼 아래 24px (나의 예약 카드에 붙어 있었다) */
body.refined-member .member-main>.today-challenge{margin-bottom:24px}
body.refined-member .today-challenge .tc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}
body.refined-member .today-challenge .tc-head .eyebrow{margin:0;white-space:nowrap}
body.refined-member .today-challenge .tc-pill{flex:none;padding:3px 10px;border-radius:999px;background:rgba(221,248,120,.12);color:#ddf878;font-size:12px;font-weight:700;line-height:1.4;white-space:nowrap}
body.refined-member .today-challenge .tc-title{margin:16px 0 0;font-size:24px;font-weight:700;line-height:1.25;letter-spacing:-.4px;color:var(--tx);white-space:nowrap}
body.refined-member .today-challenge .tc-title b{font-weight:800;color:#ddf878}
body.refined-member .today-challenge .tc-title strong{font-family:var(--num);font-size:29.5px;font-weight:700;line-height:1;margin:0 1px 0 5px;vertical-align:-1.8px}
body.refined-member .today-challenge .tc-title.is-text{font-size:20px;line-height:1.3;white-space:normal;word-break:keep-all}
body.refined-member .today-challenge .tc-sub{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--tx2);word-break:keep-all}
body.refined-member .today-challenge .tc-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
body.refined-member .today-challenge .tc-chip{display:inline-block;height:26px;padding:0 10px;border:1px solid #2b3632;border-radius:999px;font-size:12px;line-height:24px;color:var(--tx2);white-space:nowrap}
body.refined-member .today-challenge .tc-chip b{font-weight:700;color:#ddf878}
body.refined-member .today-challenge .tc-ladder{margin:12px 0 0}
body.refined-member .today-challenge .tc-ladder.is-empty{margin-top:18px}
body.refined-member .today-challenge .tc-me{display:block;width:100%;height:26px;overflow:visible}
body.refined-member .today-challenge .tc-me svg{overflow:visible}
body.refined-member .today-challenge .tc-me-bg{fill:#ddf878}
body.refined-member .today-challenge .tc-me-t{font-size:11px;font-weight:800;fill:#1b2408}
body.refined-member .today-challenge .tc-segs,body.refined-member .today-challenge .tc-lv{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px}
body.refined-member .today-challenge .tc-segs{margin-top:2px}
body.refined-member .today-challenge .tc-seg{display:block;height:10px;border-radius:5px;background:#2c3632;overflow:hidden}
body.refined-member .today-challenge .tc-seg svg{display:block}
body.refined-member .today-challenge .tc-seg-fill{fill:#ddf878}
body.refined-member .today-challenge .tc-lv{margin-top:8px}
body.refined-member .today-challenge .tc-lv span{font-family:var(--num);font-size:13px;font-weight:700;line-height:1.2;letter-spacing:.08em;text-align:center;color:var(--tx3)}
body.refined-member .today-challenge .tc-lv span.on{color:var(--tx)}
body.refined-member .today-challenge .tc-sec{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:22px 0 8px}
body.refined-member .today-challenge .tc-sec h3{margin:0;font-size:13px;font-weight:700;line-height:1.4;color:var(--tx2);white-space:nowrap}
body.refined-member .today-challenge .tc-legend{font-size:12px;line-height:1.4;color:var(--tx3);white-space:nowrap}
body.refined-member :is(.today-challenge,dialog.tc-sheet) .tc-dot{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#ddf878;vertical-align:2px}
body.refined-member .today-challenge .tc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;list-style:none;margin:0;padding:0}
body.refined-member .today-challenge .tc-grid>li{min-width:0;margin:0;padding:0;border:0}
body.refined-member .today-challenge button.tc-cell{display:block;width:100%;height:100%;min-height:56px;margin:0;padding:9px 10px 10px;border:1px solid #2b3632;border-radius:12px;background:#1a2120;box-shadow:none;color:var(--tx);font-size:13px;font-weight:600;text-align:left;cursor:pointer}
body.refined-member .today-challenge .tc-name{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 6px;min-height:18px;line-height:18px}
body.refined-member .today-challenge .tc-nm{min-width:0;word-break:keep-all}
body.refined-member .today-challenge .tc-row2{display:flex;align-items:center;gap:6px;height:12px;margin-top:6px}
body.refined-member .today-challenge .tc-bar{display:block;flex:1 1 auto;min-width:0;height:5px}
body.refined-member .today-challenge .tc-bar-track{fill:#2c3632}
body.refined-member .today-challenge .tc-bar-fill{fill:#ddf878}
body.refined-member .today-challenge .tc-cell.is-few .tc-bar-fill{opacity:.45}
body.refined-member :is(.today-challenge,dialog.tc-sheet) .tc-tag{flex:none;font-size:11px;font-weight:700;line-height:18px;white-space:nowrap}
body.refined-member :is(.today-challenge,dialog.tc-sheet) .tc-tag.is-strong{padding:0 7px;border-radius:999px;background:#2f3d1d;color:#ddf878}
body.refined-member :is(.today-challenge,dialog.tc-sheet) .tc-tag.is-weak{padding:0 6px;border:1px solid #56615b;border-radius:999px;line-height:16px;color:var(--tx)}
body.refined-member :is(.today-challenge,dialog.tc-sheet) .tc-tag.is-few{font-size:10.5px;font-weight:500;line-height:12px;color:var(--tx3)}
@media (max-width:374px){
body.refined-member .today-challenge{padding:18px 14px}
body.refined-member .today-challenge button.tc-cell{padding:9px 8px 10px}
body.refined-member .today-challenge .tc-title{font-size:22px}
body.refined-member .today-challenge .tc-title strong{font-size:27px;vertical-align:-1.6px}
}
/* 능력 칸을 눌렀을 때 아래 시트 (member-feel.js infoSheet, dialog.comment-sheet.feel-sheet.tc-sheet) */
body.refined-member .feel-sheet-actions.one{grid-template-columns:minmax(0,1fr)}
body.refined-member dialog.tc-sheet .tc-sheet-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
body.refined-member dialog.tc-sheet .tc-sheet-head h2{margin:0}
body.refined-member dialog.tc-sheet .tc-stats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:16px 0 0}
body.refined-member dialog.tc-sheet .tc-stat{padding:10px 14px 9px;border-radius:12px;background:#141a19}
body.refined-member dialog.tc-sheet .tc-stat span{display:block;font-size:12px;font-weight:600;line-height:1.4;color:var(--tx3);white-space:nowrap}
body.refined-member dialog.tc-sheet .tc-stat b{display:block;margin-top:2px;font-family:var(--num);font-size:30px;font-weight:700;line-height:1.1;color:var(--tx)}
body.refined-member dialog.tc-sheet p.tc-diff{margin:12px 0 0;font-size:14px;font-weight:600;line-height:1.5;color:var(--tx)}
body.refined-member dialog.tc-sheet .tc-why{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#141a19}
body.refined-member dialog.tc-sheet .tc-why p{margin:0;font-size:14px;line-height:1.5;color:var(--tx);word-break:keep-all}
body.refined-member dialog.tc-sheet .tc-why p+p{margin-top:8px}
body.refined-member dialog.tc-sheet .tc-why b{display:block;font-size:12px;font-weight:600;color:var(--tx3)}
body.refined-member dialog.tc-sheet p.tc-k{margin:18px 0 0;font-size:12px;font-weight:600;line-height:1.4;color:var(--tx3)}
body.refined-member dialog.tc-sheet .tc-recs{list-style:none;margin:8px 0 0;padding:0}
body.refined-member dialog.tc-sheet .tc-recs li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:baseline;min-height:36px;margin:0;padding:0;border:0;border-top:1px solid var(--ln);font-size:13px;line-height:36px;color:var(--tx2)}
body.refined-member dialog.tc-sheet .tc-recs li>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.refined-member dialog.tc-sheet .tc-rec-v{font-weight:600;color:var(--tx);white-space:nowrap}
body.refined-member dialog.tc-sheet .tc-rec-v b{margin-right:1px;font-family:var(--num);font-size:16px;font-weight:700;vertical-align:-1px}
/* 추천 난이도 (2026-10-08, v2 2026-11-01, public/level-suggest.js): one 44px line under the WOD title (내 추천 · level chip · short
   status · 왜?), the reason folded underneath, and the suggested level's block tinted with a '내 추천' tag. Nothing on these lines wraps. */
body.refined-member .ls-strip{margin:12px 0 2px;border:1px solid rgba(221,248,120,.3);border-radius:12px;background:rgba(221,248,120,.05)}
body.refined-member details.ls-strip>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;list-style:none;cursor:pointer}
body.refined-member details.ls-strip>summary::-webkit-details-marker{display:none}
body.refined-member .ls-k{flex:none;font-size:13px;font-weight:700;color:var(--tx3);white-space:nowrap}
body.refined-member .ls-chip{display:inline-block;flex:none;padding:2px 8px;border:1.5px solid var(--lime);border-radius:7px;font-family:var(--num);font-size:14px;font-weight:800;line-height:1.2;letter-spacing:.08em;color:var(--lime);white-space:nowrap}
body.refined-member .ls-chip.ls-lv-build{border-color:#9fe0c0;color:#9fe0c0}
body.refined-member .ls-chip.ls-lv-start{border-color:#ffb86b;color:#ffb86b}
body.refined-member .ls-s{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.refined-member .ls-why{flex:none;font-size:13px;font-weight:600;color:var(--tx3);white-space:nowrap}
body.refined-member .ls-why::after{content:"";display:inline-block;width:6px;height:6px;margin-left:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg)}
body.refined-member details[open]>summary .ls-why::after{transform:translateY(0) rotate(-135deg)}
body.refined-member .ls-body{padding:2px 12px 12px;border-top:1px solid var(--ln)}
body.refined-member .ls-body p{margin:8px 0 0;font-size:13px;line-height:1.55;color:var(--tx2);word-break:keep-all}
body.refined-member .ls-body p:first-child{font-size:14px;font-weight:600;color:var(--tx)}
body.refined-member p.ls-strip.ls-need{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border-style:dashed;background:transparent}
body.refined-member .ls-need .ls-s{font-weight:500;color:var(--tx2)}
body.refined-member .wod-structured .wod-level.lv-suggest{border-left-width:3px;border-radius:0 10px 10px 0;padding-top:8px;padding-right:10px;padding-bottom:8px;background:rgba(221,248,120,.05)}
body.refined-member .wod-structured .lv-build.lv-suggest{background:rgba(159,224,192,.07)}
body.refined-member .wod-structured .lv-start.lv-suggest{background:rgba(255,184,107,.07)}
body.refined-member .wod-structured .wod-lv-pick{float:right;margin-top:1px;padding:3px 9px;border:1px solid currentColor;border-radius:999px;font-size:12px;font-weight:700;line-height:1.2;color:var(--lime);white-space:nowrap}
body.refined-member .wod-structured .lv-build .wod-lv-pick{color:#9fe0c0}
body.refined-member .wod-structured .lv-start .wod-lv-pick{color:#ffb86b}
/* 8주 챌린지 tab: 나의 시작 난이도 */
body.refined-member .ls-challenge .ls-big{display:flex;align-items:center;gap:10px;margin:14px 0 8px}
body.refined-member .ls-challenge .ls-big .ls-chip{padding:4px 12px;border-radius:9px;font-size:20px}
body.refined-member .ls-challenge .ls-big b{font-size:16px;font-weight:700;color:var(--tx);white-space:nowrap}
body.refined-member .ls-challenge .ls-exp{margin-left:auto;font-size:15px;font-weight:700;color:var(--tx2);white-space:nowrap;font-variant-numeric:tabular-nums}
body.refined-member .ls-challenge .ls-same{margin:0;font-size:14px;color:var(--tx2);word-break:keep-all}
body.refined-member .ls-challenge .ls-more{margin-top:10px;border-top:1px solid var(--ln)}
body.refined-member .ls-challenge .ls-more>summary{display:flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;color:var(--tx2);list-style:none;cursor:pointer;white-space:nowrap}
body.refined-member .ls-challenge .ls-more>summary::-webkit-details-marker{display:none}
body.refined-member .ls-challenge .ls-more>summary::after{content:"";width:6px;height:6px;margin-left:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg)}
body.refined-member .ls-challenge .ls-more[open]>summary::after{transform:translateY(0) rotate(-135deg)}
body.refined-member .ls-challenge .ls-body{padding:0 0 4px;border-top:0}

/* 요소별 보강 훈련 (2026-11-01, public/ability-training.js): 8주 챌린지 탭 요구도 카드 아래. 요소 한 줄 = 이름 · 막대(내 점수,
   필요 눈금) · 숫자, 필요보다 낮은 순서로. 펼치면 '이 와드에서 / 이렇게 키워요'와 센터 장비 훈련 4–5가지(번호 · 이름 · 약 N분),
   훈련을 펼치면 고른 난이도의 양 · 장비 · 하는 법 · 남길 기록. 첫 요소의 차이가 10 이상이면 그래프처럼 주황. */
body.refined-member .ability-training{margin:18px 0 6px;padding-top:16px;border-top:1px solid #2f3833}
body.refined-member .ability-training .at-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
body.refined-member .ability-training .at-head .eyebrow{margin:0;white-space:nowrap}
body.refined-member .ability-training .at-level{font-size:12px;font-weight:700;color:#aab7af;white-space:nowrap}
body.refined-member .ability-training .at-title{margin:6px 0 8px;font-size:17px;line-height:1.35;letter-spacing:-.3px;color:#f2f4ef;word-break:keep-all}
body.refined-member .ability-training .at-list,body.refined-member .ability-training .at-opts{list-style:none;margin:0;padding:0}
body.refined-member .ability-training .at-list>li,body.refined-member .ability-training .at-opts>li{margin:0;padding:0;border:0}
body.refined-member .ability-training details.at-el{margin:0;padding:0;border:0;border-bottom:1px solid #2a322e;border-radius:0;background:none}
body.refined-member .ability-training .at-el>summary{display:grid;grid-template-columns:94px minmax(0,1fr) 58px 12px;align-items:center;gap:10px;min-height:46px;padding:0;list-style:none;cursor:pointer}
body.refined-member .ability-training .at-el>summary::-webkit-details-marker,body.refined-member .ability-training .at-opt>summary::-webkit-details-marker{display:none}
body.refined-member .ability-training .at-el>summary::after{content:"";justify-self:end;width:6px;height:6px;border-right:1.5px solid #8f9a92;border-bottom:1.5px solid #8f9a92;transform:translateY(-2px) rotate(45deg)}
body.refined-member .ability-training .at-el[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
body.refined-member .ability-training .at-name{font-size:14px;font-weight:700;line-height:1.2;color:#f2f4ef;word-break:keep-all}
body.refined-member .ability-training .at-name .at-cnt{display:block;margin-top:4px;font-size:12px;font-weight:600;line-height:1.2;color:#aab7af;white-space:nowrap}
body.refined-member .ability-training .at-el.is-hot .at-name{color:#ff8a4c}
body.refined-member .ability-training .at-el.is-met .at-name{color:#aab7af}
body.refined-member .ability-training .at-bar{display:block;width:100%;height:12px}
body.refined-member .ability-training .at-bar-track{fill:#2f3833}
body.refined-member .ability-training .at-bar-fill{fill:#ddf878}
body.refined-member .ability-training .at-el.is-hot .at-bar-fill{fill:#ff8a4c}
body.refined-member .ability-training .at-bar-need{fill:#e6b775}
body.refined-member .ability-training .at-n{display:flex;align-items:baseline;justify-content:flex-end;font-variant-numeric:tabular-nums;white-space:nowrap}
body.refined-member .ability-training .at-n b{font-size:15px;font-weight:800;color:#f2f4ef}
body.refined-member .ability-training .at-n b.at-wait{color:#8f9a92}
body.refined-member .ability-training .at-n i{font-style:normal;font-size:12px;font-weight:600;color:#e6b775}
body.refined-member .ability-training .at-ok{margin:0 2px 0 3px;font-style:normal;font-size:12px;font-weight:800;color:#ddf878}
body.refined-member .ability-training .at-body{padding:2px 0 12px}
body.refined-member .ability-training .at-why{margin:0 0 6px;padding:10px 12px;border-radius:10px;background:#252d29}
body.refined-member .ability-training .at-why p{margin:0;font-size:13px;line-height:1.55;color:#c3ccc5;word-break:keep-all}
body.refined-member .ability-training .at-why p+p{margin-top:4px}
body.refined-member .ability-training .at-why b{margin-right:6px;font-weight:700;color:#f2f4ef}
body.refined-member .ability-training .at-why .at-note{color:#ffb86b}
body.refined-member .ability-training details.at-opt{margin:0;padding:0;border:0;border-top:1px solid #2a322e;border-radius:0;background:none}
body.refined-member .ability-training .at-opts>li:first-child details.at-opt{border-top:0}
body.refined-member .ability-training .at-opt>summary{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:0;list-style:none;cursor:pointer}
body.refined-member .ability-training .at-on{font-family:var(--num);font-size:13px;font-weight:800;color:#8f9a92}
body.refined-member .ability-training .at-ot{min-width:0;font-size:14px;font-weight:700;line-height:1.3;color:#f2f4ef;word-break:keep-all}
body.refined-member .ability-training .at-opt[open] .at-ot{color:#ddf878}
body.refined-member .ability-training .at-om{font-size:12px;font-weight:600;color:#aab7af;white-space:nowrap}
body.refined-member .ability-training .at-dl{display:grid;grid-template-columns:62px minmax(0,1fr);gap:6px 10px;margin:0 0 12px 30px;font-size:13px;line-height:1.5}
body.refined-member .ability-training .at-dl dt{margin:0;color:#8f9a92;font-weight:600;white-space:nowrap}
body.refined-member .ability-training .at-dl dd{margin:0;color:#c3ccc5;word-break:keep-all}
body.refined-member .ability-training .at-dl dt.at-lv{color:#ddf878;font-weight:800}
body.refined-member .ability-training .at-dl dd.at-dose{color:#f2f4ef;font-weight:700}
body.refined-member .ability-training .at-foot{margin:10px 0 0;font-size:12px;line-height:1.5;color:#8f9a92;word-break:keep-all}
body.refined-member .ability-training .at-foot+.at-foot{margin-top:2px}

/* 기록 참고자료 (owner 2026-11-02 "오늘의 운동이나 8주 챌린지, 운동 기록 입력 창에도 쉽게"): the CAP 누적표 for distance /
   one-pass WODs (one column per level group, coloured like the level tags), the helper's rule line and '기록 칸에 넣었어요',
   and the line above the 8주 챌린지 tab's 운동 기록 form. */
body.refined-member .wod-structured .wod-plan th{max-width:none;padding:3px 4px;white-space:nowrap;vertical-align:bottom;line-height:1.25}
body.refined-member .wod-structured .wod-plan th span{display:block}
body.refined-member .wod-structured .wod-plan th:first-child{text-align:left}
body.refined-member .wod-structured .wod-plan td{padding:7px 4px;white-space:nowrap}
body.refined-member .wod-structured .wod-plan td.mv{text-align:left;font-size:13px;font-weight:600;color:#e8ece4}
body.refined-member .wod-structured .wod-plan td.mv .no{display:inline-block;min-width:18px;font-size:11px;font-weight:800;color:#8f9a8a}
body.refined-member .wod-structured .wod-plan tr.rh td{text-align:left;padding-top:10px;font-size:11px;font-weight:800;color:var(--lime)}
body.refined-member .wod-structured .wod-plan tr.end td{border-top-color:#4f5c38;font-weight:800}
body.refined-member .wod-structured .wod-plan .lc-peak{color:#f4f5f0}
body.refined-member .wod-structured .wod-plan .lc-elite{color:#d7dce1}
body.refined-member .wod-structured .wod-plan .lc-build{color:#9fe0c0}
body.refined-member .wod-structured .wod-plan .lc-start{color:#ffb86b}
body.refined-member .cap-helper .ch-rule{margin:4px 0 0;font-size:12px;line-height:1.5;color:#9aa395;word-break:keep-all}
body.refined-member .cap-helper .ch-put{font-size:11px;font-weight:800;color:#3b4510}
body.refined-member .challenge-entry .cm-same{margin:0 0 12px}

/* 성별 설정 안내 카드 (2026-11-03): MY 맨 위, 성별이 비어 있을 때만. 글 왼쪽 · [성별 정하기] 오른쪽, 좁으면 버튼이 아래로. */
body.refined-member .gender-ask{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;border-color:rgba(227,245,49,.5)}
body.refined-member .gender-ask .ga-t{flex:1 1 200px;min-width:0}
body.refined-member .gender-ask .ga-t b{display:block;font-size:17px;font-weight:800;letter-spacing:-.02em}
body.refined-member .gender-ask .ga-t .fine{margin:4px 0 0;white-space:normal}
body.refined-member .gender-ask button{flex:none;min-height:44px;white-space:nowrap}

/* 회원 앱 UX 손질 (대표 2026-11-03 "연봉 10억 디자이너라고 생각하고 개선해봐줘") */
/* A. 떠 있는 버튼: 아래로 내리면 숨고 위로 올리면 다시 나온다(app.js가 body.fab-away). 0.18초, 동작 줄이기 설정이면 바로. 입력 중에는 늘 숨김. */
body.refined-member :is(.booking-fab,.member-inquiry){transition:opacity .18s ease,transform .18s ease,visibility 0s}
body.refined-member.fab-away .booking-fab{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,16px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}
body.refined-member.fab-away .member-inquiry{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}
@media (prefers-reduced-motion:reduce){body.refined-member :is(.booking-fab,.member-inquiry),body.refined-member.fab-away :is(.booking-fab,.member-inquiry){transition:none}}
body.refined-member:has(:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=button]):not([type=submit]),textarea,select):focus) :is(.member-inquiry,.booking-fab){display:none!important}
/* D. 머리글 KOR·ENG와 로그아웃: 보이는 크기는 그대로 두고 누르는 곳만 44px */
body.refined-member .member-header .lang-switch{position:relative;padding:0;gap:0;border-color:transparent}
body.refined-member .member-header .lang-switch::before{content:"";position:absolute;inset:9px 0;border:1px solid #3a4441;border-radius:999px;pointer-events:none}
body.refined-member .member-header .lang-switch button{position:relative;z-index:0;min-width:44px;min-height:44px;padding:0 6px;background:transparent!important}
body.refined-member .member-header .lang-switch button::before{content:"";position:absolute;inset:11px 3px;z-index:-1;border-radius:999px;background:transparent}
body.refined-member .member-header .lang-switch button[aria-pressed="true"]::before{background:#ddf878}
body.refined-member .member-header #logout{min-height:44px;padding:0 4px}
/* 폰(≤400px): 머리글 좌우 여백을 본문과 같은 16px로 맞추고 사이 간격을 줄여 44px 버튼이 화면 안에 들어오게 (390px에서 딱 맞음) */
@media (max-width:400px){body.refined-member .member-header{padding:0 16px;gap:8px}body.refined-member .member-header #logout{padding:0}}
/* 테두리 버튼으로 바꾼 버튼도 누르는 높이는 44px (2026-11-03: 라임 → 테두리) */
body.refined-member :is(.tv-settings form>button.subtle,.service-renewal-actions .subtle,.pwa-card .pwa-actions .subtle,.pwa-card .pwa-actions .button.subtle,.my-date-form button,.participation-details form .subtle,.my-day-rankings [data-jump-today-rank]){min-height:44px}
/* D. 개인 운동 수정·삭제와 날짜 머리 버튼: 44px */
body.refined-member .pl-acts{gap:8px}
body.refined-member .pl-acts button{min-height:44px;min-width:56px;padding:0 12px!important;font-size:13px!important}
body.refined-member .pl-dayhead [data-pl-add]{min-height:44px;margin:0!important;padding:0 16px!important;font-size:14px!important}
body.refined-member .pl-race-row [data-pl-race]{min-height:44px;margin:0!important;padding:0 18px!important}
/* E. 안내문 한 줄 + 자세히 */
body.refined-member .fold-help{margin:4px 0 12px}
body.refined-member .fold-help>summary{display:flex;align-items:center;gap:10px;min-height:44px;list-style:none;cursor:pointer;color:var(--tx3);font-size:13px;line-height:1.45}
body.refined-member .fold-help>summary::-webkit-details-marker{display:none}
body.refined-member .fold-help>summary>span:first-child{flex:1;min-width:0;word-break:keep-all}
body.refined-member .fold-more-label{flex:none;display:inline-flex;align-items:center;gap:6px;color:var(--lime);font-weight:700;white-space:nowrap}
body.refined-member .fold-more-label::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
body.refined-member .fold-help[open] .fold-more-label::after{transform:translateY(1px) rotate(-135deg)}
body.refined-member .fold-help>p{margin:0 0 8px;color:var(--tx3);font-size:13px;line-height:1.6;word-break:keep-all}
@media (prefers-reduced-motion:reduce){body.refined-member .fold-more-label::after{transition:none}}
/* C. 메달 카드: 표에서 뺀 1–3위의 코치·3인·'나' 표시를 카드에 */
body.refined-member .podium-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:-4px 0 8px}
body.refined-member .podium-tags :is(.coach-tag,.t3b){margin-left:0}
body.refined-member .podium-me{display:inline-block;padding:1px 8px;border:1px solid #ddf878;border-radius:999px;color:#ddf878;font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}
body.refined-member .podium-card.podium-mine{box-shadow:inset 0 0 0 1px #ddf878}
body.refined-member #today-ranking,body.refined-member #workout-archive{scroll-margin-top:140px}
/* C. MY: 날짜별 기록은 운동 기록 탭으로 가는 한 줄 */
body.refined-member .my-archive-link{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:60px;margin:0 0 24px;padding:0 22px;color:var(--tx);font-size:16px;font-weight:700;text-align:left;cursor:pointer}
body.refined-member .my-archive-link svg{width:20px;height:20px;flex:none;color:var(--lime)}
/* J. 오늘의 운동 카드 아래: 예약·순위 버튼 두 개를 나란히 */
body.refined-member .today-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;margin-top:16px}
body.refined-member .today-links button{min-height:44px;margin:0;padding:0 10px;font-size:14px;white-space:nowrap}

/* Actual staff titles (2026-11-05): keep name and title readable in the record form, including 헤드코치. */
body.refined-member .coach-tag{white-space:nowrap;flex-shrink:0}
@media(max-width:430px){body.refined-member .tl-row{grid-template-columns:minmax(0,1fr);gap:8px}body.refined-member .tl-name b{overflow:visible;text-overflow:clip;white-space:normal;word-break:keep-all}body.refined-member .tl-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;min-width:0}body.refined-member .tl-pick:has(.level-elite){grid-template-columns:repeat(2,minmax(0,1fr))}body.refined-member .tl-pick label{min-width:0}body.refined-member .tl-pick span{display:flex;min-width:0;min-height:44px;width:100%;box-sizing:border-box}}

/* WOD day choice (2026-11-05): tonight's class stays accessible after the 20:00 release. */
body.refined-member .home-wod-booking{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;margin-bottom:16px;border-color:#52633a;background:#20291c}
body.refined-member .home-wod-booking>div{min-width:0;flex:1}
body.refined-member .home-wod-booking p{font-size:12px;color:#bcc5bf;margin:0 0 4px;line-height:1.5}
body.refined-member .home-wod-booking h2{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0;font-size:22px}
body.refined-member .home-wod-class-name{font-family:var(--kr);font-size:14px;font-weight:500;word-break:keep-all;overflow-wrap:anywhere}
body.refined-member .home-wod-booking button{min-height:44px;flex-shrink:0;white-space:nowrap;font-size:13px;color:#ddf878}
body.refined-member .home-wod-booking .ico{width:16px;height:16px}
body.refined-member #home-workout{scroll-margin-top:116px}
body.refined-member .home-wod-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;margin:0 0 20px;background:#141a19;border:1px solid #34413b;border-radius:14px}
body.refined-member .home-wod-tabs button{display:flex;min-height:60px;min-width:0;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:8px 4px;background:transparent;color:#bcc5bf;border:0;border-radius:10px;font-size:16px;font-weight:700;white-space:nowrap}
body.refined-member .home-wod-tabs button[aria-selected="true"]{background:#ddf878;color:#17200d}
body.refined-member .home-wod-tabs button small{font-size:13px;font-weight:500}
body.refined-member .home-wod-tab-status{font-size:12px;font-weight:500;line-height:1.3}
body.refined-member .home-wod-empty{padding:8px 0 16px}
body.refined-member .home-wod-reserve{display:flex;align-items:center;gap:8px;min-height:44px;max-width:100%;margin-top:16px;padding:10px 12px;border:1px solid #485644;border-radius:12px;color:#ddf878;font-size:14px;line-height:1.5;white-space:normal;text-align:left}
body.refined-member .home-wod-reserve>span{min-width:0;word-break:keep-all}
body.refined-member .home-wod-reserve .ico{flex-shrink:0}
body.refined-member .today-links{display:flex;flex-wrap:wrap;gap:8px}
body.refined-member .today-links button{min-height:44px;white-space:nowrap}
@media(max-width:380px){body.refined-member .home-wod-booking{padding:16px;gap:8px}body.refined-member .home-wod-booking button{padding:8px}}

/* Member record review 2026-11-06: preserve the score/conditions distinction and a stable mobile reading order. */
body.refined-member .daily-history{margin:32px 0;padding-top:24px;border-top:1px solid var(--ln)}
body.refined-member .daily-history-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px}
body.refined-member .daily-history-heading h3{margin:0;font-size:20px;line-height:1.4;text-wrap-style:auto}
body.refined-member .daily-history-heading button{min-height:44px;margin:0;font-size:13px;white-space:nowrap}
body.refined-member .history-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:4px}
body.refined-member .history-filters label{position:relative;min-width:0;margin:0;font-size:13px}
body.refined-member .history-filters :is(input,select){min-width:0;width:100%;max-width:100%;min-height:48px;font-size:16px}
body.refined-member .history-filter-hint{position:absolute;left:14px;top:50%;transform:translateY(-50%);margin:0;color:var(--tx);font-size:16px;font-weight:400;line-height:1;white-space:nowrap;pointer-events:none}
body.refined-member .daily-history .daily-record-card{display:grid;grid-template-columns:minmax(0,1fr) fit-content(55%);column-gap:12px;row-gap:8px;align-items:center;padding:14px 0;border-bottom:1px solid var(--ln)}
body.refined-member .daily-record-heading{min-width:0}
body.refined-member .daily-record-heading h4{margin:0;font-family:var(--kr);font-size:16px;font-weight:700;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere}
body.refined-member .daily-record-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;color:var(--tx2);font-size:13px;line-height:1.4}
body.refined-member .daily-record-meta time{white-space:nowrap}
body.refined-member .daily-record-level{padding:2px 8px;border:1px solid var(--ln);border-radius:6px;color:var(--tx2);font-size:12px;font-weight:700;line-height:1.4;white-space:nowrap}
body.refined-member .record-score-block{display:grid;gap:8px;min-width:0;max-width:100%}
body.refined-member .record-score{font-family:var(--num);font-size:28px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--tx);overflow-wrap:anywhere}
body.refined-member .record-loads{display:flex;flex-wrap:wrap;gap:6px 8px;font-family:var(--kr);font-size:12px;font-weight:500;line-height:1.5;color:var(--tx2)}
body.refined-member .record-loads>span{max-width:100%;padding:3px 8px;border-radius:6px;background:var(--chip);word-break:keep-all;overflow-wrap:anywhere}
body.refined-member .daily-record-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;color:var(--tx3);font-size:12px;line-height:1.5}
body.refined-member .daily-record-footer button{min-height:44px;margin:0;padding:8px 16px;font-size:14px;white-space:nowrap}
body.refined-member .daily-record-card>.hr-slot:empty{display:none}
body.refined-member .daily-record-card>.hr-slot .hr-fold{margin:0;padding-top:8px;border-top:1px solid var(--ln);border-bottom:0}
body.refined-member .daily-record-card>.hr-slot .hr-fold summary{min-height:44px;align-items:center;font-size:13px}
body.refined-member .history-empty{margin:0;padding:24px 16px;border:1px solid var(--ln);border-radius:12px;color:var(--tx2);font-size:14px;line-height:1.6}
body.refined-member .my-ranking-summary{align-items:flex-start;gap:8px 12px}
body.refined-member .my-ranking-summary>.record-score-block{flex-basis:100%;order:2}
body.refined-member .my-ranking-summary .record-score{font-size:28px;color:var(--lime)}
body.refined-member .daily-ranking-table{width:100%;table-layout:fixed}
body.refined-member .daily-ranking-table :is(th,td){vertical-align:top;overflow-wrap:anywhere;word-break:keep-all}
body.refined-member .daily-ranking-table :is(th,td):first-child{width:44px;white-space:nowrap}
body.refined-member .daily-ranking-table :is(th,td):last-child{width:46%}
body.refined-member .daily-ranking-table .record-score{font-size:20px}
body.refined-member .daily-ranking-table .record-loads{display:grid;gap:4px;font-size:12px}
body.refined-member .daily-ranking-table .record-loads>span{padding:0;background:transparent}
body.refined-member .podium-loads{font-size:12px;line-height:1.45;gap:4px}
body.refined-member .podium-card h3{word-break:keep-all}
body.refined-member .my-wod-entry>h4{margin-bottom:12px;line-height:1.4;word-break:keep-all;overflow-wrap:anywhere}
body.refined-member .my-wod-entry>.status-tag{display:inline-flex;align-items:center;margin:0 0 12px;padding:4px 8px;font-size:12px!important;line-height:1.4}
body.refined-member .my-wod-entry>.wod-structured{margin-top:0}
body.refined-member .my-wod-entry .wod-m{gap:8px;margin-bottom:12px;line-height:1.5}
body.refined-member .my-wod-entry .wod-m b{padding:4px 8px;line-height:1.4}
body.refined-member .my-day-rankings>h4{margin:24px 0 8px;font-size:17px;line-height:1.45;word-break:keep-all}
body.refined-member .my-day-rankings>h4+.fine{margin:0 0 12px}
@media(max-width:600px){
 body.refined-member .my-wod-entry .wod-level ul{column-gap:8px}
}

/* Follow-up visual pass: readable chart labels and 44px WOD disclosure targets. */
body.refined-member .daily-record-card .hr-axis{font-size:12px}
body.refined-member .my-wod-entry .wod-cap summary{display:flex;align-items:center;min-height:44px;line-height:1.5}
body.refined-member .my-wod-entry .wod-plan th,body.refined-member .my-wod-entry .wod-structured .wod-plan td.mv .no{font-size:12px}
body.refined-member .podium-me{font-size:12px}
body.refined-member .my-calendar .section-head button{min-width:44px;min-height:44px}
body.refined-member .challenge-goal-optional>summary{display:flex;align-items:center;min-height:44px}
body.refined-member .challenge-demand>.text-action{min-height:44px}

/* Cross-tab pass: comfortable targets, unchanged actions. */
body.refined-member .pl-head button{min-width:44px;min-height:44px}
body.refined-member .pl-dow{font-size:12px}
body.refined-member .journal-controls button{min-width:44px;min-height:44px}
body.refined-member .social-reactions button{min-width:44px;min-height:44px}
body.refined-member :is([data-tab="passes"],[data-remove-photo],[data-service-kind]){min-height:44px;font-size:13px}
body.refined-member .participation-details>summary{display:flex;align-items:center;min-height:44px}
body.refined-member .wod-structured .wod-cap summary{display:flex;align-items:center;min-height:44px;line-height:1.5}
body.refined-member .wod-structured .wod-cap th{font-size:12px}

/* HYROX division windows (2026-11-06): keep each clock intact on narrow phones. */
body.refined-member .roster-slot{display:block}
body.refined-member .roster-slot+.roster-slot{margin-top:8px}
body.refined-member .roster-clock{display:inline-block;white-space:nowrap;overflow-wrap:normal}
body.refined-member .roster-published-window .roster-window{overflow-wrap:normal}
body.refined-member small+.roster-published-window{margin-top:12px}

/* 운동 기록 탭 순서 정리 (대표 2026-11-13 "운동기록화면순서 지금 반영하자")
   누가·어디서·무엇을: 회원이 수업 직후 휴대폰으로 오늘 기록을 남기고 순위를 본다. 합계 한 칸과 저장이 먼저 오고,
   운동 내용·구간 칸·지난 기록은 접어 둔다. 색·글꼴·버튼 모양은 그대로다. */
body.refined-member .log-fold{margin:0 0 12px;padding:0 16px;border:1px solid var(--ln);border-radius:14px}
body.refined-member .log-fold[hidden]{display:none}
body.refined-member .log-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;list-style:none;cursor:pointer;color:var(--tx);font-size:15px;font-weight:700;line-height:1.4;white-space:nowrap}
body.refined-member .log-fold>summary::-webkit-details-marker{display:none}
body.refined-member .log-fold .lf-label{display:flex;align-items:baseline;gap:8px;min-width:0}
body.refined-member .log-fold .lf-label small{color:var(--tx3);font-size:13px;font-weight:500}
body.refined-member .log-fold .lf-more{flex:none;display:inline-flex;align-items:center;gap:6px;color:var(--lime);font-size:13px;font-weight:700}
body.refined-member .log-fold .lf-more::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
body.refined-member .log-fold[open] .lf-more::after{transform:translateY(1px) rotate(-135deg)}
body.refined-member .log-fold:not([open]) .lf-close,body.refined-member .log-fold[open] .lf-open{display:none}
body.refined-member .wod-peek-body.my-wod-entry{margin:0;padding:4px 0 16px;border:0;background:transparent}
body.refined-member .sum-fold .sum-helper .sh-box{margin:0 0 16px;padding:0;border:0;background:transparent}
body.refined-member .quick-record .level-picker{margin-bottom:0}
body.refined-member .quick-record .score-host .sb-title{margin-top:4px}
body.refined-member .daily-history{scroll-margin-top:140px}
body.refined-member .history-filter-name{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.refined-member .history-filters .is-empty input[type=date]{color:transparent}
body.refined-member .history-filters .is-empty input[type=date]::-webkit-datetime-edit{color:transparent}
body.refined-member .daily-history .daily-record-heading{grid-column:1}
body.refined-member .daily-history .record-score-block{display:contents}
body.refined-member .daily-history .record-score{grid-column:2;grid-row:1;justify-self:end;font-size:26px;text-align:right}
body.refined-member .daily-history .record-loads,body.refined-member .daily-history .daily-record-footer,body.refined-member .daily-history .daily-record-card>.hr-slot{grid-column:1/-1}
body.refined-member .daily-history .daily-record-footer{justify-content:flex-end}
body.refined-member .daily-record-privacy{padding:2px 8px;border-radius:6px;background:var(--chip);color:var(--tx3);font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}
body.refined-member .daily-history .daily-record-card>.hr-slot .hr-fold{padding-top:0;border-top:0}
body.refined-member .history-more{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin:12px 0 0;padding:0 16px;border:1px solid var(--ln);border-radius:12px;background:transparent;color:var(--tx2);font-size:14px;font-weight:700;white-space:nowrap}
body.refined-member .history-more small{color:var(--tx3);font-size:13px;font-weight:500}
body.refined-member .my-today-jump{display:inline-flex;align-items:center;min-height:44px;margin:4px 0 0}
body.refined-member .my-day-hint{margin:4px 0 0;word-break:keep-all}
@media (prefers-reduced-motion:reduce){body.refined-member .log-fold .lf-more::after{transition:none}}
/* 머리의 로그아웃이 폭 401–429px에서 화면 밖으로 8–20px 나가던 것: 400px 이하에서 쓰던 좁은 간격을 430px 미만까지 쓴다. */
@media (min-width:401px) and (max-width:429.98px){
 body.refined-member .member-header{padding:0 16px;gap:8px}
 body.refined-member .member-header .brand-lockup{gap:8px}
 body.refined-member .member-header .brand img.hyrox-tc{width:116px}
 body.refined-member .member-header .member-header-actions{gap:2px}
 body.refined-member .member-header #logout{padding:0}
}
