:root {
    --dev-text: #111827;
    --dev-muted: #64748b;
    --dev-soft: #f6f8fb;
    --dev-line: rgba(17, 24, 39, 0.09);
    --dev-card: rgba(255, 255, 255, 0.88);
    --dev-orange: #ff6b35;
    --dev-blue: #3a86ff;
    --dev-yellow: #ffb703;
    --dev-green: #0f766e;
    --dev-red: #dc2626;
    --dev-violet: #8338ec;
}

html,
body {
    background: var(--dev-soft);
}

body {
    min-width: 320px;
    margin: 0;
    color: var(--dev-text);
    font-family: "IBM Plex Sans KR", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: 0;
}

a {
    color: inherit;
}

.dev-site-shell {
    width: min(1480px, calc(100% - 32px));
    margin: 0 auto;
}

.dev-site-header {
    position: sticky;
    top: 0;
    z-index: 3000;
    padding: 18px 0 12px;
    background: linear-gradient(180deg, rgba(246, 248, 251, 0.96), rgba(246, 248, 251, 0.78) 78%, rgba(246, 248, 251, 0));
    backdrop-filter: blur(14px);
}

.dev-brand-row {
    display: grid;
    grid-template-columns: minmax(230px, 310px) minmax(280px, 1fr) minmax(320px, 420px);
    align-items: stretch;
    gap: 18px;
    min-height: 132px;
}

.dev-brand-mark,
.dev-header-motion,
.dev-header-search-panel,
.dev-header-utility,
.dev-nav-bands,
.dev-home-front,
.dev-board-directory,
.dev-editorial-section,
.dev-side-panel,
.dev-site-footer,
.dev-page-title,
#bo_list,
#bo_v,
#bo_w {
    border: 1px solid var(--dev-line);
    border-radius: 22px;
    background: var(--dev-card);
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.07);
}

.dev-brand-mark {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    padding: 24px;
    color: #111827;
    text-decoration: none;
}

.dev-brand-mark:before {
    content: "";
    position: absolute;
    inset: auto -60px -90px auto;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: var(--dev-orange);
    opacity: 0.16;
}

.dev-brand-kicker,
.dev-section-title span,
.dev-header-stamp strong,
.dev-badge-row span {
    font: 700 11px/1 "Space Grotesk", sans-serif;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.dev-brand-kicker {
    color: var(--dev-orange);
}

.dev-brand-mark strong {
    display: grid;
    gap: 0;
    font-family: "Space Grotesk", "IBM Plex Sans KR", sans-serif;
    font-size: clamp(28px, 3vw, 44px);
    line-height: 0.95;
}

.dev-brand-mark small {
    color: var(--dev-muted);
    font-size: 13px;
    font-weight: 700;
}

.dev-header-motion {
    overflow: hidden;
    padding: 18px;
    background:
        radial-gradient(circle at 18% 20%, rgba(255, 183, 3, 0.2), transparent 24%),
        radial-gradient(circle at 86% 70%, rgba(58, 134, 255, 0.18), transparent 28%),
        #ffffff;
}

.dev-motion-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    color: var(--dev-muted);
    font-size: 13px;
    font-weight: 700;
}

.dev-motion-caption strong {
    color: var(--dev-text);
    font-family: "Space Grotesk", sans-serif;
}

.dev-motion-window {
    position: relative;
    overflow: hidden;
    min-height: 82px;
    border-radius: 18px;
    background: #111827;
}

.dev-motion-lane {
    display: flex;
    gap: 10px;
    width: max-content;
    padding: 15px 0 0;
    animation: devMarquee 26s linear infinite;
}

.dev-motion-lane-b {
    padding-top: 10px;
    animation-duration: 32s;
    animation-direction: reverse;
}

.dev-motion-lane span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    color: #e5e7eb;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.dev-motion-signal {
    position: absolute;
    right: 15px;
    top: 14px;
    display: flex;
    gap: 6px;
}

.dev-motion-signal i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--dev-yellow);
}

@keyframes devMarquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.dev-header-utility {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 12px;
    padding: 18px;
}

.dev-header-search-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 18px;
}

.dev-top-text-nav,
.dev-account-actions,
.dev-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    align-items: center;
}

.dev-top-text-nav a,
.dev-account-actions a,
.dev-footer-links a,
.dev-ghost-link {
    color: #334155;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
}

.dev-account-actions a {
    display: inline-flex;
    gap: 6px;
    align-items: center;
}

.dev-account-actions svg,
.dev-header-search svg,
.dev-action-button svg,
.dev-outline-button svg,
.dev-side-links svg,
.dev-category-menu-icon svg,
.dev-board-card-icon svg,
.dev-spotlight-visual svg,
.dev-mini-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dev-header-stamp {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    padding: 8px 10px;
    border-radius: 999px;
    background: #f1f5f9;
    color: var(--dev-muted);
}

.dev-header-stamp em {
    color: var(--dev-text);
    font-style: normal;
    font-weight: 800;
}

.dev-header-search {
    display: flex;
    gap: 8px;
    width: min(100%, 560px);
}

.dev-header-search input,
#bo_w input[type="text"],
#bo_w input[type="password"],
#bo_w input[type="file"],
#bo_w select,
#bo_w textarea,
.bo_sch input,
.bo_sch select {
    min-width: 0;
    border: 1px solid var(--dev-line);
    border-radius: 13px;
    background: #fff;
    color: var(--dev-text);
}

.dev-header-search input {
    flex: 1;
    height: 42px;
    padding: 0 14px;
    font-weight: 700;
}

.dev-header-search button,
.dev-action-button,
.dev-outline-button,
.btn_b01,
.btn_b02,
.btn_b03,
.btn_submit,
.btn_cancel,
.dev-top-button,
.dev-board-manager button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 16px;
    border: 0;
    border-radius: 13px;
    background: #111827;
    color: #fff !important;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.dev-outline-button,
.btn_b01,
.btn_cancel {
    border: 1px solid var(--dev-line);
    background: #fff;
    color: #111827 !important;
}

.dev-nav-bands {
    margin-top: 14px;
    padding: 12px;
}

.dev-feature-nav {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.dev-category-menu-link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 10px 14px;
    border: 1px solid var(--dev-line);
    border-radius: 16px;
    color: #111827;
    text-decoration: none;
    background: #fff;
}

.dev-category-menu-link:hover,
.dev-category-menu-link.is-active {
    border-color: var(--accent);
}

.dev-category-menu-icon,
.dev-board-card-icon,
.dev-mini-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 13px;
    color: var(--accent, var(--dev-blue));
    background: color-mix(in srgb, var(--accent, var(--dev-blue)) 13%, #fff);
}

.dev-page-wrap {
    padding: 18px 0 0;
}

.dev-page-title {
    margin-bottom: 16px;
    padding: 22px 24px;
}

.dev-page-title span {
    color: var(--dev-orange);
    font-family: "Space Grotesk", sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.dev-page-title h1 {
    margin: 8px 0 0;
    font-size: clamp(24px, 3vw, 38px);
    line-height: 1.18;
}

.dev-container-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 18px;
    align-items: start;
}

.dev-container {
    min-width: 0;
}

.dev-aside {
    display: grid;
    gap: 14px;
}

.dev-home-front {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
    gap: 18px;
    padding: 22px;
}

.dev-home-intro h1 {
    max-width: 820px;
    margin: 14px 0 12px;
    font-size: clamp(34px, 5vw, 66px);
    line-height: 1.02;
    letter-spacing: 0;
}

.dev-home-intro p,
.dev-home-spotlight p {
    max-width: 740px;
    color: var(--dev-muted);
    font-size: 16px;
    line-height: 1.75;
    font-weight: 600;
}

.dev-section-title {
    display: grid;
    gap: 6px;
}

.dev-section-title span {
    color: var(--section-accent, var(--dev-orange));
}

.dev-section-title strong {
    font-size: 18px;
    font-weight: 800;
}

.dev-hero-actions,
.dev-inline-actions,
.dev-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.dev-front-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 26px;
}

.dev-front-stats div {
    padding: 16px;
    border: 1px solid var(--dev-line);
    border-radius: 16px;
    background: #fff;
}

.dev-front-stats span,
.dev-board-card em,
.dev-mini-board-list em {
    display: block;
    color: var(--dev-muted);
    font-size: 12px;
    font-weight: 700;
}

.dev-front-stats strong {
    display: block;
    margin-top: 6px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 24px;
}

.dev-home-spotlight {
    padding: 22px;
    border: 1px solid var(--dev-line);
    border-radius: 20px;
    background: #fff;
}

.dev-spotlight-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 180px;
    margin: 18px 0;
    border-radius: 20px;
    background:
        radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--section-accent) 25%, transparent), transparent 34%),
        #111827;
    color: #fff;
}

.dev-spotlight-visual svg {
    width: 86px;
    height: 86px;
}

.dev-badge-row span {
    padding: 7px 10px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
}

.dev-home-spotlight h2 {
    margin: 14px 0 8px;
    font-size: 26px;
}

.dev-board-directory,
.dev-editorial-section,
.dev-side-panel {
    margin-top: 18px;
    padding: 20px;
}

.dev-board-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.dev-board-card {
    display: grid;
    gap: 12px;
    min-height: 150px;
    padding: 18px;
    border: 1px solid var(--dev-line);
    border-radius: 18px;
    background: #fff;
    color: var(--dev-text);
    text-decoration: none;
}

.dev-board-card:hover {
    border-color: var(--accent);
}

.dev-board-card strong {
    font-size: 18px;
}

.dev-editorial-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 18px;
}

.dev-editorial-section header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: start;
    margin-bottom: 16px;
}

.dev-side-panel {
    margin-top: 0;
    padding: 18px;
}

