/* ============================================================
   BEAN THEME — bean.base.css  (골조 / 구조 전용, 색상 없음)
   색상은 bean.colors.css 의 --bean-* 변수로 주입됩니다.
   모든 선택자는 .bean_ 접두어로 격리되어 라이믹스/브라우저
   기본 CSS 와 충돌하지 않습니다.
   ============================================================ */

/* ---- reset (scoped) ---- */
/* body 기본 여백(브라우저 UA 8px) 제거 — _init.html 이 body 에 bean_layout 클래스 부여 */
body.bean_layout{margin:0;padding:0;}
.bean_root *,.bean_root *::before,.bean_root *::after,
.bean_brd *,.bean_brd *::before,.bean_brd *::after{box-sizing:border-box;}
.bean_root{
	--bean-sans:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic','Segoe UI',sans-serif;
	--bean-serif:'Times New Roman',serif;
	font-family:var(--bean-sans);
	font-size:16px;
	color:var(--bean-text);
	background:var(--bean-bg);
	line-height:1.65;
	-webkit-font-smoothing:antialiased;
	min-height:100vh;
}
/* 빈 게시판 스킨을 BEAN 레이아웃 밖(다른 레이아웃·독립형)에서 쓸 때도
   라이믹스 코어 CSS(body 12px 등)·브라우저 UA 기본값이 스며들지 않도록
   게시판 스킨 루트(.bean_brd)에 기본 폰트·색·줄간격을 직접 명시한다.
   (.bean_brd 는 게시판 스킨 모든 템플릿의 최상위 요소에 부여한 공통 표식.
    BEAN 레이아웃 안에서는 .bean_root 가 같은 값을 주므로 중복일 뿐 무해) */
.bean_brd{
	--bean-sans:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic','Segoe UI',sans-serif;
	font-family:var(--bean-sans);
	font-size:16px;
	line-height:1.65;
	color:var(--bean-text);
	-webkit-font-smoothing:antialiased;
}
/* 타이포 여백 리셋 — :where() 로 specificity 0 → 컴포넌트 클래스 마진이 항상 이김.
   (이전에 [class^="bean_"] 로 리셋했더니 .bean_wrap 의 margin:0 auto 까지 덮어써
    레이아웃이 한쪽으로 쏠렸음.) ul/ol/img 는 제외해 게시글 본문 스타일 보존. */
.bean_root :where(h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd),
.bean_brd :where(h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd){margin:0;}
.bean_gnb-list,.bean_foot-menu,.bean_cmt-list{list-style:none;margin:0;padding:0;}
.bean_root :where(a){color:inherit;text-decoration:none;}
/* 게시판 스킨(.bean_brd) — 링크·버튼·글제목 등 모든 밑줄 제거.
   브라우저 UA 의 a:-webkit-any-link{text-decoration:underline} 와
   다른 레이아웃 코어 CSS 를 확실히 이기도록 html 접두어로 specificity 를
   올리고 !important 로 모든 상태(any-link 포함)에서 강제로 끈다. */
html .bean_brd a,
html .bean_brd a:link,html .bean_brd a:visited,
html .bean_brd a:hover,html .bean_brd a:active,html .bean_brd a:focus,
html .bean_brd a:any-link,html .bean_brd a *{text-decoration:none !important;}
.bean_brd a{color:inherit;}
/* 일반 콘텐츠 본문 링크 — 가독성용 강조색 + 밑줄.
   게시판 스킨(.bean_brd)은 위 규칙(!important)에서 밑줄을 전부 끄므로,
   .bean_brd 안에서는 이 규칙이 적용돼도 밑줄이 생기지 않는다. */
.bean_view-body a,
.bean_root .xe_content a,.bean_root .rhymix_content a{
	color:var(--bean-accent);text-decoration:underline;}
.bean_wrap{max-width:1180px;margin:0 auto;padding:0 28px;}

/* ---- scrollbar ---- */
.bean_root ::-webkit-scrollbar{width:12px;height:10px;}
.bean_root ::-webkit-scrollbar-track{background:var(--bean-surf);}
.bean_root ::-webkit-scrollbar-thumb{background:var(--bean-accent);border-radius:8px;border:3px solid var(--bean-surf);}

/* ---- buttons / generic ---- */
.bean_btn{display:inline-block;background:var(--bean-accent);color:var(--bean-onaccent);
	padding:13px 24px;border-radius:999px;font-size:13.5px;font-weight:700;border:0;cursor:pointer;
	font-family:inherit;line-height:1.2;transition:background .15s;text-align:center;}
.bean_btn:hover{background:var(--bean-accent2);}
/* 테두리만 있는 버튼 — 테두리색과 글자색을 같게 */
.bean_btn-line{display:inline-block;background:none;border:1px solid var(--bean-text);color:var(--bean-text);
	padding:12px 22px;border-radius:999px;font-size:13.5px;font-weight:700;cursor:pointer;
	font-family:inherit;line-height:1.2;transition:.15s;text-align:center;}
.bean_btn-line:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.bean_btn-sm{padding:9px 16px;font-size:12.5px;}
.bean_panel{background:var(--bean-card);border:1px solid var(--bean-line);border-radius:14px;}
/* 입력창 placeholder — 테마 muted 색으로 통일 */
.bean_root input::placeholder,.bean_root textarea::placeholder,
.bean_brd input::placeholder,.bean_brd textarea::placeholder{color:var(--bean-muted);opacity:1;}

/* ============================================================
   HEADER
   ============================================================ */
