@charset "utf-8";
/* ============================================================
   CNMAKER SITE THEME — Dark/Light
   cardnews 디자인 시스템 기반, 그누보드 전체 페이지 적용
   ============================================================ */

/* === 다크 모드 (기본) === */
:root {
    --bg-page: #0c0c0f;
    --bg-primary: #1a1a1f;
    --bg-secondary: #141418;
    --bg-panel: #1c1c22;
    --bg-input: #252530;
    --bg-hover: #2c2c38;
    --border-color: #2a2a32;
    --border-light: #2a2a32;
    --text-primary: #e4e4ea;
    --text-secondary: #9a9aaa;
    --text-muted: #5c5c6a;
    --accent: #6366f1;
    --accent-hover: #5558e6;
    --accent-bg: rgba(99,102,241,.12);
    --accent-text: #a5b4fc;
    --danger: #ef4444;
    --success: #10b981;
    --warning: #f59e0b;
    --card-shadow: 0 2px 12px rgba(0,0,0,.4);
}

/* === 라이트 모드 (body.light 클래스) === */
body.light {
    --bg-page: #f0f0f3;
    --bg-primary: #ffffff;
    --bg-secondary: #f8f9fb;
    --bg-panel: #ffffff;
    --bg-input: #f0f1f4;
    --bg-hover: #e8e8ec;
    --border-color: #dcdce0;
    --border-light: #efefef;
    --text-primary: #1a1a2e;
    --text-secondary: #555566;
    --text-muted: #8e8e9a;
    --accent: #6366f1;
    --accent-hover: #5558e6;
    --accent-bg: rgba(99,102,241,.08);
    --accent-text: #4f46e5;
    --danger: #ef4444;
    --success: #10b981;
    --warning: #f59e0b;
    --card-shadow: 0 2px 16px rgba(0,0,0,.06);
}

/* === Global Base === */
html {
    scroll-behavior: smooth;
}
/* Override cardnews.css overflow:hidden for non-maker pages */
html:has(.cnm_simple_content),
html:has(.cn_grid_area) {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: auto !important;
}
html:has(.cnm_simple_content) body,
html:has(.cn_grid_area) body {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: auto !important;
}
body {
    margin: 0 !important;
    padding: 0 !important;
    background: var(--bg-page) !important;
    color: var(--text-primary) !important;
    font-family: 'Pretendard Variable', 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
a { color: var(--accent-text); text-decoration: none; transition: color .15s; }
a:hover { color: var(--accent); }
hr { display: none; }
legend {
    position: absolute !important; width: 1px !important; height: 1px !important;
    margin: -1px !important; padding: 0 !important; overflow: hidden !important;
    clip: rect(0,0,0,0) !important; border: 0 !important;
}
fieldset {
    border: none !important; margin: 0 !important; padding: 0 !important; min-width: 0 !important;
}
/* 약관 동의 체크박스 행 */
#fregister .fregister_agree,
.fregister_agree {
    padding: 12px 20px !important;
    border: none !important;
    border-top: 1px solid var(--border-color) !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}
.fregister_agree label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
    font-size: 13px !important;
    color: var(--text-secondary) !important;
}
.fregister_agree label span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    flex-shrink: 0 !important;
    background: var(--bg-input) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
}
.fregister_agree input[type="checkbox"]:checked + label span {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
}
table caption {
    display: none !important;
}
.sound_only {
    position: absolute !important; width: 1px !important; height: 1px !important;
    margin: -1px !important; padding: 0 !important; overflow: hidden !important;
    clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important;
}
/* 동의 체크박스 영역에서는 sound_only 텍스트 표시 */
.fregister_agree label .sound_only,
.fregister_agree label b.sound_only {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clip: unset !important;
    clip-path: none !important;
    white-space: normal !important;
    font-weight: 400 !important;
    font-size: 13px !important;
    color: var(--text-muted) !important;
}
.fregister_agree input[type="checkbox"]:checked + label .sound_only,
.fregister_agree input[type="checkbox"]:checked + label b.sound_only {
    color: var(--text-primary) !important;
}

/* === Scrollbar === */
* { scrollbar-width: thin; scrollbar-color: var(--border-color) transparent; }
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border-color); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--text-muted); }