.dev-side-panel-dark {
    background: #111827;
    color: #fff;
}

.dev-side-panel-dark .dev-section-title span,
.dev-side-panel-dark .dev-section-title strong {
    color: #fff;
}

.dev-side-links,
.dev-mini-board-list {
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
    display: grid;
    gap: 10px;
}

.dev-side-links a,
.dev-mini-board-list a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 10px;
    border-radius: 14px;
    color: inherit;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.08);
}

.dev-mini-board-list a {
    background: #fff;
    border: 1px solid var(--dev-line);
}

.dev-mini-board-list a {
    color: var(--dev-text);
}

.dev-mini-board-list strong {
    flex: 1;
    min-width: 0;
}

.dev-site-footer {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    margin: 18px 0 28px;
    padding: 24px;
}

.dev-footer-meta strong {
    font-size: 22px;
}

.dev-footer-meta p {
    margin: 8px 0 0;
    color: var(--dev-muted);
    font-size: 13px;
}

.dev-top-button {
    position: fixed;
    right: 24px;
    bottom: 24px;
    min-width: 70px;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.18);
}

#bo_list,
#bo_v,
#bo_w {
    width: 100% !important;
    padding: 20px;
}

#bo_list table {
    border-collapse: separate;
    border-spacing: 0 8px;
}

#bo_list thead th {
    border: 0;
    color: #64748b;
    background: transparent;
    font-size: 12px;
}

#bo_list tbody tr {
    background: #fff;
    box-shadow: 0 0 0 1px var(--dev-line);
}

#bo_list tbody td {
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
    padding-top: 15px;
    padding-bottom: 15px;
}

.bo_tit a,
#bo_v_title .bo_v_tit {
    color: var(--dev-text);
    font-weight: 800;
}

.bo_cate_link,
.bo_v_cate {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    background: rgba(255, 107, 53, 0.1);
    color: var(--dev-orange) !important;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

#bo_v_con {
    color: #1f2937;
    font-size: 16px;
    line-height: 1.85;
}

#bo_vc article,
#bo_vc_w,
#bo_v_file,
#bo_v_link {
    border: 1px solid var(--dev-line);
    border-radius: 18px;
    background: #fff;
}

#bo_vc_w textarea,
#wr_content {
    width: 100%;
    border-radius: 16px;
}

.dev-board-manager {
    max-width: 1120px;
    margin: 0 auto;
    padding: 24px;
}

.dev-manager-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px;
}

.dev-manager-table th,
.dev-manager-table td {
    padding: 12px;
    background: #fff;
    border-top: 1px solid var(--dev-line);
    border-bottom: 1px solid var(--dev-line);
    text-align: left;
}

.dev-manager-table th:first-child,
.dev-manager-table td:first-child {
    border-left: 1px solid var(--dev-line);
    border-radius: 14px 0 0 14px;
}

.dev-manager-table th:last-child,
.dev-manager-table td:last-child {
    border-right: 1px solid var(--dev-line);
    border-radius: 0 14px 14px 0;
}

@media (max-width: 1180px) {
    .dev-brand-row,
    .dev-home-front,
    .dev-container-grid {
        grid-template-columns: 1fr;
    }

    .dev-aside {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dev-board-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .dev-site-shell {
        width: min(100% - 18px, 1480px);
    }

    .dev-site-header {
        position: relative;
    }

    .dev-brand-row,
    .dev-home-front,
    .dev-editorial-grid,
    .dev-board-grid,
    .dev-aside,
    .dev-front-stats {
        grid-template-columns: 1fr;
    }

    .dev-home-front,
    .dev-board-directory,
    .dev-editorial-section,
    .dev-side-panel,
    .dev-site-footer {
        border-radius: 18px;
        padding: 16px;
    }

    .dev-home-intro h1 {
        font-size: 36px;
    }

    .dev-site-footer {
        flex-direction: column;
    }

    #bo_list {
        overflow-x: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dev-motion-lane {
        animation: none;
    }
}

/* DEV flat refinement: closer to dev.netcity.co.kr */
:root {
    --dev-soft: #ffffff;
    --dev-card: #ffffff;
    --dev-line: #e5e7eb;
    --dev-muted: #5f6673;
}

html,
body {
    background: #ffffff !important;
}

.dev-site-shell {
    width: min(1120px, calc(100% - 32px));
}

.dev-site-header {
    padding: 0;
    border-bottom: 1px solid #e5e7eb;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: none !important;
}

.dev-brand-row {
    grid-template-columns: minmax(210px, 300px) minmax(0, 1fr) minmax(280px, 360px);
    gap: 0;
    min-height: 112px;
    border-left: 1px solid #e5e7eb;
}

.dev-brand-mark,
.dev-header-motion,
.dev-header-utility,
.dev-nav-bands,
.dev-home-front,
.dev-board-directory,
.dev-editorial-section,
.dev-side-panel,
.dev-site-footer,
.dev-page-title,
#bo_list,
#bo_v,
#bo_w,
.dev-home-spotlight,
.dev-front-stats div,
.dev-board-card,
.dev-category-menu-link,
.dev-mini-board-list a,
#bo_vc article,
#bo_vc_w,
#bo_v_file,
#bo_v_link {
    border-radius: 0 !important;
    box-shadow: none !important;
}

.dev-brand-mark,
.dev-header-motion,
.dev-header-search-panel,
.dev-header-utility {
    border: 0 !important;
    border-right: 1px solid #e5e7eb !important;
    background: transparent !important;
}

.dev-brand-mark {
    padding: 22px 18px;
}

.dev-brand-mark:before {
    content: none !important;
}

.dev-brand-mark strong {
    font-size: clamp(25px, 3vw, 38px);
    line-height: 1;
}

.dev-header-motion {
    padding: 16px 18px;
}

.dev-header-search-panel {
    padding: 18px;
}

.dev-motion-window {
    min-height: 76px;
    border-radius: 0 !important;
    background: #111827;
}

.dev-motion-lane span {
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.08);
}

.dev-header-stamp,
.dev-badge-row span {
    border-radius: 0 !important;
    background: #f3f4f6;
}

.dev-header-search input,
#bo_w input[type="text"],
#bo_w input[type="password"],
#bo_w input[type="file"],
#bo_w select,
#bo_w textarea,
.bo_sch input,
.bo_sch select {
    border-radius: 0 !important;
    border-color: #d9dee7 !important;
    box-shadow: none !important;
}

.dev-header-search button,
.dev-action-button,
.dev-outline-button,
.btn_b01,
.btn_b02,
.btn_b03,
.btn_submit,
.btn_cancel,
.dev-top-button,
.dev-board-manager button {
    border-radius: 0 !important;
    box-shadow: none !important;
}

.dev-outline-button,
.btn_b01,
.btn_cancel {
    border-color: #d9dee7 !important;
}

.dev-nav-bands {
    margin: 0;
    padding: 10px 0;
    border: 0 !important;
    border-top: 1px solid #e5e7eb !important;
    background: transparent !important;
}

.dev-feature-nav {
    gap: 0;
}

.dev-category-menu-link {
    min-height: 44px;
    padding: 8px 14px;
    border: 0 !important;
    border-right: 1px solid #e5e7eb !important;
    background: transparent !important;
}

.dev-category-menu-link:hover,
.dev-category-menu-link.is-active {
    background: #f8fafc !important;
    color: var(--accent, #111827);
}

.dev-category-menu-icon,
.dev-board-card-icon,
.dev-mini-icon {
    width: 30px;
    height: 30px;
    border-radius: 0 !important;
    background: transparent !important;
}

.dev-page-wrap {
    padding-top: 18px;
}

.dev-page-title {
    margin-bottom: 20px;
    padding: 4px 0 16px;
    border: 0 !important;
    border-bottom: 2px solid #111827 !important;
    background: transparent !important;
}

.dev-home-front,
.dev-board-directory,
.dev-editorial-section,
.dev-side-panel,
#bo_list,
#bo_v,
#bo_w {
    border: 0 !important;
    background: transparent !important;
}

.dev-home-front {
    gap: 28px;
    padding: 28px 0;
    border-bottom: 1px solid #e5e7eb !important;
}

.dev-home-intro h1 {
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1.03;
}

.dev-home-intro p,
.dev-home-spotlight p {
    color: #4b5563;
}

.dev-front-stats {
    gap: 0;
    border-top: 1px solid #e5e7eb;
    border-left: 1px solid #e5e7eb;
}

.dev-front-stats div {
    padding: 14px;
    border: 0 !important;
    border-right: 1px solid #e5e7eb !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: #ffffff !important;
}

.dev-home-spotlight {
    padding: 0;
    border: 0 !important;
    background: transparent !important;
}

.dev-spotlight-visual {
    height: 150px;
    border-radius: 0 !important;
    background: #111827 !important;
}

.dev-board-directory,
.dev-editorial-section,
.dev-side-panel {
    margin-top: 24px;
    padding: 0 0 22px;
    border-bottom: 1px solid #e5e7eb !important;
}

.dev-board-grid {
    display: block;
    margin-top: 14px;
    border-top: 1px solid #e5e7eb;
}

.dev-board-card {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    min-height: 0;
    padding: 13px 0;
    border: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: transparent !important;
}

.dev-board-card strong,
.dev-board-card em {
    grid-column: 2;
}

