/* =============================================================================
   KHF Band Mobile-first UI
============================================================================= */
:root{
  --khf-band-green:#16a34a;
  --khf-band-green-dark:#12823c;
  --khf-band-blue:#173b70;
  --khf-band-text:#111827;
  --khf-band-muted:#6b7280;
  --khf-band-line:#e5e7eb;
  --khf-band-bg:#f5f7fb;
  --khf-band-card:#fff;
  --khf-band-soft:#eff6ff;
  --khf-band-shadow:0 12px 30px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
body.khf-band-body{background:var(--khf-band-bg);color:var(--khf-band-text)}
.khf-band-wrap{max-width:760px;margin:0 auto;padding:0 14px 92px;font-family:'Noto Sans KR',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.khf-band-top{position:sticky;top:0;z-index:20;margin:0 -14px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--khf-band-line)}
.khf-band-top-inner{max-width:760px;margin:0 auto;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.khf-band-title{font-size:20px;font-weight:950;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.khf-band-top-actions{display:flex;align-items:center;gap:10px}
.khf-band-icon-btn{width:38px;height:38px;border:1px solid var(--khf-band-line);border-radius:50%;background:#fff;color:#111;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900;cursor:pointer}
.khf-band-icon-btn:hover{background:#f8fafc}
.khf-band-hero{margin:14px 0 0;background:#fff;border:1px solid var(--khf-band-line);border-radius:22px;overflow:hidden;box-shadow:var(--khf-band-shadow)}
.khf-band-cover{height:140px;background:linear-gradient(135deg,#143a70,#1e5c95 60%,#dbeafe);position:relative;overflow:hidden}
.khf-band-cover:after{content:'';position:absolute;right:-20px;bottom:-35px;width:210px;height:210px;border-radius:50%;background:rgba(255,255,255,.18)}
.khf-band-cover-text{position:absolute;left:24px;top:24px;color:#fff;z-index:1}
.khf-band-cover-text strong{display:block;font-size:22px;font-weight:950;letter-spacing:-.04em}
.khf-band-cover-text span{display:block;margin-top:8px;font-size:13px;line-height:1.55;opacity:.92;max-width:310px}
.khf-band-profile{padding:18px;display:grid;grid-template-columns:76px 1fr auto;gap:14px;align-items:center}
.khf-band-logo{width:76px;height:76px;border-radius:22px;background:#173b70;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 10px 24px rgba(23,59,112,.25);font-weight:950;letter-spacing:-.04em}
.khf-band-logo b{font-size:25px}.khf-band-logo span{font-size:11px;margin-top:2px}
.khf-band-profile h1{font-size:22px;margin:0 0 4px;letter-spacing:-.04em}
.khf-band-profile p{margin:0;color:var(--khf-band-muted);font-size:13px;line-height:1.55}
.khf-band-invite-box{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.khf-band-invite{border:1px solid #d1d5db;border-radius:999px;padding:9px 14px;background:#fff;text-decoration:none;color:#111827;font-weight:900;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.khf-band-invite-share{border:1px solid #bbf7d0;border-radius:999px;padding:9px 12px;background:#ecfdf5;color:#047857;font-weight:900;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit}
.khf-band-invite-share:hover,.khf-band-invite:hover{transform:translateY(-1px)}
.khf-band-toast{position:fixed;left:50%;bottom:84px;z-index:60;transform:translateX(-50%);max-width:min(92vw,420px);border-radius:999px;background:rgba(17,24,39,.94);color:#fff;padding:11px 16px;font-weight:900;font-size:13px;box-shadow:0 16px 30px rgba(15,23,42,.22);display:none;text-align:center}
.khf-band-toast.show{display:block}
.khf-band-tabs{display:flex;gap:4px;overflow-x:auto;background:#fff;border-bottom:1px solid var(--khf-band-line);margin:14px -14px 0;padding:0 14px;scrollbar-width:none}
.khf-band-tabs::-webkit-scrollbar{display:none}
.khf-band-tabs a{display:block;padding:15px 16px 13px;color:#6b7280;text-decoration:none;font-weight:900;white-space:nowrap;border-bottom:3px solid transparent}
.khf-band-tabs a.active{color:#111827;border-bottom-color:#111827}
.khf-band-compose{background:#fff;margin:0 -14px;padding:14px;border-bottom:1px solid var(--khf-band-line)}
.khf-band-compose-inner{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;max-width:760px;margin:0 auto}
.khf-band-avatar,.khf-band-avatar-small{border-radius:50%;background:linear-gradient(135deg,#dbeafe,#bbf7d0);color:#173b70;display:inline-flex;align-items:center;justify-content:center;font-weight:950;overflow:hidden;flex:0 0 auto}
.khf-band-avatar{width:42px;height:42px}.khf-band-avatar-small{width:34px;height:34px;font-size:13px}
.khf-band-compose-placeholder{border:0;background:#f3f4f6;border-radius:999px;padding:13px 16px;text-align:left;color:#6b7280;font-weight:800;text-decoration:none;display:block}
.khf-band-write-mini{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:999px;background:var(--khf-band-green);color:#fff;text-decoration:none;font-weight:950;padding:12px 15px;white-space:nowrap}
.khf-band-notices{background:#fff;margin:0 -14px 12px;border-bottom:1px solid var(--khf-band-line)}
.khf-band-notice-row{display:flex;align-items:center;gap:10px;padding:11px 16px;text-decoration:none;color:#111827;border-top:1px solid #f3f4f6}
.khf-band-notice-badge{background:#dcfce7;color:#15803d;border-radius:7px;padding:4px 6px;font-weight:950;font-size:12px}.khf-band-notice-title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.khf-band-new{background:#ef4444;color:#fff;border-radius:50%;font-size:10px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-weight:950}
.khf-band-feed{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.khf-band-card{background:#fff;border:1px solid var(--khf-band-line);border-radius:20px;box-shadow:0 8px 24px rgba(15,23,42,.05);overflow:hidden}
.khf-band-post-head{display:flex;gap:11px;align-items:flex-start;padding:16px 16px 6px}
.khf-band-post-meta{min-width:0;flex:1}.khf-band-author{font-weight:950;font-size:15px}.khf-band-time{margin-top:2px;color:#6b7280;font-size:12px}.khf-band-menu{color:#6b7280;text-decoration:none;font-weight:950;padding:4px 5px}
.khf-band-post-body{padding:6px 16px 14px}.khf-band-label{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#ecfdf5;color:#12803b;font-weight:950;font-size:12px;padding:5px 9px;margin-bottom:10px}.khf-band-label.notice{background:#eff6ff;color:#1d4ed8}
.khf-band-post-title{margin:0 0 8px;font-size:18px;line-height:1.35;letter-spacing:-.03em}.khf-band-post-title a{text-decoration:none;color:#111827}.khf-band-post-title a:hover{text-decoration:underline}
.khf-band-content{font-size:15.5px;line-height:1.72;white-space:pre-wrap;word-break:keep-all;color:#1f2937}.khf-band-content.preview{max-height:160px;overflow:hidden;position:relative}.khf-band-content.preview:after{content:'';position:absolute;left:0;right:0;bottom:0;height:46px;background:linear-gradient(transparent,#fff)}
.khf-band-readmore{display:inline-block;margin-top:8px;color:#2563eb;text-decoration:none;font-weight:900}
.khf-band-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.khf-band-tag{display:inline-block;border-radius:999px;background:#f1f5f9;color:#2563eb;text-decoration:none;font-weight:850;font-size:13px;padding:5px 9px}
.khf-band-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 16px}.khf-band-file{border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;background:#f8fafc;text-decoration:none;color:#111}.khf-band-file img{width:100%;height:160px;object-fit:cover;display:block}.khf-band-file span{display:block;padding:10px;font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.khf-band-counts{display:flex;justify-content:space-between;gap:10px;padding:0 16px 10px;color:#6b7280;font-size:13px}.khf-band-reactions{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--khf-band-line)}
.khf-band-reactions a,.khf-band-reactions button{display:flex;align-items:center;justify-content:center;gap:7px;padding:13px 6px;border:0;background:#fff;color:#374151;text-decoration:none;font-weight:900;cursor:pointer;font-size:14px}.khf-band-reactions a:hover,.khf-band-reactions button:hover{background:#f9fafb}.khf-band-reactions .liked{color:#16a34a}
.khf-band-empty{background:#fff;border:1px dashed #cbd5e1;border-radius:18px;padding:30px;text-align:center;color:#64748b;line-height:1.7}
.khf-band-floating-write{position:fixed;right:18px;bottom:22px;z-index:30;width:58px;height:58px;border-radius:50%;background:var(--khf-band-green);box-shadow:0 16px 30px rgba(22,163,74,.35);color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:500}
.khf-band-bottom-nav{position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.98);border-top:1px solid var(--khf-band-line);z-index:25}.khf-band-bottom-nav-inner{max-width:760px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr)}.khf-band-bottom-nav a{padding:9px 2px 8px;text-align:center;text-decoration:none;color:#4b5563;font-size:11px;font-weight:800}.khf-band-bottom-nav a b{display:block;font-size:21px;line-height:1.05;margin-bottom:3px}.khf-band-bottom-nav a.active{color:var(--khf-band-green)}
.khf-band-form-wrap{max-width:760px;margin:0 auto;padding:0 14px 86px;background:#fff;min-height:calc(100vh - 80px);font-family:'Noto Sans KR',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.khf-band-form-top{position:sticky;top:0;background:#fff;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #eef2f7}.khf-band-form-top h1{font-size:20px;margin:0;font-weight:950}.khf-band-close{text-decoration:none;color:#111827;font-size:28px;line-height:1}.khf-band-submit{border:0;background:#16a34a;color:#fff;font-weight:950;border-radius:999px;padding:10px 16px;cursor:pointer}.khf-band-form-profile{display:flex;gap:10px;align-items:center;padding:16px 0;border-bottom:1px solid #f3f4f6}.khf-band-form-profile b{display:block}.khf-band-form-profile span{font-size:12px;color:#6b7280}.khf-band-field{margin-top:16px}.khf-band-field label{display:block;font-weight:900;margin-bottom:8px}.khf-band-field input[type=text],.khf-band-field textarea,.khf-band-field select{width:100%;border:0;border-bottom:1px solid #e5e7eb;background:#fff;padding:13px 2px;font-size:16px;font-family:inherit;outline:none}.khf-band-field textarea{min-height:190px;resize:vertical;line-height:1.7}.khf-band-field input:focus,.khf-band-field textarea:focus,.khf-band-field select:focus{border-bottom-color:#16a34a}.khf-band-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.khf-band-check{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#fff;display:flex;gap:8px;align-items:center;font-weight:850}.khf-band-tool-row{display:flex;gap:12px;overflow-x:auto;padding:14px 0;border-top:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;margin-top:18px}.khf-band-tool{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid #e5e7eb;border-radius:999px;padding:9px 12px;background:#fff;color:#374151;font-weight:850}.khf-band-help{font-size:13px;color:#64748b;line-height:1.6}.khf-band-alert{padding:12px 14px;border-radius:14px;margin:14px 0;font-weight:850}.khf-band-alert.error{background:#fef2f2;color:#991b1b}.khf-band-alert.ok{background:#ecfdf5;color:#166534}
.khf-band-detail{max-width:760px;margin:0 auto;padding:0 14px 90px}.khf-band-comment-box{background:#fff;border:1px solid var(--khf-band-line);border-radius:18px;margin-top:14px;overflow:hidden}.khf-band-comment-box h3{margin:0;padding:15px 16px;border-bottom:1px solid #f3f4f6;font-size:16px}.khf-band-comment-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 16px;border-bottom:1px solid #f3f4f6}.khf-band-comment-form textarea{border:1px solid #e5e7eb;border-radius:14px;resize:vertical;min-height:48px;padding:10px 12px;font-family:inherit}.khf-band-comment-form button{border:0;background:#16a34a;color:#fff;border-radius:14px;padding:0 14px;font-weight:950}.khf-band-comment{padding:13px 16px;border-bottom:1px solid #f8fafc;display:flex;gap:10px}.khf-band-comment:last-child{border-bottom:0}.khf-band-comment-body{flex:1;min-width:0}.khf-band-comment-meta{font-size:12px;color:#6b7280;margin-bottom:5px}.khf-band-comment-text{white-space:pre-wrap;line-height:1.6}.khf-band-register-panel{background:linear-gradient(135deg,#ecfdf5,#eff6ff);border:1px solid #bfdbfe;border-radius:18px;padding:16px;margin:14px 0}.khf-band-register-panel h3{margin:0 0 8px}.khf-band-register-panel p{margin:0 0 12px;color:#475569;line-height:1.6}.khf-band-primary-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#16a34a;color:#fff;text-decoration:none;border-radius:999px;padding:11px 15px;font-weight:950}.khf-band-secondary-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:#111;text-decoration:none;border:1px solid #d1d5db;border-radius:999px;padding:10px 14px;font-weight:900}
@media (max-width:560px){
  .khf-band-wrap{padding-left:0;padding-right:0}.khf-band-hero{border-radius:0;border-left:0;border-right:0;margin-top:0}.khf-band-profile{grid-template-columns:64px 1fr;align-items:start}.khf-band-logo{width:64px;height:64px;border-radius:18px}.khf-band-logo b{font-size:22px}.khf-band-invite-box{grid-column:2/3;justify-self:start;margin-top:4px}.khf-band-invite,.khf-band-invite-share{padding:8px 12px;font-size:13px}.khf-band-cover{height:132px}.khf-band-cover-text{left:18px;top:22px}.khf-band-cover-text strong{font-size:20px}.khf-band-card{border-radius:0;border-left:0;border-right:0}.khf-band-feed{gap:10px}.khf-band-files{grid-template-columns:1fr}.khf-band-file img{height:auto;max-height:360px}.khf-band-post-title{font-size:17px}.khf-band-content{font-size:15px}.khf-band-options{grid-template-columns:1fr}.khf-band-form-wrap{padding-left:16px;padding-right:16px}.khf-band-detail{padding-left:0;padding-right:0}.khf-band-detail .khf-band-card,.khf-band-comment-box{border-radius:0;border-left:0;border-right:0}.khf-band-register-panel{border-radius:0;margin-left:0;margin-right:0}}
@media (min-width:900px){.khf-band-bottom-nav{display:none}.khf-band-floating-write{bottom:28px;right:calc(50% - 360px)}}

/* =============================================================================
   KHF Band Invitation UX Patch
   - 밴드 홈: 초대 버튼 → 하단 시트
   - 초대장 보내기: QR/공유 전용 화면
============================================================================= */
.khf-band-invite{border:1px solid #d1d5db;border-radius:999px;padding:9px 14px;background:#fff;text-decoration:none;color:#111827;font-weight:900;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;font-family:inherit}
.khf-band-invite-overlay{position:fixed;inset:0;background:rgba(3,7,18,.64);z-index:100;backdrop-filter:blur(1.5px)}
.khf-band-invite-sheet{position:fixed;left:50%;bottom:0;z-index:101;width:min(760px,100vw);transform:translateX(-50%);background:#1f2430;color:#fff;border-radius:22px 22px 0 0;box-shadow:0 -18px 44px rgba(0,0,0,.36);padding:18px 16px max(20px,env(safe-area-inset-bottom));font-family:'Noto Sans KR',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.khf-band-invite-handle{width:42px;height:5px;border-radius:999px;background:rgba(255,255,255,.25);margin:0 auto 18px}
.khf-band-invite-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.khf-band-invite-sheet h2{margin:0 0 18px;font-size:23px;line-height:1.35;letter-spacing:-.04em;font-weight:950;color:#fff}
.khf-band-invite-sheet-main{display:flex;align-items:center;gap:17px;background:#282d3a;border-radius:20px;padding:18px;text-decoration:none;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.khf-band-invite-sheet-icon{width:55px;height:55px;border-radius:50%;background:#18c66a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:27px;flex:0 0 auto}
.khf-band-invite-sheet-main b{display:block;font-size:19px;font-weight:950;letter-spacing:-.035em;color:#fff}.khf-band-invite-sheet-main em{display:block;margin-top:6px;font-style:normal;color:rgba(255,255,255,.77);font-size:14px;line-height:1.5;word-break:keep-all}
.khf-band-invite-sheet-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.khf-band-invite-sheet-actions button,.khf-band-invite-sheet-actions a{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);color:#fff;border-radius:14px;padding:12px 8px;text-align:center;text-decoration:none;font-weight:900;font-family:inherit;cursor:pointer;font-size:13px;white-space:nowrap}.khf-band-invite-sheet-note{margin:12px 2px 0;color:rgba(255,255,255,.72);font-size:13px;line-height:1.6}

body.khf-band-invite-page-body{background:#171b25;color:#fff}.khf-band-invite-page{max-width:760px;margin:0 auto;background:#171b25;min-height:calc(100vh - 70px);padding:0 0 126px;font-family:'Noto Sans KR',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.khf-band-invite-topbar{position:sticky;top:0;z-index:20;height:64px;background:#1f2430;display:grid;grid-template-columns:56px 1fr 56px;align-items:center;border-bottom:1px solid rgba(255,255,255,.05)}.khf-band-invite-topbar h1{margin:0;font-size:23px;font-weight:950;letter-spacing:-.04em;color:#fff}.khf-band-invite-back,.khf-band-invite-more{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;font-weight:900}.khf-band-invite-back{font-size:52px;line-height:1;transform:translateY(-2px)}.khf-band-invite-more{font-size:34px;line-height:1}
.khf-band-invite-card{margin:0 auto 24px;max-width:650px;background:#222734;border-radius:0 0 24px 24px;text-align:center;overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.22)}.khf-band-invite-cover{height:162px;background:linear-gradient(135deg,#fff 0%,#fff 34%,#e3f6d9 34%,#e3f6d9 48%,#d3a423 49%,#d3a423 55%,#4d971d 56%,#4d971d 64%,#fff 64%);position:relative}.khf-band-invite-cover:after{content:'KHF';position:absolute;left:50%;top:50%;transform:translate(-50%,-42%);font-size:92px;letter-spacing:-.08em;font-weight:950;color:rgba(0,0,0,.85)}.khf-band-invite-profilemark{width:92px;height:92px;border-radius:50%;margin:-46px auto 24px;position:relative;z-index:1;background:linear-gradient(135deg,#dff7ee,#e9f1ff);border:4px solid #222734;color:#103a2e;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:950;box-shadow:0 8px 18px rgba(0,0,0,.22)}.khf-band-invite-card h2{max-width:520px;margin:0 auto 18px;padding:0 24px;font-size:25px;line-height:1.35;letter-spacing:-.05em;color:#fff;font-weight:950}.khf-band-invite-card p{max-width:560px;margin:0 auto 26px;padding:0 28px;color:rgba(255,255,255,.82);font-size:17px;line-height:1.65;word-break:keep-all}.khf-band-invite-intro{display:inline-flex;align-items:center;justify-content:center;margin-bottom:34px;padding:14px 28px;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#fff;text-decoration:none;font-weight:900;background:rgba(255,255,255,.03)}
.khf-band-invite-qr-card{max-width:650px;margin:0 auto 20px;background:#222734;border-radius:24px;padding:38px 28px}.khf-band-invite-qr{max-width:462px;margin:0 auto;background:#fff;padding:18px}.khf-band-invite-qr img{display:block;width:100%;height:auto}.khf-band-invite-url{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:18px}.khf-band-invite-url input{min-width:0;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#171b25;color:#fff;padding:12px 14px;font-size:14px;text-overflow:ellipsis}.khf-band-invite-url button{border:0;border-radius:12px;background:#22c55e;color:#fff;font-weight:950;padding:0 16px;cursor:pointer;font-family:inherit}.khf-band-invite-sharebar{position:fixed;left:50%;bottom:0;z-index:30;transform:translateX(-50%);width:min(760px,100vw);display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:#1f2430;padding:12px 8px max(12px,env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.07)}.khf-band-invite-sharebar a,.khf-band-invite-sharebar button{min-width:0;border:0;background:transparent;color:#fff;text-decoration:none;font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;cursor:pointer;font-weight:800;font-size:12px}.khf-band-invite-sharebar span{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#788198;color:#fff;font-size:21px;font-weight:950}.khf-band-invite-sharebar a:nth-child(2) span{background:#15c767}.khf-band-invite-sharebar button:nth-child(3) span{background:#ffe900;color:#111;font-size:12px}.khf-band-invite-sharebar a:nth-child(4) span{background:#19d66c;color:#073b1d;font-size:25px}.khf-band-invite-sharebar a:nth-child(5) span{background:#6797b3}.khf-band-invite-sharebar b{display:block;line-height:1.25;font-size:12px;font-weight:850;letter-spacing:-.03em;word-break:keep-all}.khf-band-invite-error{margin:30px 16px;background:#222734;border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:24px;color:#fff}.khf-band-invite-error b{font-size:20px}.khf-band-invite-error p{color:rgba(255,255,255,.75);line-height:1.7}.khf-band-invite-error a{display:inline-flex;margin-top:8px;background:#22c55e;color:#fff;text-decoration:none;border-radius:999px;padding:12px 16px;font-weight:950}
@media(max-width:560px){.khf-band-invite-sheet{border-radius:18px 18px 0 0;padding-left:14px;padding-right:14px}.khf-band-invite-sheet h2{font-size:21px}.khf-band-invite-sheet-actions{grid-template-columns:1fr}.khf-band-invite-page{padding-bottom:118px}.khf-band-invite-card{border-radius:0 0 22px 22px;margin-bottom:20px}.khf-band-invite-cover{height:160px}.khf-band-invite-card h2{font-size:24px}.khf-band-invite-card p{font-size:16px}.khf-band-invite-qr-card{border-radius:20px;margin-left:14px;margin-right:14px;padding:28px 18px}.khf-band-invite-sharebar span{width:52px;height:52px}.khf-band-invite-sharebar b{font-size:12px}}
html.khf-band-invite-lock,html.khf-band-invite-lock body{overflow:hidden}


/* =============================================================================
   KHF Band footer force safe area v2
   - Footer style is embedded after band.css, so this uses !important.
   - The query string in index.php is also bumped to bypass mobile/PWA cache.
============================================================================= */
@media (max-width: 820px){
  body.khf-band-body{
    padding-bottom: 0 !important;
  }

  body.khf-band-body #khfFooterWrap,
  body.khf-band-body .khf-footer-wrap{
    margin-bottom: 0 !important;
    padding-bottom: calc(118px + env(safe-area-inset-bottom)) !important;
  }

  body.khf-band-body #khfFooterWrap .khf-footer-inner,
  body.khf-band-body .khf-footer-wrap .khf-footer-inner{
    padding-bottom: calc(34px + env(safe-area-inset-bottom)) !important;
  }

  body.khf-band-body #khfFooterWrap:not(.khf-footer-open) .khf-footer-inner,
  body.khf-band-body .khf-footer-wrap:not(.khf-footer-open) .khf-footer-inner{
    padding-bottom: calc(118px + env(safe-area-inset-bottom)) !important;
  }

  body.khf-band-body .khf-band-bottom-nav{
    height: calc(70px + env(safe-area-inset-bottom)) !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
  }

  body.khf-band-body .khf-band-floating-write{
    bottom: calc(86px + env(safe-area-inset-bottom)) !important;
  }

  body.khf-band-body .khf-band-toast{
    bottom: calc(158px + env(safe-area-inset-bottom)) !important;
  }
}


/* =============================================================================
   KHF Band footer compact safe area v3
   - 2번 참고 이미지처럼 모바일 풋터는 과하게 길어지지 않게 유지
   - 하단 고정 메뉴와 겹치지 않도록 바깥 여백으로 처리
   - + 글쓰기 버튼은 조금 더 작게 조정
============================================================================= */
@media (max-width: 820px){
  body.khf-band-body #khfFooterWrap,
  body.khf-band-body .khf-footer-wrap{
    margin-bottom: calc(70px + env(safe-area-inset-bottom)) !important;
    padding-bottom: 0 !important;
  }

  body.khf-band-body #khfFooterWrap .khf-footer-inner,
  body.khf-band-body .khf-footer-wrap .khf-footer-inner{
    padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important;
  }

  body.khf-band-body #khfFooterWrap:not(.khf-footer-open) .khf-footer-inner,
  body.khf-band-body .khf-footer-wrap:not(.khf-footer-open) .khf-footer-inner{
    padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important;
  }

  body.khf-band-body #khfFooterWrap:not(.khf-footer-open) .khf-footer-desc,
  body.khf-band-body .khf-footer-wrap:not(.khf-footer-open) .khf-footer-desc{
    max-width: calc(100% - 68px) !important;
  }

  body.khf-band-body .khf-band-bottom-nav{
    height: calc(70px + env(safe-area-inset-bottom)) !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
  }

  body.khf-band-body .khf-band-floating-write{
    width: 52px !important;
    height: 52px !important;
    right: 14px !important;
    bottom: calc(82px + env(safe-area-inset-bottom)) !important;
    font-size: 28px !important;
    box-shadow: 0 12px 24px rgba(22,163,74,.30) !important;
  }

  body.khf-band-body .khf-band-toast{
    bottom: calc(148px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 420px){
  body.khf-band-body .khf-band-floating-write{
    width: 50px !important;
    height: 50px !important;
    right: 12px !important;
    bottom: calc(82px + env(safe-area-inset-bottom)) !important;
    font-size: 27px !important;
  }

  body.khf-band-body #khfFooterWrap:not(.khf-footer-open) .khf-footer-desc,
  body.khf-band-body .khf-footer-wrap:not(.khf-footer-open) .khf-footer-desc{
    max-width: calc(100% - 62px) !important;
  }
}

/* =============================================================================
   KHF Band footer final compact v4
   - 모바일 밴드 첫 화면에서 공통 풋터가 하단 고정 메뉴에 가려지지 않게 보정
   - + 플로팅 버튼은 더 작게 만들고, 풋터가 보일 때는 자동으로 숨김
============================================================================= */
@media (max-width: 820px){
  body.khf-band-body .khf-band-bottom-nav{
    height: calc(70px + env(safe-area-inset-bottom)) !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
    background: rgba(255,255,255,.985) !important;
  }

  body.khf-band-body .khf-band-floating-write{
    width: 46px !important;
    height: 46px !important;
    right: 14px !important;
    bottom: calc(86px + env(safe-area-inset-bottom)) !important;
    font-size: 25px !important;
    line-height: 1 !important;
    box-shadow: 0 10px 20px rgba(22,163,74,.28) !important;
    transition: opacity .18s ease, transform .18s ease !important;
  }

  body.khf-band-footer-inview .khf-band-floating-write{
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(8px) scale(.86) !important;
  }

  body.khf-band-body #khfFooterWrap,
  body.khf-band-body .khf-footer-wrap{
    margin-top: 34px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body.khf-band-body #khfFooterWrap:not(.khf-footer-open) .khf-footer-inner,
  body.khf-band-body .khf-footer-wrap:not(.khf-footer-open) .khf-footer-inner{
    padding-top: 26px !important;
    padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
  }

  body.khf-band-body #khfFooterWrap.khf-footer-open .khf-footer-inner,
  body.khf-band-body .khf-footer-wrap.khf-footer-open .khf-footer-inner{
    padding-bottom: calc(98px + env(safe-area-inset-bottom)) !important;
  }

  body.khf-band-body #khfFooterWrap:not(.khf-footer-open) .khf-footer-brand,
  body.khf-band-body .khf-footer-wrap:not(.khf-footer-open) .khf-footer-brand{
    margin-bottom: 7px !important;
    font-size: 1rem !important;
    line-height: 1.35 !important;
  }

  body.khf-band-body #khfFooterWrap:not(.khf-footer-open) .khf-footer-desc,
  body.khf-band-body .khf-footer-wrap:not(.khf-footer-open) .khf-footer-desc{
    margin-bottom: 0 !important;
    max-width: none !important;
    padding-right: 0 !important;
    font-size: .86rem !important;
    line-height: 1.45 !important;
  }

  body.khf-band-body #khfFooterWrap .khf-footer-more-btn,
  body.khf-band-body .khf-footer-wrap .khf-footer-more-btn{
    min-height: 20px !important;
    padding: 1px 7px 2px !important;
    font-size: .68rem !important;
  }

  body.khf-band-body .khf-band-toast{
    bottom: calc(140px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 420px){
  body.khf-band-body .khf-band-floating-write{
    width: 44px !important;
    height: 44px !important;
    right: 12px !important;
    bottom: calc(84px + env(safe-area-inset-bottom)) !important;
    font-size: 24px !important;
  }

  body.khf-band-body #khfFooterWrap:not(.khf-footer-open) .khf-footer-inner,
  body.khf-band-body .khf-footer-wrap:not(.khf-footer-open) .khf-footer-inner{
    padding-top: 24px !important;
    padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
  }

  body.khf-band-body #khfFooterWrap:not(.khf-footer-open) .khf-footer-desc,
  body.khf-band-body .khf-footer-wrap:not(.khf-footer-open) .khf-footer-desc{
    font-size: .84rem !important;
    line-height: 1.42 !important;
  }
}

/* =============================================================================
   KHF internal banner slot
   - 밴드 피드와 풋터 사이의 빈 공간을 내부 홍보 배너로 활용
============================================================================= */
.khf-band-banner-slot{max-width:760px;margin:14px auto 0;padding:0 0}
.khf-internal-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;min-height:86px;padding:16px 18px;border-radius:20px;background:var(--khf-ib-bg,#0b1b33);color:var(--khf-ib-fg,#fff);text-decoration:none;box-shadow:0 16px 34px rgba(15,23,42,.10);overflow:hidden;position:relative}
.khf-internal-banner:after{content:'';position:absolute;right:-60px;bottom:-90px;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.12);pointer-events:none}.khf-internal-banner>*{position:relative;z-index:1}.khf-internal-banner-text{min-width:0}.khf-internal-banner strong{display:block;font-size:17px;font-weight:950;letter-spacing:-.04em;line-height:1.28}.khf-internal-banner em{display:block;margin-top:4px;font-style:normal;font-size:13px;line-height:1.45;opacity:.88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.khf-internal-banner b{display:inline-flex;margin-top:8px;border-radius:999px;background:rgba(255,255,255,.16);padding:5px 9px;font-size:12px;font-weight:950}.khf-internal-banner-img{width:96px;height:62px;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.14);box-shadow:0 8px 18px rgba(0,0,0,.16)}.khf-internal-banner-img img{width:100%;height:100%;display:block;object-fit:cover}
.khf-internal-banner:hover{transform:translateY(-1px)}
@media (max-width:820px){
  body.khf-band-body .khf-band-wrap{padding-bottom:14px !important}
  body.khf-band-body .khf-band-banner-slot{margin:12px 14px 0 !important;padding:0 !important}
  body.khf-band-body .khf-internal-banner{min-height:78px;padding:14px 15px;border-radius:18px;gap:10px}
  body.khf-band-body .khf-internal-banner strong{font-size:15px}
  body.khf-band-body .khf-internal-banner em{font-size:12px;max-width:100%}
  body.khf-band-body .khf-internal-banner b{font-size:11px;margin-top:6px;padding:4px 8px}
  body.khf-band-body .khf-internal-banner-img{width:82px;height:54px;border-radius:12px}
  body.khf-band-body #khfFooterWrap,
  body.khf-band-body .khf-footer-wrap{margin-top:12px !important}
}
@media (max-width:420px){
  body.khf-band-body .khf-band-banner-slot{margin-left:12px !important;margin-right:12px !important}
  body.khf-band-body .khf-internal-banner-img{width:74px;height:50px}
}

/* =============================================================================
   KHF Band full-bleed mobile layout v5
   - 모바일/태블릿 폭에서 밴드 화면을 좌우 여백 없이 꽉 채움
   - 내부 배너 슬롯도 화면 폭 전체를 사용
   - PC에서는 기존 중앙 정렬형 폭 유지
============================================================================= */
@media (max-width: 820px){
  html, body.khf-band-body{
    width: 100% !important;
    overflow-x: hidden !important;
  }

  body.khf-band-body .khf-band-wrap,
  body.khf-band-body .khf-band-detail,
  body.khf-band-body .khf-band-form-wrap,
  body.khf-band-body .khf-band-invite-page{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.khf-band-body .khf-band-wrap{
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
  }

  body.khf-band-body .khf-band-top{
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  body.khf-band-body .khf-band-top-inner,
  body.khf-band-body .khf-band-bottom-nav-inner,
  body.khf-band-body .khf-band-compose-inner{
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  body.khf-band-body .khf-band-tabs,
  body.khf-band-body .khf-band-compose,
  body.khf-band-body .khf-band-notices{
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  body.khf-band-body .khf-band-card,
  body.khf-band-body .khf-band-empty,
  body.khf-band-body .khf-band-comment-box,
  body.khf-band-body .khf-band-register-panel{
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
  }

  body.khf-band-body .khf-band-feed{
    width: 100% !important;
    max-width: none !important;
  }

  body.khf-band-body .khf-band-form-wrap{
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.khf-band-body .khf-band-detail{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* 내부 배너: 화면 폭 전체를 사용하는 full-bleed 슬롯 */
  body.khf-band-body .khf-band-banner-slot{
    width: 100vw !important;
    max-width: none !important;
    margin: 0 0 0 calc(50% - 50vw) !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.khf-band-body .khf-internal-banner{
    width: 100% !important;
    min-height: 92px !important;
    border-radius: 0 !important;
    padding: 18px 22px !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
  }

  body.khf-band-body .khf-internal-banner strong{
    font-size: 16px !important;
  }

  body.khf-band-body .khf-internal-banner em{
    font-size: 13px !important;
    white-space: normal !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
  }

  body.khf-band-body .khf-internal-banner-img{
    width: 86px !important;
    height: 58px !important;
    border-radius: 14px !important;
  }

  /* 배너와 풋터는 붙여서 흐르게 함 */
  body.khf-band-body #khfFooterWrap,
  body.khf-band-body .khf-footer-wrap{
    width: 100% !important;
    max-width: none !important;
    margin-top: 0 !important;
  }
}

@media (max-width: 420px){
  body.khf-band-body .khf-band-form-wrap{
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.khf-band-body .khf-internal-banner{
    min-height: 88px !important;
    padding: 16px 18px !important;
    gap: 10px !important;
  }

  body.khf-band-body .khf-internal-banner-img{
    width: 78px !important;
    height: 54px !important;
  }
}

/* =============================================================================
   KHF Band post action menu
============================================================================= */
.khf-band-menu{border:0;background:transparent;color:#6b7280;text-decoration:none;font-weight:950;padding:4px 5px;cursor:pointer;font-family:inherit;font-size:20px;line-height:1;border-radius:999px;min-width:34px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}
.khf-band-menu:hover{background:#f3f4f6;color:#111827}.khf-band-top-menu{font-size:24px;line-height:1}
.khf-band-post-action-overlay{position:fixed;inset:0;background:rgba(3,7,18,.72);z-index:1000;backdrop-filter:blur(2px)}
.khf-band-post-action-sheet{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1001;width:min(78vw,360px);background:#222532;color:#fff;border-radius:24px;padding:22px 0;box-shadow:0 30px 80px rgba(0,0,0,.42);overflow:hidden;font-family:'Noto Sans KR',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.khf-band-post-action-sheet button{display:flex;width:100%;align-items:center;justify-content:center;border:0;background:transparent;color:#fff;padding:14px 18px;font-size:20px;font-weight:850;letter-spacing:-.04em;line-height:1.25;cursor:pointer;font-family:inherit}.khf-band-post-action-sheet button:hover{background:rgba(255,255,255,.07)}.khf-band-post-action-sheet button.danger{color:#fff}.khf-band-post-action-sheet button[hidden]{display:none!important}
html.khf-band-post-action-lock,html.khf-band-post-action-lock body{overflow:hidden}
@media(max-width:560px){.khf-band-post-action-sheet{width:min(78vw,330px);border-radius:22px;padding:18px 0}.khf-band-post-action-sheet button{font-size:19px;padding:13px 16px}.khf-band-post-action-overlay{background:rgba(0,0,0,.72)}}

/* =============================================================================
   KHF Band unified shell width v6
   - PC/tablet에서 상단 바, 커버, 탭, 글쓰기, 공지, 게시글, 배너 폭을 하나로 고정
   - 모바일에서는 기존 full-bleed 폭 유지
============================================================================= */
:root{
  --khf-band-shell-width: 760px;
}

@media (min-width: 821px){
  body.khf-band-body .khf-band-wrap,
  body.khf-band-body .khf-band-detail,
  body.khf-band-body .khf-band-form-wrap{
    width: min(var(--khf-band-shell-width), calc(100vw - 32px)) !important;
    max-width: var(--khf-band-shell-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.khf-band-body .khf-band-top,
  body.khf-band-body .khf-band-tabs,
  body.khf-band-body .khf-band-compose,
  body.khf-band-body .khf-band-notices,
  body.khf-band-body .khf-band-feed,
  body.khf-band-body .khf-band-hero,
  body.khf-band-body .khf-band-card,
  body.khf-band-body .khf-band-empty,
  body.khf-band-body .khf-band-banner-slot,
  body.khf-band-body .khf-band-comment-box,
  body.khf-band-body .khf-band-register-panel{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.khf-band-body .khf-band-top-inner,
  body.khf-band-body .khf-band-compose-inner,
  body.khf-band-body .khf-band-bottom-nav-inner{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.khf-band-body .khf-band-tabs{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.khf-band-body .khf-band-tabs a:first-child{
    margin-left: 16px !important;
  }

  body.khf-band-body .khf-band-compose{
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.khf-band-body .khf-band-notice-row{
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.khf-band-body .khf-band-floating-write{
    right: calc(50vw - (min(var(--khf-band-shell-width), calc(100vw - 32px)) / 2) + 14px) !important;
  }
}

@media (min-width: 821px) and (max-width: 899px){
  body.khf-band-body .khf-band-bottom-nav{
    width: min(var(--khf-band-shell-width), calc(100vw - 32px)) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    border-left: 1px solid var(--khf-band-line) !important;
    border-right: 1px solid var(--khf-band-line) !important;
  }
}

/* =============================================================================
   KHF Band leader display patch
   - 밴드 프로필 카드에 공개 범위와 리더를 나란히 표시한다.
============================================================================= */
.khf-band-profile-desc{display:block}
.khf-band-profile-meta{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;margin-top:3px;color:#6b7280;font-size:12px;line-height:1.45}
.khf-band-leader{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;color:#4b5563;font-weight:800}
.khf-band-invite-leader{display:inline-flex;align-items:center;justify-content:center;gap:5px;margin:-8px auto 24px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.88);font-size:13px;font-weight:900}
@media(max-width:560px){.khf-band-profile-meta{display:block}.khf-band-profile-meta span{display:inline}.khf-band-profile-meta span+span:before{content:' · ';color:#9ca3af}.khf-band-leader{white-space:normal}}

/* =============================================================================
   Post emotion reactions / threaded comments
============================================================================= */
.khf-band-emotion-wrap{border-top:1px solid #f3f4f6;padding:10px 16px 11px;background:#fff;display:flex;align-items:center;gap:10px;overflow-x:auto;scrollbar-width:none}
.khf-band-emotion-wrap::-webkit-scrollbar{display:none}
.khf-band-emotion-summary{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:#64748b;font-size:12px;font-weight:900}
.khf-band-emotion-title{letter-spacing:-.03em}.khf-band-emotion-total{min-width:20px;height:20px;border-radius:999px;background:#f1f5f9;color:#334155;display:inline-flex;align-items:center;justify-content:center;font-size:11px;padding:0 6px}
.khf-band-emotion-buttons{display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none}.khf-band-emotion-buttons::-webkit-scrollbar{display:none}
.khf-band-emotion-btn{border:1px solid #e5e7eb;background:#f8fafc;color:#334155;border-radius:999px;min-height:34px;padding:6px 9px;display:inline-flex;align-items:center;gap:4px;font-family:inherit;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap;transition:transform .12s ease, background .12s ease, border-color .12s ease}
.khf-band-emotion-btn:hover{transform:translateY(-1px);background:#fff}.khf-band-emotion-btn.active{background:#ecfdf5;border-color:#86efac;color:#047857;box-shadow:0 8px 18px rgba(22,163,74,.10)}
.khf-band-emotion-emoji{font-size:16px;line-height:1}.khf-band-emotion-count{font-size:11px;color:#64748b}.khf-band-emotion-btn.active .khf-band-emotion-count{color:#047857}
.khf-band-comment-empty{padding:18px 16px;color:#64748b;line-height:1.6}
.khf-band-comment.is-reply{margin-left:calc(20px * var(--reply-level));background:#fbfdff;border-left:3px solid #e0f2fe}
.khf-band-comment-replies{margin-top:10px;border-top:1px dashed #e5e7eb}
.khf-band-comment-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:7px}
.khf-band-comment-actions form{margin:0;display:inline-flex}
.khf-band-comment-action,
.khf-band-comment-actions a,
.khf-band-comment-actions button{display:inline-flex;align-items:center;gap:4px;min-height:20px;line-height:1;font-size:12px;font-weight:900;font-family:inherit;color:#64748b;text-decoration:none;background:transparent;border:0;padding:0;cursor:pointer;vertical-align:middle}
.khf-band-comment-actions a:hover,
.khf-band-comment-actions button:hover,
.khf-band-comment-action:hover{color:#16a34a;text-decoration:underline}
.khf-band-reply-form{margin-top:9px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;padding:9px;grid-template-columns:1fr auto}
.khf-band-reply-form textarea{background:#fff;min-height:42px}.khf-band-reply-form[hidden]{display:none!important}
@media(max-width:720px){
  .khf-band-emotion-wrap{padding:9px 14px;gap:8px}.khf-band-emotion-name{display:none}.khf-band-emotion-btn{min-height:34px;padding:6px 9px}.khf-band-comment.is-reply{margin-left:12px}
}
/* KHF_BAND_RICH_RENDER_FIX_START */
.khf-band-content b,.khf-band-content strong{font-weight:800}
.khf-band-content i,.khf-band-content em{font-style:italic}
.khf-band-content u{text-decoration:underline}
.khf-band-content s,.khf-band-content strike{text-decoration:line-through}
.khf-band-content mark{background:#fff3a3;border-radius:.18em;padding:.04em .12em}
.khf-band-content p{margin:.35em 0}
.khf-band-content ul,.khf-band-content ol{margin:.5em 0 .5em 1.3em;padding-left:1em}
.khf-band-content blockquote{margin:.7em 0;padding:.6em .8em;border-left:4px solid #dbeafe;background:#f8fafc;border-radius:8px;color:#334155}
.khf-band-content hr{border:0;border-top:1px solid #d8e1ef;margin:1em 0}
.khf-band-content a{color:#2563eb;text-decoration:underline;text-underline-offset:2px}
/* KHF_BAND_RICH_RENDER_FIX_END */

/* KHF_BAND_EDITOR_FOOTER_GUARD_START */
/* 글쓰기/글수정 화면은 독립 에디터 모드이므로 공통 풋터를 숨긴다. */
body.khf-band-editor-body .khf-footer-wrap,
body.khf-band-editor-body footer.khf-footer-wrap{
  display:none !important;
}
body.khf-band-editor-body{
  padding-bottom:0 !important;
}
body.khf-band-editor-body .khf-band-form-wrap{
  margin-bottom:0 !important;
  min-height:calc(100vh - 90px);
}
/* KHF_BAND_EDITOR_FOOTER_GUARD_END */

/* =============================================================================
   Comment empathy button
============================================================================= */
.khf-band-comment-empathy-btn{gap:3px}
.khf-band-comment-empathy-btn::before,
.khf-band-comment-empathy-static::before{content:"♡";display:inline-block;font-size:13px;line-height:1;color:#16a34a;transform:translateY(-.5px)}
.khf-band-comment-empathy-btn.active{color:#16a34a}
.khf-band-comment-empathy-btn.active::before{content:"♥"}
.khf-band-comment-empathy-btn[disabled]{opacity:.55;cursor:wait}
.khf-band-comment-empathy-static{gap:3px;color:#94a3b8}
.khf-band-comment-empathy-static::before{color:#94a3b8}
.khf-band-comment-empathy-btn span:last-child,.khf-band-comment-empathy-static span{min-width:.75em;text-align:left}

/* KHF_COMMENT_EMPATHY_ICON_V2: 캐시 회피 후에도 아이콘이 보이도록 실제 마크업 아이콘을 사용 */
.khf-band-comment-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin-top:7px!important}
.khf-band-comment-action,
.khf-band-comment-actions a,
.khf-band-comment-actions button{display:inline-flex!important;align-items:center!important;gap:4px!important;min-height:20px!important;line-height:1!important;font-size:12px!important;font-weight:900!important;font-family:inherit!important;color:#64748b!important;text-decoration:none!important;background:transparent!important;border:0!important;padding:0!important;cursor:pointer!important;vertical-align:middle!important}
.khf-band-comment-actions a:hover,
.khf-band-comment-actions button:hover{color:#16a34a!important;text-decoration:underline!important}
.khf-band-comment-empathy-btn::before,
.khf-band-comment-empathy-static::before{content:none!important;display:none!important}
.khf-band-comment-empathy-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:14px!important;height:14px!important;font-size:14px!important;line-height:1!important;color:#16a34a!important;transform:translateY(-.5px)!important}
.khf-band-comment-empathy-btn.active,
.khf-band-comment-empathy-btn.active .khf-band-comment-empathy-icon{color:#16a34a!important}
.khf-band-comment-empathy-static .khf-band-comment-empathy-icon{color:#94a3b8!important}

/* KHF Band inline images in post body */
.khf-band-content img.khf-inline-image{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:760px;
  margin:14px auto;
  border-radius:14px;
  object-fit:contain;
  box-shadow:0 8px 24px rgba(15,23,42,.08);
}
.khf-band-content.preview img.khf-inline-image{
  max-height:520px;
}
@media (max-width:760px){
  .khf-band-content img.khf-inline-image{max-height:560px;border-radius:10px;margin:12px auto}
  .khf-band-content.preview img.khf-inline-image{max-height:460px}
}
.khf-band-content.preview.has-inline-image{max-height:520px}
@media (max-width:760px){.khf-band-content.preview.has-inline-image{max-height:460px}}


/* KHF_BAND_EDITOR_PAGE_SCROLL_FIX_START
   글쓰기/글수정 페이지에서 화면 전체 세로 스크롤을 강제로 복구합니다. */
html.khf-band-editor-html{
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
}
body.khf-band-editor-body{
  position:static!important;
  inset:auto!important;
  height:auto!important;
  min-height:100vh!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch;
}
body.khf-band-editor-body .khf-band-form-wrap{
  position:relative!important;
  height:auto!important;
  max-height:none!important;
  min-height:calc(100vh - 90px)!important;
  overflow:visible!important;
  padding-bottom:120px!important;
}
@media (max-width:820px){
  body.khf-band-editor-body .khf-band-form-wrap{padding-bottom:calc(110px + env(safe-area-inset-bottom))!important;}
}
/* KHF_BAND_EDITOR_PAGE_SCROLL_FIX_END */