.bean_header{position:fixed;top:0;left:0;right:0;z-index:80;
	transition:background .25s,border-color .25s;
	background:var(--bean-head);border-bottom:1px solid var(--bean-line);
	backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.bean_page-main .bean_header{background:transparent;border-bottom-color:transparent;
	backdrop-filter:none;-webkit-backdrop-filter:none;}
.bean_page-main .bean_header.bean_is-solid{background:var(--bean-head);border-bottom-color:var(--bean-line);
	backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.bean_nav{display:flex;align-items:center;justify-content:space-between;
	height:74px;gap:24px;position:relative;}
.bean_logo{flex:0 0 auto;display:inline-flex;align-items:center;}
.bean_logo-text{font-weight:800;font-size:22px;letter-spacing:3px;color:var(--bean-text);}
.bean_page-main .bean_header:not(.bean_is-solid) .bean_logo-text{color:#fff;}
.bean_logo-img{height:34px;width:auto;display:block;}
/* 라이트/다크 두 장 로고 — 같은 위치에 겹쳐 그리고 상태별로 표시 토글.
   기본 (서브 페이지 OR 메인-스크롤후 solid 헤더) = off-hero 로고만.
   메인-히어로 위 (헤더 transparent) = on-hero 로고만. */
.bean_logo .bean_logo-on{display:none;}
.bean_logo .bean_logo-off{display:block;}
.bean_page-main .bean_header:not(.bean_is-solid) .bean_logo .bean_logo-on{display:block;}
.bean_page-main .bean_header:not(.bean_is-solid) .bean_logo .bean_logo-off{display:none;}
/* 한 장만 등록된 경우 (다크 로고 빈) — img 의 src 가 비면 안 보이게 안전망 */
.bean_logo-img[src=""],.bean_logo-img:not([src]){display:none !important;}

/* gnb */
.bean_gnb-list{display:flex;gap:6px;}
.bean_gnb-item{position:relative;}
.bean_gnb-link{display:flex;align-items:center;gap:6px;padding:12px 16px;
	font-size:13.5px;font-weight:600;color:var(--bean-muted);border-radius:9px;transition:.15s;}
.bean_gnb-link:hover,.bean_gnb-item.bean_is-open>.bean_gnb-link,.bean_gnb-item.bean_is-on>.bean_gnb-link{
	color:var(--bean-text);background:var(--bean-surf);}
.bean_page-main .bean_header:not(.bean_is-solid) .bean_gnb-link{color:rgba(255,255,255,.82);}
.bean_page-main .bean_header:not(.bean_is-solid) .bean_gnb-link:hover,
.bean_page-main .bean_header:not(.bean_is-solid) .bean_gnb-item.bean_is-open>.bean_gnb-link,
.bean_page-main .bean_header:not(.bean_is-solid) .bean_gnb-item.bean_is-on>.bean_gnb-link{
	color:#fff;background:rgba(255,255,255,.14);}
.bean_caret{font-size:9px;transition:transform .2s;cursor:pointer;padding:3px 4px;margin:-3px -2px;}
.bean_gnb-item.bean_is-open>.bean_gnb-link .bean_caret{transform:rotate(180deg);}

/* mega */
.bean_mega{position:absolute;top:calc(100% + 8px);left:0;min-width:300px;
	background:var(--bean-card);border:1px solid var(--bean-line);border-radius:14px;padding:12px;
	opacity:0;visibility:hidden;transform:translateY(8px);transition:all .18s;
	box-shadow:0 24px 50px rgba(0,0,0,.3);}
.bean_gnb-item.bean_is-open .bean_mega{opacity:1;visibility:visible;transform:translateY(0);}
.bean_mega-leaf{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-radius:9px;
	color:var(--bean-text);transition:background .15s;}
.bean_mega-leaf:hover{background:var(--bean-surf);}
.bean_mega-dot{width:6px;height:6px;border-radius:50%;background:var(--bean-accent);flex:0 0 auto;margin-top:6px;}
.bean_mega-leaf-body{display:flex;flex-direction:column;}
.bean_mega-leaf-text{font-size:14px;font-weight:600;}
.bean_mega-leaf-desc{font-size:11.5px;color:var(--bean-muted);margin-top:2px;line-height:1.45;}
.bean_mega-group{margin-top:6px;padding:10px 12px 4px;border-top:1px solid var(--bean-line);}
.bean_mega-head{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--bean-accent);margin-bottom:6px;}
.bean_mega-leaf3{display:block;padding:9px 12px 9px 22px;border-radius:8px;
	color:var(--bean-text);transition:background .15s;}
.bean_mega-leaf3:hover{background:var(--bean-surf);}
.bean_mega-leaf3-text{display:block;font-size:13.5px;font-weight:600;}
.bean_mega-leaf3-desc{display:block;font-size:11.5px;color:var(--bean-muted);margin-top:2px;line-height:1.45;}

/* nav tools */
.bean_nav-tools{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.bean_nav-cta{background:none;border:1px solid var(--bean-accent);color:var(--bean-accent);
	padding:9px 18px;border-radius:999px;font-size:12px;font-weight:700;
	font-family:inherit;cursor:pointer;line-height:1.2;transition:.15s;}
.bean_nav-cta:hover{background:var(--bean-accent);color:var(--bean-onaccent);}
.bean_page-main .bean_header:not(.bean_is-solid) .bean_nav-cta{border-color:rgba(255,255,255,.55);color:#fff;}

/* burger */
.bean_burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
.bean_burger-bar{width:24px;height:2px;background:var(--bean-text);display:block;}
.bean_page-main .bean_header:not(.bean_is-solid) .bean_burger-bar{background:#fff;}

/* ---- 프로필 드롭다운 ---- */
.bean_profile{position:relative;}
.bean_profile-btn{background:none;border:0;cursor:pointer;padding:0;display:block;}
.bean_profile-ava{display:flex;align-items:center;justify-content:center;
	width:38px;height:38px;border-radius:50%;background:var(--bean-accent);
	color:var(--bean-onaccent);font-size:15px;font-weight:800;overflow:hidden;
	border:2px solid transparent;transition:.15s;}
.bean_profile-ava-img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.bean_profile-btn:hover .bean_profile-ava,
.bean_profile.bean_is-open .bean_profile-ava{border-color:var(--bean-accent2);}
.bean_profile-menu{position:absolute;top:calc(100% + 12px);right:0;width:320px;max-width:86vw;
	background:var(--bean-card);border:1px solid var(--bean-line);border-radius:14px;
	box-shadow:0 24px 50px rgba(0,0,0,.3);overflow:hidden;z-index:90;
	opacity:0;visibility:hidden;transform:translateY(8px);transition:all .18s;}
.bean_profile.bean_is-open .bean_profile-menu{opacity:1;visibility:visible;transform:translateY(0);}
.bean_profile-head{padding:18px 20px;border-bottom:1px solid var(--bean-line);}
.bean_profile-name{font-size:15px;font-weight:800;color:var(--bean-text);}
.bean_profile-id{font-size:12px;color:var(--bean-muted);margin-top:2px;}
.bean_profile-noti{padding:14px 20px;border-bottom:1px solid var(--bean-line);}
.bean_profile-noti-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.bean_profile-noti-title{font-size:11.5px;font-weight:800;letter-spacing:1px;color:var(--bean-accent);}
.bean_profile-noti-all{font-size:11.5px;color:var(--bean-muted);}
.bean_profile-noti-all:hover{color:var(--bean-accent);}
.bean_profile-noti-empty{font-size:12.5px;color:var(--bean-muted);padding:4px 0;}
.bean_profile-noti-list{display:flex;flex-direction:column;max-height:220px;overflow-y:auto;}
.bean_profile-noti-item{display:block;padding:8px 0;border-top:1px solid var(--bean-line);}
.bean_profile-noti-item:hover{color:var(--bean-accent);}
.bean_profile-noti-text{display:block;font-size:12.5px;color:var(--bean-text);line-height:1.5;
	overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.bean_profile-noti-item:hover .bean_profile-noti-text{color:var(--bean-accent);}
.bean_profile-noti-ago{display:block;font-size:11px;color:var(--bean-muted);margin-top:2px;}
.bean_profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:10px;}
.bean_profile-item{display:block;padding:9px 12px;border-radius:8px;font-size:13px;
	font-weight:600;color:var(--bean-text);transition:.12s;}
.bean_profile-item:hover{background:var(--bean-surf);color:var(--bean-accent);}
.bean_profile-sec{border-top:1px solid var(--bean-line);}
.bean_profile-sec-title{font-size:11px;font-weight:800;letter-spacing:1px;
	color:var(--bean-accent);padding:12px 22px 0;}
.bean_profile-foot{border-top:1px solid var(--bean-line);padding:10px;
	display:flex;flex-direction:column;gap:2px;}
.bean_profile-admin,.bean_profile-logout{display:block;padding:10px 12px;border-radius:8px;
	font-size:13px;font-weight:700;transition:.12s;}
.bean_profile-admin{color:var(--bean-accent);}
.bean_profile-admin:hover{background:var(--bean-surf);}
.bean_profile-logout{color:var(--bean-muted);}
.bean_profile-logout:hover{background:var(--bean-surf);color:var(--bean-text);}

/* ---- 로그인 드롭다운 ---- */
.bean_login{position:relative;}
.bean_login-btn{display:flex;align-items:center;justify-content:center;flex:0 0 auto;
	width:38px;height:38px;border-radius:50%;background:var(--bean-accent);
	color:var(--bean-onaccent);border:2px solid transparent;cursor:pointer;
	padding:0;transition:.15s;}
.bean_login-btn:hover,.bean_login.bean_is-open .bean_login-btn{border-color:var(--bean-accent2);}
.bean_login-icon{width:20px;height:20px;display:block;}
.bean_login-menu{position:absolute;top:calc(100% + 12px);right:0;width:300px;max-width:92vw;
	background:var(--bean-card);border:1px solid var(--bean-line);border-radius:14px;
	box-shadow:0 24px 50px rgba(0,0,0,.3);padding:18px;z-index:90;
	max-height:calc(100vh - 96px);overflow-y:auto;-webkit-overflow-scrolling:touch;
	opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,visibility .18s,transform .18s;}
.bean_login.bean_is-open .bean_login-menu{opacity:1;visibility:visible;transform:translateY(0);}
.bean_login-input{width:100%;padding:11px 13px;font-size:13.5px;font-family:inherit;
	background:var(--bean-surf);border:1px solid var(--bean-line);border-radius:9px;
	color:var(--bean-text);margin-bottom:8px;}
.bean_login-input:focus{outline:0;border-color:var(--bean-accent);}
.bean_login-keep{display:flex;align-items:center;gap:7px;font-size:12.5px;
	color:var(--bean-muted);margin:4px 0 12px;cursor:pointer;}
.bean_login-keep input{width:15px;height:15px;accent-color:var(--bean-accent);}
.bean_login-submit{width:100%;}
/* 소셜 로그인 버튼 (로그인 팝업) — SNS 개수에 맞춰 자동 줄바꿈되는 반응형 그리드 */
.bean_login-sns{margin-top:14px;display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
.bean_login-sns-divider{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:2px 0 4px;
	font-size:11px;color:var(--bean-muted);}
.bean_login-sns-divider::before,.bean_login-sns-divider::after{content:"";flex:1;
	height:1px;background:var(--bean-line);}
.bean_login-sns-btn{display:block;text-align:center;padding:10px 8px;
	border:1px solid var(--bean-line);border-radius:9px;background:var(--bean-surf);
	color:var(--bean-text);font-size:12.5px;font-weight:600;line-height:1.3;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
	transition:border-color .15s,color .15s;}
.bean_login-sns-btn:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
/* 마지막 버튼이 한 줄에 홀로 남으면 가로 전체를 채운다.
   (divider 가 1번째 자식이라 버튼은 2,3 / 4,5 … 로 짝지어지므로 짝수 index 가 줄 시작) */
.bean_login-sns-btn:last-child:nth-child(even){grid-column:1/-1;}
/* 매우 좁은 화면에서는 1열로 */
@media(max-width:360px){
	.bean_login-sns{grid-template-columns:1fr;}
}
.bean_login-links{display:flex;justify-content:center;gap:14px;margin-top:14px;
	padding-top:12px;border-top:1px solid var(--bean-line);}
.bean_login-links a{font-size:12px;color:var(--bean-muted);}
.bean_login-links a:hover{color:var(--bean-accent);}

/* ============================================================
   SIDEBAR (mobile)
   ============================================================ */
.bean_ovl{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:90;
	opacity:0;visibility:hidden;transition:.2s;}
.bean_ovl.bean_is-show{opacity:1;visibility:visible;}
.bean_side{position:fixed;top:0;left:0;bottom:0;width:330px;max-width:86vw;z-index:95;
	background:var(--bean-card);border-right:1px solid var(--bean-line);
	transform:translateX(-100%);transition:transform .26s;overflow-y:auto;}
.bean_side.bean_is-show{transform:translateX(0);}
.bean_side-head{display:flex;align-items:center;justify-content:space-between;
	padding:22px 24px;border-bottom:1px solid var(--bean-line);}
.bean_side-close{background:none;border:0;color:var(--bean-text);font-size:24px;
	cursor:pointer;line-height:1;font-family:inherit;}
.bean_acc-top{display:flex;align-items:stretch;
	border-bottom:1px solid var(--bean-line);}
.bean_acc-label{flex:1;padding:16px 24px;font-size:15px;font-weight:700;
	color:var(--bean-text);}
.bean_acc-toggle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;
	width:58px;background:none;border:0;border-left:1px solid var(--bean-line);
	cursor:pointer;color:var(--bean-muted);font-family:inherit;}
.bean_acc-toggle:hover{color:var(--bean-accent);}
.bean_acc-ar{font-size:11px;color:var(--bean-muted);transition:transform .2s;}
.bean_acc-toggle:hover .bean_acc-ar{color:var(--bean-accent);}
.bean_acc.bean_is-open>.bean_acc-top .bean_acc-ar{transform:rotate(180deg);}
.bean_acc-body{display:none;background:var(--bean-bg);border-bottom:1px solid var(--bean-line);}
.bean_acc.bean_is-open>.bean_acc-body{display:block;}
.bean_acc-leaf{display:block;padding:13px 24px 13px 42px;font-size:14px;
	border-bottom:1px solid var(--bean-line);color:var(--bean-text);}
.bean_acc-leaf:last-child{border-bottom:0;}
.bean_acc-sub{background:var(--bean-surf);}
.bean_acc-subhead{padding:12px 24px 12px 42px;font-size:12.5px;font-weight:700;
	letter-spacing:1px;color:var(--bean-accent);border-bottom:1px solid var(--bean-line);}

/* ============================================================
   HERO (main page) — fullscreen video / image
   ============================================================ */
.bean_hero{position:relative;height:100vh;min-height:560px;overflow:hidden;
	display:flex;flex-direction:column;justify-content:center;}
.bean_hero-media{position:absolute;inset:0;z-index:0;background:#05070f;}
.bean_hero-video{position:absolute;inset:0;overflow:hidden;}
.bean_hero-video iframe,.bean_hero-video #bean_ytplayer{
	position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;
	min-height:100vh;min-width:177.78vh;transform:translate(-50%,-50%);
	pointer-events:none;border:0;}
.bean_hero-slides{position:absolute;inset:0;}
.bean_hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;
	display:flex;flex-direction:column;justify-content:center;}
.bean_hero-slide.bean_is-on{opacity:1;}
.bean_hero-slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.bean_hero-veil{position:absolute;inset:0;z-index:1;
	background:linear-gradient(180deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.58) 55%,rgba(0,0,0,.86) 100%);}
.bean_hero-inner{position:relative;z-index:2;width:100%;}
.bean_hero-tag{font-size:12px;letter-spacing:5px;color:var(--bean-accent);margin-bottom:22px;}
.bean_hero-title{font-size:clamp(44px,8vw,112px);line-height:1;font-weight:800;
	letter-spacing:-2px;color:#fff;}
.bean_hero-desc{max-width:460px;color:rgba(255,255,255,.8);font-size:15px;margin-top:26px;}
.bean_hero-btn{display:inline-block;margin-top:30px;background:var(--bean-accent);
	color:var(--bean-onaccent);padding:14px 30px;border-radius:999px;
	font-size:14px;font-weight:700;transition:background .15s;}
.bean_hero-btn:hover{background:var(--bean-accent2);}
.bean_hero-mute{position:absolute;right:28px;bottom:30px;z-index:3;
	background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.4);color:#fff;
	padding:9px 16px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;
	font-family:inherit;transition:.15s;}
.bean_hero-mute:hover{background:rgba(0,0,0,.78);border-color:#fff;}
.bean_hero-dots{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);
	z-index:3;display:none;gap:8px;}
.bean_hero-dots .bean_hero-dot{width:30px;height:30px;border-radius:999px;cursor:pointer;
	font-family:inherit;font-size:12px;font-weight:700;color:#fff;
	background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.45);transition:.15s;}
.bean_hero-dots .bean_hero-dot:hover{border-color:#fff;}
.bean_hero-dots .bean_hero-dot.bean_is-on{background:#fff;color:#111;border-color:#fff;}
.bean_hero-scroll{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;
	display:flex;flex-direction:column;align-items:center;gap:8px;
	font-size:10px;letter-spacing:3px;color:rgba(255,255,255,.6);}
.bean_hero-scroll::after{content:"";width:1px;height:34px;
	background:linear-gradient(rgba(255,255,255,.7),transparent);animation:bean_sdrop 1.6s infinite;}
@keyframes bean_sdrop{0%{opacity:0;transform:scaleY(.3);transform-origin:top;}
	40%{opacity:1;}100%{opacity:0;transform:scaleY(1);transform-origin:top;}}

/* ============================================================
   PAGEHEAD (sub page)
   ============================================================ */
.bean_pagehead{padding:118px 0 46px;border-bottom:1px solid var(--bean-line);
	background:linear-gradient(160deg,var(--bean-surf),var(--bean-bg));}
.bean_crumb{font-size:11.5px;letter-spacing:2px;color:var(--bean-accent);font-weight:700;}
.bean_crumb-link:hover{text-decoration:underline;}
.bean_pagehead-title{font-size:clamp(28px,4.6vw,46px);font-weight:800;
	letter-spacing:-1px;margin-top:12px;}
.bean_pagehead-lead{margin-top:12px;max-width:680px;font-size:14.5px;
	line-height:1.7;color:var(--bean-muted);}

/* ============================================================
   MAIN CONTENT
   ============================================================ */
.bean_main{display:block;}
.bean_page-sub .bean_main{padding:48px 0 70px;}
.bean_page-main .bean_main{padding:0 0 70px;}
/* flow-root: 위젯페이지 등 본문에 float 가 있어도 항상 감싸서
   (관리자만 보이는 btnArea 유무와 무관하게) 푸터와의 구분이 유지되게 함 */
.bean_content-inner{display:flow-root;}

/* ============================================================
   FOOTER
   ============================================================ */
.bean_footer{border-top:1px solid var(--bean-line);background:var(--bean-card);
	padding:56px 0 34px;margin-top:50px;}
.bean_foot-grid{display:flex;flex-wrap:wrap;gap:36px;}
.bean_foot-brand{flex:2 1 300px;min-width:0;}
.bean_foot-col{flex:1 1 130px;min-width:0;}
.bean_foot-logo{font-size:23px;font-weight:800;letter-spacing:2px;margin-bottom:12px;}
.bean_foot-biz{font-size:12px;color:var(--bean-muted);line-height:1.8;max-width:430px;}
.bean_foot-h{display:block;font-size:12px;letter-spacing:2px;color:var(--bean-accent);
	margin:0 0 14px;font-weight:700;}
a.bean_foot-h-link:hover{color:var(--bean-text);}
.bean_foot-menu-item{padding:5px 0;}
.bean_foot-menu-link{font-size:13px;color:var(--bean-muted);}
.bean_foot-menu-link:hover{color:var(--bean-accent);}
.bean_foot-bot{margin-top:40px;padding-top:22px;border-top:1px solid var(--bean-line);
	font-size:12px;color:var(--bean-muted);}

/* ============================================================
   BOARD SKIN — 공통
   ============================================================ */
.bean_board{position:relative;transition:opacity .2s;}
.bean_board.bean_is-loading{opacity:.45;pointer-events:none;}
.bean_board-head{margin-bottom:22px;}
.bean_board-title{font-size:22px;font-weight:800;letter-spacing:-.5px;}
.bean_board-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center;
	justify-content:space-between;margin-bottom:22px;}
.bean_cats{display:flex;gap:6px;flex-wrap:wrap;}
.bean_cat{background:none;border:1px solid var(--bean-line);color:var(--bean-muted);
	padding:8px 15px;border-radius:999px;font-size:12.5px;font-weight:600;
	cursor:pointer;font-family:inherit;transition:.15s;}
.bean_cat:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.bean_cat.bean_is-on{background:var(--bean-accent);border-color:var(--bean-accent);color:var(--bean-onaccent);}
.bean_board-search{display:flex;gap:8px;}
.bean_board-search-select,.bean_board-search-input{background:var(--bean-surf);
	border:1px solid var(--bean-line);color:var(--bean-text);padding:9px 13px;
	border-radius:9px;font-size:13px;font-family:inherit;}
.bean_board-search-input{width:190px;}
.bean_board-msg{padding:60px 20px;text-align:center;color:var(--bean-muted);font-size:14px;}

/* ---- 목록형 (list) ---- */
.bean_list-table{width:100%;border-collapse:collapse;border-spacing:0;
	border-top:2px solid var(--bean-accent);font-family:inherit;}
.bean_list-table .bean_th{font-size:12px;letter-spacing:.5px;color:var(--bean-muted);
	font-weight:700;padding:13px 10px;border-bottom:1px solid var(--bean-line);text-align:left;}
.bean_list-table .bean_td{font-size:13.5px;padding:14px 10px;
	border-bottom:1px solid var(--bean-line);color:var(--bean-muted);vertical-align:middle;}
.bean_list-table .bean_tr:hover .bean_td{background:var(--bean-surf);}
.bean_list-table .bean_tr-notice .bean_td{background:var(--bean-surf);}
.bean_td-subject .bean_subject-link{color:var(--bean-text);font-weight:600;}
.bean_td-subject .bean_subject-link:hover{color:var(--bean-accent);}
.bean_col-no{width:74px;}
.bean_col-author{width:120px;}
.bean_col-date{width:104px;}
.bean_col-count{width:64px;}
.bean_tag{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.5px;
	padding:3px 8px;border-radius:5px;background:var(--bean-bg);color:var(--bean-accent);
	border:1px solid var(--bean-line);margin-right:8px;}
.bean_reply-num{color:var(--bean-accent);font-weight:700;font-size:12px;margin-left:4px;}
.bean_notice-flag{display:inline-block;font-size:10.5px;font-weight:800;
	color:var(--bean-onaccent);background:var(--bean-accent);padding:3px 8px;border-radius:5px;}

/* ---- 갤러리형 (gallery) ---- */
.bean_gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.bean_gcard{display:flex;flex-direction:column;overflow:hidden;
	background:var(--bean-card);border:1px solid var(--bean-line);border-radius:14px;
	transition:transform .2s,border-color .2s;}
.bean_gcard:hover{transform:translateY(-5px);border-color:var(--bean-accent);}
.bean_gcard-thumb{height:188px;position:relative;overflow:hidden;
	background:linear-gradient(160deg,var(--bean-surf),var(--bean-card));
	border-bottom:1px solid var(--bean-line);}
.bean_gcard-thumb-img{width:100%;height:100%;object-fit:cover;display:block;}
.bean_gcard-flag{position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:800;
	letter-spacing:.5px;background:var(--bean-accent);color:var(--bean-onaccent);
	padding:3px 8px;border-radius:5px;}
.bean_gcard-body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column;}
.bean_gcard-cat{font-size:11px;font-weight:700;color:var(--bean-accent);
	letter-spacing:.5px;margin-bottom:6px;}
.bean_gcard-title{font-size:15px;font-weight:700;line-height:1.5;flex:1;color:var(--bean-text);}
.bean_gcard-summary{font-size:12.5px;color:var(--bean-muted);margin-top:8px;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bean_gcard-meta{display:flex;justify-content:space-between;
	font-size:12px;color:var(--bean-muted);margin-top:13px;}
.bean_gcard-meta-count{color:var(--bean-accent);}

/* ---- pagination ---- */
.bean_pager{display:flex;gap:6px;justify-content:center;margin-top:34px;flex-wrap:wrap;}
.bean_pager-link{min-width:36px;height:36px;padding:0 12px;display:flex;
	align-items:center;justify-content:center;border:1px solid var(--bean-line);
	border-radius:8px;font-size:13px;color:var(--bean-muted);}
.bean_pager-link:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.bean_pager-link.bean_is-on{background:var(--bean-accent);border-color:var(--bean-accent);
	color:var(--bean-onaccent);font-weight:700;}

/* ---- board footer ---- */
.bean_board-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;}

/* ============================================================
   BOARD SKIN — 글 보기 (view)
   ============================================================ */
.bean_view-head{padding-bottom:22px;border-bottom:2px solid var(--bean-accent);}
.bean_view-cat{font-size:12px;font-weight:700;color:var(--bean-accent);}
.bean_view-title{font-size:clamp(20px,3vw,30px);font-weight:800;
	letter-spacing:-.5px;margin:8px 0 14px;}
.bean_view-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:12.5px;color:var(--bean-muted);}
.bean_view-meta-item{display:flex;gap:6px;}
.bean_view-body{padding:34px 4px;font-size:15px;line-height:1.85;
	color:var(--bean-text);border-bottom:1px solid var(--bean-line);min-height:160px;}
.bean_view-body img{display:inline;height:auto;}
.bean_view-tools{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:18px 0 40px;}

/* comments */
.bean_cmt-head{font-size:15px;font-weight:800;margin:30px 0 16px;}
.bean_cmt{padding:18px 0;border-bottom:1px solid var(--bean-line);}
.bean_cmt-top{display:flex;gap:10px;align-items:center;margin-bottom:8px;}
.bean_cmt-author{font-size:13.5px;font-weight:700;color:var(--bean-text);}
.bean_cmt-date{font-size:12px;color:var(--bean-muted);}
.bean_cmt-body{font-size:13.5px;color:var(--bean-text);line-height:1.7;}
.bean_cmt-reply{margin-left:34px;}
.bean_form{display:block;margin-top:22px;}
.bean_form-row{margin-bottom:14px;}
.bean_form-label{display:block;font-size:12.5px;font-weight:700;
	color:var(--bean-text);margin-bottom:7px;}
.bean_form-input,.bean_form-textarea,.bean_form-select{width:100%;
	background:var(--bean-surf);border:1px solid var(--bean-line);color:var(--bean-text);
	padding:12px 14px;border-radius:9px;font-size:13.5px;font-family:inherit;}
.bean_form-textarea{min-height:120px;resize:vertical;line-height:1.6;}
.bean_form-input:focus,.bean_form-textarea:focus,.bean_form-select:focus{
	outline:0;border-color:var(--bean-accent);}
.bean_form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;}
.bean_form-help{font-size:12px;color:var(--bean-muted);margin-top:6px;}

/* ============================================================
   BOARD SKIN — 글보기 / 댓글 / 글쓰기 / 메시지 추가 컴포넌트
   ============================================================ */
.bean_view-wrap{display:block;}
.bean_view{display:block;}
.bean_view-files{margin-top:24px;padding:18px 20px;background:var(--bean-surf);
	border:1px solid var(--bean-line);border-radius:12px;}
.bean_view-files-head{font-size:12px;font-weight:700;color:var(--bean-accent);
	letter-spacing:1px;margin-bottom:8px;}
.bean_view-file{display:block;font-size:13px;color:var(--bean-text);padding:4px 0;}
.bean_view-file:hover{color:var(--bean-accent);}
.bean_view-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.bean_view-tag{font-size:12px;padding:6px 12px;border-radius:999px;
	background:var(--bean-surf);border:1px solid var(--bean-line);color:var(--bean-muted);}
.bean_view-tag:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.bean_secret-form{padding:30px 0;}
.bean_secret-row{display:flex;gap:8px;margin-top:10px;max-width:360px;}
.bean_secret-row .bean_form-input{flex:1;}

.bean_col-cat{width:120px;}
.bean_cat-tag{display:inline-block;font-size:11px;font-weight:700;padding:3px 11px;
	border-radius:999px;background:color-mix(in srgb,var(--bean-accent) 14%,transparent);
	color:var(--bean-accent);white-space:nowrap;}

.bean_comments{margin-top:42px;}
.bean_cmt-count{color:var(--bean-accent);}
.bean_cmt-list{margin-bottom:8px;}
.bean_cmt-empty{padding:30px 0;text-align:center;color:var(--bean-muted);font-size:13.5px;}
.bean_cmt-actions{display:flex;gap:14px;margin-top:8px;}
.bean_cmt-act{font-size:12px;color:var(--bean-muted);}
.bean_cmt-act:hover{color:var(--bean-accent);}
.bean_cmt-source{background:var(--bean-surf);border:1px solid var(--bean-line);
	border-radius:12px;padding:16px 18px;margin-bottom:18px;}
.bean_cmt-form{margin-top:22px;}
/* ===== 에디터 영역 (CKEditor + Rhymix 파일첨부) =====
   CKEditor 스킨은 Rhymix 관리자 → 에디터 설정에서 Moono(기본) /
   Moono Dark / Moono Lisa 중 선택. Moono·Moono Lisa 는 본문·툴바가
   밝은 색, Moono Dark 만 어두움. 현재 기본(밝은 색)에 맞춰 첨부 박스 등
   주변부를 '일관된 밝은 카드' 로 묶는다. (스킨 툴바 아이콘은 스킨에
   박힌 스프라이트라 CSS 로 못 바꾸므로, 주변부를 에디터에 맞추는 방향.) */
.bean_editor-wrap{display:block;}
.bean_editor-wrap textarea,.bean_editor-wrap .rx_editor_textarea{
	background:var(--bean-surf) !important;color:var(--bean-text) !important;
	border:1px solid var(--bean-line) !important;border-radius:10px !important;
	padding:12px 14px !important;}
/* CKEditor 외곽 — 테두리·모서리 정리 */
.bean_editor-wrap .cke{border:1px solid #dfe3ea !important;
	border-radius:10px !important;overflow:hidden;box-shadow:none !important;}
/* Rhymix 파일첨부 박스 — 에디터(라이트)에 맞춰 흰 카드로 통일 */
.bean_editor-wrap .xefu-container{margin-top:10px;padding:10px;color:#3a3f4a;
	background:#ffffff;border:1px solid #dfe3ea;border-radius:10px;}
.bean_editor-wrap .xefu-dropzone{background:#f6f7f9;
	border:1px dashed #ccd2dc;border-radius:8px;}
.bean_editor-wrap .xefu-dropzone-message,
.bean_editor-wrap .upload_info,
.bean_editor-wrap .xefu-controll,
.bean_editor-wrap .xefu-list{color:#7a818f;}
.bean_editor-wrap .xefu-btn{display:inline-block;background:#ffffff;color:#3a3f4a;
	border:1px solid #ccd2dc !important;border-radius:8px;padding:8px 14px;
	font-weight:600;font-family:inherit;cursor:pointer;}
.bean_editor-wrap .xefu-btn:hover{border-color:var(--bean-accent) !important;color:var(--bean-accent);}
.bean_editor-wrap .xefu-controll{border-top:1px solid #e6e9ee;
	margin-top:8px;padding-top:10px;font-size:12px;}
/* simpleeditor(서명 등) — 콜로셋이 light 로 박혀 다크모드에서 흰 박스로 보이는 문제 보정.
   .light 강제 흰색을 BEAN 테마 색으로 덮는다. (회원정보 수정의 서명 에디터 포함) */
.bean_editor-wrap .rx_simpleeditor,
.bean_editor-wrap .rx_simpleeditor.light{
	background:var(--bean-surf) !important;color:var(--bean-text) !important;
	border:1px solid var(--bean-line) !important;border-radius:10px !important;}
.bean_editor-wrap .rx_simpleeditor a{color:var(--bean-accent) !important;}
.bean_editor-wrap .rx_simpleeditor:empty::before{color:var(--bean-muted) !important;}
.bean_form-guest{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.bean_form-guest .bean_form-input{flex:1;min-width:140px;}

.bean_write{display:block;}
.bean_write-top{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.bean_write-cat,.bean_write-notice{flex:0 0 auto;width:auto;min-width:140px;}
.bean_write-title{flex:1;min-width:200px;font-size:15px;font-weight:600;}
.bean_extra{border:1px solid var(--bean-line);border-radius:12px;overflow:hidden;margin-bottom:14px;}
.bean_extra-row{display:flex;border-bottom:1px solid var(--bean-line);}
.bean_extra-row:last-child{border-bottom:0;}
.bean_extra-label{width:160px;flex:0 0 auto;padding:13px 16px;
	background:var(--bean-surf);font-size:13px;font-weight:700;}
.bean_extra-field{flex:1;padding:13px 16px;font-size:13.5px;}
.bean_req{color:var(--bean-accent);}
.bean_write-options{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0;}
.bean_check{display:flex;align-items:center;gap:7px;font-size:13px;
	color:var(--bean-text);cursor:pointer;}
.bean_check input{width:16px;height:16px;accent-color:var(--bean-accent);}
.bean_captcha{margin:14px 0;}
.bean_comment-form-page{display:block;}

.bean_msg-box{max-width:520px;margin:30px auto;padding:34px 32px;text-align:center;
	background:var(--bean-card);border:1px solid var(--bean-line);border-radius:16px;}
.bean_msg-title{font-size:17px;font-weight:700;line-height:1.5;}
.bean_msg-row{display:flex;gap:8px;margin-top:18px;}
.bean_msg-row .bean_form-input{flex:1;}
.bean_msg-actions{display:flex;gap:10px;justify-content:center;margin-top:22px;}
.bean_msg-target{padding:16px 18px;margin-bottom:20px;text-align:left;
	background:var(--bean-surf);border:1px solid var(--bean-line);border-radius:12px;}
.bean_msg-target-title{font-size:15px;font-weight:700;}
.bean_msg-target-by{font-size:12.5px;color:var(--bean-muted);margin-top:4px;}
.bean_msg-target-body{font-size:13px;color:var(--bean-text);margin-top:8px;}

.bean_tagcloud{display:block;}
.bean_tagcloud-list{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0;}
.bean_tagcloud-item{display:flex;align-items:center;gap:7px;padding:9px 15px;
	border-radius:999px;background:var(--bean-surf);border:1px solid var(--bean-line);}
.bean_tagcloud-item:hover{border-color:var(--bean-accent);}
.bean_tagcloud-name{font-size:13px;font-weight:600;color:var(--bean-text);}
.bean_tagcloud-count{font-size:11px;font-weight:700;color:var(--bean-accent);}

/* ============================================================
   MEMBER MODULE SKIN
   ============================================================ */
.bean_mpage{display:block;max-width:880px;margin:0 auto;}
.bean_mpage-tabs{display:flex;flex-wrap:wrap;gap:2px;
	border-bottom:1px solid var(--bean-line);margin-bottom:32px;}
.bean_mpage-tab{padding:12px 15px;font-size:13px;font-weight:600;color:var(--bean-muted);
	border-bottom:2px solid transparent;margin-bottom:-1px;transition:.15s;}
.bean_mpage-tab:hover{color:var(--bean-text);}
.bean_mpage-tab.bean_is-on{color:var(--bean-accent);
	border-bottom-color:var(--bean-accent);font-weight:700;}
.bean_mpage-title{font-size:24px;font-weight:800;letter-spacing:-.5px;margin-bottom:6px;}
.bean_mpage-desc{font-size:13.5px;color:var(--bean-muted);margin-bottom:22px;line-height:1.6;}
.bean_mpage-sec{margin-top:44px;}
.bean_mpage-sec:first-child{margin-top:0;}

/* validator / 안내 메시지 */
.bean_alert{padding:13px 16px;border-radius:10px;font-size:13px;margin-bottom:20px;line-height:1.6;
	background:color-mix(in srgb,var(--bean-accent) 12%,transparent);
	border:1px solid color-mix(in srgb,var(--bean-accent) 34%,transparent);color:var(--bean-text);}
.bean_alert.bean_is-error{background:color-mix(in srgb,#e5484d 13%,transparent);
	border-color:color-mix(in srgb,#e5484d 42%,transparent);}

/* 중앙 정렬 인증 카드 (로그인 / 계정찾기 / 비밀번호재설정 / 로그아웃) */
.bean_auth{max-width:420px;margin:8px auto;}
.bean_auth-card{background:var(--bean-card);border:1px solid var(--bean-line);
	border-radius:16px;padding:36px 32px;}
.bean_auth-title{font-size:21px;font-weight:800;text-align:center;letter-spacing:-.5px;}
.bean_auth-sub{font-size:13px;color:var(--bean-muted);text-align:center;
	margin-top:9px;line-height:1.6;}
.bean_auth-body{margin-top:24px;}
.bean_auth-foot{display:flex;justify-content:center;align-items:center;gap:9px;
	margin-top:20px;padding-top:18px;border-top:1px solid var(--bean-line);
	font-size:12.5px;color:var(--bean-muted);}
.bean_auth-foot a{color:var(--bean-muted);}
.bean_auth-foot a:hover{color:var(--bean-accent);}
.bean_auth-sep{color:var(--bean-line);}
/* 로그인 페이지 — SNS 로그인 버튼 (반응형 그리드) */
.bean_auth-sns{margin-top:22px;}
.bean_auth-sns-divider{display:flex;align-items:center;gap:10px;margin-bottom:12px;
	font-size:11.5px;color:var(--bean-muted);}
.bean_auth-sns-divider::before,.bean_auth-sns-divider::after{content:"";flex:1;
	height:1px;background:var(--bean-line);}
.bean_auth-sns-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.bean_auth-sns-btn{display:block;text-align:center;padding:11px 8px;
	border:1px solid var(--bean-line);border-radius:9px;background:var(--bean-surf);
	color:var(--bean-text);font-size:13px;font-weight:600;line-height:1.3;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
	transition:border-color .15s,color .15s;}
.bean_auth-sns-btn:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.bean_auth-sns-btn:last-child:nth-child(odd){grid-column:1/-1;}
@media(max-width:380px){
	.bean_auth-sns-grid{grid-template-columns:1fr;}
}

/* 회원 폼 필드 */
.bean_field{margin-bottom:16px;}
.bean_field-label{display:block;font-size:12.5px;font-weight:700;
	color:var(--bean-text);margin-bottom:7px;}
.bean_field-help{font-size:11.5px;color:var(--bean-muted);margin-top:6px;line-height:1.55;}
.bean_field-radios{display:flex;flex-wrap:wrap;gap:16px;padding-top:4px;}
/* 회원 폼 필수항목 표시 — 모듈이 라벨에 넣는 <em style="color:red">*</em> 를 테마색으로 */
.bean_field em,.bean_field-label em{font-style:normal;color:var(--bean-accent) !important;font-weight:700;}
/* 회원 정보수정 — 프로필 사진/이미지 마크 첨부 필드 (업로드 카드 형태로 정돈) */
#profile_imagetag,#image_nametag,#image_marktag{
	display:inline-flex;flex-direction:column;align-items:flex-start;gap:8px;
	margin-bottom:10px;}
#profile_imagetag img,#image_nametag img,#image_marktag img{
	display:block;max-width:150px;max-height:150px;width:auto;height:auto;
	border-radius:12px;border:1px solid var(--bean-line);background:var(--bean-surf);}
#profile_imagetag button,#image_nametag button,#image_marktag button{
	background:none;border:1px solid var(--bean-line);color:var(--bean-muted);
	padding:6px 14px;border-radius:999px;font-size:12px;font-weight:600;
	font-family:inherit;cursor:pointer;transition:.15s;}
#profile_imagetag button:hover,#image_nametag button:hover,#image_marktag button:hover{
	border-color:var(--bean-accent);color:var(--bean-accent);}
.bean_field input[type=file]{display:block;font-size:12.5px;color:var(--bean-muted);
	background:var(--bean-surf);border:1px solid var(--bean-line);
	border-radius:9px;padding:9px 12px;max-width:100%;cursor:pointer;}
.bean_field .help-block{font-size:11.5px;color:var(--bean-muted);
	margin-top:8px;line-height:1.6;}
/* 라디오 — 선택형 칩(알약) UI */
.bean_radio{display:inline-flex;align-items:center;gap:8px;font-size:13px;
	color:var(--bean-text);cursor:pointer;padding:9px 15px;
	border:1px solid var(--bean-line);border-radius:999px;
	background:var(--bean-card);transition:.15s;}
.bean_radio:hover{border-color:var(--bean-accent);}
.bean_radio:has(input:checked){border-color:var(--bean-accent);
	background:color-mix(in srgb,var(--bean-accent) 12%,transparent);
	color:var(--bean-accent);font-weight:700;}
.bean_radio input{width:15px;height:15px;accent-color:var(--bean-accent);}
.bean_keep{display:flex;align-items:center;gap:7px;font-size:12.5px;
	color:var(--bean-muted);margin:2px 0;cursor:pointer;}
.bean_keep input{width:15px;height:15px;accent-color:var(--bean-accent);}
.bean_keep-warn{font-size:11.5px;color:var(--bean-muted);line-height:1.55;
	background:var(--bean-surf);border:1px solid var(--bean-line);
	border-radius:8px;padding:10px 12px;margin:8px 0 2px;}
.bean_req-mark{color:var(--bean-accent);font-weight:700;}

/* 회원 스킨 공통 입력창 — 모듈이 네이티브 input 을 직접 출력하므로 폭넓게 적용 */
.bean_mpage input[type=text],.bean_mpage input[type=email],
.bean_mpage input[type=password],.bean_mpage input[type=tel],
.bean_mpage input[type=number],.bean_mpage input[type=date],
.bean_mpage input[type=search],.bean_mpage input[type=url],.bean_mpage select,.bean_mpage textarea,
.bean_auth input[type=text],.bean_auth input[type=email],
.bean_auth input[type=password]{
	width:100%;background:var(--bean-surf);border:1px solid var(--bean-line);
	color:var(--bean-text);padding:11px 13px;border-radius:9px;font-size:13.5px;
	font-family:inherit;line-height:1.4;}
.bean_mpage textarea{min-height:110px;resize:vertical;line-height:1.6;}
/* 단일 줄 입력칸·버튼 높이 통일 (생일 등 네이티브 input 이 더 커지는 것 방지) */
.bean_mpage input[type=text],.bean_mpage input[type=email],
.bean_mpage input[type=password],.bean_mpage input[type=tel],
.bean_mpage input[type=number],.bean_mpage input[type=date],
.bean_mpage input[type=search],.bean_mpage input[type=url]{
	box-sizing:border-box;height:42px;}
.bean_mpage input:focus,.bean_mpage select:focus,.bean_mpage textarea:focus,
.bean_auth input:focus{outline:0;border-color:var(--bean-accent);}
/* 회원 폼 — 모듈이 생성하는 버튼(전화번호 인증·생일 삭제·우편번호 검색 등) */
.bean_mpage .bean_field .btn,.bean_mpage .bean_field input[type=button]{
	display:inline-flex;align-items:center;justify-content:center;width:auto;
	box-sizing:border-box;height:42px !important;
	background:var(--bean-surf);border:1px solid var(--bean-line);color:var(--bean-text);
	padding:0 16px;border-radius:9px;font-size:13.5px;font-weight:600;
	font-family:inherit;line-height:1.4;cursor:pointer;text-decoration:none;
	vertical-align:middle;transition:.15s;}
.bean_mpage .bean_field .btn:hover,.bean_mpage .bean_field input[type=button]:hover{
	border-color:var(--bean-accent);color:var(--bean-accent);}
.bean_field .verifySMS{margin-top:8px;}
.bean_field .verifySMS_input_area{display:flex;gap:8px;flex-wrap:wrap;
	align-items:stretch;margin-top:8px;}
.bean_mpage .bean_field .verifySMS_input_area .verifySMS_input_number{
	width:auto;flex:1;min-width:140px;}
/* jQuery UI 데이트픽커 — 생일 등 날짜 선택 달력 (BEAN 테마) */
.ui-datepicker{
	width:auto !important;min-width:272px;padding:12px !important;z-index:200;
	background:var(--bean-card) !important;border:1px solid var(--bean-line) !important;
	border-radius:14px !important;box-shadow:0 22px 50px rgba(0,0,0,.34);
	font-family:var(--bean-sans);color:var(--bean-text);}
.ui-datepicker .ui-datepicker-header{
	position:relative;background:none !important;border:0 !important;padding:2px 36px 10px !important;}
.ui-datepicker .ui-datepicker-title{
	display:flex;justify-content:center;align-items:center;gap:6px;
	margin:0;font-size:13.5px;font-weight:700;color:var(--bean-text);line-height:30px;}
.ui-datepicker .ui-datepicker-title select{
	background:var(--bean-surf);color:var(--bean-text);
	border:1px solid var(--bean-line);border-radius:8px;
	padding:4px 8px;font-size:12.5px;font-family:inherit;cursor:pointer;margin:0;}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next{
	position:absolute;top:0;width:30px;height:30px;cursor:pointer;
	border:0 !important;background:none;border-radius:8px;transition:background .15s;}
.ui-datepicker .ui-datepicker-prev{left:0;}
.ui-datepicker .ui-datepicker-next{right:0;}
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover{background:var(--bean-surf);}
.ui-datepicker .ui-datepicker-prev .ui-icon,
.ui-datepicker .ui-datepicker-next .ui-icon{display:none;}
.ui-datepicker .ui-datepicker-prev::before,
.ui-datepicker .ui-datepicker-next::before{
	content:'';position:absolute;top:50%;left:50%;
	width:7px;height:7px;border:2px solid var(--bean-text);border-right:0;border-bottom:0;}
.ui-datepicker .ui-datepicker-prev::before{transform:translate(-20%,-50%) rotate(-45deg);}
.ui-datepicker .ui-datepicker-next::before{transform:translate(-80%,-50%) rotate(135deg);}
.ui-datepicker table.ui-datepicker-calendar{
	width:100%;border-collapse:collapse;margin:0;font-size:12.5px;}
.ui-datepicker .ui-datepicker-calendar th{
	padding:6px 0;font-size:11px;font-weight:700;color:var(--bean-muted);}
.ui-datepicker .ui-datepicker-calendar td{padding:1px;border:0;}
.ui-datepicker .ui-datepicker-calendar td a,
.ui-datepicker .ui-datepicker-calendar td span{
	display:block;text-align:center;padding:0 !important;border:0 !important;
	height:32px;line-height:32px;border-radius:9px;
	background:none !important;color:var(--bean-text) !important;text-decoration:none;}
.ui-datepicker .ui-datepicker-calendar td span{color:var(--bean-muted) !important;opacity:.45;}
.ui-datepicker .ui-datepicker-calendar td:first-child a,
.ui-datepicker .ui-datepicker-calendar td:first-child span{color:#e5709a !important;}
.ui-datepicker .ui-datepicker-calendar td:last-child a,
.ui-datepicker .ui-datepicker-calendar td:last-child span{color:#6f9be0 !important;}
.ui-datepicker .ui-datepicker-calendar td a:hover{background:var(--bean-surf) !important;}
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month a{
	color:var(--bean-muted) !important;opacity:.4;}
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a{
	background:color-mix(in srgb,var(--bean-accent) 16%,transparent) !important;
	color:var(--bean-accent) !important;font-weight:700;}
.ui-datepicker .ui-datepicker-calendar td a.ui-state-active{
	background:var(--bean-accent) !important;color:var(--bean-onaccent) !important;font-weight:700;}
.ui-datepicker .ui-datepicker-buttonpane{
	margin:8px -2px 0;padding-top:8px;border-top:1px solid var(--bean-line);
	display:flex;justify-content:space-between;}
.ui-datepicker .ui-datepicker-buttonpane button{
	background:none;border:0;color:var(--bean-accent);font-family:inherit;
	font-size:12px;font-weight:700;cursor:pointer;padding:4px 6px;border-radius:6px;}
.ui-datepicker .ui-datepicker-buttonpane button:hover{background:var(--bean-surf);}
.bean_mpage input[readonly],.bean_mpage input[disabled]{
	background:var(--bean-bg);color:var(--bean-muted);}

/* 우편번호·주소 위젯 (krzip — 모듈 자체 default.css 가 24px 인풋·회색 보더를 강제하므로 덮어쓴다) */
.bean_mpage .krZip{display:flex;flex-direction:column;gap:10px;}
.bean_mpage .krZip>div{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin:0;}
.bean_mpage .krZip label{min-width:0;width:100%;margin:0;
	font-size:11.5px;font-weight:700;color:var(--bean-muted);
	letter-spacing:.02em;}
.bean_mpage .krZip input[type=text]{height:auto;line-height:1.4;
	flex:1;width:auto;min-width:150px;}
.bean_mpage .krZip .krzip-postcode{flex:0 0 auto;width:140px;min-width:0;}
.bean_mpage .krZip .krzip-guide{display:none;width:100%;
	color:var(--bean-muted);font-size:11.5px;line-height:1.55;}

/* 모듈이 생성하는 전화번호 입력칸 (extravar tel — 인라인 style="width:33.3px" 보정) */
.bean_mpage .bean_field input.rx_ev_tel1,
.bean_mpage .bean_field input.rx_ev_tel2,
.bean_mpage .bean_field input.rx_ev_tel3{width:72px !important;text-align:center;}
.bean_mpage .bean_field input.rx_ev_tel_v2,
.bean_mpage .bean_field select.rx_ev_select_country{width:auto;
	display:inline-block;min-width:200px;max-width:100%;}

/* 생일 — 날짜 입력 + 삭제 버튼을 한 줄로 (모듈이 input 을 width:100% 로 출력해 줄바꿈되던 문제) */
.bean_mpage .bean_field:has(.inputDate){
	display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;}
.bean_mpage .bean_field:has(.inputDate)>.bean_field-label{width:100%;margin-bottom:0;}
.bean_mpage .bean_field:has(.inputDate) .inputDate{flex:1;width:auto;min-width:200px;}
.bean_mpage .bean_field:has(.inputDate) .dateRemover{flex:0 0 auto;}

/* 전화번호 — 국가번호 select + 번호 입력 + 인증 버튼을 한 줄로 */
.bean_mpage .bean_field:has(.phone_number){
	display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;}
.bean_mpage .bean_field:has(.phone_number)>.bean_field-label{width:100%;margin-bottom:0;}
.bean_mpage .bean_field:has(.phone_number) .phone_country{
	flex:0 0 auto;width:auto;min-width:130px;}
.bean_mpage .bean_field:has(.phone_number) .phone_number{
	flex:1;width:auto;min-width:160px;}
.bean_mpage .bean_field:has(.phone_number) .verifySMS{flex:0 0 auto;margin-top:0;}
.bean_mpage .bean_field:has(.phone_number) .verifySMS_input_area{width:100%;margin-top:0;}

/* 폼 하단 버튼줄 */
.bean_form-foot{display:flex;justify-content:flex-end;gap:8px;
	margin-top:26px;padding-top:18px;border-top:1px solid var(--bean-line);}
.bean_form-foot .bean_btn,.bean_form-foot .bean_btn-line{min-width:120px;}
.bean_btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}

/* 인라인 폼 (입력창 + 버튼 한 줄) — 입력창·select·버튼 높이 통일 */
.bean_inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;}
.bean_inline-form input[type=text],.bean_inline-form input[type=email],
.bean_inline-form input[type=password]{flex:1;min-width:180px;}
.bean_inline-form input,.bean_inline-form select,
.bean_inline-form .bean_btn,.bean_inline-form .bean_btn-line{height:44px;}
.bean_inline-form .bean_btn,.bean_inline-form .bean_btn-line{
	display:inline-flex;align-items:center;justify-content:center;
	padding-top:0;padding-bottom:0;}

/* 회원정보 정의 목록 */
.bean_dl{border-top:2px solid var(--bean-accent);}
.bean_dl-row{display:flex;border-bottom:1px solid var(--bean-line);}
.bean_dl-dt{width:210px;flex:0 0 auto;padding:14px 18px;background:var(--bean-surf);
	font-size:13px;font-weight:700;color:var(--bean-text);}
.bean_dl-dd{flex:1;padding:14px 18px;font-size:13.5px;color:var(--bean-muted);
	word-break:break-word;}
.bean_dl-dd.bean_is-empty{color:var(--bean-line);}

/* 데이터 표 (내 글 / 댓글 / 스크랩 / 저장글 / 기기) */
.bean_dtable{width:100%;border-collapse:collapse;border-spacing:0;
	border-top:2px solid var(--bean-accent);font-family:inherit;}
.bean_dtable th{font-size:12px;color:var(--bean-muted);font-weight:700;
	padding:12px 10px;border-bottom:1px solid var(--bean-line);text-align:left;}
.bean_dtable td{font-size:13px;padding:13px 10px;color:var(--bean-muted);
	border-bottom:1px solid var(--bean-line);vertical-align:middle;}
.bean_dtable tr:hover td{background:var(--bean-surf);}
.bean_dtable .bean_dt-title,.bean_dtable .bean_dt-title a{
	color:var(--bean-text);font-weight:600;}
.bean_dtable .bean_dt-title a:hover{color:var(--bean-accent);}
.bean_dtable-cap{font-size:12px;color:var(--bean-muted);margin-bottom:10px;}
.bean_text-btn{background:none;border:0;color:var(--bean-muted);cursor:pointer;
	font-family:inherit;font-size:12.5px;padding:4px 6px;}
.bean_text-btn:hover{color:var(--bean-accent);text-decoration:underline;}
.bean_saved-content{margin-top:8px;padding:13px 15px;background:var(--bean-surf);
	border:1px solid var(--bean-line);border-radius:10px;
	font-size:13px;color:var(--bean-text);line-height:1.7;}

/* 약관 동의 (회원가입) */
.bean_agree{border:1px solid var(--bean-line);border-radius:12px;
	margin-bottom:14px;overflow:hidden;}
.bean_agree-title{padding:12px 16px;background:var(--bean-surf);
	font-size:13px;font-weight:700;color:var(--bean-text);}
.bean_agree-text{max-height:170px;overflow-y:auto;padding:14px 16px;
	font-size:12.5px;color:var(--bean-muted);line-height:1.7;
	border-bottom:1px solid var(--bean-line);}
.bean_agree-confirm{padding:11px 16px;}
.bean_agree-confirm .bean_radio{font-size:12.5px;}

/* 목록 도구줄 */
.bean_list-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;
	justify-content:space-between;margin:22px 0 26px;}
.bean_list-search{display:flex;gap:8px;flex-wrap:wrap;}
.bean_list-search input[type=text],.bean_list-search select{width:auto;}
.bean_list-search input[type=text]{min-width:180px;}
.bean_list-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
/* 인라인 영역의 select 는 내용 너비만 차지 — 버튼이 같은 줄에 붙도록 */
.bean_mpage .bean_inline-form select,
.bean_mpage .bean_list-tools select,
.bean_mpage .bean_btn-row select{width:auto;max-width:100%;}

/* ============================================================
   MESSAGE MODULE (시스템 메시지 / 오류 표시)
   ============================================================ */
.bean_sysmsg .bean_auth-card{text-align:center;}
.bean_sysmsg-code{font-size:54px;font-weight:800;line-height:1;letter-spacing:-1px;
	color:var(--bean-accent);margin-bottom:10px;}
.bean_sysmsg-detail,.bean_sysmsg-help,.bean_sysmsg-loc{margin-top:8px;}
.bean_sysmsg-help{color:var(--bean-muted);font-size:12.5px;}
.bean_sysmsg-loc{word-break:break-all;font-size:12px;color:var(--bean-muted);}

/* ============================================================
   NCENTERLITE MODULE (알림센터)
   ============================================================ */
/* 상단 고정 알림 바 (ncenterlite.html 위젯) */
#nc_container.bean_ncl-bar{z-index:99;position:fixed;top:0;left:0;width:100%;
	margin:0;padding:0;background:var(--bean-card);border-bottom:1px solid var(--bean-line);
	color:var(--bean-text);font-size:12px;line-height:1.4;}
.bean_ncl-block{height:38px;}
.bean_ncl-menu{display:flex;align-items:center;gap:10px;margin:0;padding:7px 14px;list-style:none;}
.bean_ncl-menu::after{content:"";display:block;clear:both;}
.bean_ncl-menu-item.fRight{margin-left:auto;}
.bean_ncl-menu-item.fLeft,.bean_ncl-profile.fLeft{float:none;}
.bean_ncl-profile{display:flex;align-items:center;gap:6px;color:var(--bean-muted);}
.bean_ncl-profile-name{color:var(--bean-text);}
.bean_ncl-profile-img{width:22px;height:22px;border-radius:50%;object-fit:cover;}
#nc_container.bean_ncl-bar a{text-decoration:none;color:var(--bean-text);}
.bean_ncl-toggle{display:inline-block;font-weight:600;color:var(--bean-accent);cursor:pointer;}
.bean_ncl-readall{display:none;margin-left:8px;font-size:11px;color:var(--bean-muted);}
.bean_ncl-close{color:var(--bean-muted);}
.bean_ncl-close:hover,.bean_ncl-readall:hover,.bean_ncl-toggle:hover{color:var(--bean-text);}
/* 바 안의 드롭다운 피드 */
#nc_container .bean_ncl-list{display:none;position:absolute;top:100%;left:14px;
	width:340px;max-width:90vw;box-sizing:border-box;background:var(--bean-card);
	border:1px solid var(--bean-line);border-radius:0 0 14px 14px;
	box-shadow:0 10px 28px rgba(0,0,0,.22);}
#nc_container .bean_ncl-list-scroll{overflow-y:auto;overflow-x:hidden;}
.bean_ncl-feed{margin:0;padding:0;list-style:none;}
.bean_ncl-more{display:block;padding:11px;text-align:center;font-size:12px;
	color:var(--bean-accent);border-top:1px solid var(--bean-line);}
.bean_ncl-more:hover{background:color-mix(in srgb,var(--bean-accent) 14%,transparent);}
/* 피드 항목 (바 드롭다운 + NotifyList 페이지 공용) */
.bean_ncl-feed-item{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;
	border-bottom:1px solid var(--bean-line);list-style:none;}
.bean_ncl-feed-item:last-child{border-bottom:0;}
.bean_ncl-feed-link{display:flex;flex:1;min-width:0;gap:10px;align-items:flex-start;
	text-decoration:none;color:var(--bean-text);}
.bean_ncl-feed-link:hover .bean_ncl-feed-text{color:var(--bean-accent);}
.bean_ncl-feed-img{flex:0 0 auto;width:38px;height:38px;border-radius:50%;object-fit:cover;}
.bean_ncl-feed-body{min-width:0;flex:1;}
.bean_ncl-feed-text{display:block;font-size:13px;line-height:1.45;word-break:break-word;}
.bean_ncl-feed-meta,.bean_ncl-feed-ago{display:block;margin-top:3px;
	font-size:11px;color:var(--bean-muted);}
.bean_ncl-feed-sep{margin:0 4px;}
.bean_ncl-is-unread{background:color-mix(in srgb,var(--bean-accent) 9%,transparent);}
.bean_ncl-is-unread .bean_ncl-feed-text{font-weight:600;}
.bean_ncl-tag{flex:0 0 auto;padding:2px 8px;border-radius:999px;font-size:11px;
	background:var(--bean-surf);color:var(--bean-muted);}
.bean_ncl-tag-new{background:var(--bean-accent);color:var(--bean-onaccent);}
.bean_ncl-empty{padding:28px 14px;text-align:center;color:var(--bean-muted);}
.bean_ncl-warn{color:var(--bean-accent2);}
.bean_ncl-config-row{border-top:1px solid var(--bean-line);padding-top:14px;}
.bean_ncl-popup{padding:20px;}
.bean_ncl-target{padding:14px;margin-bottom:16px;}
.bean_ncl-target-type{display:block;font-size:12px;color:var(--bean-muted);margin-bottom:4px;}
.bean_ncl-target-text{margin:0;font-size:14px;line-height:1.5;}
.bean_ncl-sub-select{min-width:140px;}
@media(max-width:640px){
	#nc_container.bean_ncl-bar{position:relative;}
	.bean_ncl-block{display:none;}
	#nc_container .bean_ncl-list{position:relative;top:0;left:0;width:100%;}
}

/* ============================================================
   COMMUNICATION MODULE (쪽지 / 친구)
   ============================================================ */
.bean_comm-popup{padding:18px 0;}
.bean_comm-boxnav{flex-wrap:wrap;}
.bean_comm-view{padding:20px 22px;}
.bean_comm-view-title{margin:0 0 6px;font-size:17px;font-weight:700;color:var(--bean-text);}
.bean_comm-view-meta{margin:0 0 14px;font-size:13px;color:var(--bean-muted);
	display:flex;gap:10px;align-items:baseline;}
.bean_comm-view-meta a{color:var(--bean-text);font-weight:600;}
.bean_comm-view-date{color:var(--bean-muted);}
.bean_comm-view-body{padding:14px 0;border-top:1px solid var(--bean-line);
	line-height:1.7;color:var(--bean-text);word-break:break-word;}
.bean_comm-view-tools{margin-top:14px;}
.bean_comm-files{margin:12px 0 0;padding:12px 14px;list-style:none;
	background:color-mix(in srgb,var(--bean-accent) 8%,transparent);border-radius:10px;}
.bean_comm-files li{font-size:13px;line-height:1.9;}
.bean_comm-files a{color:var(--bean-text);font-weight:600;}
.bean_comm-file-size{color:var(--bean-muted);}
.bean_comm-editor{margin:4px 0 6px;}
.bean_comm-listfoot{margin-top:16px;}
.bean_comm-friend-total{font-size:13px;color:var(--bean-muted);}

/* ============================================================
   ELKHABOOK MODULE (mylog / 미니홈피)
   ============================================================ */
.bean_mylog-grid{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start;}
.bean_mylog-side{display:flex;flex-direction:column;gap:14px;min-width:0;}
.bean_mylog-feed{display:flex;flex-direction:column;gap:14px;min-width:0;}
.bean_mylog-nav{margin-bottom:18px;}
.bean_mylog-profile{text-align:center;padding:22px 20px;}
.bean_mylog-block{padding:18px 20px;}
/* 사이드바 정보 블록 — 좁은 폭에 맞춘 세로 스택 (키 위, 값 아래) */
.bean_mylog-info-row{padding:9px 0;border-bottom:1px solid var(--bean-line);}
.bean_mylog-info-row:first-child{padding-top:0;}
.bean_mylog-info-row:last-child{border-bottom:0;padding-bottom:0;}
.bean_mylog-info-k{display:block;font-size:11.5px;font-weight:700;
	color:var(--bean-muted);margin-bottom:4px;}
.bean_mylog-info-v{display:block;font-size:13px;color:var(--bean-text);
	line-height:1.6;word-break:break-word;}
.bean_mylog-info-v a{color:var(--bean-text);}
.bean_mylog-info-v a:hover{color:var(--bean-accent);}
.bean_mylog-avatar{width:104px;height:104px;margin:0 auto 12px;border-radius:50%;
	overflow:hidden;background:var(--bean-surf);border:2px solid var(--bean-line);}
.bean_mylog-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.bean_mylog-avatar-none{display:flex;width:100%;height:100%;align-items:center;
	justify-content:center;font-size:42px;font-weight:700;color:var(--bean-onaccent);
	background:var(--bean-accent);text-transform:uppercase;}
.bean_mylog-name{margin:0 0 12px;font-size:18px;font-weight:700;}
.bean_mylog-name a{color:var(--bean-text);text-decoration:none;}
.bean_mylog-stats{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;
	padding:12px 0;border-top:1px solid var(--bean-line);}
.bean_mylog-stat{display:flex;flex-direction:column;align-items:center;min-width:56px;
	padding:4px 6px;border-radius:10px;
	background:color-mix(in srgb,var(--bean-accent) 8%,transparent);}
.bean_mylog-stat-num{font-size:16px;font-weight:700;color:var(--bean-accent);}
.bean_mylog-stat-label{font-size:11px;color:var(--bean-muted);margin-top:2px;}
.bean_mylog-follow-btn{display:inline-flex;align-items:center;}
.bean_mylog-signature{margin:10px 0 0;padding-top:10px;font-size:13px;
	color:var(--bean-muted);line-height:1.6;border-top:1px solid var(--bean-line);}
.bean_mylog-block-title{display:flex;justify-content:space-between;align-items:baseline;
	margin:0 0 12px;padding-bottom:11px;font-size:14px;font-weight:700;
	color:var(--bean-text);border-bottom:1px solid var(--bean-line);}
.bean_mylog-more{font-size:12px;}
.bean_mylog-empty{color:var(--bean-muted);}
.bean_mylog-nicklog{display:inline-block;margin-right:8px;}
.bean_mylog-nicklog-date{color:var(--bean-muted);font-size:11px;}
.bean_mylog-cats{list-style:none;margin:0;padding:0;}
.bean_mylog-cat{display:flex;justify-content:space-between;padding:5px 0;
	border-bottom:1px solid var(--bean-line);font-size:13px;}
.bean_mylog-cat:last-child{border-bottom:0;}
.bean_mylog-cat a{color:var(--bean-text);text-decoration:none;}
.bean_mylog-cat a.bean_is-on{font-weight:700;color:var(--bean-accent);}
.bean_mylog-cat a:hover{color:var(--bean-accent);}
.bean_mylog-cat-num{color:var(--bean-muted);font-size:12px;}
.bean_mylog-cfg{position:relative;display:inline-block;}
.bean_mylog-cfg-menu{display:none;position:absolute;right:0;top:100%;z-index:20;
	min-width:160px;margin-top:4px;padding:8px;border:1px solid var(--bean-line);
	border-radius:12px;background:var(--bean-card);
	box-shadow:0 6px 18px color-mix(in srgb,var(--bean-text) 14%,transparent);}
.bean_mylog-cfg:hover .bean_mylog-cfg-menu,
.bean_mylog-cfg:focus-within .bean_mylog-cfg-menu{display:block;}
.bean_mylog-cfg-item{display:block;padding:5px 6px;font-size:12px;border-radius:8px;
	color:var(--bean-text);text-decoration:none;}
.bean_mylog-cfg-item:hover{background:color-mix(in srgb,var(--bean-accent) 14%,transparent);}
.bean_mylog-cfg-help{display:block;margin-top:4px;padding-top:6px;font-size:11px;
	color:var(--bean-muted);border-top:1px solid var(--bean-line);}
.bean_mylog-cfg-static{font-size:12px;color:var(--bean-muted);}
.bean_mylog-docs{padding:20px 22px;}
.bean_mylog-docs-title{display:flex;align-items:baseline;gap:8px;margin:0 0 12px;
	padding-bottom:10px;font-size:15px;font-weight:700;
	border-bottom:2px solid var(--bean-line);}
.bean_mylog-docs-count{font-size:12px;font-weight:600;padding:1px 8px;border-radius:999px;
	color:var(--bean-accent);background:color-mix(in srgb,var(--bean-accent) 14%,transparent);}
.bean_mylog-docs-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px;
	margin-bottom:14px;font-size:12px;}
.bean_mylog-docs-pages{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.bean_mylog-docs-cfg{display:flex;align-items:center;gap:7px;margin-left:auto;}
.bean_mylog-docs-cfg-label{font-size:11px;font-weight:700;letter-spacing:.3px;
	color:var(--bean-muted);}
.bean_mylog-cfg-caret{font-size:9px;margin-left:3px;color:var(--bean-muted);}
.bean_mylog-curpage{font-weight:700;color:var(--bean-accent);}
.bean_mylog-docs-msg{padding:20px 0;text-align:center;color:var(--bean-muted);}
.bean_mylog-timeline{list-style:none;margin:0;padding:0;}
.bean_mylog-tl-item{display:grid;grid-template-columns:84px 1fr;gap:12px;
	position:relative;padding:10px 0;}
.bean_mylog-tl-when{text-align:right;font-size:12px;color:var(--bean-muted);}
.bean_mylog-tl-date{font-weight:700;color:var(--bean-text);}
.bean_mylog-tl-time{font-size:11px;}
.bean_mylog-tl-body{position:relative;padding-left:16px;min-width:0;
	border-left:2px solid var(--bean-line);}
.bean_mylog-tl-body::before{content:"";position:absolute;left:-6px;top:4px;
	width:10px;height:10px;border-radius:50%;background:var(--bean-card);
	border:2px solid var(--bean-line);}
.bean_mylog-tl-dot .bean_mylog-tl-body::before{border-color:var(--bean-accent);}
.bean_mylog-tl-invalid .bean_mylog-tl-body{font-style:italic;opacity:.7;}
.bean_mylog-tl-title{margin:0 0 4px;font-size:14px;font-weight:600;line-height:1.4;}
.bean_mylog-tl-title a{color:var(--bean-text);text-decoration:none;}
.bean_mylog-tl-title a:hover{color:var(--bean-accent);}
.bean_mylog-tl-board{font-size:12px;font-weight:600;padding:0 6px;border-radius:6px;
	color:var(--bean-accent2);background:color-mix(in srgb,var(--bean-accent2) 14%,transparent);}
.bean_mylog-tl-room{font-size:12px;color:var(--bean-muted);}
.bean_mylog-tl-summary{margin:0;font-size:13px;color:var(--bean-muted);line-height:1.5;
	word-break:break-word;}
.bean_mylog-tl-metas{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:10px;font-size:11px;}
.bean_mylog-tl-meta{color:var(--bean-muted);}
.bean_mylog-tl-meta-k{color:var(--bean-text);font-weight:600;}
.bean_mylog-tl-title .delete{margin-left:6px;font-size:11px;color:var(--bean-muted);}
@media(max-width:720px){
	.bean_mylog-grid{grid-template-columns:1fr;}
}

/* ============================================================
   LAZYPUSH MODULE (푸시 알림 설정)
   ============================================================ */
.bean_lazy-sec{margin-top:34px;padding-top:28px;border-top:1px solid var(--bean-line);}
.bean_lazy-sec:first-of-type{margin-top:24px;padding-top:0;border-top:0;}
.bean_lazy-h{font-size:15px;font-weight:800;color:var(--bean-text);margin:0 0 12px;}
.bean_lazy-h-sub{font-size:13.5px;margin-top:22px;}
.bean_lazy-intro{font-size:13px;color:var(--bean-muted);line-height:1.6;margin:0 0 12px;}
.bean_lazy-state{font-size:13.5px;margin:10px 0;}
.bean_lazy-on{color:#16a34a;font-weight:700;}
.bean_lazy-off{color:#dc2626;font-weight:700;}
.bean_lazy-opts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.bean_lazy-opt label{display:flex;align-items:center;gap:9px;padding:9px 11px;
	border-radius:9px;font-size:13.5px;color:var(--bean-text);cursor:pointer;}
.bean_lazy-opt label:hover{background:var(--bean-surf);}
.bean_lazy-opt input{width:16px;height:16px;accent-color:var(--bean-accent);flex:0 0 auto;}
.bean_lazy-times{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.bean_lazy-time{display:flex;flex-wrap:wrap;align-items:center;gap:8px;
	padding:11px 13px;background:var(--bean-surf);border:1px solid var(--bean-line);
	border-radius:10px;font-size:13px;color:var(--bean-text);}
.bean_mpage .bean_lazy-time select{width:auto;}
.bean_lazy-time-label{flex:1;}
.bean_lazy-time-tilde{color:var(--bean-muted);}
.bean_mpage input.bean_lazy-email{width:auto;display:inline-block;min-width:220px;max-width:100%;}
.bean_lazy-email-label{font-size:12.5px;font-weight:700;color:var(--bean-text);margin-right:4px;}

/* ============================================================
   외부페이지 — 음원 유통 소개 (distribution)
   ============================================================ */
.bean_dist{margin:0 auto;}
/* --- section shell --- */
.bean_dist-sect{padding:54px 0;}
.bean_dist-sect:first-child{padding-top:0;}
.bean_dist-alt{background:var(--bean-surf);
	padding:54px 28px;margin:0 -28px;border-radius:0;}
.bean_dist-sect-t{font-size:12.5px;letter-spacing:2px;
	color:var(--bean-accent);font-weight:700;}
.bean_dist-sect-h{font-size:clamp(22px,3.2vw,32px);font-weight:800;
	letter-spacing:-.5px;color:var(--bean-text);margin:8px 0 28px;}
/* --- stat grid --- */
.bean_dist-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.bean_dist-stat{padding:28px 20px;text-align:center;background:var(--bean-card);
	border:1px solid var(--bean-line);border-radius:14px;}
.bean_dist-stat-n{font-size:34px;font-weight:900;color:var(--bean-accent);
	letter-spacing:-1px;}
.bean_dist-stat-l{font-size:12.5px;color:var(--bean-muted);margin-top:6px;}
/* --- about lead body --- */
.bean_dist-lead-body{font-size:15px;line-height:1.9;color:var(--bean-muted);}
.bean_dist-lead-body p{margin:0 0 12px;}
.bean_dist-lead-body p:last-child{margin-bottom:0;}
/* --- feature cards --- */
.bean_dist-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.bean_dist-feat{padding:26px 26px;background:var(--bean-card);
	border:1px solid var(--bean-line);border-radius:14px;}
.bean_dist-feat h3{font-size:16.5px;font-weight:800;color:var(--bean-text);
	margin:0 0 8px;}
.bean_dist-feat p{font-size:13.5px;line-height:1.7;color:var(--bean-muted);margin:0;}
/* --- step cards --- */
.bean_dist-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.bean_dist-step{padding:24px;background:var(--bean-card);
	border:1px solid var(--bean-line);border-radius:14px;}
.bean_dist-step-n{font-size:12px;font-weight:800;letter-spacing:1px;
	color:var(--bean-accent);}
.bean_dist-step h3{font-size:15.5px;font-weight:800;color:var(--bean-text);
	margin:9px 0 6px;}
.bean_dist-step p{font-size:12.5px;line-height:1.65;color:var(--bean-muted);margin:0;}
/* --- channel banner --- */
.bean_dist-banner{position:relative;overflow:hidden;border-radius:18px;
	padding:54px 30px;margin:0 0 36px;text-align:center;
	background:linear-gradient(140deg,var(--bean-card),var(--bean-bg));
	border:1px solid var(--bean-line);}
.bean_dist-banner-label{display:inline-block;font-size:13px;font-weight:800;
	letter-spacing:5px;color:var(--bean-accent);margin-bottom:14px;}
.bean_dist-banner-text{font-size:clamp(16px,2.3vw,22px);line-height:1.7;
	font-weight:600;color:var(--bean-text);margin:0;}
.bean_dist-banner-num{display:inline-block;font-size:1.7em;font-weight:800;
	color:var(--bean-accent);margin:0 4px;}
.bean_dist-intro{text-align:center;margin:0 0 38px;}
.bean_dist-intro p{font-size:15px;font-weight:500;line-height:1.7;
	color:var(--bean-text);margin:0 0 8px;}
.bean_dist-intro p:last-child{margin-bottom:0;}
/* --- platform logo grid (preserved look) --- */
.bean_dist-platforms{margin:0 0 36px;}
.bean_dist-platforms:last-child{margin-bottom:0;}
.bean_dist-h{font-size:18px;font-weight:800;color:var(--bean-text);
	padding-bottom:12px;margin:0 0 20px;letter-spacing:-.3px;
	border-bottom:2px solid var(--bean-accent);}
.bean_dist-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.bean_dist-grid-3{grid-template-columns:repeat(3,1fr);}
.bean_dist-logo{display:flex;align-items:center;justify-content:center;
	padding:20px;background:var(--bean-card);border:1px solid var(--bean-line);
	border-radius:12px;transition:transform .18s,border-color .18s;}
.bean_dist-logo:hover{transform:translateY(-3px);border-color:var(--bean-accent);}
.bean_dist-logo img{width:100%;max-width:118px;height:40px;object-fit:contain;}
/* --- faq accordion --- */
.bean_dist-faq-group{margin-bottom:32px;}
.bean_dist-faq-group:last-child{margin-bottom:0;}
.bean_dist-faq-item{margin-bottom:10px;background:var(--bean-card);
	border:1px solid var(--bean-line);border-radius:12px;overflow:hidden;}
.bean_dist-faq-q{width:100%;display:flex;align-items:center;gap:12px;
	padding:16px 18px;background:none;border:0;cursor:pointer;font-family:inherit;
	font-size:14.5px;font-weight:600;color:var(--bean-text);text-align:left;
	line-height:1.5;transition:background .15s;}
.bean_dist-faq-q:hover,.bean_dist-faq-q.bean_is-on{background:var(--bean-surf);}
.bean_dist-faq-caret{flex:0 0 auto;font-size:10px;color:var(--bean-accent);
	transition:transform .2s;}
.bean_dist-faq-q.bean_is-on .bean_dist-faq-caret{transform:rotate(90deg);}
.bean_dist-faq-a{display:none;padding:4px 18px 16px;border-top:1px solid var(--bean-line);}
.bean_dist-faq-a.bean_is-open{display:block;}
.bean_dist-faq-a p{font-size:13.5px;line-height:1.75;color:var(--bean-muted);margin:10px 0 0;}
.bean_dist-faq-a a{color:var(--bean-accent);text-decoration:underline;}
/* --- cta band --- */
.bean_dist-cta-band{padding:46px 40px;text-align:center;border-radius:18px;
	background:linear-gradient(150deg,var(--bean-accent),var(--bean-accent2));}
.bean_dist-cta-band h3{font-size:24px;font-weight:800;color:var(--bean-onaccent);margin:0;}
.bean_dist-cta-band p{font-size:13.5px;line-height:1.7;color:var(--bean-onaccent);
	opacity:.9;margin:9px 0 20px;}
.bean_dist-btn{display:inline-block;background:var(--bean-onaccent);
	color:var(--bean-accent);padding:14px 30px;border-radius:999px;
	font-size:14.5px;font-weight:700;text-decoration:none;transition:background .15s;}
.bean_dist-cta-band .bean_dist-btn:hover{background:var(--bean-bg);}

/* ============================================================
   외부페이지 — 아티스트 프로필 (profile)
   ============================================================ */
.bean_prof{max-width:1140px;margin:0 auto;}

/* 히어로 — 사진(메인+서브갤러리) | 정보.
   넓은 화면: 1:1 두 컬럼 / 좁은 화면(≤1080): 세로 1단 */
.bean_prof-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:40px;align-items:start;}

/* 사진 + 썸네일 갤러리 */
.bean_prof-photo{border-radius:16px;overflow:hidden;
	border:1px solid var(--bean-line);background:var(--bean-surf);}
.bean_prof-photo-img{display:block;width:100%;aspect-ratio:1/1;
	object-fit:cover;object-position:center 22%;}
.bean_prof-thumbs{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;}
.bean_prof-thumb{flex:1 1 0;min-width:50px;aspect-ratio:1/1;object-fit:cover;
	cursor:pointer;border-radius:9px;border:1px solid var(--bean-line);
	transition:border-color .15s,transform .15s;}
.bean_prof-thumb:hover{border-color:var(--bean-accent);transform:translateY(-2px);}

/* 정보 컬럼 */
.bean_prof-info{min-width:0;}
.bean_prof-role{font-size:12.5px;font-weight:800;letter-spacing:1.5px;
	text-transform:uppercase;color:var(--bean-accent);}
.bean_prof-name{font-size:clamp(30px,4.4vw,42px);font-weight:900;letter-spacing:-1px;
	line-height:1.15;color:var(--bean-text);margin:9px 0 16px;}
.bean_prof-bio{font-size:14px;line-height:1.9;color:var(--bean-muted);
	margin:0 0 20px;white-space:pre-line;}

/* 연락처 — k/v 행 */
.bean_prof-contact{border-top:1px solid var(--bean-line);}
.bean_prof-contact-row{display:flex;gap:14px;padding:11px 2px;
	border-bottom:1px solid var(--bean-line);font-size:13.5px;}
.bean_prof-ck{flex:0 0 76px;font-weight:700;color:var(--bean-accent);}
.bean_prof-cv{min-width:0;color:var(--bean-muted);word-break:break-word;}
.bean_prof-cv a{color:var(--bean-muted);}
.bean_prof-cv a:hover{color:var(--bean-accent);}

/* 전체폭 블록 (경력·학력·수상·영상 등) */
.bean_prof-block{margin-top:24px;background:var(--bean-card);
	border:1px solid var(--bean-line);border-radius:16px;padding:28px 30px;}
.bean_prof-block-eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--bean-accent);}
.bean_prof-block-title{font-size:clamp(19px,2.6vw,25px);font-weight:800;letter-spacing:-.5px;
	color:var(--bean-text);margin:7px 0 0;}
.bean_prof-block-body{margin-top:20px;}
.bean_prof-sub{font-size:13.5px;font-weight:800;color:var(--bean-text);
	margin:22px 0 9px;padding-left:11px;border-left:3px solid var(--bean-accent);}
.bean_prof-sub:first-child{margin-top:0;}
.bean_prof-text{font-size:14px;line-height:1.9;color:var(--bean-muted);
	margin:0 0 12px;white-space:pre-line;}
.bean_prof-text:last-child{margin-bottom:0;}
/* 경력 목록 — 폭에 따라 다단으로 흐른다(넓은 화면 3단 → 모바일 1단, 반응형) */
.bean_prof-list{list-style:none;margin:0;padding:0;columns:300px;column-gap:34px;}
.bean_prof-list li{position:relative;font-size:13.5px;line-height:1.65;
	color:var(--bean-muted);padding:6px 0 6px 15px;break-inside:avoid;}
.bean_prof-list li::before{content:"";position:absolute;left:0;top:13px;
	width:5px;height:5px;border-radius:50%;background:var(--bean-accent);}
.bean_prof-list li a{color:var(--bean-text);font-weight:600;}
.bean_prof-list li a:hover{color:var(--bean-accent);}

/* 출연 영상 */
.bean_prof-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.bean_prof-video{border:1px solid var(--bean-line);border-radius:12px;
	overflow:hidden;background:var(--bean-surf);transition:transform .18s,border-color .18s;}
.bean_prof-video:hover{transform:translateY(-3px);border-color:var(--bean-accent);}
.bean_prof-video-frame{aspect-ratio:16/9;background:var(--bean-surf);}
.bean_prof-video-frame iframe{width:100%;height:100%;border:0;display:block;}
.bean_prof-video-body{padding:12px 14px;}
.bean_prof-video-body h3{font-size:13.5px;font-weight:700;color:var(--bean-text);margin:0 0 4px;}
.bean_prof-video-body p{font-size:12px;color:var(--bean-muted);margin:0;}
.bean_prof-books{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.bean_prof-book{display:block;text-decoration:none;background:var(--bean-surf);
	border:1px solid var(--bean-line);border-radius:12px;overflow:hidden;
	transition:transform .18s,border-color .18s;}
.bean_prof-book:hover{transform:translateY(-3px);border-color:var(--bean-accent);}
.bean_prof-book-body{padding:11px 13px;}
.bean_prof-book-title{font-size:13px;font-weight:700;color:var(--bean-text);
	line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bean_prof-book-desc{font-size:11.5px;color:var(--bean-muted);margin-top:3px;
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ============================================================
   외부페이지 — 아티스트 목록 (artists)
   ============================================================ */
.bean_artists{max-width:1180px;margin:0 auto;}
.bean_artists-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px;}
.bean_artists-tab{background:none;border:1px solid var(--bean-line);color:var(--bean-muted);
	padding:9px 18px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;
	font-family:inherit;transition:.15s;}
.bean_artists-tab:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.bean_artists-tab.bean_is-on{background:var(--bean-accent);border-color:var(--bean-accent);
	color:var(--bean-onaccent);}
.bean_artists-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.bean_artist-card{display:block;}
.bean_artist-photo{height:300px;border-radius:14px;overflow:hidden;
	background:linear-gradient(160deg,var(--bean-surf),var(--bean-card));
	border:1px solid var(--bean-line);transition:transform .2s,border-color .2s;}
.bean_artist-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.bean_artist-card:hover .bean_artist-photo{border-color:var(--bean-accent);transform:translateY(-6px);}
.bean_artist-name{margin-top:14px;font-size:18px;font-weight:700;color:var(--bean-text);}
.bean_artist-role{font-size:12.5px;color:var(--bean-muted);letter-spacing:.5px;margin-top:2px;}
.bean_artists-empty{padding:50px 0;text-align:center;color:var(--bean-muted);font-size:14px;}

/* ============================================================
   페이지/위젯 모듈 관리자 버튼 영역 (btnArea)
   ============================================================ */
.bean_root .btnArea{margin-top:22px;padding-top:16px;
	border-top:1px solid var(--bean-line);display:flex;}
.bean_root .btnArea .btn-group{display:flex;flex-wrap:wrap;gap:8px;}
.bean_root .btnArea .btn{display:inline-flex;align-items:center;justify-content:center;
	background:var(--bean-surf);border:1px solid var(--bean-line);color:var(--bean-text);
	padding:9px 17px;border-radius:999px;font-size:12.5px;font-weight:600;
	font-family:inherit;line-height:1.2;cursor:pointer;text-decoration:none;transition:.15s;}
.bean_root .btnArea .btn:hover{border-color:var(--bean-accent);color:var(--bean-accent);}

/* ============================================================
   BOARD SKIN — 관리 도구 / 선택 체크박스
   ============================================================ */
.bean_board-manage{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:0 0 14px;}
.bean_col-check{width:42px;text-align:center;}
.bean_list-table .bean_td.bean_col-check{text-align:center;}
.bean_gcard-wrap,.bean_wz-wrap,.bean_sns-wrap{position:relative;}
.bean_gcard-check{position:absolute;top:10px;right:10px;z-index:3;display:flex;
	width:26px;height:26px;align-items:center;justify-content:center;
	background:var(--bean-card);border:1px solid var(--bean-line);border-radius:6px;cursor:pointer;}
.bean_gcard-check input{width:16px;height:16px;cursor:pointer;margin:0;}
.bean_gcard-thumb-empty,.bean_wz-thumb-empty{position:absolute;inset:0;display:flex;
	align-items:center;justify-content:center;font-size:30px;font-weight:800;
	color:var(--bean-line);letter-spacing:1px;text-transform:uppercase;}

/* ---- 갤러리형 (깔끔한 그리드) ---- */
.bean_gallery-clean{gap:30px;}
.bean_gallery-clean .bean_gcard{border-radius:16px;box-shadow:0 1px 2px color-mix(in srgb,var(--bean-text) 5%,transparent);}
.bean_gallery-clean .bean_gcard:hover{transform:none;border-color:var(--bean-line);
	box-shadow:0 10px 26px color-mix(in srgb,var(--bean-text) 12%,transparent);}
.bean_gallery-clean .bean_gcard-thumb{height:210px;}
.bean_gallery-clean .bean_gcard-body{padding:18px 20px 20px;}

/* ---- 웹진형 (webzine) ---- */
.bean_webzine{display:flex;flex-direction:column;gap:18px;}
.bean_wz-item{display:flex;gap:22px;background:var(--bean-card);
	border:1px solid var(--bean-line);border-radius:14px;overflow:hidden;
	transition:border-color .18s,box-shadow .18s;}
.bean_wz-item:hover{border-color:var(--bean-accent);
	box-shadow:0 8px 22px color-mix(in srgb,var(--bean-text) 10%,transparent);}
.bean_wz-thumb{flex:0 0 280px;position:relative;overflow:hidden;
	background:linear-gradient(160deg,var(--bean-surf),var(--bean-card));}
.bean_wz-thumb-img{width:100%;height:100%;object-fit:cover;display:block;min-height:200px;}
.bean_wz-body{flex:1;min-width:0;padding:22px 24px;display:flex;flex-direction:column;}
.bean_wz-cat{font-size:11px;font-weight:700;color:var(--bean-accent);letter-spacing:.5px;margin-bottom:8px;}
.bean_wz-title{font-size:18px;font-weight:800;line-height:1.45;color:var(--bean-text);letter-spacing:-.3px;}
.bean_wz-summary{font-size:13px;color:var(--bean-muted);line-height:1.7;margin-top:10px;flex:1;
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.bean_wz-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--bean-muted);margin-top:16px;}

/* ---- FAQ형 (아코디언) ---- */
.bean_faq{border-top:2px solid var(--bean-accent);}
.bean_faq-item{border-bottom:1px solid var(--bean-line);}
.bean_faq-q{display:flex;align-items:center;gap:12px;width:100%;
	padding:18px 6px;background:none;border:0;cursor:pointer;font-family:inherit;text-align:left;}
.bean_faq-q-mark{flex:0 0 26px;height:26px;display:flex;align-items:center;justify-content:center;
	background:var(--bean-accent);color:var(--bean-onaccent);border-radius:7px;font-size:13px;font-weight:800;}
.bean_faq-cat{font-size:11px;font-weight:700;color:var(--bean-accent);}
.bean_faq-q-text{flex:1;min-width:0;font-size:14.5px;font-weight:700;color:var(--bean-text);}
.bean_faq-notice{font-size:10.5px;font-weight:800;background:var(--bean-accent);
	color:var(--bean-onaccent);padding:3px 8px;border-radius:5px;}
.bean_faq-arrow{flex:0 0 auto;width:22px;text-align:center;font-size:18px;color:var(--bean-muted);
	transition:color .15s;}
.bean_faq-arrow::before{content:'+';}
.bean_faq-q:hover .bean_faq-q-text{color:var(--bean-accent);}
.bean_faq-q:hover .bean_faq-arrow{color:var(--bean-accent);}
.bean_faq-item.bean_is-open .bean_faq-arrow::before{content:'\2212';}
.bean_faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease;}
.bean_faq-item.bean_is-open .bean_faq-a{grid-template-rows:1fr;}
.bean_faq-a-inner{overflow:hidden;min-height:0;}
.bean_faq-a > .bean_faq-a-inner{display:flex;gap:12px;}
.bean_faq-a-mark{flex:0 0 26px;height:26px;display:flex;align-items:center;justify-content:center;
	background:var(--bean-surf);color:var(--bean-muted);border:1px solid var(--bean-line);
	border-radius:7px;font-size:13px;font-weight:800;margin-bottom:18px;}
.bean_faq-a-body{flex:1;min-width:0;padding-bottom:20px;}
.bean_faq-a-text{font-size:13.5px;line-height:1.8;color:var(--bean-muted);white-space:pre-line;}
.bean_faq-a-foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px;}
.bean_faq-a-link{font-size:12.5px;font-weight:700;color:var(--bean-accent);
	border:1px solid var(--bean-line);border-radius:7px;padding:6px 12px;}
.bean_faq-a-link:hover{border-color:var(--bean-accent);}
.bean_faq-a-meta{font-size:12px;color:var(--bean-muted);}

/* ---- SNS형 (타임라인) ---- */
.bean_sns{display:flex;flex-direction:column;gap:16px;max-width:620px;margin:0 auto;}
.bean_sns-item{background:var(--bean-card);border:1px solid var(--bean-line);
	border-radius:14px;padding:18px 20px;transition:border-color .18s;}
.bean_sns-item:hover{border-color:var(--bean-accent);}
.bean_sns-head{display:flex;align-items:center;gap:11px;margin-bottom:13px;}
.bean_sns-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:0 0 42px;}
.bean_sns-avatar-empty{display:flex;align-items:center;justify-content:center;
	background:var(--bean-accent);color:var(--bean-onaccent);font-size:17px;font-weight:800;text-transform:uppercase;}