.dev-board-card:hover {
    color: var(--accent, #1d4ed8);
    background: #fafafa !important;
}

.dev-editorial-grid {
    gap: 28px;
}

.dev-side-panel-dark {
    padding: 18px !important;
    background: #111827 !important;
}

.dev-side-links a,
.dev-mini-board-list a {
    border-radius: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: transparent !important;
}

.dev-side-panel-dark .dev-side-links a {
    border-bottom-color: rgba(255, 255, 255, 0.16) !important;
}

.dev-site-footer {
    margin: 24px 0 28px;
    padding: 22px 0;
    border: 0 !important;
    border-top: 2px solid #111827 !important;
    background: transparent !important;
}

.dev-top-button {
    min-width: 58px;
    right: 18px;
    bottom: 18px;
}

#bo_list,
#bo_v,
#bo_w {
    padding: 0 !important;
}

#bo_list table {
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}

#bo_list thead th {
    border-top: 2px solid #111827 !important;
    border-bottom: 1px solid #d9dee7 !important;
    background: #ffffff !important;
}

#bo_list tbody tr {
    border-left: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: transparent !important;
    box-shadow: none !important;
}

#bo_list tbody tr:hover {
    border-left: 0 !important;
    background: #f8fafc !important;
}

#bo_list tbody td {
    border: 0 !important;
    padding-top: 13px;
    padding-bottom: 13px;
}

.bo_cate_link,
.bo_v_cate {
    border-radius: 0 !important;
    background: #f3f4f6 !important;
}

#bo_v_title {
    border-bottom-color: #111827 !important;
}

#bo_v_info {
    padding: 14px 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

#bo_v_con img {
    border-radius: 0 !important;
}

#bo_vc article {
    border: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: transparent !important;
}

#bo_vc_w {
    border: 0 !important;
    border-top: 2px solid #111827 !important;
    background: transparent !important;
}

#bo_v_file,
#bo_v_link {
    border: 0 !important;
    background: transparent !important;
}

.dev-manager-table {
    border-collapse: collapse;
    border-spacing: 0;
}

.dev-manager-table th,
.dev-manager-table td {
    border: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: transparent !important;
}

@media (max-width: 720px) {
    .dev-site-shell {
        width: min(100% - 20px, 1120px);
    }

    .dev-brand-row {
        border-left: 0;
    }

    .dev-brand-mark,
    .dev-header-motion,
    .dev-header-utility {
        border-right: 0 !important;
        border-bottom: 1px solid #e5e7eb !important;
    }

    .dev-home-front,
    .dev-board-directory,
    .dev-editorial-section,
    .dev-side-panel,
    .dev-site-footer {
        padding-left: 0;
        padding-right: 0;
    }
}

/* Extra reduction of framed surfaces */
.dev-brand-row {
    border-left: 0 !important;
}

.dev-brand-mark,
.dev-header-motion,
.dev-header-search-panel,
.dev-header-utility {
    border-right: 0 !important;
}