/* ===== Simple Layout (회원/일반 페이지) ===== */
/* Override cardnews.css hiding for simple layout */
.cnm_simple_content,
.cnm_simple_content > * {
    display: block !important;
    visibility: visible !important;
}
.cnm_simple_content > script,
.cnm_simple_content > link,
.cnm_simple_content > style {
    display: none !important;
}
.cn_wrap:has(.cnm_simple_content) {
    height: auto !important;
    overflow: visible !important;
}
.cnm_simple_content {
    width: 100%;
    max-width: 640px;
    padding: 32px 0 40px;
    margin: 0 auto;
}

/* === Form Elements — cnmaker 스타일 === */
input[type="text"]:not(.cn_card_title_input),
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"]:not(#cnAddCount),
input[type="search"],
textarea,
select,
.frm_input {
    width: 100%;
    padding: 10px 14px !important;
    font-size: 13px !important;
    font-family: inherit !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    background: var(--bg-input) !important;
    color: var(--text-primary) !important;
    outline: none !important;
    transition: border-color .15s !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    box-shadow: none !important;
}
input[type="text"]:not(.cn_card_title_input):focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus,
.frm_input:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px var(--accent-bg) !important;
}
input::placeholder,
textarea::placeholder { color: var(--text-muted) !important; }
.full_input { width: 100% !important; }

/* 셀렉트 커스텀 화살표 */
select {
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23999'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    padding-right: 32px !important;
    cursor: pointer !important;
}

/* === Buttons — cn_btn / cn_btn_primary 패턴 === */
.btn_submit,
button[type="submit"],
input[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
    padding: 10px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    border: 1px solid var(--accent) !important;
    border-radius: 8px !important;
    background: var(--accent) !important;
    color: #fff !important;
    cursor: pointer !important;
    transition: all .15s !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    line-height: 1.4 !important;
}
.btn_submit:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
    background: var(--accent-hover) !important;
    border-color: var(--accent-hover) !important;
    box-shadow: 0 4px 12px rgba(99,102,241,.3) !important;
}
.btn_submit:active,
button[type="submit"]:active,
input[type="submit"]:active {
    transform: scale(.97);
}

.btn_close,
.btn_cancel {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    background: var(--bg-panel) !important;
    color: var(--text-primary) !important;
    cursor: pointer !important;
    transition: all .15s !important;
}
.btn_close:hover,
.btn_cancel:hover {
    border-color: var(--accent) !important;
    background: var(--bg-hover) !important;
}

.btn_frmline {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 7px 14px !important;
    font-size: 12px !important;
    font-weight: 600;
    font-family: inherit !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    background: var(--bg-panel) !important;
    color: var(--text-primary) !important;
    cursor: pointer;
    transition: all .15s;
}
.btn_frmline:hover {
    border-color: var(--accent) !important;
    background: var(--bg-hover) !important;
}

/* === Checkbox / Radio === */
.selec_chk { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; border: 0 !important; }
.chk_box { position: relative; }
.chk_box input[type="checkbox"] + label,
.chk_box input[type="radio"] + label { position: relative; color: var(--text-secondary) !important; cursor: pointer; }
.chk_box input[type="checkbox"] + label span {
    width: 16px !important; height: 16px !important;
    background: var(--bg-input) !important; border: 1px solid var(--border-color) !important;
    border-radius: 4px !important; transition: all .15s;
}
.chk_box input[type="checkbox"]:checked + label { color: var(--text-primary) !important; }
.chk_box input[type="checkbox"]:checked + label span { background: var(--accent) !important; border-color: var(--accent) !important; }
.chk_box input[type="radio"] + label span {
    width: 16px !important; height: 16px !important;
    background: var(--bg-input) !important; border: 1px solid var(--border-color) !important;
}
.chk_box input[type="radio"]:checked + label span { border-color: var(--accent) !important; }
.chk_box input[type="radio"]:checked + label span:before { background: var(--accent) !important; }

/* === Header (그누보드 기본 — simple layout에서만 보임) === */
#hd {
    background: var(--bg-primary) !important;
    border-bottom: 1px solid var(--border-color) !important;
    min-width: 0 !important;
}
#hd_wrapper {
    max-width: 1100px; margin: 0 auto; padding: 0 24px;
    display: flex; align-items: center; justify-content: space-between; height: 54px;
}
#logo a img { filter: brightness(0) invert(1); max-height: 32px; }
body.light #logo a img { filter: none; }
#hd_h1 { display: none !important; }
.hd_sch_wr { display: none !important; }