.bean_sns-by{min-width:0;}
.bean_sns-nick{font-size:13.5px;font-weight:700;color:var(--bean-text);display:flex;align-items:center;gap:7px;}
.bean_sns-flag{font-size:10px;font-weight:800;background:var(--bean-accent);
	color:var(--bean-onaccent);padding:2px 7px;border-radius:5px;}
.bean_sns-date{font-size:12px;color:var(--bean-muted);margin-top:2px;}
.bean_sns-link{display:block;}
.bean_sns-cat{display:inline-block;font-size:11px;font-weight:700;color:var(--bean-accent);margin-bottom:5px;}
.bean_sns-title{font-size:15.5px;font-weight:700;line-height:1.5;color:var(--bean-text);}
.bean_sns-text{font-size:13.5px;line-height:1.7;color:var(--bean-muted);margin-top:7px;
	display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.bean_sns-media{margin-top:13px;border-radius:11px;overflow:hidden;border:1px solid var(--bean-line);}
.bean_sns-media img{width:100%;display:block;}
.bean_sns-foot{display:flex;gap:16px;margin-top:14px;padding-top:13px;
	border-top:1px solid var(--bean-line);font-size:12.5px;color:var(--bean-muted);}
.bean_sns-stat-vote{color:var(--bean-accent);font-weight:700;}

/* ============================================================
   BOARD SKIN — 글보기 추가 기능 (extra vars / 추천 / 서명 / 이전다음 / 하단목록)
   ============================================================ */
.bean_view-meta-pf{width:24px;height:24px;border-radius:50%;object-fit:cover;}

/* 사용자 정의 변수 */
.bean_view-extra{margin-top:24px;border:1px solid var(--bean-line);border-radius:12px;overflow:hidden;}
.bean_view-extra-row{display:flex;border-bottom:1px solid var(--bean-line);}
.bean_view-extra-row:last-child{border-bottom:0;}
.bean_view-extra-label{flex:0 0 150px;padding:12px 16px;background:var(--bean-surf);
	font-size:12.5px;font-weight:700;color:var(--bean-text);}
.bean_view-extra-value{flex:1;min-width:0;padding:12px 16px;font-size:13px;color:var(--bean-muted);}

/* 추천 / 비추천 / 신고 */
.bean_view-react{display:flex;gap:10px;align-items:center;justify-content:center;
	margin:30px 0 6px;flex-wrap:wrap;}
.bean_react-votes{display:flex;gap:10px;}
.bean_react-btn{display:flex;align-items:center;gap:8px;cursor:pointer;font-family:inherit;
	padding:10px 20px;border-radius:10px;border:1px solid var(--bean-line);
	background:var(--bean-card);color:var(--bean-text);font-size:13px;font-weight:700;
	transition:border-color .15s,background .15s,color .15s;}
.bean_react-up:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.bean_react-down:hover{border-color:var(--bean-text);}
.bean_react-num{font-size:13px;font-weight:800;}
.bean_react-up .bean_react-num{color:var(--bean-accent);}
.bean_react-declare{font-size:12px;font-weight:600;color:var(--bean-muted);padding:10px 16px;}
.bean_react-declare:hover{border-color:var(--bean-text);color:var(--bean-text);}

/* 작성자 서명 */
.bean_view-sign{display:flex;gap:14px;align-items:flex-start;margin-top:26px;
	padding:18px 20px;background:var(--bean-surf);border:1px solid var(--bean-line);border-radius:12px;}
.bean_view-sign-pf{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:0 0 48px;}
.bean_view-sign-name{font-size:13.5px;font-weight:700;color:var(--bean-text);}
.bean_view-sign-tx{font-size:12.5px;color:var(--bean-muted);line-height:1.6;margin-top:5px;}

/* 이전글 / 다음글 */
.bean_view-nav{display:flex;gap:12px;margin:18px 0 0;}
.bean_view-nav-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:5px;
	padding:14px 16px;border:1px solid var(--bean-line);border-radius:10px;
	background:var(--bean-card);transition:border-color .15s,background .15s;}