.dev-nav-bands {
    border-top: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.dev-feature-nav {
    gap: 14px;
}

.dev-category-menu-link {
    border-right: 0 !important;
    padding-left: 0;
    padding-right: 8px;
}

.dev-category-menu-link:hover,
.dev-category-menu-link.is-active {
    background: transparent !important;
}

.dev-container-grid {
    grid-template-columns: minmax(0, 1fr) !important;
}

.dev-aside {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid #e5e7eb;
}

.dev-side-panel-dark {
    padding: 0 !important;
    background: transparent !important;
    color: var(--dev-text) !important;
}

.dev-side-panel-dark .dev-section-title span {
    color: var(--dev-orange) !important;
}

.dev-side-panel-dark .dev-section-title strong {
    color: var(--dev-text) !important;
}

.dev-side-panel-dark .dev-side-links a {
    border-bottom-color: #e5e7eb !important;
}

.dev-front-stats {
    border: 0 !important;
}

.dev-front-stats div {
    padding: 12px 0;
    border: 0 !important;
    background: transparent !important;
}

.dev-front-stats div + div {
    padding-left: 18px;
}

.dev-board-directory,
.dev-editorial-section,
.dev-side-panel {
    border-bottom-color: #edf0f4 !important;
}

.dev-spotlight-visual {
    margin-top: 16px;
    margin-bottom: 16px;
}

@media (max-width: 900px) {
    .dev-aside {
        grid-template-columns: 1fr;
    }
}

.dev-aside {
    display: none !important;
}

html,
body {
    max-width: 100%;
    /* clip: 가로 스크롤은 막되 스크롤 컨테이너를 만들지 않아 position:sticky 가 정상 동작 */
    overflow-x: clip;
}

.dev-site-shell,
.dev-page-wrap,
.dev-wrapper,
.dev-container-grid,
.dev-container,
.dev-header-search-panel,
.dev-home-front,
.dev-home-intro,
.dev-home-spotlight {
    min-width: 0;
    max-width: 100%;
}

.dev-home-intro h1,
.dev-page-title h1 {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
}

.dev-home-intro h1 span {
    display: inline;
}

/* Header search refinement */
.dev-header-motion {
    display: none !important;
}

.dev-brand-row {
    grid-template-columns: minmax(210px, 300px) minmax(320px, 1fr) minmax(260px, 350px);
    align-items: center;
}

.dev-header-search-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 96px;
    padding: 18px 24px;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.dev-header-search-panel .dev-header-search {
    width: min(100%, 620px);
}

.dev-header-utility {
    justify-content: center;
    align-items: flex-start;
}

/* Menu readability refinement */
.dev-top-text-nav a,
.dev-account-actions a {
    color: #111827;
    font-size: 15px;
    line-height: 1.2;
}

.dev-category-menu-link {
    gap: 9px;
    min-height: 48px;
    color: #111827;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}

.dev-category-menu-link strong {
    display: block;
    color: currentColor;
    font-size: inherit;
    line-height: 1.15;
}

.dev-category-menu-link:hover,
.dev-category-menu-link.is-active {
    color: var(--accent, #111827) !important;
}

.dev-category-menu-icon {
    flex: 0 0 24px;
    width: 24px !important;
    height: 24px !important;
    color: currentColor !important;
}

.dev-category-menu-icon svg {
    width: 22px;
    height: 22px;
    color: currentColor;
    stroke: currentColor !important;
}

.dev-account-actions svg,
.dev-header-search button svg {
    width: 19px;
    height: 19px;
    color: currentColor;
    stroke: currentColor !important;
}

@media (max-width: 720px) {
    .dev-brand-row {
        grid-template-columns: 1fr !important;
        gap: 0;
        min-height: 0;
    }

    .dev-brand-mark,
    .dev-header-motion,
    .dev-header-search-panel,
    .dev-header-utility {
        width: 100%;
        min-width: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .dev-header-motion {
        display: none;
    }

    .dev-brand-mark {
        order: 1;
    }

    .dev-header-utility {
        order: 2;
    }

    .dev-header-search-panel {
        order: 3;
        min-height: 0;
        padding-top: 16px;
        padding-bottom: 16px;
    }

    .dev-top-text-nav,
    .dev-account-actions {
        width: 100%;
        gap: 10px 12px;
    }

    .dev-header-search {
        width: 100%;
    }

    .dev-home-front {
        gap: 20px;
        padding-top: 24px;
        padding-bottom: 24px;
    }

    .dev-home-intro h1 {
        font-size: 32px;
        line-height: 1.14;
    }

    .dev-home-intro h1 span {
        display: block;
    }

    .dev-home-intro p,
    .dev-home-spotlight p {
        font-size: 15px;
        line-height: 1.65;
        overflow-wrap: break-word;
    }

    .dev-hero-actions,
    .dev-inline-actions {
        align-items: stretch;
    }

    .dev-action-button,
    .dev-outline-button,
    .btn_b01,
    .btn_b02,
    .btn_b03,
    .btn_submit,
    .btn_cancel {
        min-width: 0;
        padding-left: 13px;
        padding-right: 13px;
    }

    .dev-front-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px;
    }

    .dev-front-stats div + div {
        padding-left: 0;
    }

    .dev-top-text-nav a,
    .dev-account-actions a {
        font-size: 14px;
    }

    .dev-category-menu-link {
        min-height: 44px;
        font-size: 15px;
    }

    .dev-category-menu-icon {
        flex-basis: 22px;
        width: 22px !important;
        height: 22px !important;
    }

    .dev-category-menu-icon svg {
        width: 20px;
        height: 20px;
    }
}

@media (max-width: 420px) {
    .dev-home-intro h1 {
        font-size: 30px;
    }

    .dev-top-text-nav,
    .dev-account-actions {
        gap: 9px 10px;
    }
}

/* DEV site alignment: flat archive surface */
:root {
    --dev-text: #101418;
    --dev-muted: #5f6772;
    --dev-soft: #f7f9fc;
    --dev-card: #fbfcff;
    --dev-line: #edf1f6;
    --dev-line-strong: #d6dee8;
    --dev-blue: #2563eb;
}

html,
body {
    background: var(--dev-soft) !important;
}

body {
    color: var(--dev-text);
}

.dev-site-shell {
    width: min(1220px, calc(100% - 56px));
}

.dev-site-header {
    padding: 16px 0;
    background: rgba(247, 249, 252, 0.92) !important;
    backdrop-filter: blur(10px);
}

.dev-brand-row {
    grid-template-columns: minmax(190px, 230px) minmax(320px, 1fr) minmax(260px, 350px);
    gap: 8px;
    align-items: start;
    min-height: 0;
    padding-bottom: 10px;
}

.dev-brand-mark,
.dev-header-search-panel,
.dev-header-utility,
.dev-nav-bands,
.dev-home-front,
.dev-board-directory,
.dev-editorial-section,
.dev-side-panel,
.dev-site-footer,
.dev-page-title,
#bo_list,
#bo_v,
#bo_w,
.dev-home-spotlight,
.dev-board-card,
.dev-mini-board-list a,
#bo_vc article,
#bo_vc_w,
#bo_v_file,
#bo_v_link {
    border-radius: 0 !important;
    box-shadow: none !important;
}

.dev-brand-mark,
.dev-header-search-panel,
.dev-header-utility,
.dev-nav-bands,
.dev-home-front,
.dev-board-directory,
.dev-editorial-section,
.dev-side-panel,
.dev-site-footer,
.dev-page-title,
#bo_list,
#bo_v,
#bo_w,
.dev-home-spotlight {
    border: 0 !important;
    background: transparent !important;
}

.dev-brand-mark {
    justify-content: flex-start;
    gap: 3px;
    padding: 0 0 0 14px;
    overflow: visible;
}

.dev-brand-mark:before {
    content: "" !important;
    position: absolute;
    top: 2px;
    left: 0;
    width: 4px;
    height: calc(100% - 6px);
    background: linear-gradient(180deg, var(--dev-orange) 0%, #111827 100%);
    opacity: 1;
}

.dev-brand-kicker {
    width: fit-content;
    padding: 5px 9px;
    background: #101418;
    color: #fff;
    font-size: 14px;
    letter-spacing: 0.18em;
}

.dev-brand-mark strong {
    display: grid;
    gap: 2px;
    max-width: 7ch;
    font-size: 36px;
    line-height: 0.9;
    letter-spacing: 0;
}

.dev-brand-mark strong span {
    white-space: nowrap;
}

.dev-brand-mark small {
    color: var(--dev-muted);
    font-size: 12px;
    letter-spacing: 0.12em;
}

.dev-header-search-panel {
    min-height: 0;
    padding: 44px 16px 0;
    justify-content: flex-end;
}

.dev-header-search-panel .dev-header-search,
.dev-header-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    width: min(100%, 440px);
    padding: 6px 8px;
    background: linear-gradient(135deg, #eef5ff 0%, #dbeafe 56%, #edf4ff 100%);
}

.dev-header-search input {
    height: 38px;
    padding: 0 10px;
    border: 0 !important;
    background: transparent !important;
    color: #163d8f;
}

.dev-header-search input::placeholder {
    color: #5a78b8;
}

.dev-header-search button {
    min-height: 38px;
    padding: 0 14px;
    background: #2563eb !important;
    color: #fff !important;
}

.dev-header-search button:hover {
    background: #1d4ed8 !important;
}

.dev-header-utility {
    display: grid;
    gap: 10px;
    justify-items: end;
    align-content: start;
    padding: 2px 0 0;
}

.dev-top-text-nav,
.dev-account-actions {
    justify-content: flex-end;
    gap: 12px;
}

.dev-top-text-nav a,
.dev-account-actions a {
    color: var(--dev-muted);
    font-size: 14px;
    font-weight: 700;
}

.dev-top-text-nav a + a:before,
.dev-account-actions a + a:before {
    content: "|";
    margin-right: 12px;
    color: var(--dev-line-strong);
    font-weight: 400;
}

.dev-top-text-nav a:hover,
.dev-account-actions a:hover {
    color: var(--dev-text);
    text-decoration: underline;
}

.dev-top-text-nav a[href*="/post_manage.php"] {
    order: 10;
}

.dev-top-text-nav a[href*="/unified_write.php"] {
    order: 11;
}

.dev-top-text-nav a[href*="/dev_banner_manager.php"] {
    order: 12;
}

a.dev-outline-button[href*="/post_manage.php"] {
    order: 20;
}

a.dev-outline-button[href*="/unified_write.php"] {
    order: 21;
}

a.dev-outline-button[href*="/dev_banner_manager.php"] {
    order: 22;
}

.dev-header-stamp {
    gap: 6px;
    padding: 0;
    background: transparent !important;
    color: var(--dev-text);
}

.dev-header-stamp:before {
    content: "|";
    color: var(--dev-line-strong);
    margin-right: 4px;
    font-weight: 400;
}

.dev-nav-bands {
    margin-top: 6px;
    padding: 10px 0 0;
    border: 0 !important;
}

.dev-feature-nav {
    flex-wrap: wrap;
    gap: 10px 22px;
    overflow: visible;
}

.dev-category-menu-link {
    min-height: 0;
    padding: 10px 0 8px !important;
    border-bottom: 2px solid transparent !important;
    color: var(--dev-muted);
}

.dev-category-menu-link:hover,
.dev-category-menu-link.is-active {
    border-bottom-color: #101418 !important;
    color: #101418 !important;
}

.dev-category-menu-icon {
    flex-basis: 20px;
    width: 20px !important;
    height: 20px !important;
    color: currentColor !important;
}

.dev-category-menu-icon svg {
    width: 20px;
    height: 20px;
}

.dev-page-wrap {
    padding: 34px 0 48px;
}

.dev-page-title {
    margin-bottom: 24px;
    padding: 0 0 22px;
    border-top: 3px solid #101418 !important;
    border-bottom: 1px solid var(--dev-line) !important;
}

.dev-section-title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    font-family: "Space Grotesk", "IBM Plex Sans KR", sans-serif;
}

.dev-section-title span,
.dev-page-title span {
    display: inline-flex;
    align-items: center;
    padding: 4px 9px;
    background: #101418 !important;
    color: #fff !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
}

.dev-section-title strong {
    font-size: 15px;
    letter-spacing: 0.1em;
}

.dev-home-front {
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 26px 24px;
    padding: 30px 0;
    border-top: 3px solid #101418 !important;
    border-bottom: 1px solid var(--dev-line) !important;
}

.dev-home-intro {
    display: grid;
    align-content: start;
    gap: 18px;
}

.dev-home-intro h1 {
    margin: 0;
    font-size: 56px;
    line-height: 0.96;
    letter-spacing: 0;
    overflow-wrap: normal;
    word-break: keep-all;
}

.dev-home-intro h1 span {
    display: block;
}

.dev-home-intro p,
.dev-home-spotlight p {
    color: var(--dev-muted);
    line-height: 1.9;
}

.dev-front-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 20px;
    margin-top: 6px;
}

.dev-front-stats div {
    padding: 14px 0 0;
    border-top: 1px solid var(--dev-line) !important;
}

.dev-front-stats div + div {
    padding-left: 0;
}

.dev-front-stats strong {
    font-size: 34px;
    line-height: 1;
}

.dev-home-spotlight {
    display: grid;
    align-content: start;
    gap: 14px;
    padding: 2px 0 20px;
    border-bottom: 1px solid var(--dev-line) !important;
}

.dev-spotlight-visual {
    height: auto;
    min-height: 230px;
    margin: 0;
    border-top: 2px solid var(--section-accent, var(--dev-line-strong));
    border-bottom: 1px solid var(--dev-line);
    background: var(--dev-card) !important;
    color: var(--section-accent, var(--dev-blue));
}

.dev-spotlight-visual svg {
    width: 78px;
    height: 78px;
}

.dev-badge-row span,
.bo_cate_link,
.bo_v_cate {
    border-radius: 0 !important;
    background: #eef2f7 !important;
    color: var(--dev-muted) !important;
}

.dev-home-spotlight h2 {
    margin: 0;
    font-size: 28px;
    line-height: 1.2;
}

.dev-board-directory,
.dev-editorial-section {
    margin-top: 34px;
    padding: 2px 0 20px;
    border-top: 3px solid var(--section-accent, #101418) !important;
    border-bottom: 1px solid var(--dev-line) !important;
}

.dev-board-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
    margin-top: 18px;
}

.dev-board-card {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 6px 12px;
    min-height: 0;
    padding: 14px 0;
    border: 0 !important;
    border-top: 1px solid var(--dev-line) !important;
    background: transparent !important;
}

.dev-board-card:hover {
    color: #101418;
    text-decoration: underline;
}

.dev-board-card-icon {
    width: 28px !important;
    height: 28px !important;
}

.dev-board-card strong {
    font-size: 17px;
    line-height: 1.4;
}

.dev-board-card em {
    grid-column: 2;
    color: var(--dev-muted);
}

.dev-editorial-grid {
    gap: 26px 24px;
    margin-top: 34px;
}

.dev-editorial-section {
    border-top-color: var(--section-accent, #101418) !important;
}

.dev-editorial-section header {
    padding-top: 12px;
}

.dev-side-panel,
.dev-site-footer {
    padding: 18px 0;
    border-top: 1px solid var(--dev-line) !important;
    border-bottom: 1px solid var(--dev-line) !important;
}

.dev-mini-board-list a,
.dev-side-links a {
    min-height: 0;
    padding: 12px 0;
    border: 0 !important;
    border-top: 1px solid var(--dev-line) !important;
    background: transparent !important;
}

.dev-action-button,
.dev-outline-button,
.dev-ghost-link,
.btn_b01,
.btn_b02,
.btn_b03,
.btn_submit,
.btn_cancel,
.dev-top-button,
.dev-board-manager button {
    border-radius: 0 !important;
    box-shadow: none !important;
}

.dev-action-button,
.btn_b02,
.btn_submit {
    background: #101418 !important;
}

.dev-outline-button,
.dev-ghost-link,
.btn_b01,
.btn_cancel {
    border: 1px solid rgba(16, 20, 24, 0.12) !important;
    background: transparent !important;
}

#bo_list,
#bo_v,
#bo_w {
    padding: 0 !important;
    border-top: 3px solid #101418 !important;
}

#bo_list tbody tr {
    background: transparent !important;
    box-shadow: none !important;
}

#bo_list tbody td {
    background: transparent !important;
    border-bottom-color: var(--dev-line) !important;
}

#bo_vc article,
#bo_vc_w,
#bo_v_file,
#bo_v_link {
    border: 0 !important;
    border-top: 1px solid var(--dev-line) !important;
    background: transparent !important;
}

.dev-top-button {
    background: #101418 !important;
}