/* === Wrapper / Container === */
#wrapper {
    min-width: 0 !important; max-width: 1100px;
    margin: 0 auto; padding: 24px;
    background: transparent !important;
}
#container_wr { display: flex; gap: 24px; min-width: 0 !important; }
#container { flex: 1; min-width: 0; }
#container_title {
    font-size: 16px; font-weight: 700; color: var(--text-primary);
    padding: 14px 0; margin-bottom: 16px;
    border-bottom: 1px solid var(--border-color);
    display: flex; align-items: center; gap: 8px;
}
#container_title::before {
    content: ''; width: 3px; height: 16px;
    background: var(--accent); border-radius: 2px; flex-shrink: 0;
}
#aside { width: 240px; flex-shrink: 0; display: none; }

/* === Footer === */
#ft {
    background: var(--bg-secondary) !important;
    border-top: 1px solid var(--border-color) !important;
    min-width: 0 !important; margin-top: 40px;
}
#ft_wr { max-width: 1100px; margin: 0 auto; padding: 28px 24px; }
#ft_link { display: flex; gap: 16px; margin-bottom: 16px; }
#ft_link a { font-size: 12px; color: var(--text-secondary) !important; transition: color .15s; font-weight: 500; }
#ft_link a:hover { color: var(--text-primary) !important; }
#ft_company { color: var(--text-muted) !important; }
#ft_company h2 { display: none; }
.ft_info { font-size: 12px; line-height: 2; color: var(--text-muted) !important; }
#ft_copy {
    max-width: 1100px; margin: 0 auto; padding: 14px 24px;
    border-top: 1px solid var(--border-color);
    font-size: 11px; color: var(--text-muted) !important; text-align: center;
}
#ft_copy b { color: var(--text-secondary); font-weight: 600; }
#top_btn {
    position: fixed; bottom: 20px; right: 20px;
    width: 36px; height: 36px;
    background: var(--bg-panel) !important; border: 1px solid var(--border-color) !important;
    border-radius: 8px !important; color: var(--text-muted) !important; font-size: 13px;
    cursor: pointer; z-index: 999; transition: all .15s;
    display: flex; align-items: center; justify-content: center;
}
#top_btn:hover { border-color: var(--accent) !important; color: var(--accent-text) !important; }

/* === Page Navigation === */
.pg_wrap { text-align: center; margin: 24px 0; }
.pg_wrap a, .pg_wrap .pg_current {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 30px; height: 30px; padding: 0 6px; margin: 0 2px;
    border-radius: 6px; font-size: 12px; font-weight: 600; text-align: center; transition: all .12s;
}
.pg_wrap a { background: var(--bg-input); color: var(--text-secondary); border: 1px solid var(--border-color); }
.pg_wrap a:hover { border-color: var(--accent); color: var(--accent-text); }
.pg_wrap .pg_current {
    background: var(--accent) !important; color: #fff !important;
    border: 1px solid var(--accent); font-weight: 700;
}

/* === New Win (팝업 스타일 페이지) === */
.new_win { max-width: 480px; margin: 40px auto; }
.new_win_con {
    background: var(--bg-panel) !important; border: 1px solid var(--border-color);
    border-radius: 12px; padding: 28px; box-shadow: var(--card-shadow);
}
.new_win h1#win_title {
    font-size: 15px; font-weight: 700; color: var(--text-primary);
    padding: 14px 20px; border-bottom: 1px solid var(--border-color);
    background: var(--bg-secondary); border-radius: 12px 12px 0 0;
}
.win_btn { text-align: center; margin-top: 20px; }
.win_desc { color: var(--text-muted); font-size: 12px; }

/* === Validation / Error page === */
#validation_check {
    max-width: 440px; margin: 40px auto; text-align: center;
    background: var(--bg-panel); border: 1px solid var(--border-color);
    border-radius: 12px; padding: 28px; box-shadow: var(--card-shadow);
}
#validation_check h1 {
    font-size: 16px; font-weight: 700; color: var(--text-primary);
    margin-bottom: 16px;
}
#validation_check .cbg {
    color: var(--text-secondary); font-size: 13px; line-height: 1.6;
    margin-bottom: 20px;
}
#validation_check .btn_confirm a {
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--accent); color: #fff; border: 1px solid var(--accent);
    border-radius: 8px; padding: 10px 24px; font-size: 13px; font-weight: 600;
    text-decoration: none;
}