a.bean_view-nav-item:hover{border-color:var(--bean-accent);background:var(--bean-surf);}
.bean_view-nav-next{text-align:right;}
.bean_view-nav-empty{background:none;border-color:transparent;}
.bean_view-nav-dir{font-size:11.5px;font-weight:700;color:var(--bean-accent);}
.bean_view-nav-title{font-size:13.5px;color:var(--bean-text);overflow:hidden;
	text-overflow:ellipsis;white-space:nowrap;}

/* 글 하단 목록 */
.bean_view-bottomlist{margin-top:40px;}
.bean_view-bottomlist-head{font-size:13px;font-weight:800;color:var(--bean-text);margin-bottom:10px;}
.bean_list-table-mini{border-top-width:1px;}
.bean_list-table-mini .bean_td{padding:11px 10px;font-size:13px;}
.bean_list-table .bean_tr-current .bean_td{background:color-mix(in srgb,var(--bean-accent) 12%,transparent);}
.bean_list-table .bean_tr-current .bean_subject-link{color:var(--bean-accent);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1080px){
	.bean_gnb{display:none;}
	.bean_burger{display:flex;}
	.bean_nav .bean_logo{position:absolute;left:50%;transform:translateX(-50%);}
	.bean_foot-grid{gap:28px 24px;}
	.bean_foot-brand{flex-basis:100%;}
	.bean_gallery{grid-template-columns:repeat(2,1fr);}
	.bean_dist-grid{grid-template-columns:repeat(3,1fr);}
	.bean_dist-feat-grid{grid-template-columns:repeat(2,1fr);}
	.bean_prof-hero{grid-template-columns:1fr;gap:22px;}
	.bean_prof-video-grid{grid-template-columns:repeat(2,1fr);}
	.bean_prof-books{grid-template-columns:repeat(3,1fr);}
	.bean_artists-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:680px){
	.bean_wrap{padding:0 18px;}
	.bean_pagehead{padding:104px 0 36px;}
	.bean_gallery{grid-template-columns:1fr;}
	.bean_board-tools{flex-direction:column;align-items:stretch;}
	.bean_board-search-input{width:100%;}
	.bean_list-table .bean_col-author,
	.bean_list-table .bean_col-count{display:none;}
	.bean_hero-mute{right:16px;bottom:64px;}
	.bean_write-top{flex-direction:column;}
	.bean_write-cat,.bean_write-notice,.bean_write-title{width:100%;}
	.bean_wz-item{flex-direction:column;}
	.bean_wz-thumb{flex-basis:auto;}
	.bean_wz-thumb-img{min-height:0;height:200px;}
	.bean_view-nav{flex-direction:column;}
	.bean_view-nav-next{text-align:left;}
	.bean_view-nav-empty{display:none;}
	.bean_view-extra-row{flex-direction:column;}
	.bean_view-extra-label{flex-basis:auto;}
	.bean_extra-row{flex-direction:column;}
	.bean_extra-label{width:100%;}
	.bean_msg-box{padding:26px 22px;}
	.bean_auth-card{padding:28px 22px;}
	.bean_dl-row{flex-direction:column;}
	.bean_dl-dt{width:100%;}
	.bean_form-foot{flex-direction:column-reverse;}
	.bean_form-foot .bean_btn,.bean_form-foot .bean_btn-line{width:100%;}
	.bean_dtable .bean_dt-hide{display:none;}
	.bean_dist-grid,.bean_dist-grid-3{grid-template-columns:repeat(2,1fr);}
	.bean_dist-stat-grid,.bean_dist-steps,.bean_dist-feat-grid{grid-template-columns:repeat(2,1fr);}
	.bean_dist-feat-grid{grid-template-columns:1fr;}
	.bean_dist-banner{padding:42px 18px;}
	.bean_dist-alt{padding:44px 18px;margin:0 -18px;}
	.bean_dist-sect{padding:44px 0;}
	.bean_dist-cta-band{padding:38px 22px;}
	.bean_prof-hero{gap:18px;}
	.bean_prof-block{padding:22px 18px;}
	.bean_prof-name{margin-bottom:13px;}
	.bean_prof-video-grid{grid-template-columns:1fr;}
	.bean_prof-books{grid-template-columns:repeat(2,1fr);}
}