@media (max-width: 980px) {
    .dev-brand-row,
    .dev-home-front,
    .dev-editorial-grid {
        grid-template-columns: 1fr !important;
    }

    .dev-header-search-panel {
        justify-content: flex-start;
        padding: 18px 0 0;
    }

    .dev-header-utility {
        justify-items: start;
    }

    .dev-top-text-nav,
    .dev-account-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .dev-site-shell {
        width: min(100% - 20px, 1220px);
    }

    .dev-brand-row {
        padding-bottom: 0;
    }

    .dev-brand-mark {
        padding-left: 14px;
    }

    .dev-brand-mark strong {
        font-size: 32px;
    }

    .dev-header-search-panel {
        padding: 16px 0;
    }

    .dev-header-search {
        width: 100%;
    }

    .dev-feature-nav {
        flex-wrap: nowrap;
        overflow-x: auto;
    }

    .dev-page-wrap {
        padding-top: 24px;
    }

    .dev-home-front {
        padding: 24px 0;
    }

    .dev-home-intro h1 {
        font-size: 38px;
        line-height: 1.04;
    }

    .dev-spotlight-visual {
        min-height: 160px;
    }

    .dev-board-grid,
    .dev-front-stats {
        grid-template-columns: 1fr !important;
    }
}

/* Board pages keep the DEV right rail visible */
.dev-container-grid.dev-container-grid-board {
    grid-template-columns: minmax(0, 1fr) 300px !important;
    gap: 34px;
    align-items: start;
}

.dev-container-grid-board .dev-aside {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px;
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.dev-container-grid-board .dev-side-panel {
    padding: 0 0 18px;
    border-top: 3px solid #101418 !important;
    border-bottom: 1px solid var(--dev-line) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.dev-container-grid-board .dev-side-panel-dark {
    color: var(--dev-text) !important;
}

.dev-container-grid-board .dev-section-title {
    padding-top: 12px;
}

.dev-container-grid-board .dev-section-title span {
    color: var(--dev-orange) !important;
}

.dev-container-grid-board .dev-side-links,
.dev-container-grid-board .dev-mini-board-list {
    margin: 10px 0 0;
    padding: 0;
}

.dev-container-grid-board .dev-side-links li,
.dev-container-grid-board .dev-mini-board-list li {
    margin: 0;
}

.dev-container-grid-board .dev-side-links a,
.dev-container-grid-board .dev-mini-board-list a {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 0;
    padding: 12px 0;
    border-top: 1px solid var(--dev-line) !important;
    background: transparent !important;
    color: var(--dev-text) !important;
}

.dev-container-grid-board .dev-side-links a:hover,
.dev-container-grid-board .dev-mini-board-list a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.dev-container-grid-board .dev-mini-icon,
.dev-container-grid-board .dev-side-links svg {
    width: 24px;
    height: 24px;
    color: var(--dev-blue);
}

.dev-container-grid-board .dev-mini-board-list strong,
.dev-container-grid-board .dev-mini-board-list em,
.dev-container-grid-board .dev-side-links span {
    min-width: 0;
}

.dev-container-grid-board .dev-mini-board-list em {
    display: block;
    color: var(--dev-muted);
    font-size: 12px;
}

.dev-container-grid-board .dev-side-post-list {
    display: grid;
    gap: 0;
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
}

.dev-container-grid-board .dev-side-post-list li {
    margin: 0;
    border-top: 1px solid var(--dev-line);
}

.dev-container-grid-board .dev-side-post-list a {
    display: grid;
    min-width: 0;
    gap: 7px;
    padding: 12px 0;
    color: var(--dev-text) !important;
    text-decoration: none;
}

.dev-container-grid-board .dev-side-post-list a:hover strong {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.dev-container-grid-board .dev-side-post-list strong {
    min-width: 0;
    color: var(--dev-text);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.dev-container-grid-board .dev-side-post-list span {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    color: var(--dev-muted);
    font-size: 12px;
    font-weight: 800;
}

.dev-container-grid-board .dev-side-post-list em {
    color: var(--dev-blue);
    font-style: normal;
}

.dev-container-grid-board .dev-side-post-list b {
    color: var(--dev-muted);
    font-weight: 800;
}

.dev-container-grid-board .dev-side-post-list-ranked a {
    grid-template-columns: 24px minmax(0, 1fr);
}

.dev-container-grid-board .dev-side-post-list-ranked i {
    display: inline-flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    grid-row: span 2;
    border: 1px solid #101418;
    background: #101418;
    color: #fff;
    font-family: "Space Grotesk", sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
}

.dev-container-grid-board .dev-side-post-list-ranked span {
    grid-column: 2;
}

.dev-container-grid-board .dev-side-empty {
    padding: 14px 0;
    color: var(--dev-muted);
    font-size: 13px;
    font-weight: 800;
}

.dev-container-grid-board #ol_before,
.dev-container-grid-board #ol_after {
    margin: 10px 0 0;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.dev-container-grid-board #ol_before h2,
.dev-container-grid-board #ol_after h2 {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.dev-container-grid-board #ol_id,
.dev-container-grid-board #ol_pw,
.dev-container-grid-board .frm_input {
    width: 100% !important;
    height: 42px;
    margin: 0 0 8px;
    padding: 0 10px !important;
    border: 1px solid rgba(16, 20, 24, 0.14) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--dev-text);
}

.dev-container-grid-board #ol_submit,
.dev-container-grid-board #ol_after_private a,
.dev-container-grid-board #ol_after_memo a,
.dev-container-grid-board #ol_after_pt a,
.dev-container-grid-board #ol_after_logout a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 12px !important;
    border: 1px solid #101418 !important;
    border-radius: 0 !important;
    background: #101418 !important;
    color: #fff !important;
    font-weight: 800;
    box-shadow: none !important;
    text-decoration: none !important;
}

.dev-container-grid-board #ol_svc,
.dev-container-grid-board .ol_after_private {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 0;
    padding: 10px 0 0;
    border-top: 1px solid var(--dev-line);
}

.dev-container-grid-board #ol_svc a,
.dev-container-grid-board .ol_after_hd a,
.dev-container-grid-board #ol_after_info a {
    color: var(--dev-muted) !important;
    font-size: 13px;
    font-weight: 800;
}

.dev-container-grid-board #ol_after_hd {
    padding: 0 0 12px;
    border-bottom: 1px solid var(--dev-line);
}

.dev-container-grid-board #ol_after_info,
.dev-container-grid-board #ol_after_private,
.dev-container-grid-board #ol_after_memo,
.dev-container-grid-board #ol_after_pt,
.dev-container-grid-board #ol_after_logout {
    margin: 10px 0 0;
}

@media (max-width: 1080px) {
    .dev-container-grid.dev-container-grid-board {
        grid-template-columns: 1fr !important;
    }

    .dev-container-grid-board .dev-aside {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 24px;
        padding-top: 22px;
        border-top: 1px solid var(--dev-line);
    }
}

@media (max-width: 720px) {
    .dev-container-grid-board .dev-aside {
        grid-template-columns: 1fr !important;
    }
}

/* Main latest section settings */
.dev-main-latest-saved {
    margin: 14px 0 0;
    padding: 10px 0;
    border-top: 1px solid #bbf7d0;
    border-bottom: 1px solid #bbf7d0;
    color: #047857;
    font-size: 13px;
    font-weight: 900;
}

.dev-home-spotlight {
    position: relative;
}

.dev-main-latest-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.dev-main-latest-setting {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid rgba(16, 20, 24, 0.14);
    border-radius: 0;
    background: transparent;
    color: var(--dev-text);
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    box-shadow: none;
    cursor: pointer;
}

.dev-home-spotlight > .dev-main-latest-setting {
    position: absolute;
    top: 14px;
    right: 0;
}

.dev-main-latest-setting svg {
    width: 15px;
    height: 15px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
}

.dev-main-latest-setting:hover,
.dev-main-latest-setting:focus {
    border-color: #101418;
    background: #101418;
    color: #fff;
}

.dev-spotlight-latest {
    display: grid;
    gap: 8px;
    margin: 12px 0 0;
    padding-top: 12px;
    border-top: 1px solid var(--dev-line);
}

.dev-spotlight-latest > strong {
    color: var(--dev-text);
    font-size: 13px;
    font-weight: 900;
}

.dev-spotlight-latest ul {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dev-spotlight-latest li {
    display: block;
    min-width: 0;
    padding: 10px 0;
    border-top: 1px solid var(--dev-line);
}

.dev-spotlight-latest li:first-child {
    border-top: 0;
}

.dev-spotlight-latest a {
    display: block;
    min-width: 0;
    color: var(--dev-text);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.dev-spotlight-latest span,
.dev-spotlight-latest .is-empty {
    color: var(--dev-muted);
    font-size: 12px;
    font-weight: 800;
}

.dev-main-latest-layer {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
}

.dev-main-latest-layer.is-open {
    display: block;
}

.dev-main-latest-layer__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.58);
}

.dev-main-latest-layer__dialog {
    position: relative;
    width: min(920px, calc(100vw - 34px));
    max-height: calc(100vh - 46px);
    margin: 23px auto;
    overflow: auto;
    padding: 22px;
    border: 1px solid #101418;
    border-radius: 0;
    background: #f7f9fc;
    color: var(--dev-text);
    box-shadow: none;
    outline: 0;
}

.dev-main-latest-layer__dialog header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 0 0 16px;
    border-bottom: 1px solid var(--dev-line);
}

.dev-main-latest-layer__dialog header span {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 0 8px;
    background: #101418;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.dev-main-latest-layer__dialog h3 {
    margin: 9px 0 6px;
    color: var(--dev-text);
    font-size: 24px;
    line-height: 1.2;
}

