/* HN Fitness Community: isolated component styles so existing calendar/layout remain intact */
.hnfc-root,.hnfc-home-banner{--hnfc-bg:#121316;--hnfc-card:#24252a;--hnfc-ink:#f7f7f8;--hnfc-sub:#babcc4;--hnfc-red:#b6313b;--hnfc-line:#393a40;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.hnfc-root{background:var(--hnfc-bg);color:var(--hnfc-ink);line-height:1.45;font-size:16px;min-height:300px;width:100%;box-sizing:border-box;}
.hnfc-root *{box-sizing:border-box;}
.hnfc-root button,.hnfc-root input,.hnfc-root textarea,.hnfc-root select{font:inherit;}
.hnfc-root button{cursor:pointer;}
.hnfc-root a{color:#f0a5ab;}
.hnfc-root h1,.hnfc-root h2,.hnfc-root h3,.hnfc-root p{margin:0;line-height:1.4;}
.hnfc-root h1{font-size:25px;font-weight:700;letter-spacing:-.7px;}
.hnfc-root h2{font-size:19px;font-weight:650;letter-spacing:-.3px;}
.hnfc-root h3{font-size:16px;font-weight:650;}
.hnfc-root p{color:var(--hnfc-sub);font-size:14px;line-height:1.55;}
.hnfc-root small{font-size:12px;color:var(--hnfc-sub);}
.hnfc-shell{max-width:760px;margin:0 auto;padding:20px 16px 32px;}
.hnfc-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px;}
.hnfc-header p{margin-top:5px;}
.hnfc-overline,.hnfc-eyebrow{color:#dc8c94;font-size:11px;letter-spacing:1.1px;font-weight:750;margin-bottom:5px;}
.hnfc-logo{background:#30282a;border:1px solid #533136;color:#efc0c4;border-radius:12px;width:44px;height:44px;display:grid;place-items:center;letter-spacing:.5px;font-size:13px;font-weight:800;flex-shrink:0;}
.hnfc-tabs{display:flex;gap:4px;overflow:auto;scrollbar-width:none;padding:4px 0 14px;position:relative;white-space:nowrap;}
.hnfc-tabs::-webkit-scrollbar{display:none;}
.hnfc-tabs button{min-height:46px;padding:10px 14px;color:#c5c5ce;border:1px solid transparent;border-radius:12px;background:transparent;font-size:14px;font-weight:600;}
.hnfc-tabs button.selected{background:#302528;color:white;border-color:#59353a;}
.hnfc-tabs button:focus-visible,.hnfc-btn:focus-visible,.hnfc-root input:focus-visible,.hnfc-root select:focus-visible,.hnfc-root textarea:focus-visible{outline:3px solid #eb838b;outline-offset:2px;}
.hnfc-content{display:grid;gap:15px;}
.hnfc-card{border:1px solid var(--hnfc-line);background:var(--hnfc-card);border-radius:17px;padding:17px;display:grid;gap:12px;min-width:0;}
.hnfc-card p{overflow-wrap:anywhere;}
.hnfc-hero{background:linear-gradient(125deg,#3d252a 0%,#262327 82%);border-color:#54353b;}
.hnfc-split{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.hnfc-split>div{min-width:0;}
.hnfc-split>.hnfc-emoji{font-size:31px;}
.hnfc-balance{font-size:35px;font-weight:750;letter-spacing:-1px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.hnfc-balance span{font-size:13px;font-weight:500;letter-spacing:0;color:var(--hnfc-sub);}
.hnfc-section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 2px 0;}
.hnfc-btn{border:none;border-radius:12px;display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:47px;padding:12px 15px;font-size:14px;font-weight:650;transition:background-color .15s ease;}
.hnfc-btn:disabled{opacity:.5;cursor:not-allowed;}
.hnfc-primary{color:#fff;background:var(--hnfc-red);}
.hnfc-primary:hover{background:#c8404b;}
.hnfc-secondary{background:#36373e;color:#f5f5f7;border:1px solid #4a4b54;}
.hnfc-secondary:hover{background:#404148;}
.hnfc-text-btn{min-height:40px;background:transparent;color:#ee9ba3;padding:7px 5px;border:none;}
.hnfc-tiny{min-height:39px;background:#413036;color:#f4c0c5;border:1px solid #66434a;border-radius:10px;padding:7px 12px;}
.hnfc-small{min-height:30px;background:#36373e;color:#fff;padding:4px 9px;font-size:12px;border:0;}
.hnfc-wide{width:100%;}
.hnfc-line{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 0;border-bottom:1px solid #393a40;}
.hnfc-line:last-child{border-bottom:0;}
.hnfc-line strong{font-size:14px;font-weight:600;}
.hnfc-line span small{display:block;margin-top:2px;}
.hnfc-line>.hnfc-btn{flex-shrink:0;}
.hnfc-wrap{flex-wrap:wrap;}
.hnfc-meta{font-size:12px;color:#bdbec5;}
.hnfc-badge{display:inline-block;white-space:nowrap;border:1px solid #555056;background:#39343a;color:#e4c9cc;font-size:11px;padding:4px 8px;border-radius:100px;font-weight:650;}
.hnfc-badge.green{background:#243b32;border-color:#3d6151;color:#a0e1bb;}
.hnfc-ranks{border-top:1px solid #42434a;margin-top:3px;padding-top:12px;display:grid;gap:4px;}
.hnfc-ranks h3{margin-bottom:4px;}
.hnfc-rank{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #36373c;font-size:13px;}
.hnfc-rank strong{flex:1;}
.hnfc-rank-num{width:35px;font-size:16px;}
.hnfc-rank>span:last-child{font-variant-numeric:tabular-nums;font-weight:700;}
.hnfc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.hnfc-reward .hnfc-reward-head{display:flex;justify-content:space-between;align-items:center;gap:7px;}
.hnfc-reward .hnfc-emoji{font-size:24px;}
.hnfc-points{font-size:12px;color:#e8c287;font-weight:700;}
.hnfc-reward .hnfc-split{align-items:flex-end;flex-wrap:wrap;}
.hnfc-reward .hnfc-btn{width:100%;}
.hnfc-achievements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.hnfc-achievements>div{display:flex;gap:8px;align-items:center;font-size:13px;}
.hnfc-achievements .hnfc-emoji{font-size:22px;}
.hnfc-post-head{display:flex;align-items:center;gap:9px;}
.hnfc-post-head>div:nth-child(2){flex:1;display:grid;gap:0;}
.hnfc-post-head strong{font-size:14px;}
.hnfc-avatar{width:38px;height:38px;border-radius:50%;background:#5a3138;display:grid;place-items:center;font-weight:700;flex-shrink:0;}
.hnfc-post-text{white-space:pre-wrap;color:#f0f0f2!important;font-size:14px!important;}
.hnfc-post-img{width:100%;height:auto;max-height:430px;object-fit:cover;border-radius:12px;}
.hnfc-post-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #3c3d44;font-size:12px;color:#bdbdc7;padding-top:5px;}
.hnfc-comment{padding:8px 9px;border-radius:9px;background:#2e3035;font-size:12px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.hnfc-comment>span{flex:1;min-width:100px;overflow-wrap:anywhere;}
.hnfc-comment-form{display:flex;gap:7px;}
.hnfc-comment-form input{flex:1;min-width:0;}
.hnfc-form{display:grid;gap:14px;}
.hnfc-field{display:grid;gap:7px;font-size:13px;font-weight:600;color:#e8e8ee;min-width:0;}
.hnfc-field input,.hnfc-field textarea,.hnfc-field select,.hnfc-comment-form input,.hnfc-rule input{width:100%;min-height:46px;background:#18191c;border:1px solid #494950;border-radius:11px;color:#fff;padding:10px 12px;outline:0;color-scheme:dark;}
.hnfc-field input[type=file]{font-size:12px;max-width:100%;}
.hnfc-field textarea{resize:vertical;min-height:90px;}
.hnfc-inline-form{display:grid;gap:10px;border-top:1px solid #393a40;padding-top:12px;}
.hnfc-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.hnfc-note{color:#acb0ba!important;font-size:12px!important;}
.hnfc-empty{text-align:center;display:grid;justify-items:center;gap:5px;padding:17px;color:#aaa;grid-column:1/-1;}
.hnfc-empty .hnfc-emoji{font-size:25px;color:#b3b4bb;}
.hnfc-toggle{display:inline-flex;align-items:center;cursor:pointer;position:relative;flex-shrink:0;}
.hnfc-toggle input{position:absolute;opacity:0;width:1px;height:1px;}
.hnfc-toggle>span{width:42px;height:25px;background:#555760;border-radius:25px;position:relative;display:inline-block;}
.hnfc-toggle>span:after{content:'';width:19px;height:19px;border-radius:50%;background:white;position:absolute;left:3px;top:3px;transition:transform .15s;}
.hnfc-toggle input:checked+span{background:#b6313b;}
.hnfc-toggle input:checked+span:after{transform:translateX(17px);}
.hnfc-toggle input:focus-visible+span{outline:3px solid #eb838b;}
.hnfc-rule{display:flex;align-items:center;gap:14px;border-bottom:1px solid #404048;padding-bottom:11px;}
.hnfc-rule>label:last-child{flex:1;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;}
.hnfc-rule input[type=number]{width:82px;}
.hnfc-invite{display:flex;justify-content:space-between;gap:10px;align-items:center;}
.hnfc-invite>strong{font-size:23px;letter-spacing:3px;}
.hnfc-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;}
.hnfc-record{border-bottom:1px solid #44454b;padding:10px 0;display:grid;gap:9px;}
.hnfc-record:last-child{border-bottom:0;}
.hnfc-record>div:first-child{display:grid;justify-items:start;gap:5px;}
.hnfc-banner-record{display:flex;gap:12px;align-items:center;border-bottom:1px solid #44454b;padding:12px 0;flex-wrap:wrap;}
.hnfc-banner-record img{width:130px;aspect-ratio:16/9;object-fit:cover;border-radius:9px;background:#111;}
.hnfc-banner-record>div{display:grid;justify-items:start;gap:5px;flex:1;min-width:130px;}
.hnfc-banner-record small{display:block;}
.hnfc-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.hnfc-stats>div{background:#25262b;border:1px solid #393a40;border-radius:14px;padding:15px 8px;display:grid;justify-items:center;gap:4px;text-align:center;}
.hnfc-stats strong{font-size:22px;}
.hnfc-stats span{font-size:12px;color:#bcbec5;}
.hnfc-plus{color:#a9e4bd;}
.hnfc-toast{position:fixed;z-index:999999;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%,24px);opacity:0;pointer-events:none;background:#26392e;color:#e9f9ed;border:1px solid #547865;box-shadow:0 7px 35px #0008;padding:12px 20px;border-radius:11px;transition:all .2s;font-size:13px;text-align:center;min-width:180px;max-width:min(90vw,430px);}
.hnfc-toast.error{background:#51292e;border-color:#89444e;color:#ffe2e5;}
.hnfc-toast.visible{transform:translate(-50%,0);opacity:1;}
.hnfc-home-banner{display:block;width:100%;overflow:hidden;border-radius:16px;aspect-ratio:16/9;line-height:0;background:#24252b;margin:12px 0 16px;}
.hnfc-home-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.hnfc-home-banner:focus-visible{outline:3px solid #df7880;outline-offset:3px;}
@media(max-width:540px){.hnfc-shell{padding:18px 14px 36px;}.hnfc-card{padding:15px;}.hnfc-tabs button{padding:10px 11px;font-size:13px;}.hnfc-cols{grid-template-columns:1fr;}.hnfc-balance{font-size:30px;}.hnfc-reward{padding:12px;}.hnfc-grid{gap:9px;}.hnfc-hero h2{font-size:18px;}}
@media(prefers-reduced-motion:reduce){.hnfc-root *, .hnfc-toast{transition:none!important;animation:none!important;}}

.hnfc-disabled{opacity:.55;cursor:not-allowed;}.hnfc-ranking-label{font-size:15px;margin:14px 0 5px!important;}.hnfc-full-rank{display:grid;gap:3px;}.hnfc-upload-preview{display:block;width:100%;max-width:500px;aspect-ratio:16/9;object-fit:cover;border-radius:12px;border:1px solid #505159;}

.hnfc-emoji{display:inline-flex;align-items:center;justify-content:center;color:#e2b4b8;flex-shrink:0;}
.hnfc-emoji svg{width:1.45em;height:1.45em;}
.hnfc-rank-num.hnfc-rank-1{color:#e2c182;font-weight:800;}
.hnfc-rank-num.hnfc-rank-2{color:#d0d2db;font-weight:700;}
.hnfc-rank-num.hnfc-rank-3{color:#d5a58d;font-weight:700;}

/* v2.49.1 – per-challenge premium image and newly published challenge spotlight */
.hnfc-challenge-cover{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:13px;background:#151519;margin-bottom:14px;}
.hnfc-challenge-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.hnfc-challenge-no-image{background:linear-gradient(115deg,#17181b 35%,#44232b 100%);display:flex;align-items:flex-end;padding:16px;}
.hnfc-challenge-no-image span{font-size:11px;letter-spacing:.2em;font-weight:700;color:#dfb3b8;}
.hnfc-challenge-feature{width:100%;display:flex;text-align:left;align-items:center;border:1px solid #43434c;background:#1e1f24;color:#fff;border-radius:13px;padding:8px;gap:12px;cursor:pointer;margin:10px 0;}
.hnfc-challenge-feature:focus-visible{outline:2px solid #ef7b84;outline-offset:3px;}
.hnfc-feature-cover{width:min(40%,190px);flex:0 0 40%;margin:0;aspect-ratio:16/10;border-radius:9px;}
.hnfc-feature-copy{display:grid;gap:6px;flex:1;min-width:0;}
.hnfc-feature-copy strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere;}
.hnfc-feature-copy small{font-size:12px;color:#bcbec8;}
.hnfc-feature-arrow{font-size:12px;color:#ed9098;font-weight:650;}
.hnfc-challenge-preview{max-width:300px;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:11px;}
.hnfc-challenge-edit{border:1px solid #484951;border-radius:10px;padding:10px 12px;}
.hnfc-challenge-edit summary{color:#efb2b7;font-weight:650;cursor:pointer;font-size:13px;}
.hnfc-challenge-edit form{padding-top:14px;}
@media(max-width:420px){.hnfc-feature-copy strong{font-size:13px;}.hnfc-feature-copy small{font-size:11px;}}

/* v2.49.2 — light interaction design, progressively disclosed settings */
.hnfc-manage-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 2px 3px;}
.hnfc-manage-heading h2{font-size:22px;margin:0;}.hnfc-manage-heading p{font-size:12px;margin:2px 0 0;color:#aeb0b9;}
.hnfc-challenge-create{gap:14px;}
.hnfc-form-title{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.hnfc-quick-form{gap:12px;}
.hnfc-file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;border:1px dashed #66636a;border-radius:14px;background:#1c1d21;padding:20px 13px;cursor:pointer;position:relative;min-height:135px;}
.hnfc-file-drop input[type=file]{max-width:275px;width:100%;font-size:12px;margin:6px auto 0;}
.hnfc-file-drop .hnfc-file-icon{display:grid;place-items:center;width:30px;height:30px;background:#39292c;border-radius:9px;color:#f3aeb6;font-size:23px;}
.hnfc-file-drop strong{font-size:15px;font-weight:650;}.hnfc-file-drop small{font-size:12px;color:#b8bac4;line-height:1.4;}
.hnfc-file-drop .hnfc-upload-preview{width:100%;max-width:480px;margin-top:7px;max-height:240px;}
.hnfc-templates{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:#aeb0b8;}
.hnfc-templates button{background:#33343a;color:#e6e6eb;border:1px solid #515158;border-radius:50px;padding:6px 12px;min-height:33px;font-size:12px;}
.hnfc-templates button:focus-visible{outline:2px solid #ef9aa3;outline-offset:2px;}
.hnfc-more-fields{border-top:1px solid #3f4047;margin-top:2px;padding:12px 0 1px;}
.hnfc-more-fields summary{font-size:13px;font-weight:650;color:#e9e9ed;cursor:pointer;min-height:34px;display:flex;align-items:center;gap:5px;}
.hnfc-more-fields summary span{font-weight:450;color:#a8a9b2;}
.hnfc-more-body{padding-top:11px;display:grid;gap:11px;}
.hnfc-note-center{text-align:center;margin:-3px auto 0;max-width:430px;}
.hnfc-compact-list{display:grid;gap:0;}
.hnfc-pt-challenge{padding:13px 0;display:grid;grid-template-columns:105px minmax(0,1fr) 34px;align-items:center;gap:12px;border-bottom:1px solid #3f4048;}
.hnfc-pt-challenge:first-child{padding-top:0;}.hnfc-pt-challenge:last-child{border-bottom:0;padding-bottom:0;}
.hnfc-pt-thumb{width:105px;aspect-ratio:16/9;border-radius:9px;object-fit:cover;background:#17171b;}
.hnfc-pt-thumb-empty{display:grid;place-items:center;color:#b1b2bd;font-size:12px;letter-spacing:3px;}
.hnfc-pt-event-info{min-width:0;display:grid;justify-items:start;gap:5px;}
.hnfc-pt-event-info strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere;}.hnfc-pt-event-info small{font-size:11px;color:#bfc0c7;}
.hnfc-pt-event-info .hnfc-badge{font-size:10px;padding:3px 7px;}
.hnfc-pt-event-actions{position:relative;justify-self:end;align-self:start;}
.hnfc-pt-event-actions>summary{width:35px;height:38px;display:grid;place-items:center;border:1px solid #484950;border-radius:10px;background:#303137;cursor:pointer;list-style:none;color:#eee;font-size:22px;line-height:1;}
.hnfc-pt-event-actions>summary::-webkit-details-marker{display:none;}
.hnfc-pt-event-actions[open]{grid-column:1/-1;width:100%;justify-self:stretch;}
.hnfc-pt-event-actions[open]>summary{margin-left:auto;}
.hnfc-pt-event-extra{border-top:1px solid #3f4048;margin-top:10px;padding:12px 0;display:grid;gap:15px;}
.hnfc-pt-event-buttons{display:flex;gap:7px;}
.hnfc-count{background:#b6313b;color:white;border-radius:10px;padding:3px 7px;font-size:12px;}
.hnfc-challenge-row{width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:11px 0;border:0;border-bottom:1px solid #393a42;background:transparent;color:#fff;}
.hnfc-challenge-row:last-child{border-bottom:0;}
.hnfc-row-cover{flex:0 0 112px;width:112px;aspect-ratio:16/10;border-radius:8px;margin:0;}
.hnfc-row-info{flex:1;display:grid;gap:3px;min-width:0;}
.hnfc-row-info strong{font-size:14px;font-weight:650;overflow-wrap:anywhere;line-height:1.35;}
.hnfc-row-info small{font-size:11px;}
.hnfc-row-status{font-size:11px;color:#e99ca4;}
.hnfc-row-arrow{font-size:26px;font-weight:300;color:#a4a7b2;line-height:1;}
.hnfc-challenge-row:focus-visible{outline:2px solid #e99ca4;outline-offset:2px;}
.hnfc-tight{align-items:start;}.hnfc-tight h2{font-size:20px;line-height:1.3;}
.hnfc-description{white-space:pre-wrap;line-height:1.6;}
.hnfc-prize{border:1px solid #514247;border-radius:10px;padding:12px;display:grid;gap:5px;font-size:13px;}
.hnfc-prize strong{color:#f0c9cf;}.hnfc-my-status{color:#a7e0b9!important;}
.hnfc-detail-ranking{display:grid;gap:13px;margin-top:12px;}
@media(max-width:460px){.hnfc-pt-challenge{grid-template-columns:85px minmax(0,1fr) 32px;gap:8px;}.hnfc-pt-thumb{width:85px;}.hnfc-row-cover{flex-basis:91px;width:91px;}.hnfc-manage-heading h2{font-size:19px;}.hnfc-row-info strong{font-size:13px;}}

/* ==============================================================
   HN FITNESS v2.50 — REBUILT COMMUNITY UI
   Quiet surfaces, one primary action, stable layouts, accessible
   contrast, no decorative boxes around routine data.
   All selectors are scoped to the module; the main training calendar
   remains untouched.
   ============================================================== */
.hnfc-root{
  --hnfc-bg:#101115;--hnfc-card:#1b1c21;--hnfc-ink:#f5f5f7;
  --hnfc-sub:#adb0b9;--hnfc-red:#d83c4f;--hnfc-line:#303138;
  background:transparent;color:var(--hnfc-ink);font-size:15px;line-height:1.5;
  font-family:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
.hnfc-root .hnfc-shell{width:100%;max-width:760px;margin:0 auto;padding:8px 0 44px;}
.hnfc-root .hnfc-header{margin:0 0 16px;padding:4px 1px 0;display:block;}
.hnfc-root .hnfc-header .hnfc-overline{font-size:10px;line-height:1.5;letter-spacing:2.1px;color:#999da7;margin:0 0 3px;font-weight:700;}
.hnfc-root .hnfc-header h1{color:#f7f7f9;font-weight:740;font-size:clamp(22px,5vw,26px);letter-spacing:-.7px;line-height:1.24;margin:0;}
.hnfc-root .hnfc-header p{font-size:12px;color:#9da0aa;margin:3px 0 0;}
.hnfc-root .hnfc-tabs{gap:5px;padding:0 0 13px;overscroll-behavior-x:contain;scrollbar-width:none;overflow-x:auto;}
.hnfc-root .hnfc-tabs button{border:1px solid #36363c;background:#1d1e23;color:#c9cad0;min-height:41px;border-radius:10px;padding:9px 13px;font-size:12px;line-height:1.2;font-weight:600;letter-spacing:0;white-space:nowrap;flex:none;}
.hnfc-root .hnfc-tabs button.selected{background:#353036;color:#fff;border-color:#725056;box-shadow:inset 0 -2px 0 #e44e60;}
.hnfc-root .hnfc-content{gap:12px;min-width:0;}
.hnfc-root .hnfc-card{padding:17px 16px;gap:12px;min-width:0;background:#1b1c20;border:1px solid #303139;border-radius:16px;box-shadow:none;}
.hnfc-root .hnfc-card.hnfc-hero{background:#211b20;border-color:#473038;}
.hnfc-root h2{color:#f5f5f8;font-size:17px;font-weight:710;letter-spacing:-.3px;}
.hnfc-root h3{color:#f1f1f4;font-size:15px;font-weight:680;}
.hnfc-root p{color:#b4b6be;font-size:13px;line-height:1.55;}
.hnfc-root small{color:#aeb0b9;font-size:12px;}
.hnfc-root .hnfc-section-title{padding:8px 1px 1px;min-height:37px;gap:8px;}
.hnfc-root .hnfc-btn{font-size:13px;font-weight:650;line-height:1.2;border-radius:11px;min-height:45px;padding:11px 15px;box-shadow:none;touch-action:manipulation;}
.hnfc-root .hnfc-primary{background:#c83549;color:#fff;border:1px solid #d04759;}
.hnfc-root .hnfc-primary:active{background:#ab2538;}
.hnfc-root .hnfc-secondary{background:#2a2b31;color:#e6e7ea;border:1px solid #41434c;}
.hnfc-root .hnfc-text-btn{border:0;color:#f1a1aa;background:transparent;padding:8px 6px;min-height:38px;}
.hnfc-root .hnfc-badge{font-size:11px;font-weight:600;color:#c7c7ce;background:#323138;border:1px solid #515058;padding:4px 9px;border-radius:7px;letter-spacing:0;}
.hnfc-root .hnfc-badge.green{background:#1e3530;color:#93dac0;border-color:#36554a;}
.hnfc-root .hnfc-empty{padding:26px 12px;gap:8px;}
.hnfc-root .hnfc-empty p{font-size:13px;max-width:260px;}
.hnfc-root .hnfc-eyebrow{font-size:10px;color:#d69ca5;letter-spacing:1.2px;}
.hnfc-root .hnfc-balance{font-size:32px;font-weight:730;}
.hnfc-root .hnfc-form{gap:13px;min-width:0;}
.hnfc-root .hnfc-field{margin:0!important;color:#dcdee4;font-size:13px;font-weight:560;gap:6px;}
.hnfc-root .hnfc-field>span{display:block;}
.hnfc-root .hnfc-field input,.hnfc-root .hnfc-field textarea,.hnfc-root .hnfc-field select,
.hnfc-root .hnfc-comment-form input,.hnfc-root .hnfc-rule input{font-size:15px;color:#f1f2f3;background:#14151a;border:1px solid #43454e;border-radius:10px;padding:10px 12px;min-height:46px;line-height:1.35;margin:0;outline:none;}
.hnfc-root .hnfc-field input::placeholder,.hnfc-root .hnfc-field textarea::placeholder{color:#8b8f9c;}
.hnfc-root input[type="file"]{min-height:auto;font-size:12px!important;color:#b5b8c1;padding:10px!important;}
.hnfc-root input:focus,.hnfc-root select:focus,.hnfc-root textarea:focus{border-color:#df6372;}
.hnfc-root .hnfc-field textarea{resize:vertical;min-height:100px;}
.hnfc-root .hnfc-cols{gap:10px;}
.hnfc-root .hnfc-file-drop{background:#17181c;border:1px dashed #555761;border-radius:13px;min-height:122px;padding:13px 12px;gap:4px;margin:0;}
.hnfc-root .hnfc-file-icon{background:#322329;color:#ee8e99;width:32px;height:32px;}
.hnfc-root .hnfc-file-drop strong{font-size:13px;font-weight:660;}
.hnfc-root .hnfc-file-drop small{font-size:11px;color:#a3a6af;}
.hnfc-root .hnfc-file-drop input{font-size:11px!important;color:#adb0b8;max-width:250px;}
.hnfc-root .hnfc-upload-preview{width:100%;object-fit:cover;aspect-ratio:16/9;max-height:235px;border-radius:9px;border:1px solid #3e3f45;}
.hnfc-root .hnfc-templates{gap:8px;margin-top:-2px;}
.hnfc-root .hnfc-templates span{font-size:12px;color:#adafb7;}
.hnfc-root .hnfc-templates button{background:#28292e;border:1px solid #4a4b53;color:#dadbe1;border-radius:8px;font-size:12px;min-height:34px;padding:7px 14px;}
.hnfc-root .hnfc-templates button:active{background:#543039;}
.hnfc-root .hnfc-more-fields{border-top:1px solid #383940;padding:6px 0 0;}
.hnfc-root .hnfc-more-fields summary{font-size:12px;color:#d5d7df;font-weight:590;padding:8px 0;}
.hnfc-root .hnfc-more-fields summary span{color:#989ba6;}
.hnfc-root .hnfc-more-body{gap:12px;}
.hnfc-root .hnfc-manage-heading{margin:0 0 4px;padding:1px 0;min-height:45px;}
.hnfc-root .hnfc-manage-heading h2{font-size:19px;}
.hnfc-root .hnfc-manage-heading p{color:#a5a8b1;font-size:11px;margin:2px 0 0;}
.hnfc-root .hnfc-manage-heading .hnfc-btn{min-height:41px;padding:9px 12px;}
.hnfc-root .hnfc-pt-challenge{grid-template-columns:104px minmax(0,1fr) 37px;gap:12px;padding:13px 0;border-bottom:1px solid #36373d;min-width:0;}
.hnfc-root .hnfc-pt-thumb{width:104px;aspect-ratio:16/10;border-radius:9px;object-fit:cover;background:#24252a;}
.hnfc-root .hnfc-pt-event-info{gap:4px;align-content:center;}
.hnfc-root .hnfc-pt-event-info strong{color:#f1f1f4;font-size:13px;line-height:1.38;font-weight:650;}
.hnfc-root .hnfc-pt-event-info small{font-size:11px;color:#a4a6ae;}
.hnfc-root .hnfc-pt-event-actions>summary{border:0;background:#2c2d33;color:#d7d8df;width:34px;height:40px;font-size:23px;}
.hnfc-root .hnfc-pt-event-extra{margin-top:8px;padding:13px 0 4px;border-color:#34363d;gap:12px;}
.hnfc-root .hnfc-pt-event-buttons{gap:8px;}
.hnfc-root .hnfc-count{background:#b82e43;border-radius:6px;}
.hnfc-root .hnfc-challenge-row{gap:12px;padding:11px 0;min-height:84px;border-bottom:1px solid #36373c;touch-action:manipulation;}
.hnfc-root .hnfc-row-cover{flex:0 0 106px;width:106px;margin:0;aspect-ratio:16/10;border-radius:8px;}
.hnfc-root .hnfc-row-info{gap:4px;}
.hnfc-root .hnfc-row-info strong{color:#f1f1f4;font-size:13px;font-weight:650;line-height:1.35;}
.hnfc-root .hnfc-row-info small{color:#a7a9b1;font-size:11px;}
.hnfc-root .hnfc-row-status{color:#d8a9b0;font-size:11px;}
.hnfc-root .hnfc-challenge-no-image{background:linear-gradient(120deg,#1d1d21,#34232b);border:1px solid #46373c;}
.hnfc-root .hnfc-challenge-no-image span{font-size:10px;letter-spacing:1.2px;color:#d8b2b6;}
.hnfc-root .hnfc-challenge-cover img{object-fit:cover;}
.hnfc-root .hnfc-detail-image{margin:0;border-radius:11px;}
.hnfc-root .hnfc-tight{gap:10px;align-items:start;}
.hnfc-root .hnfc-tight h2{font-size:19px;line-height:1.3;}
.hnfc-root .hnfc-prize{border:1px solid #47414a;background:#252026;border-radius:11px;padding:12px;font-size:13px;}
.hnfc-root .hnfc-ranks{border-top:1px solid #3a3b42;padding-top:14px;}
.hnfc-root .hnfc-rank{font-size:12px;padding:10px 0;border-color:#33343b;}
.hnfc-root .hnfc-rank-num{font-size:14px;}
.hnfc-root .hnfc-feature-hero{width:100%;background:#1b1c20;border:1px solid #33353b;border-radius:15px;overflow:hidden;display:grid;text-align:left;padding:0;color:#fff;gap:0;cursor:pointer;touch-action:manipulation;}
.hnfc-root .hnfc-feature-hero-img{margin:0;width:100%;aspect-ratio:16/9;border-radius:0;}
.hnfc-root .hnfc-feature-hero-info{padding:15px 16px 16px;display:grid;gap:7px;justify-items:start;}
.hnfc-root .hnfc-feature-hero-info strong{font-size:16px;line-height:1.35;font-weight:710;letter-spacing:-.2px;}
.hnfc-root .hnfc-feature-hero-info small{color:#eea0ab;font-weight:560;}
.hnfc-root .hnfc-balance-link{display:flex;justify-content:space-between;align-items:center;width:100%;gap:12px;border:1px solid #383139;background:linear-gradient(125deg,#272025,#1b1c20);border-radius:15px;color:#fff;padding:18px 16px;text-align:left;cursor:pointer;touch-action:manipulation;}
.hnfc-root .hnfc-balance-link>span:first-child{display:grid;gap:4px;}
.hnfc-root .hnfc-balance-link small{font-size:10px;letter-spacing:.6px;font-weight:650;color:#c4b1b7;}
.hnfc-root .hnfc-balance-link strong{font-size:29px;line-height:1.14;font-weight:720;letter-spacing:-.6px;font-variant-numeric:tabular-nums;}
.hnfc-root .hnfc-balance-link em{font-style:normal;font-size:13px;font-weight:500;color:#c9bac0;letter-spacing:0;}
.hnfc-root .hnfc-balance-go{font-size:12px;font-weight:600;color:#f3b0ba;white-space:nowrap;}
.hnfc-root .hnfc-empty-onboard{display:grid;justify-items:center;text-align:center;gap:9px;padding:18px 5px;}
.hnfc-root .hnfc-empty-onboard .hnfc-empty-mark{display:grid;place-items:center;width:42px;height:42px;color:#e8a6b0;background:#36272d;border-radius:13px;font-size:24px;}
.hnfc-root .hnfc-empty-onboard .hnfc-btn{margin-top:6px;}
.hnfc-root .hnfc-note-center{margin:-4px 0 0;font-size:11px!important;color:#9a9ca6!important;}
.hnfc-root .hnfc-stats{gap:8px;}
.hnfc-root .hnfc-stats>div{background:#1e1e23;border-color:#33343b;border-radius:13px;padding:13px 8px;}
.hnfc-root .hnfc-stats strong{font-size:20px;}
.hnfc-root .hnfc-reward{gap:12px;}
.hnfc-root .hnfc-post-head{gap:10px;}
.hnfc-root .hnfc-post-text{font-size:13px!important;}
.hnfc-root .hnfc-toast{font-size:13px;background:#26382f;border:1px solid #43664b;border-radius:11px;}
.hnfc-root .hnfc-toast.error{background:#50242e;border-color:#98515e;}
.hnfc-root :focus-visible{outline:2px solid #e78b99;outline-offset:3px;}
@media(max-width:530px){
 .hnfc-root .hnfc-shell{padding:8px 0 32px;}
 .hnfc-root .hnfc-card{padding:14px 13px;border-radius:14px;}
 .hnfc-root .hnfc-pt-challenge{grid-template-columns:84px minmax(0,1fr) 34px;gap:9px;}
 .hnfc-root .hnfc-pt-thumb{width:84px;}
 .hnfc-root .hnfc-row-cover{flex-basis:88px;width:88px;}
 .hnfc-root .hnfc-row-info strong{font-size:13px;}
 .hnfc-root .hnfc-pt-event-info strong{font-size:12px;}
 .hnfc-root .hnfc-cols{grid-template-columns:1fr;}
 .hnfc-root .hnfc-manage-heading .hnfc-btn{padding:9px 10px;font-size:12px;white-space:nowrap;}
 .hnfc-root .hnfc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 .hnfc-root .hnfc-reward{padding:12px;}
}
@media(prefers-reduced-motion:reduce){.hnfc-root *{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}

/* File input stays keyboard-accessible without exposing native clutter. */
.hnfc-root .hnfc-file-drop{position:relative;overflow:hidden;cursor:pointer;}
.hnfc-root .hnfc-file-drop input[type=file]{position:absolute!important;inset:0!important;z-index:2!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer;padding:0!important;margin:0!important;max-width:none!important;}
.hnfc-root .hnfc-file-drop:focus-within{outline:2px solid #de7784;outline-offset:2px;}
.hnfc-root .hnfc-inline-edit{border-top:1px solid #383940;padding-top:9px;}
.hnfc-root .hnfc-inline-edit>summary{cursor:pointer;list-style:disclosure-closed;font-size:13px;font-weight:650;color:#eeafba;padding:8px 0;}
.hnfc-root .hnfc-inline-edit[open]>summary{margin-bottom:14px;}
.hnfc-root .hnfc-inline-edit .hnfc-form{padding-top:5px;}

/* Keep save errors visible without changing or clearing form inputs. */
.hnfc-form-error{margin:0 0 12px;padding:12px 14px;border:1px solid #a83a4d;border-radius:12px;background:#3d222a;color:#ffe6eb;font-size:14px;line-height:1.5;}

/* v2.52.0 — Community Clarity Refresh: isolated, accessible, low-clutter visual system */
.hnfc-root{--hnfc-bg:#101114;--hnfc-card:#1c1e23;--hnfc-line:#30333a;--hnfc-red:#b82f3b;color:#f5f5f7;background:var(--hnfc-bg);}
.hnfc-shell{max-width:780px;padding-top:16px;}
.hnfc-header{margin-bottom:14px;}
.hnfc-header h1{font-size:24px;letter-spacing:-.6px;}
.hnfc-header p{font-size:13px;color:#aeb0ba;}
.hnfc-refresh{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#22252a;color:#fff;border:1px solid #3a3c44;font-size:23px;flex-shrink:0;}
.hnfc-refresh:focus-visible{outline:3px solid #f3a2ab;outline-offset:2px;}
.hnfc-tabs{gap:3px;padding-bottom:13px;border-bottom:1px solid #282a30;margin-bottom:8px;}
.hnfc-tabs button{min-height:44px;border-radius:10px;padding:9px 12px;color:#bbbcc4;}
.hnfc-tabs button.selected{color:#fff;background:#343034;border-color:#484044;}
.hnfc-content{gap:16px;}
.hnfc-card{border-radius:16px;box-shadow:none;padding:17px;gap:12px;}
.hnfc-section-title h2,.hnfc-manage-heading h2{font-size:19px;}
.hnfc-btn{border-radius:11px;min-height:46px;}
.hnfc-btn.hnfc-primary{background:#b82f3b;}
.hnfc-btn.hnfc-primary:hover{background:#c5414d;}
.hnfc-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.hnfc-quick-actions .hnfc-btn{width:100%;font-size:13px;}
.hnfc-home-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 1px;}
.hnfc-home-title h2{font-size:22px;letter-spacing:-.4px;}
.hnfc-home-title p{margin-top:4px;}
.hnfc-overview-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.hnfc-overview-stats>div{border:1px solid #34353e;border-radius:13px;background:#202127;padding:15px 10px;display:grid;gap:4px;min-width:0;}
.hnfc-overview-stats strong{font-size:27px;font-weight:730;letter-spacing:-.5px;font-variant-numeric:tabular-nums;}
.hnfc-overview-stats span{font-size:12px;color:#b3b4bd;}
.hnfc-review-panel{border-color:#624046;}
.hnfc-review-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #363840;padding:12px 0;flex-wrap:wrap;}
.hnfc-review-item:first-of-type{border-top:0;}
.hnfc-review-item>div:first-child{min-width:150px;flex:1;display:grid;gap:4px;overflow-wrap:anywhere;}
.hnfc-review-item strong{font-size:14px;}
.hnfc-review-item small{font-size:12px;color:#b5b5c0;line-height:1.45;}
.hnfc-review-item .hnfc-btn{min-height:42px;}
.hnfc-done{display:flex;align-items:center;gap:12px;}
.hnfc-done .hnfc-emoji{color:#a3cdb4;font-size:25px;}
.hnfc-done strong{font-size:15px;}
.hnfc-manager-feature{margin:0;}
.hnfc-fold{border:1px solid #36383f;border-radius:14px;overflow:hidden;background:#1a1c20;min-width:0;}
.hnfc-fold>summary{cursor:pointer;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;color:#e7e8ed;font-size:14px;font-weight:650;list-style:none;}
.hnfc-fold>summary::-webkit-details-marker{display:none;}
.hnfc-fold>summary::after{content:'⌄';margin-left:auto;font-size:20px;color:#babac2;transition:transform .15s;}
.hnfc-fold[open]>summary::after{transform:rotate(180deg);}
.hnfc-fold>summary span{font-size:12px;color:#aaaeb8;margin-left:2px;}
.hnfc-fold>.hnfc-card{margin:0 8px 8px;border-radius:10px;}
.hnfc-fold:focus-within{border-color:#5f555a;}
.hnfc-new{font-size:10px;color:#f4c7c9;background:#613038;border:1px solid #8a444b;border-radius:5px;padding:2px 5px;margin-left:5px;vertical-align:middle;white-space:nowrap;letter-spacing:.04em;}
.hnfc-pt-challenge{grid-template-columns:94px minmax(0,1fr) 38px;}
.hnfc-pt-thumb{width:94px;}
.hnfc-pt-event-actions>summary{width:42px;height:42px;}
.hnfc-pt-event-info strong{font-size:14px;}
.hnfc-challenge-row{min-height:78px;cursor:pointer;}
.hnfc-challenge-row:hover{background:#26272c;}
.hnfc-field input,.hnfc-field select,.hnfc-field textarea{min-height:47px;}
@media(max-width:480px){
 .hnfc-root{font-size:15px;}.hnfc-shell{padding:14px 12px 30px;}.hnfc-card{padding:14px;}.hnfc-tabs button{font-size:12px;padding:8px 9px;}
 .hnfc-home-title h2{font-size:20px;}.hnfc-overview-stats strong{font-size:24px;}
 .hnfc-overview-stats>div{padding:12px 9px;}.hnfc-overview-stats span{font-size:11px;}
 .hnfc-pt-challenge{grid-template-columns:88px minmax(0,1fr) 42px;gap:10px;}.hnfc-pt-thumb{width:88px;}
 .hnfc-row-cover{width:95px;flex-basis:95px;}.hnfc-quick-actions .hnfc-btn{font-size:12px;padding:10px 8px;}
 .hnfc-review-item>.hnfc-actions{width:100%;}.hnfc-review-item .hnfc-btn{flex:1;}
}
@media(prefers-reduced-motion:reduce){.hnfc-fold>summary::after{transition:none;}}
.hnfc-root .hnfc-header{display:flex;align-items:center;justify-content:space-between;}
@media(max-width:520px){.hnfc-grid{grid-template-columns:1fr;}.hnfc-reward .hnfc-split{justify-content:space-between;align-items:center;}.hnfc-reward .hnfc-btn{width:auto;}}

/* HN Fitness 2.53.0 - Premium Social Community (student screens only).
 * Scoped: no calendar, nutrition, home, profile or PT styles are changed. */
.hnfc-root[data-mode="client"]{
  --hnfc-accent:#dc354d;--hnfc-panel:#1a1b20;--hnfc-panel2:#222329;--hnfc-border:#32343b;
  --hnfc-muted:#aeb0bb;--hnfc-strong:#f8f8fb;color:var(--hnfc-strong);
}
.hnfc-root[data-mode="client"] .hnfc-shell{max-width:760px;padding:8px 0 58px;min-width:0;}
.hnfc-root[data-mode="client"] .hnfc-header{margin:0 0 15px;}
.hnfc-root[data-mode="client"] .hnfc-header h1{font-size:clamp(25px,5.5vw,29px);letter-spacing:-.7px;font-weight:760;}
.hnfc-root[data-mode="client"] .hnfc-header p{font-size:13px;color:var(--hnfc-muted);}
.hnfc-root[data-mode="client"] .hnfc-header .hnfc-overline{display:none;}
.hnfc-root[data-mode="client"] .hnfc-refresh{height:40px;width:40px;border-radius:12px;background:#212228;border:1px solid #383941;color:#c5c7d1;font-size:19px;}
.hnfc-root[data-mode="client"] .hnfc-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;overflow:visible;padding:0 0 16px;margin:0 0 4px;border:none;}
.hnfc-root[data-mode="client"] .hnfc-tabs button{width:100%;min-width:0;min-height:45px;padding:7px 2px;background:#1b1c21;border:1px solid #36383f;color:#bbbcc5;border-radius:12px;white-space:nowrap;font-size:12px;font-weight:610;}
.hnfc-root[data-mode="client"] .hnfc-tabs button.selected{background:linear-gradient(145deg,#46272e,#2b2228);border-color:#b34050;color:#fff;box-shadow:inset 0 -2px 0 #ed4f66;}
.hnfc-root[data-mode="client"] .hnfc-content{display:grid;gap:14px;min-width:0;}
.hnfc-root[data-mode="client"] .hnfc-content h2{font-size:19px;letter-spacing:-.3px;}
.hnfc-root[data-mode="client"] .hnfc-section-title{padding:8px 1px 0;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.hnfc-root[data-mode="client"] .hnfc-section-title h2{font-weight:760;line-height:1.3;}
.hnfc-root[data-mode="client"] .hnfc-section-title small{font-size:12px;}
.hnfc-root[data-mode="client"] .hnfc-section-title .hnfc-text-btn{font-size:12px;min-height:35px;}
.hnfc-root[data-mode="client"] .hnfc-primary{background:#cb3044;border:1px solid #db4459;color:#fff;}
.hnfc-root[data-mode="client"] .hnfc-secondary{background:#212329;border-color:#42444e;color:#f4f4f6;}
.hnfc-root[data-mode="client"] .hnfc-btn{min-height:44px;}
.hnfc-root[data-mode="client"] .hnfc-card{background:var(--hnfc-panel);border-color:var(--hnfc-border);border-radius:16px;}
.hnfc-root[data-mode="client"] .hnfc-showcase{background:#1b1c20;border:1px solid #3a3b43;border-radius:19px;overflow:hidden;min-width:0;}
.hnfc-root[data-mode="client"] .hnfc-showcase-photo{margin:0;border-radius:0;aspect-ratio:16/9;width:100%;}
.hnfc-root[data-mode="client"] .hnfc-showcase-photo img{display:block;width:100%;height:100%;object-fit:cover;}
.hnfc-root[data-mode="client"] .hnfc-showcase-info{padding:15px;display:grid;gap:12px;}
.hnfc-root[data-mode="client"] .hnfc-showcase-info h2{font-size:16px;line-height:1.4;letter-spacing:-.12px;}
.hnfc-root[data-mode="client"] .hnfc-showcase-state{display:flex;align-items:center;gap:8px;min-height:23px;}
.hnfc-root[data-mode="client"] .hnfc-showcase-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.hnfc-root[data-mode="client"] .hnfc-showcase-buttons .hnfc-btn{padding:11px 6px;font-size:13px;min-height:46px;}
.hnfc-root[data-mode="client"] .hnfc-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.hnfc-root[data-mode="client"] .hnfc-mini-stats>div,
.hnfc-root[data-mode="client"] .hnfc-mini-stats>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;text-align:left;gap:3px;min-height:86px;padding:12px 10px;border:1px solid #39343c;border-radius:14px;background:linear-gradient(135deg,#252127,#1b1c20);color:#fff;}
.hnfc-root[data-mode="client"] .hnfc-mini-stats small{font-size:11px;line-height:1.4;color:#c1b8bd;}
.hnfc-root[data-mode="client"] .hnfc-mini-stats strong{font-size:23px;font-weight:770;line-height:1.2;letter-spacing:-.7px;font-variant-numeric:tabular-nums;}
.hnfc-root[data-mode="client"] .hnfc-mini-stats span{color:#dfabb0;font-size:10px;line-height:1.4;}
.hnfc-root[data-mode="client"] .hnfc-overview-metrics>button:focus-visible{outline:2px solid #ed5c71;outline-offset:2px;}
.hnfc-root[data-mode="client"] .hnfc-next-actions{display:grid;gap:0;border:1px solid #34363e;border-radius:17px;background:#1b1c20;overflow:hidden;}
.hnfc-root[data-mode="client"] .hnfc-next-actions>button{display:flex;gap:11px;align-items:center;min-height:69px;width:100%;border:0;border-bottom:1px solid #303139;background:transparent;color:#fff;text-align:left;padding:12px 13px;}
.hnfc-root[data-mode="client"] .hnfc-next-actions>button:last-child{border-bottom:0;}
.hnfc-root[data-mode="client"] .hnfc-next-actions>button>span:nth-child(2){display:grid;gap:2px;flex:1;min-width:0;}
.hnfc-root[data-mode="client"] .hnfc-next-actions strong{font-size:13px;line-height:1.35;}
.hnfc-root[data-mode="client"] .hnfc-next-actions small{font-size:11px;line-height:1.4;color:#aeb0b9;overflow-wrap:anywhere;}
.hnfc-root[data-mode="client"] .hnfc-next-actions b{font-size:21px;font-weight:300;color:#d3c6cb;}
.hnfc-root[data-mode="client"] .hnfc-action-icon{display:grid;place-items:center;background:#34232a;border-radius:13px;width:43px;height:43px;flex:0 0 43px;color:#ec8c9b;}
.hnfc-root[data-mode="client"] .hnfc-rewards-hero{display:grid;gap:10px;padding:23px 20px 20px;min-width:0;border-radius:19px;border:1px solid #623742;background:radial-gradient(ellipse at 93% 25%,#45202a 0%,transparent 60%),linear-gradient(115deg,#2b1f24,#191a1f);}
.hnfc-root[data-mode="client"] .hnfc-rewards-hero .hnfc-eyebrow{font-size:11px;font-weight:780;letter-spacing:1.2px;color:#f27d92;}
.hnfc-root[data-mode="client"] .hnfc-rewards-hero>small{font-size:12px;color:#c8bec3;}
.hnfc-root[data-mode="client"] .hnfc-reward-balance{font-size:clamp(34px,8vw,44px);line-height:1.12;font-weight:810;letter-spacing:-1.2px;font-variant-numeric:tabular-nums;}
.hnfc-root[data-mode="client"] .hnfc-reward-balance span{font-size:13px;font-weight:500;letter-spacing:0;color:#c6bdc2;}
.hnfc-root[data-mode="client"] .hnfc-rewards-hero p{color:#cbbcc2;font-size:12px;}
.hnfc-root[data-mode="client"] .hnfc-rewards-hero p b{color:#fff;}
.hnfc-root[data-mode="client"] .hnfc-reward-track{width:100%;height:8px;border-radius:99px;background:#4b4045;overflow:hidden;margin-top:5px;}
.hnfc-root[data-mode="client"] .hnfc-reward-track i{display:block;height:100%;background:linear-gradient(90deg,#bd2d44,#ff8290);border-radius:99px;}
.hnfc-root[data-mode="client"] .hnfc-store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;min-width:0;}
.hnfc-root[data-mode="client"] .hnfc-store-product{display:flex;flex-direction:column;border-radius:16px;border:1px solid #36373e;background:#1b1c20;min-width:0;overflow:hidden;}
.hnfc-root[data-mode="client"] .hnfc-store-photo{width:100%;aspect-ratio:1.32;position:relative;background:linear-gradient(130deg,#3f222a,#151619);display:grid;place-items:center;overflow:hidden;}
.hnfc-root[data-mode="client"] .hnfc-store-photo>img{width:100%;height:100%;object-fit:cover;}
.hnfc-root[data-mode="client"] .hnfc-reward-placeholder{color:#eea7b2;transform:scale(1.8);}
.hnfc-root[data-mode="client"] .hnfc-store-cost{position:absolute;bottom:9px;left:9px;font-size:11px;font-weight:720;color:#fff;background:#18191cdb;border:1px solid #ffffff3d;padding:5px 8px;border-radius:7px;}
.hnfc-root[data-mode="client"] .hnfc-store-copy{display:grid;gap:7px;align-content:start;padding:12px;flex:1;}
.hnfc-root[data-mode="client"] .hnfc-store-copy h3{font-size:13px;line-height:1.35;font-weight:730;min-height:34px;}
.hnfc-root[data-mode="client"] .hnfc-store-copy small{font-size:11px;color:#acadb6;}
.hnfc-root[data-mode="client"] .hnfc-store-copy .hnfc-btn{min-height:40px;padding:8px 6px;font-size:12px;align-self:end;margin-top:4px;}
.hnfc-root[data-mode="client"] .hnfc-store-disabled{display:grid;place-items:center;min-height:40px;margin-top:auto;border-radius:10px;border:1px solid #52333b;background:#44272e;color:#e5b0b8;font-size:12px;font-weight:660;padding:7px;}
.hnfc-root[data-mode="client"] .hnfc-earn-list{display:grid;gap:7px;}
.hnfc-root[data-mode="client"] .hnfc-earn-list>div{border:1px solid #36373f;background:#1b1c20;border-radius:12px;padding:11px 12px;display:flex;align-items:center;gap:11px;min-width:0;}
.hnfc-root[data-mode="client"] .hnfc-earn-list>div>span{display:grid;place-items:center;width:35px;height:35px;background:#33232a;border-radius:11px;color:#e39aab;}
.hnfc-root[data-mode="client"] .hnfc-earn-list strong{flex:1;min-width:0;font-size:12px;}
.hnfc-root[data-mode="client"] .hnfc-earn-list b{font-size:14px;color:#f06a7d;}
.hnfc-root .hnfc-social-post{border:1px solid #35363f;border-radius:17px;background:#1b1c20;padding:14px;min-width:0;display:grid;gap:12px;overflow:hidden;}
.hnfc-root .hnfc-social-head{display:flex;align-items:center;gap:10px;min-width:0;}
.hnfc-root .hnfc-social-by{display:grid;gap:3px;flex:1;min-width:0;}
.hnfc-root .hnfc-social-by strong{font-size:14px;font-weight:750;line-height:1.25;}
.hnfc-root .hnfc-social-by small{font-size:11px;color:#a5a8b0;}
.hnfc-root .hnfc-social-head .hnfc-badge{font-size:10px;}
.hnfc-root[data-mode="client"] .hnfc-pt-chip{display:inline-block;vertical-align:middle;color:#f7b3bf;font-size:10px;background:#4e2931;padding:3px 6px;border-radius:6px;margin-left:5px;}
.hnfc-root .hnfc-avatar{display:grid;place-items:center;height:41px;width:41px;border-radius:50%;border:1px solid #76434a;color:#fff;background:linear-gradient(145deg,#63313e,#34272d);overflow:hidden;flex-shrink:0;font-weight:760;font-size:16px;}
.hnfc-root .hnfc-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.hnfc-root .hnfc-social-body{white-space:pre-wrap;word-break:break-word;color:#f0f0f4;font-size:14px;line-height:1.55;}
.hnfc-root .hnfc-social-photo{width:100%;max-height:460px;overflow:hidden;background:#121317;border-radius:12px;}
.hnfc-root .hnfc-social-photo img{width:100%;height:auto;max-height:460px;object-fit:cover;display:block;}
.hnfc-root .hnfc-social-metrics{display:flex;gap:15px;align-items:center;color:#adb0b9;font-size:11px;}
.hnfc-root .hnfc-social-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #33353e;padding-top:10px;}
.hnfc-root .hnfc-social-actions button{border:0;background:transparent;padding:9px 5px;min-height:40px;color:#c3c4cd;font-weight:650;font-size:12px;border-radius:9px;}
.hnfc-root .hnfc-social-actions button:hover{background:#292931;}
.hnfc-root .hnfc-social-actions .hnfc-social-active{color:#e46a80;}
.hnfc-root .hnfc-social-comments{display:grid;gap:9px;border-top:1px solid #33353e;padding-top:10px;}
.hnfc-root .hnfc-social-comments[hidden]{display:none;}
.hnfc-root .hnfc-social-comment{display:flex;gap:7px;align-items:start;}
.hnfc-root .hnfc-social-comment>.hnfc-avatar{height:30px;width:30px;font-size:12px;}
.hnfc-root[data-mode="client"] .hnfc-comment-bubble{background:#292b32;border-radius:11px;padding:9px 11px;min-width:0;max-width:100%;}
.hnfc-root[data-mode="client"] .hnfc-comment-bubble strong{font-size:12px;}
.hnfc-root[data-mode="client"] .hnfc-comment-bubble p{color:#dddde3;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;}
.hnfc-root .hnfc-composer{border:1px solid #373840;background:#1b1c20;border-radius:16px;padding:13px;display:grid;gap:12px;}
.hnfc-root .hnfc-composer-prompt{display:flex;align-items:center;gap:10px;}
.hnfc-root .hnfc-compose-open{flex:1;text-align:left;color:#adb0b9;font-size:12px;min-height:42px;border:1px solid #3e404b;border-radius:22px;background:#22242b;padding:11px 14px;}
.hnfc-root .hnfc-compose-actions{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #33343c;padding-top:9px;}
.hnfc-root .hnfc-compose-actions button{flex:1;min-height:34px;background:none;border:0;color:#d5d5df;font-size:11px;font-weight:650;padding:7px 4px;border-radius:9px;white-space:nowrap;}
.hnfc-root .hnfc-compose-actions button:hover{background:#2c2d34;}
.hnfc-root .hnfc-composer-heading{display:flex;gap:10px;align-items:center;}
.hnfc-root .hnfc-composer-heading>strong{flex:1;}
.hnfc-root .hnfc-composer .hnfc-form textarea{background:#202127;border-radius:12px;min-height:130px;padding:12px;border:1px solid #44454f;font-size:14px;}
.hnfc-root .hnfc-photo-picker{display:grid;gap:6px;min-width:0;font-size:12px;color:#d9d9de;}
.hnfc-root .hnfc-photo-picker input{display:block;width:100%;font-size:12px;color:#aeb0bd;}
.hnfc-root .hnfc-compose-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;}
.hnfc-root .hnfc-compose-footer small{flex:1;min-width:140px;font-size:11px;}
.hnfc-root .hnfc-compose-footer .hnfc-btn{min-width:100px;}
.hnfc-root .hnfc-comment-form{display:flex;gap:8px;}
.hnfc-root .hnfc-comment-form input{min-width:0;flex:1;border-radius:10px;}
@media(min-width:590px){.hnfc-root[data-mode="client"] .hnfc-store-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:375px){.hnfc-root[data-mode="client"] .hnfc-tabs{gap:4px;}.hnfc-root[data-mode="client"] .hnfc-tabs button{font-size:11px;}.hnfc-root[data-mode="client"] .hnfc-showcase-buttons{gap:6px;}.hnfc-root[data-mode="client"] .hnfc-mini-stats{gap:5px;}.hnfc-root[data-mode="client"] .hnfc-mini-stats>div,.hnfc-root[data-mode="client"] .hnfc-mini-stats>button{padding:10px 7px;}.hnfc-root[data-mode="client"] .hnfc-mini-stats strong{font-size:20px;}}
@media(prefers-reduced-motion:reduce){.hnfc-root[data-mode="client"] *{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}

/* v2.54 – HN Fitness Community / editorial minimal refinement.
   Scoped to the client; PT controls and the existing training UI are unchanged. */
.hnfc-root[data-mode="client"] .hnfc-shell{padding-top:3px}
.hnfc-root[data-mode="client"] .hnfc-header{margin-bottom:13px}
.hnfc-root[data-mode="client"] .hnfc-header .hnfc-overline{display:none}
.hnfc-root[data-mode="client"] .hnfc-header h1{font-size:24px;font-weight:730;letter-spacing:-.6px}
.hnfc-root[data-mode="client"] .hnfc-header .hnfc-refresh{border-radius:12px;background:#1d1e23;border:1px solid #32343c;color:#b1b2b9}
.hnfc-root[data-mode="client"] .hnfc-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:visible;border-bottom:1px solid #33343b;padding:0;margin-bottom:19px}
.hnfc-root[data-mode="client"] .hnfc-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;box-shadow:none;background:transparent;color:#aeb0b9;min-width:0;min-height:45px;padding:10px 2px 12px;font-size:clamp(11px,2.75vw,13px);font-weight:600;letter-spacing:-.1px;white-space:nowrap;transition:color .15s ease,border-color .15s ease}
.hnfc-root[data-mode="client"] .hnfc-tabs button.selected{border-bottom-color:#d8485e;color:#f8f8fa;background:transparent;box-shadow:none}
.hnfc-root[data-mode="client"] .hnfc-content{gap:17px}
.hnfc-root[data-mode="client"] .hnfc-section-title{margin:10px 0 10px}
.hnfc-root[data-mode="client"] .hnfc-section-title h2{font-size:17px;font-weight:710;letter-spacing:-.25px}
.hnfc-root[data-mode="client"] .hnfc-showcase{border:1px solid #36373d;background:#1a1b20;border-radius:17px;box-shadow:none;overflow:hidden}
.hnfc-root[data-mode="client"] .hnfc-showcase-info{background:#1b1c20;padding:14px 15px 16px}
.hnfc-root[data-mode="client"] .hnfc-showcase-info h2{font-size:16px;line-height:1.45;letter-spacing:-.15px}
.hnfc-root[data-mode="client"] .hnfc-showcase-buttons .hnfc-btn{min-height:43px;border-radius:11px}
.hnfc-root[data-mode="client"] .hnfc-mini-stats{gap:8px}
.hnfc-root[data-mode="client"] .hnfc-mini-stats>button{background:#1b1c21;border:1px solid #33343b;box-shadow:none;border-radius:13px;min-height:79px}
.hnfc-root[data-mode="client"] .hnfc-mini-stats small{font-size:11px}
.hnfc-root[data-mode="client"] .hnfc-mini-stats strong{font-size:22px}
.hnfc-root[data-mode="client"] .hnfc-next-actions{border-color:#33353c;background:#1b1c21;border-radius:14px}
.hnfc-root[data-mode="client"] .hnfc-next-actions>button{border-bottom-color:#303239;min-height:63px}
.hnfc-root[data-mode="client"] .hnfc-rewards-hero{background:linear-gradient(132deg,#2a1e25 0%,#1b1c21 80%);border-color:#51373f;box-shadow:none;border-radius:17px;padding:19px 18px}
.hnfc-root[data-mode="client"] .hnfc-reward-track{height:6px;background:#443a3f}
.hnfc-root[data-mode="client"] .hnfc-reward-track i{background:#d7475c}
.hnfc-root[data-mode="client"] .hnfc-store-grid{gap:9px}
.hnfc-root[data-mode="client"] .hnfc-store-product{background:#1b1c21;border-color:#32343b;box-shadow:none;border-radius:14px}
.hnfc-root[data-mode="client"] .hnfc-store-photo{background:#24232a}
.hnfc-root[data-mode="client"] .hnfc-store-copy{padding:11px;gap:5px}
.hnfc-root[data-mode="client"] .hnfc-store-copy h3{font-size:13px}
.hnfc-root[data-mode="client"] .hnfc-social-post{border:0;border-bottom:1px solid #36383e;border-radius:0;background:transparent;padding:14px 2px 17px;gap:12px;box-shadow:none}
.hnfc-root[data-mode="client"] .hnfc-social-photo{border-radius:12px;max-height:430px}
.hnfc-root[data-mode="client"] .hnfc-social-actions{border-top-color:#31323a}
.hnfc-root[data-mode="client"] .hnfc-composer{border:1px solid #36383f;background:#1b1c21;border-radius:16px;padding:13px;box-shadow:none}
.hnfc-root[data-mode="client"] .hnfc-compose-open{font-size:13px;background:#26272e;border-color:#3e4049}
.hnfc-root[data-mode="client"] .hnfc-compose-actions{border-top-color:#32343a}
.hnfc-root[data-mode="client"] .hnfc-badge{box-shadow:none}
@media(max-width:375px){.hnfc-root[data-mode="client"] .hnfc-tabs button{font-size:11px}}

/* v2.55.0: cleaner Community hierarchy, less visual noise. */
.hnfc-shell{padding-top:12px}
.hnfc-header{margin-bottom:12px}
.hnfc-overline{font-size:10px;letter-spacing:.10em}
.hnfc-tabs{gap:6px;border-bottom:1px solid #34343a;margin-bottom:6px}
.hnfc-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 8px;background:none!important;min-height:46px;font-size:13px}
.hnfc-tabs button.selected{border-bottom-color:#df5366;color:#fff!important}
.hnfc-content{gap:17px}
.hnfc-card{border-color:#36373e;box-shadow:none}
.hnfc-post-card{border-color:#34353c}
.hnfc-post-text{font-size:15px!important;line-height:1.55}
.hnfc-post-head strong{font-size:15px}
.hnfc-post-actions{min-height:44px}
.hnfc-load-error{padding:25px 16px;background:#242329;border:1px solid #57404a;border-radius:15px;margin:12px;color:#f5e8ec}
.hnfc-load-error button{display:block;margin-top:10px;border:0;background:#bc3449;color:white;border-radius:10px;padding:12px 20px;min-height:44px}
@media(max-width:400px){.hnfc-shell{padding:13px 10px 25px}.hnfc-tabs{gap:1px}.hnfc-tabs button{font-size:12px;padding-inline:7px}}