/* ===== Froala 에디터 — BEAN 테마 (글쓰기 화면) ===== */
.fr-box.fr-basic{border-radius:10px;}
.fr-toolbar,
.fr-box.fr-basic .fr-wrapper,
.fr-second-toolbar{
	background:var(--bean-surf) !important;
	border-color:var(--bean-line) !important;
	color:var(--bean-text) !important;}
.fr-toolbar.fr-top{border-radius:10px 10px 0 0 !important;box-shadow:none !important;}
.fr-second-toolbar{border-radius:0 0 10px 10px !important;}
.fr-box.fr-basic .fr-wrapper{background:var(--bean-card) !important;box-shadow:none !important;}
.fr-box.fr-basic .fr-element,
.fr-element.fr-view{background:var(--bean-card) !important;color:var(--bean-text) !important;}
.fr-placeholder{color:var(--bean-muted) !important;}
/* 툴바 버튼 */
.fr-toolbar .fr-command.fr-btn,
.fr-popup .fr-command.fr-btn{color:var(--bean-text) !important;}
.fr-toolbar .fr-command.fr-btn svg path,
.fr-popup .fr-command.fr-btn svg path{fill:var(--bean-text) !important;}
.fr-toolbar .fr-command.fr-btn:hover:not(.fr-disabled),
.fr-toolbar .fr-command.fr-btn:focus:not(.fr-disabled),
.fr-popup .fr-command.fr-btn:hover:not(.fr-disabled){
	background:var(--bean-line) !important;color:var(--bean-text) !important;}