.dev-main-latest-layer__dialog p {
    margin: 0;
    color: var(--dev-muted);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.6;
}

.dev-main-latest-layer__dialog header button,
.dev-main-latest-layer__actions button {
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
}

.dev-main-latest-layer__dialog header button {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(16, 20, 24, 0.14);
    background: transparent;
    color: var(--dev-text);
    font-size: 22px;
    line-height: 1;
}

.dev-main-latest-board-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 22px;
    padding: 10px 0 0;
}

.dev-main-latest-board-options label {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 58px;
    padding: 12px 0;
    border-bottom: 1px solid var(--dev-line);
}

.dev-main-latest-board-options input {
    width: 16px;
    height: 16px;
}

.dev-main-latest-board-options span {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.dev-main-latest-board-options strong {
    color: var(--dev-text);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.35;
}

.dev-main-latest-board-options em {
    color: var(--dev-muted);
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
}

.dev-theme-latest-options {
    display: grid;
    gap: 0;
    max-height: min(56vh, 560px);
    overflow: auto;
    padding: 8px 0 0;
    border-bottom: 1px solid var(--dev-line);
}

.dev-theme-latest-options label {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 62px;
    padding: 12px 0;
    border-bottom: 1px solid var(--dev-line);
}

.dev-theme-latest-options label:last-child {
    border-bottom: 0;
}

.dev-theme-latest-options input {
    width: 16px;
    height: 16px;
}

.dev-theme-latest-options span {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.dev-theme-latest-options strong {
    min-width: 0;
    color: var(--dev-text);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.dev-theme-latest-options em {
    min-width: 0;
    color: var(--dev-muted);
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.dev-theme-latest-options__empty {
    padding: 26px 0;
    color: var(--dev-muted);
    font-size: 13px;
    font-weight: 800;
}

.dev-main-latest-layer__actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 16px;
}

.dev-main-latest-layer__actions button {
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid rgba(16, 20, 24, 0.14);
    background: transparent;
    color: var(--dev-text);
    font: inherit;
    font-weight: 900;
}

.dev-main-latest-layer__actions button[type="submit"] {
    border-color: #101418;
    background: #101418;
    color: #fff;
}

body.dev-main-latest-layer-opened {
    overflow: hidden;
}

.dev-skin-type-actions {
    display: grid;
    gap: 0;
    margin: 18px 0;
    border-top: 2px solid #101418;
    border-bottom: 1px solid var(--dev-line);
}

.dev-skin-type-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 14px 0;
    border-top: 1px solid var(--dev-line);
}

.dev-skin-type-line:first-child {
    border-top: 0;
}

.dev-skin-type-line > div {
    display: grid;
    grid-template-columns: 28px auto minmax(0, 1fr);
    gap: 8px 10px;
    align-items: center;
    min-width: 0;
}

.dev-skin-type-line span {
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    color: var(--dev-blue);
}

.dev-skin-type-line svg {
    width: 18px;
    height: 18px;
}

.dev-skin-type-line strong {
    color: var(--dev-text);
    font-size: 15px;
    font-weight: 900;
}

.dev-skin-type-line em {
    min-width: 0;
    color: var(--dev-muted);
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.dev-skin-type-line p {
    grid-column: 2 / 4;
    margin: 0;
    color: var(--dev-muted);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.55;
}

.dev-skin-badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 8px;
    border: 1px solid #101418;
    color: #101418;
    font-size: 12px;
    font-weight: 900;
}

.dev-inline-skin-form {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.dev-inline-skin-form select {
    min-height: 32px;
    border: 1px solid var(--dev-line);
    background: transparent;
    color: var(--dev-text);
    font-weight: 800;
}

.dev-inline-skin-form button,
.dev-skin-type-line button {
    min-height: 32px;
    padding: 0 10px;
}

@media (max-width: 720px) {
    .dev-skin-type-line {
        grid-template-columns: 1fr;
    }
}

/* Theme banner widget */
.dev-banner-widget {
    margin: 28px 0 34px;
}

.dev-banner-widget__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
    padding-top: 18px;
    border-top: 3px solid #101418;
}

.dev-banner-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 12px;
}

.dev-banner-card {
    position: relative;
    display: block;
    min-height: clamp(118px, 13vw, 166px);
    overflow: hidden;
    border: 1px solid rgba(16, 20, 24, 0.14);
    border-radius: 8px;
    background: #101418;
    color: #fff;
    text-decoration: none;
    isolation: isolate;
}

.dev-banner-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(16, 20, 24, 0.86), rgba(16, 20, 24, 0.42) 56%, rgba(16, 20, 24, 0.1)),
        linear-gradient(0deg, rgba(16, 20, 24, 0.72), transparent 58%);
    pointer-events: none;
}

.dev-banner-card__image,
.dev-banner-card__image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.dev-banner-card__image img {
    object-fit: cover;
    object-position: center;
    transition: transform 0.28s ease;
}

.dev-banner-card:hover .dev-banner-card__image img,
.dev-banner-card:focus .dev-banner-card__image img {
    transform: scale(1.04);
}

.dev-banner-card__copy {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: inherit;
    flex-direction: column;
    justify-content: flex-end;
    gap: 6px;
    padding: 15px;
}

.dev-banner-card__copy em {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    min-height: 22px;
    align-items: center;
    padding: 0 7px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.92);
    color: #101418;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dev-banner-card__copy strong {
    display: -webkit-box;
    max-width: 32ch;
    overflow: hidden;
    color: #fff;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.35;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.38);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.dev-banner-empty {
    min-height: 116px;
    padding: 34px 16px;
    border: 1px dashed rgba(16, 20, 24, 0.2);
    border-radius: 8px;
    color: var(--dev-muted);
    font-weight: 900;
    text-align: center;
}

.dev-banner-text-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0 16px;
    margin-top: 14px;
    border-top: 1px solid var(--dev-line);
    border-bottom: 1px solid var(--dev-line);
}

.dev-banner-text-links a {
    display: grid;
    min-width: 0;
    gap: 3px;
    padding: 11px 0;
    color: var(--dev-text);
    text-decoration: none;
}