/* === Tooltip === */
.tooltip {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    min-width: 220px !important;
    max-width: 320px !important;
    background: var(--bg-primary) !important;
    color: var(--text-secondary) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
    box-shadow: var(--card-shadow) !important;
    z-index: 100 !important;
    white-space: normal !important;
}
.tooltip_icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important; height: 16px !important;
    font-size: 10px !important; font-weight: 700 !important;
    color: var(--text-muted) !important;
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    position: relative !important;
    padding: 0 !important;
    margin-left: 4px !important;
    line-height: 1 !important;
}
.tooltip_icon:hover { color: var(--accent) !important; border-color: var(--accent) !important; }
.tooltip_wrap {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
}
.tooltip_wrap .tooltip_icon:hover ~ .tooltip,
.tooltip_wrap .tooltip_icon:focus ~ .tooltip,
.tooltip_wrap .tooltip_icon.on ~ .tooltip,
.tooltip_icon:hover + .tooltip,
.tooltip_icon:focus + .tooltip,
.tooltip_icon.on + .tooltip {
    display: block !important;
}

/* === Captcha === */
#captcha { margin: 12px 0; }
#captcha img { border-radius: 6px; border: 1px solid var(--border-color); }

/* === Dialog (consent modal) === */
dialog:not([open]),
#consentDialog:not([open]) {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* 최신글 위젯 숨김 */
.lt_box { display: none !important; }

/* ===== 테이블 ===== */
.tbl_head01 { width: 100%; border-collapse: collapse; }
.tbl_head01 thead th {
    background: var(--bg-secondary) !important; color: var(--text-muted) !important;
    font-size: 11px; font-weight: 700; padding: 10px 12px;
    border-bottom: 1px solid var(--border-color); text-align: left; letter-spacing: .02em;
}
.tbl_head01 tbody td {
    padding: 10px 12px; border-bottom: 1px solid var(--border-color);
    font-size: 13px; color: var(--text-secondary);
}
.tbl_head01 tbody tr:hover td { background: var(--bg-hover); }
.tbl_wrap:not(.register_form_inner) { overflow-x: auto; }
.register_form_inner { overflow: visible !important; }
.empty_table, .empty_li { text-align: center; padding: 40px 0; color: var(--text-muted); }

/* ===== Board Dark === */
#bo_list { background: transparent; }
#bo_list tbody tr { border-left: 2px solid transparent; transition: border-color .1s; }
#bo_list tbody tr:hover { border-left-color: var(--accent); }
#bo_list tbody .even td { background: var(--bg-secondary) !important; }
.bo_notice td { background: var(--accent-bg) !important; border-bottom: 1px solid rgba(99,102,241,.15) !important; }
.bo_notice td a { color: var(--accent-text) !important; }
.notice_icon { color: var(--accent) !important; }
.bo_tit { color: var(--text-primary) !important; }
.bo_tit:hover { color: var(--accent-text) !important; }
.bo_current { color: var(--accent) !important; }
.bo_cate_link { background: var(--accent-bg) !important; color: var(--accent-text) !important; }
#bo_list .cnt_cmt { background: var(--accent-bg) !important; color: var(--accent-text) !important; }
#bo_list .td_num strong { color: var(--text-primary) !important; }
#bo_list .bo_tit .new_icon { background: rgba(16,185,129,.15) !important; color: var(--success) !important; }
#bo_list .bo_tit .hot_icon { background: rgba(239,68,68,.15) !important; color: var(--danger) !important; }
#bo_list .bo_tit .fa-lock { background: var(--accent-bg) !important; color: var(--accent) !important; border-color: transparent !important; }
#bo_list_total { color: var(--text-muted) !important; }
#bo_cate a { border: 1px solid var(--border-color) !important; color: var(--text-secondary) !important; background: transparent !important; transition: all .15s; }
#bo_cate a:hover, #bo_cate a:active, #bo_cate a:focus, #bo_cate #bo_cate_on { background: var(--accent) !important; color: #fff !important; border-color: var(--accent) !important; }
.btn_bo_user li { background: var(--bg-input) !important; border: 1px solid var(--border-color); border-radius: 6px; }
.btn_bo_adm input { background: var(--bg-input) !important; color: var(--text-secondary) !important; border: 1px solid var(--border-color) !important; border-radius: 6px; }
.more_opt { background: var(--bg-panel) !important; border-color: var(--border-color) !important; box-shadow: var(--card-shadow); }
.more_opt li { border-bottom-color: var(--border-color) !important; }
.more_opt li button, .more_opt li a { background: var(--bg-panel) !important; color: var(--text-secondary) !important; }
.more_opt li:hover button, .more_opt li:hover a { color: var(--text-primary) !important; }