.fr-toolbar .fr-command.fr-btn.fr-active,
.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active{
	background:var(--bean-line) !important;color:var(--bean-accent) !important;}
.fr-toolbar .fr-command.fr-btn.fr-active svg path{fill:var(--bean-accent) !important;}
.fr-toolbar .fr-command.fr-btn.fr-disabled svg path{opacity:.35;}
/* 드롭다운 화살표 — Froala hover 가 #222 !important 라 #bean_root 로 우선순위 확보, hover/active 시 밝게 */
#bean_root .fr-toolbar .fr-command.fr-btn.fr-dropdown::after,
#bean_root .fr-popup .fr-command.fr-btn.fr-dropdown::after{
	border-top-color:var(--bean-muted) !important;}
#bean_root .fr-toolbar .fr-command.fr-btn.fr-dropdown:hover::after,
#bean_root .fr-toolbar .fr-command.fr-btn.fr-dropdown:focus::after,
#bean_root .fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active::after,
#bean_root .fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,
#bean_root .fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus::after{
	border-top-color:var(--bean-text) !important;}
/* 툴바 구분선 (Froala 기본 #ebebeb 밝은 회색) */
#bean_root .fr-toolbar .fr-separator,
#bean_root .fr-separator,
.fr-popup .fr-separator,.fr-modal .fr-separator{background:var(--bean-line) !important;}
.fr-toolbar .fr-newline{background:var(--bean-line) !important;}
.fr-toolbar.fr-mobile .fr-more-toolbar{background:var(--bean-surf) !important;}
/* 드롭다운 메뉴 */
.fr-toolbar .fr-dropdown-menu,
.fr-popup .fr-dropdown-menu{
	background:var(--bean-card) !important;
	border:1px solid var(--bean-line) !important;
	box-shadow:0 10px 28px rgba(0,0,0,.32) !important;}