.dev-banner-text-links a:hover strong,
.dev-banner-text-links a:focus strong {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.dev-banner-text-links strong {
    overflow: hidden;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dev-banner-text-links span {
    overflow: hidden;
    color: var(--dev-muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dev-banner-manager {
    display: grid;
    gap: 16px;
}

.dev-manager-lead {
    max-width: 860px;
    margin: 0;
    color: var(--dev-muted);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.7;
}

.dev-banner-manager-actions,
.dev-banner-admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dev-banner-admin-form {
    display: grid;
    gap: 14px;
}

.dev-banner-admin-list {
    display: grid;
    gap: 0;
    border-top: 2px solid #101418;
}

.dev-banner-admin-subhead {
    display: grid;
    gap: 6px;
    margin-top: 10px;
    padding-top: 18px;
    border-top: 2px solid #101418;
}

.dev-banner-admin-subhead p {
    margin: 0;
    color: var(--dev-muted);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.6;
}

.dev-banner-text-admin-list {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--dev-line);
}

.dev-banner-admin-row,
.dev-banner-text-admin-row {
    display: grid;
    grid-template-columns: 34px 34px minmax(0, 1fr) 86px 56px;
    gap: 10px;
    align-items: end;
    padding: 12px 0;
    border-bottom: 1px solid var(--dev-line);
}

.dev-banner-text-admin-row {
    grid-template-columns: 34px 34px minmax(0, 1fr) 56px;
}

.dev-banner-admin-row label,
.dev-banner-text-admin-row label {
    display: grid;
    grid-column: 1 / -1;
    min-width: 0;
    gap: 5px;
}

.dev-banner-admin-row label span,
.dev-banner-text-admin-row label span {
    color: var(--dev-muted);
    font-size: 11px;
    font-weight: 900;
}

.dev-banner-admin-row input[type="text"],
.dev-banner-admin-row input[type="file"],
.dev-banner-text-admin-row input[type="text"] {
    width: 100%;
    min-height: 38px;
    min-width: 0;
    border: 1px solid rgba(16, 20, 24, 0.14);
    border-radius: 0;
    background: transparent;
    color: var(--dev-text);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
}

.dev-banner-admin-row input[type="text"],
.dev-banner-text-admin-row input[type="text"] {
    padding: 0 10px;
}

.dev-banner-admin-row input[type="file"] {
    padding: 8px;
}

.dev-banner-admin-handle,
.dev-banner-admin-remove,
.dev-banner-admin-actions button {
    cursor: pointer;
}

.dev-banner-admin-handle,
.dev-banner-admin-remove {
    display: inline-flex;
    width: 34px;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(16, 20, 24, 0.14);
    border-radius: 0;
    background: transparent;
    color: var(--dev-text);
    font-weight: 900;
}

.dev-banner-admin-remove {
    width: 56px;
    color: var(--dev-red);
}

.dev-banner-admin-preview {
    grid-column: 1 / span 3;
    width: 86px;
    height: 48px;
    overflow: hidden;
    border: 1px solid rgba(16, 20, 24, 0.14);
    border-radius: 4px;
    background: #e5e7eb;
}

.dev-banner-admin-preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dev-banner-admin-preview span {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: var(--dev-muted);
    font-size: 11px;
    font-weight: 900;
}

@media (max-width: 720px) {
    .dev-banner-widget__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .dev-banner-strip {
        grid-template-columns: 1fr;
    }

    .dev-banner-card {
        min-height: 124px;
    }

    .dev-banner-admin-row {
        grid-template-columns: 34px 34px 1fr 56px;
    }

    .dev-banner-admin-row label,
    .dev-banner-text-admin-row label,
    .dev-banner-admin-preview {
        grid-column: 1 / -1;
    }

    .dev-banner-text-links {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .dev-main-latest-header-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .dev-home-spotlight > .dev-main-latest-setting {
        position: static;
        justify-self: start;
    }

    .dev-main-latest-layer__dialog {
        width: calc(100vw - 18px);
        max-height: calc(100vh - 18px);
        margin: 9px auto;
        padding: 16px;
    }

    .dev-main-latest-board-options {
        grid-template-columns: 1fr;
    }

    .dev-theme-latest-options {
        max-height: 58vh;
    }
}

/* Main right rail */
@media (min-width: 1081px) {
    .dev-container-grid:not(.dev-container-grid-board) {
        grid-template-columns: minmax(0, 1fr) 340px !important;
        gap: 28px;
        align-items: start;
    }

    .dev-container-grid:not(.dev-container-grid-board) > .dev-aside {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 22px;
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }

    .dev-container-grid:not(.dev-container-grid-board) > .dev-aside .dev-side-panel {
        padding: 0 0 18px;
        border-top: 3px solid #101418 !important;
        border-bottom: 1px solid var(--dev-line) !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .dev-container-grid:not(.dev-container-grid-board) > .dev-aside .dev-side-panel-dark {
        color: var(--dev-text) !important;
    }

    .dev-container-grid:not(.dev-container-grid-board) > .dev-aside .dev-side-panel-dark .dev-section-title span {
        color: #fff !important;
    }

    .dev-container-grid:not(.dev-container-grid-board) > .dev-aside .dev-side-panel-dark .dev-section-title strong {
        color: var(--dev-text) !important;
    }
}

@media (max-width: 1080px) {
    .dev-container-grid:not(.dev-container-grid-board) {
        grid-template-columns: 1fr !important;
    }

    .dev-container-grid:not(.dev-container-grid-board) > .dev-aside {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 22px;
        margin-top: 24px;
        padding-top: 22px;
        border-top: 1px solid var(--dev-line);
    }
}

@media (max-width: 720px) {
    .dev-container-grid:not(.dev-container-grid-board) > .dev-aside {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
   DENBOWIKI 추가: 우측 로그인 박스 · 영역(우측/푸터) 배너
   ============================================================ */

/* 내 컴포넌트는 border-box 강제 (dev.css에 전역 box-sizing 리셋이 없음) */
.dev-login-box, .dev-login-box *,
.dev-zone-banners, .dev-zone-banners * { box-sizing: border-box; }

/* 우측 로그인 박스 */
.dev-login-box {
    border: 1px solid var(--dev-line);
    border-radius: 22px;
    background: var(--dev-card);
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.07);
    padding: 18px;
}
.dev-login-box__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}
.dev-login-join {
    font-size: 12px;
    font-weight: 700;
    color: var(--dev-blue);
    text-decoration: none;
}
.dev-login-join:hover { text-decoration: underline; }
.dev-login-form { display: grid; gap: 8px; }
.dev-login-form input[type="text"],
.dev-login-form input[type="password"] {
    width: 100%;
    border: 1.5px solid var(--dev-line);
    border-radius: 12px;
    background: var(--dev-soft);
    padding: 11px 13px;
    font: inherit;
    font-size: 14px;
    outline: 0;
    transition: border-color .15s, background .15s;
}
.dev-login-form input:focus {
    border-color: var(--dev-blue);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(58, 134, 255, 0.14);
}
.dev-login-submit {
    border: 0;
    border-radius: 12px;
    background: #111827;
    color: #fff;
    padding: 12px;
    font: inherit;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: background .15s;
}
.dev-login-submit:hover { background: #000; }
.dev-login-sub {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 2px;
    font-size: 12px;
    color: var(--dev-muted);
}
.dev-login-auto { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }
.dev-login-sub a { color: var(--dev-muted); text-decoration: none; }
.dev-login-sub a:hover { color: var(--dev-blue); text-decoration: underline; }

/* 로그인 후 내정보 */
.dev-login-welcome { font-size: 15px; line-height: 1.5; margin-bottom: 12px; }
.dev-login-welcome strong { font-weight: 800; }
.dev-login-badge {
    display: inline-block;
    margin-left: 4px;
    padding: 1px 7px;
    border-radius: 999px;
    background: var(--dev-orange);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    font-style: normal;
}
.dev-login-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.dev-login-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid var(--dev-line);
    border-radius: 10px;
    background: var(--dev-soft);
    padding: 9px;
    color: var(--dev-text);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s, border-color .15s, color .15s;
}
.dev-login-btn:hover { border-color: var(--dev-blue); color: var(--dev-blue); background: #eef4ff; }
.dev-login-btn--ghost { color: var(--dev-muted); }
.dev-login-btn--admin { grid-column: 1 / -1; background: #111827; color: #fff; border-color: #111827; }
.dev-login-btn--admin:hover { background: #000; color: #fff; }
.dev-login-stat {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 12px 0 0;
}
.dev-login-stat div {
    border: 1px solid var(--dev-line);
    border-radius: 10px;
    padding: 8px 10px;
    background: var(--dev-soft);
}
.dev-login-stat dt { font-size: 11px; color: var(--dev-muted); font-weight: 700; }
.dev-login-stat dd { margin: 2px 0 0; font-size: 16px; font-weight: 800; }

/* 영역 배너 (우측/푸터 공용) */
.dev-zone-banners {
    border: 1px solid var(--dev-line);
    border-radius: 22px;
    background: var(--dev-card);
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.07);
    padding: 16px;
}
.dev-zone-banners__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.dev-zone-banners__manage {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 700;
    color: var(--dev-muted);
    text-decoration: none;
}
.dev-zone-banners__manage svg { width: 15px; height: 15px; }
.dev-zone-banners__manage:hover { color: var(--dev-blue); }
.dev-zone-banners__list { display: grid; gap: 12px; justify-content: center; }

/* 우리 aside 콘텐츠는 항상 1열로 고정 (dev.css의 태블릿 3열 규칙 무력화) */
.dev-container-grid:not(.dev-container-grid-board) > .dev-aside {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    align-content: start;
}

.dev-zone-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--bw);
    height: var(--bh);
    max-width: 100%;
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    background: var(--dev-soft);
    text-decoration: none;
}
.dev-zone-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dev-zone-banner__placeholder {
    color: var(--dev-muted);
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
}
.dev-zone-banner__placeholder small { font-weight: 500; opacity: .8; }
.dev-zone-banner--empty {
    border: 1.5px dashed var(--dev-line-strong, #cbd5e1);
    background: repeating-linear-gradient(45deg, #fafbfc, #fafbfc 8px, #f1f4f8 8px, #f1f4f8 16px);
}
.dev-zone-banner--empty:hover { border-color: var(--dev-blue); color: var(--dev-blue); }

/* 푸터 위 배너: 가로 4열 */
.dev-zone-banners--footer {
    width: min(1480px, calc(100% - 32px));
    margin: 24px auto 0;
}
.dev-zone-banners--footer .dev-zone-banners__list {
    grid-template-columns: repeat(4, var(--bw));
    justify-content: center;
}
@media (max-width: 900px) {
    .dev-zone-banners--footer .dev-zone-banners__list { grid-template-columns: repeat(2, var(--bw)); }
}
@media (max-width: 480px) {
    .dev-zone-banners--footer .dev-zone-banners__list { grid-template-columns: var(--bw); }
    .dev-zone-banner { width: 100%; }
}

/* ============================================================
   DENBOWIKI 홈 인트로 정보 카드 (버튼·통계 단순화 대체)
   ============================================================ */
.dw-home-card {
    box-sizing: border-box;
    margin-top: 18px;
    padding: 22px 24px;
    border: 1px solid var(--dev-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
}
.dw-home-card * { box-sizing: border-box; }
.dw-home-card__title {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--dev-line);
}
.dw-home-card__title strong {
    font-family: "Space Grotesk", "IBM Plex Sans KR", sans-serif;
    font-size: 22px;
    font-weight: 800;
}
.dw-home-card__title span {
    font-size: 13px;
    font-weight: 700;
    color: var(--dev-muted);
}
.dw-home-facts {
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
    display: grid;
    gap: 10px;
}
.dw-home-facts li {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 15px;
}
.dw-home-facts li > span {
    min-width: 96px;
    color: var(--dev-muted);
    font-weight: 600;
}
.dw-home-facts li > strong {
    font-family: "Space Grotesk", "IBM Plex Sans KR", sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: var(--dev-text);
    line-height: 1;
}
.dw-home-facts li > em { font-style: normal; color: var(--dev-muted); font-size: 13px; }
.dw-home-tagline {
    margin: 16px 0 0;
    padding-top: 14px;
    border-top: 1px dashed var(--dev-line);
    font-size: 15px;
    font-weight: 700;
    color: var(--dev-text);
}
.dw-home-access {
    margin: 14px 0 0;
    font-size: 14px;
    color: var(--dev-muted);
}
.dw-home-access em { font-style: normal; color: var(--dev-green, #0f766e); font-weight: 700; }
.dw-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
@media (max-width: 480px) {
    .dw-home-actions .dev-action-button,
    .dw-home-actions .dev-outline-button { flex: 1 1 100%; justify-content: center; }
}

/* ============================================================
   우측 사이드 - 게시판 최신글 (배너 위)
   ============================================================ */
.dev-side-latest {
    border: 1px solid var(--dev-line);
    border-radius: 18px;
    background: var(--dev-card);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}
.dev-side-latest__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 14px 16px 10px;
    border-bottom: 1px solid var(--dev-line);
}
.dev-side-latest__head .dev-section-title { display: grid; gap: 2px; }
.dev-side-latest__head .dev-section-title span { color: var(--dev-blue); }
.dev-side-latest__head .dev-section-title strong { font-size: 15px; font-weight: 800; }
.dev-side-latest__more {
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 700;
    color: var(--dev-muted);
    text-decoration: none;
}
.dev-side-latest__more:hover { color: var(--dev-blue); }
.dev-side-latest__list { list-style: none; margin: 0; padding: 6px 0; }
.dev-side-latest__list > li { border-bottom: 1px solid #f1f4f8; }
.dev-side-latest__list > li:last-child { border-bottom: 0; }
.dev-side-latest__list > li > a {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    padding: 9px 16px;
    color: var(--dev-text);
    text-decoration: none;
    transition: background .12s;
}
.dev-side-latest__list > li > a:hover { background: var(--dev-soft); }
.dev-side-latest__title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.45;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dev-side-latest__cmt { font-style: normal; color: var(--dev-orange); font-weight: 800; }
.dev-side-latest__date { flex: 0 0 auto; font-style: normal; font-size: 11px; color: var(--dev-muted); }
.dev-side-latest__empty { padding: 14px 16px; color: var(--dev-muted); font-size: 13px; }

/* 우측 사이드 로그인 박스 내 소셜 로그인 버튼 */
.denbo-sns-login-wrap { padding: 4px 16px 16px; }
.denbo-sns-login-wrap #sns_login { margin: 0; }
.denbo-sns-login-wrap #sns_login h3 {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    color: var(--dev-muted);
    text-align: left;
}
.denbo-sns-login-wrap .sns-wrap { gap: 8px; }

/* 헤더 검색창 안내 문구 */
.dev-header-search-note {
    margin: 6px 4px 0;
    font-size: 12px;
    color: var(--dev-muted);
    line-height: 1.4;
}

/* ============================================================
   홈 우측 - 게시판 최신글 위젯 (공지사항/건강보험뉴스)
   ============================================================ */
.dev-home-spotlight { display: grid; gap: 16px; }
.denbo-home-board {
    border: 1px solid var(--dev-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(15,23,42,.05);
    overflow: hidden;
}
.denbo-home-board__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--dev-line);
    background: var(--dev-soft);
}
.denbo-home-board__title { font-size: 16px; font-weight: 800; color: #111827; }
.denbo-home-board__more { flex: 0 0 auto; font-size: 12px; font-weight: 700; color: var(--dev-muted); text-decoration: none; }
.denbo-home-board__more:hover { color: var(--dev-blue); }
.denbo-home-board__list { list-style: none; margin: 0; padding: 6px 0; }
.denbo-home-board__list > li { border-bottom: 1px solid #f1f4f8; }
.denbo-home-board__list > li:last-child { border-bottom: 0; }
.denbo-home-board__list > li > a {
    display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
    padding: 10px 16px; color: #111827; text-decoration: none; transition: background .12s;
}
.denbo-home-board__list > li > a:hover { background: var(--dev-soft); }
.denbo-home-board__list .t {
    flex: 1 1 auto; min-width: 0; font-size: 14px; font-weight: 600; line-height: 1.45;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.denbo-home-board__list em { flex: 0 0 auto; font-style: normal; font-size: 11px; color: var(--dev-muted); }
.denbo-home-board__empty { padding: 14px 16px; color: var(--dev-muted); font-size: 13px; }

/* 공지사항: 검은 바탕 흰 글씨 헤더 */
.denbo-home-board--dark .denbo-home-board__head { background: #111827; border-bottom-color: #111827; }
.denbo-home-board--dark .denbo-home-board__title { color: #fff; }
.denbo-home-board--dark .denbo-home-board__more { color: #cbd5e1; }
.denbo-home-board--dark .denbo-home-board__more:hover { color: #fff; }

/* ============================================================
   홈 - 관련 사이트 링크 바 (푸터 배너 위)
   ============================================================ */
.denbo-related-sites { width: min(1480px, calc(100% - 32px)); margin: 24px auto 0; }
.denbo-related-sites__inner {
    border: 1px solid var(--dev-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(15,23,42,.05);
    padding: 16px 20px;
}
.denbo-related-sites__head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 12px; }
.denbo-related-sites__kicker {
    font: 700 11px/1 "Space Grotesk","IBM Plex Sans KR",sans-serif;
    letter-spacing: .14em; text-transform: uppercase; color: var(--dev-blue);
}
.denbo-related-sites__head strong { font-size: 16px; font-weight: 800; color: #111827; }
.denbo-related-sites__list { display: flex; flex-wrap: wrap; gap: 8px; }
.denbo-related-sites__list a {
    display: inline-flex; align-items: center;
    padding: 8px 14px;
    border: 1.5px solid var(--dev-line);
    border-radius: 999px;
    background: var(--dev-soft);
    color: #1f2937;
    font-size: 13.5px; font-weight: 700;
    text-decoration: none;
    transition: all .12s;
}
.denbo-related-sites__list a:hover {
    border-color: var(--dev-blue);
    background: #eef4ff;
    color: var(--dev-blue);
}
@media (max-width: 600px) {
    .denbo-related-sites__list a { flex: 1 1 calc(50% - 8px); justify-content: center; }
}

/* 헤더 우측 방문자 수 (오늘/전체) */
.dev-header-visit {
    display: inline-flex;
    gap: 6px;
    align-items: center;
}
.dev-header-visit > span {
    display: inline-flex;
    gap: 5px;
    align-items: center;
    padding: 8px 10px;
    border-radius: 999px;
    background: #f1f5f9;
    color: var(--dev-muted);
    font-size: 13px;
    white-space: nowrap;
}
.dev-header-visit i { font-style: normal; }
.dev-header-visit b { color: var(--dev-text); font-weight: 800; }
@media (max-width: 768px) {
    .dev-header-visit { display: none; }
}

/* ===== 첫 화면 인기/최근 검색어 위젯 ===== */
.denbo-home-search{margin-top:14px;padding:14px 16px;background:#fff;border:1px solid #e5e9f0;border-radius:14px;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.denbo-home-search__head{display:flex;align-items:center;margin-bottom:10px}
.denbo-home-search__title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:800;color:#0f172a}
.denbo-home-search__ic{font-size:15px}
.denbo-home-search__words{display:flex;flex-wrap:wrap;gap:7px}
.denbo-home-search__word{display:inline-flex;align-items:center;gap:6px;padding:5px 11px 5px 6px;background:#f0f9ff;border:1px solid #cfe9fb;border-radius:999px;font-size:13px;font-weight:600;color:#0c4a6e;text-decoration:none;transition:.15s}
.denbo-home-search__word:hover{background:#0ea5e9;border-color:#0ea5e9;color:#fff}
.denbo-home-search__rank{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:#0ea5e9;color:#fff;border-radius:999px;font-size:11px;font-weight:800;line-height:1}
.denbo-home-search__word:hover .denbo-home-search__rank{background:#fff;color:#0ea5e9}
.denbo-home-search__empty{margin:2px 0 0;font-size:12.5px;color:#94a3b8}
.denbo-home-search--aside{margin-top:16px}

/* ===== 첫 화면 통합자료집 검색창 ===== */
.dw-home-search{display:flex;align-items:center;gap:8px;max-width:560px;margin:18px 0 4px;padding:6px 6px 6px 16px;background:#fff;border:2px solid #0ea5e9;border-radius:999px;box-shadow:0 8px 24px rgba(14,165,233,.16)}
.dw-home-search__ic{font-size:16px;line-height:1;opacity:.85}
.dw-home-search__input,.dw-home-search input[type=search]{flex:1;min-width:0;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;font-size:15px;font-weight:600;color:#0f172a;padding:8px 6px;height:auto}
.dw-home-search__input::placeholder{color:#94a3b8;font-weight:500}
.dev-container .dw-home-search button[type="submit"],.dw-home-search__btn,.dw-home-search button[type=submit]{flex:none;display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 22px;background:#0ea5e9!important;color:#fff!important;border:0!important;border-radius:999px!important;font-size:14px;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(14,165,233,.35);transition:.15s}
.dw-home-search__btn:hover,.dw-home-search button[type=submit]:hover{background:#0284c7!important}
@media (max-width:640px){.dw-home-search{max-width:100%}.dw-home-search__btn,.dw-home-search button[type=submit]{padding:0 16px}}


/* ===== 메인 최신 댓글 (테마 최신글 아래) ===== */
.dev-home-comments{margin-top:18px}
.dev-home-comments__head{margin-bottom:12px}
.dev-home-comments__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 22px}
.dev-home-comments__list>li{border-bottom:1px solid #eef1f6}
.dev-home-comments__list>li>a{display:block;padding:11px 4px;text-decoration:none}
.dev-home-comments__body{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;font-weight:600;color:#0f172a;line-height:1.5}
.dev-home-comments__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:5px}
.dev-home-comments__src{min-width:0;font-size:12px;font-style:normal;color:#0ea5e9;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dev-home-comments__date{flex:none;font-size:12px;font-style:normal;color:#94a3b8}
.dev-home-comments__empty{color:#94a3b8;font-size:13px;padding:8px 4px}
@media (max-width:760px){.dev-home-comments__list{grid-template-columns:1fr}}

/* ===== 쪽지 진입 링크/배지 ===== */
.dev-header-memo{position:relative;display:inline-flex;align-items:center;gap:3px;font-weight:700}
.dev-header-memo__badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:2px;background:#ef4444;color:#fff;border-radius:999px;font-size:10px;font-weight:800;line-height:1}
.dev-login-btn--memo{position:relative}
.dev-login-memo-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:#ef4444;color:#fff;border-radius:999px;font-size:10px;font-weight:800;line-height:1;vertical-align:middle}