/* Board View */
#bo_v { background: var(--bg-panel) !important; border: 1px solid var(--border-color); border-radius: 12px; padding: 24px; box-shadow: var(--card-shadow); }
#bo_v_title .bo_v_cate { background: var(--accent-bg) !important; color: var(--accent-text) !important; }
#bo_v_title .bo_v_tit { color: var(--text-primary) !important; }
#bo_v_info { border-bottom-color: var(--border-color) !important; color: var(--text-secondary) !important; }
#bo_v_info .sv_member { color: var(--text-primary) !important; }
#bo_v_info .if_date { color: var(--text-muted) !important; }
#bo_v_con { color: var(--text-primary) !important; }
#bo_v_con a { color: var(--accent-text) !important; }
#bo_v_file li, #bo_v_link li { border: 1px solid var(--border-color) !important; background: var(--bg-secondary) !important; box-shadow: none !important; border-radius: 8px; }
#bo_v_file a, #bo_v_link a { color: var(--text-primary) !important; }
#bo_v_file li:hover, #bo_v_link li:hover { border-color: var(--accent) !important; }
.bo_v_nb li { border-color: var(--border-color) !important; }
.bo_v_nb li:hover { background: var(--bg-hover) !important; }
.bo_v_nb li i, .bo_v_nb li .nb_tit, .bo_v_nb li .nb_date { color: var(--text-muted) !important; }
.bo_v_nb li a { color: var(--text-secondary) !important; }
#bo_v_act a { color: var(--text-secondary) !important; }
#bo_v_act a:hover { color: var(--accent-text) !important; border-color: var(--accent) !important; }

/* Comments */
.cmt_btn { background: transparent !important; border-bottom-color: var(--border-color) !important; color: var(--text-primary) !important; }
.cmt_btn b { color: var(--text-primary) !important; }
.cmt_btn span.total { color: var(--accent-text) !important; }
#bo_vc article { border-bottom-color: var(--border-color) !important; }
#bo_vc .member, #bo_vc .sv_member { color: var(--text-primary) !important; }
.bo_vc_hdinfo { color: var(--text-muted) !important; }
#bo_vc .cmt_contents { color: var(--text-secondary) !important; }
#bo_vc_empty { color: var(--text-muted) !important; }
.bo_vc_act { background: var(--bg-panel) !important; border-color: var(--border-color) !important; box-shadow: var(--card-shadow); }
.bo_vc_w textarea { background: var(--bg-input) !important; color: var(--text-primary) !important; border: 1px solid var(--border-color) !important; border-radius: 8px !important; }

/* Board Write */
#bo_w { background: var(--bg-panel) !important; border: 1px solid var(--border-color); border-radius: 12px; padding: 24px; }
#bo_w .bo_w_flie .file_wr { background: var(--bg-input) !important; border-color: var(--border-color) !important; color: var(--text-primary) !important; border-radius: 8px; }
#bo_w .bo_w_select select { background: var(--bg-input) !important; border-color: var(--border-color) !important; color: var(--text-primary) !important; }
.bo_sch { background: var(--bg-panel) !important; border-color: var(--border-color) !important; box-shadow: var(--card-shadow) !important; }
.bo_sch h3 { color: var(--text-primary) !important; border-bottom-color: var(--border-color) !important; }
#autosave_pop { background: var(--bg-panel) !important; border-color: var(--border-color) !important; box-shadow: var(--card-shadow) !important; }

/* Content */
#ctt { color: var(--text-primary); }
#ctt h1 { color: var(--text-primary); font-size: 18px; font-weight: 700; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--border-color); }
#ctt_con { color: var(--text-secondary); line-height: 1.8; }

/* SNS */
#sns_login { background: var(--bg-secondary) !important; border-color: var(--border-color) !important; }

/* === Responsive === */
@media (max-width: 768px) {
    .cnm_simple { padding: 0 16px; }
    .cnm_simple_content { max-width: 100%; }
    #wrapper { padding: 16px; }
    #container_wr { flex-direction: column; }
    #aside { display: none !important; }
}