.fr-dropdown-menu .fr-dropdown-wrapper{background:transparent !important;}
.fr-dropdown-menu .fr-dropdown-content ul.fr-dropdown-list li a{color:var(--bean-text) !important;}
.fr-dropdown-menu .fr-dropdown-content ul.fr-dropdown-list li a:hover,
.fr-dropdown-menu .fr-dropdown-content ul.fr-dropdown-list li a.fr-active{
	background:var(--bean-surf) !important;color:var(--bean-accent) !important;}
/* 팝업(링크·이미지·표 삽입 등) */
.fr-popup,.fr-modal{
	background:var(--bean-card) !important;
	border:1px solid var(--bean-line) !important;
	color:var(--bean-text) !important;
	box-shadow:0 14px 36px rgba(0,0,0,.36) !important;}
.fr-popup .fr-input-line input[type="text"],
.fr-popup .fr-input-line input[type="number"],
.fr-popup .fr-input-line textarea,
.fr-modal input[type="text"],.fr-modal textarea{
	background:var(--bean-surf) !important;
	border:1px solid var(--bean-line) !important;
	color:var(--bean-text) !important;}
.fr-popup .fr-input-line input+label,
.fr-popup .fr-input-line textarea+label{
	background:var(--bean-card) !important;color:var(--bean-muted) !important;}
.fr-popup input:focus,.fr-popup textarea:focus{border-color:var(--bean-accent) !important;}
.fr-popup .fr-action-buttons button.fr-command{
	color:var(--bean-accent) !important;background:transparent !important;}
.fr-popup .fr-checkbox-line,.fr-popup label{color:var(--bean-text) !important;}
.fr-popup .fr-arrow{display:none !important;}
/* 카운터·툴팁·코드뷰 */
.fr-box .fr-counter,.fr-second-toolbar .fr-counter{color:var(--bean-muted) !important;}
.fr-tooltip{background:var(--bean-card) !important;color:var(--bean-text) !important;
	border:1px solid var(--bean-line) !important;}
.fr-box .CodeMirror{background:var(--bean-card) !important;color:var(--bean-text) !important;}
/* 드롭다운 열림·선택·hover 상태 버튼 (Froala 기본 #ebebeb/#d6d6d6 회색 보정) */
.fr-toolbar .fr-command.fr-btn-hover,
.fr-toolbar .fr-command.fr-expanded,
.fr-toolbar .fr-command.fr-selected,
.fr-popup .fr-command.fr-selected,
.fr-modal .fr-command:hover,
.fr-modal .fr-command:focus{
	background:var(--bean-line) !important;color:var(--bean-text) !important;}
.fr-toolbar .fr-command.fr-expanded svg path,
.fr-toolbar .fr-command.fr-selected svg path{fill:var(--bean-text) !important;}
/* 모달(이미지 관리자 등) */
.fr-modal,.fr-modal .fr-modal-wrapper,
.fr-modal .fr-modal-wrapper .fr-modal-head{
	background:var(--bean-card) !important;color:var(--bean-text) !important;}
.fr-modal .fr-modal-wrapper .fr-modal-head{
	border-bottom:1px solid var(--bean-line) !important;box-shadow:none !important;}
.fr-modal .fr-modal-head .fr-modal-head-line,
.fr-modal .fr-modal-head i,
.fr-modal .fr-modal-more{color:var(--bean-text) !important;}
.fr-modal .fr-modal-head svg path{fill:var(--bean-text) !important;}
/* 플로팅 추가(+) 버튼 */
.fr-box a.fr-floating-btn{
	background:var(--bean-surf) !important;color:var(--bean-accent) !important;
	border:1px solid var(--bean-line) !important;}
.fr-box a.fr-floating-btn svg path{fill:var(--bean-accent) !important;}
/* 분할 드롭다운 버튼(.fr-options) 흰 구분선 — Froala 기본 border-left:1px #fafafa */
#bean_root .fr-command.fr-btn.fr-options.fr-btn-hover,
#bean_root .fr-command.fr-btn.fr-options:focus,
#bean_root .fr-command.fr-btn.fr-options:hover{
	border-left:solid 1px var(--bean-line) !important;}
/* 드롭다운 열림(active) 상태 회색 — Froala 가 .fr-dropdown.fr-active:hover 에 #d6d6d6 !important 라 #bean_root 로 우선순위 확보 */
#bean_root .fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover,
#bean_root .fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus,
#bean_root .fr-toolbar .fr-command.fr-selected,
#bean_root .fr-toolbar .fr-command.fr-active.fr-selected,
#bean_root .fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover,
#bean_root .fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus{
	background:var(--bean-line) !important;color:var(--bean-text) !important;}

