@charset "utf-8";

.dev-view-board-head {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 0 0 14px;
}

.dev-view-board-link {
    display: inline-grid;
    grid-template-columns: 30px minmax(0, auto);
    gap: 9px;
    align-items: center;
    color: #101418;
    text-decoration: none;
}

.dev-view-board-icon,
.dev-view-board-head svg,
.dev-view-tool svg,
.dev-view-more-menu svg,
.dev-view-reaction svg {
    stroke: currentColor;
    fill: none;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dev-view-board-icon {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    color: #2563eb;
}

.dev-view-board-icon svg {
    width: 22px;
    height: 22px;
}

.dev-view-board-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.dev-view-board-copy em,
.dev-view-board-category {
    color: #ff6b35;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: 0.14em;
}

.dev-view-board-copy strong {
    color: #101418;
    font-size: 15px;
    font-weight: 900;
}

.dev-view-board-category {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 0 8px;
    border: 1px solid #d9dee7;
    color: #5f6772;
    letter-spacing: 0;
}

#bo_v_top .dev-view-toolbar {
    float: none !important;
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    margin: 0;
    padding: 0 !important;
    background: transparent !important;
    list-style: none;
}

#bo_v_top .dev-view-toolbar li {
    position: relative;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    background: transparent !important;
}

#bo_v_top .dev-view-tool {
    display: inline-flex !important;
    min-width: 0;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 10px !important;
    border: 1px solid #d9dee7 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #101418 !important;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: none !important;
}

#bo_v_top .dev-view-tool:hover,
#bo_v_top .dev-view-tool:focus {
    border-color: #101418 !important;
    background: #101418 !important;
    color: #fff !important;
}

#bo_v_top .dev-view-tool--primary {
    border-color: #101418 !important;
    background: #101418 !important;
    color: #fff !important;
}

#bo_v_top .dev-view-tool--scrap {
    border-color: #2563eb !important;
    color: #2563eb !important;
}

.dev-view-tool svg {
    width: 16px;
    height: 16px;
}

#bo_v_top .dev-view-more-menu {
    right: 0;
    left: auto;
    top: calc(100% + 8px);
    min-width: 138px;
    padding: 7px 0 !important;
    border: 0 !important;
    border-top: 2px solid #101418 !important;
    border-bottom: 1px solid #d9dee7 !important;
    background: #fff !important;
    box-shadow: none !important;
    z-index: 30;
}

#bo_v_top .dev-view-more-menu li {
    display: block;
    width: 100% !important;
}

#bo_v_top .dev-view-more-menu a {
    display: flex !important;
    align-items: center;
    gap: 8px;
    justify-content: flex-start;
    min-height: 34px;
    padding: 0 10px !important;
    color: #101418 !important;
    font-size: 13px;
    font-weight: 900;
}

.dev-view-more-menu svg {
    width: 15px;
    height: 15px;
    color: #2563eb;
}

#bo_v_share.dev-view-sharebar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    margin: 0 0 18px;
    padding: 0 0 14px;
    border-bottom: 1px solid #edf1f6;
}

#bo_v_share.dev-view-sharebar #bo_v_sns {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#bo_v_share.dev-view-sharebar #bo_v_sns li {
    margin: 0;
}

#bo_v_share.dev-view-sharebar #bo_v_sns a {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    gap: 6px;
    padding: 0 8px;
    border: 1px solid #d9dee7;
    color: #101418;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

#bo_v_act.dev-view-reactions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: center;
    margin: 34px 0;
    padding: 16px 0;
    border-top: 1px solid #edf1f6;
    border-bottom: 1px solid #edf1f6;
    text-align: center;
}

.dev-view-reactions__label {
    flex-basis: 100%;
    color: #5f6772;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
}

#bo_v_act.dev-view-reactions .dev-view-reaction {
    display: inline-flex !important;
    width: auto !important;
    min-width: 88px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0 !important;
    padding: 0 12px;
    border: 1px solid #101418 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #101418 !important;
    line-height: 1 !important;
    text-decoration: none;
}

#bo_v_act.dev-view-reactions .dev-view-reaction:hover,
#bo_v_act.dev-view-reactions .dev-view-reaction:focus {
    background: #101418 !important;
    color: #fff !important;
}

.dev-view-reaction svg {
    width: 17px;
    height: 17px;
}

.dev-view-reaction span {
    font-size: 13px;
    font-weight: 900;
}

.dev-view-reaction strong {
    font-family: "Space Grotesk", "IBM Plex Sans KR", sans-serif;
    font-size: 13px;
}

@media (max-width: 720px) {
    #bo_v_top .dev-view-toolbar,
    #bo_v_share.dev-view-sharebar {
        justify-content: flex-start;
    }

    #bo_v_top .dev-view-tool {
        min-height: 34px;
        padding: 0 9px !important;
        font-size: 12px;
    }

    .dev-view-board-head {
        margin-bottom: 10px;
    }
}

/* ===== 추천 버튼(button 리셋) 및 투표완료 ===== */
#bo_v_act.dev-view-reactions .dev-view-reaction{font-family:inherit;cursor:pointer}
#bo_v_act.dev-view-reactions .dev-view-reaction.is-voted{background:#101418 !important;color:#fff !important;cursor:default}
.dev-view-react-msg{margin-left:8px;font-size:12px;color:#0ea5e9;font-weight:700;opacity:0;transition:opacity .2s}
.dev-view-react-msg.is-on{opacity:1}

/* ===== 댓글 추천/비추천 ===== */
.dev-cmt-react{display:flex;align-items:center;gap:8px;margin:8px 0 2px}
.dev-cmt-react__btn{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border:1px solid #d7dce3;border-radius:999px;background:#fff;color:#475569;font-size:12px;font-weight:700;cursor:pointer;line-height:1;transition:.15s}
.dev-cmt-react__btn svg{width:14px;height:14px}
.dev-cmt-react__btn strong{font-size:12px}
.dev-cmt-react__btn:hover{border-color:#0ea5e9;color:#0ea5e9}
.dev-cmt-react__btn.is-voted{background:#0ea5e9;border-color:#0ea5e9;color:#fff;cursor:default}
.dev-cmt-react__btn--down:hover{border-color:#ef4444;color:#ef4444}
.dev-cmt-react__btn--down.is-voted{background:#ef4444;border-color:#ef4444;color:#fff}
.dev-cmt-react__msg{font-size:11.5px;color:#0ea5e9;font-weight:700}

/* ===== 작성자 이름 클릭 → 쪽지 보내기 ===== */
.dev-author-memo{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;cursor:pointer;vertical-align:middle}
.dev-author-memo__name{border-bottom:1px dashed #94a3b8;transition:.15s}
.dev-author-memo:hover .dev-author-memo__name,.dev-author-memo:active .dev-author-memo__name{color:#0ea5e9;border-bottom-color:#0ea5e9}
.dev-author-memo__tag{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;background:#e0f2fe;color:#0369a1;border:1px solid #7dd3fc;border-radius:999px;font-size:11px;font-weight:800;line-height:1;white-space:nowrap;transition:.15s}
.dev-author-memo__ic{font-size:11px;line-height:1}
.dev-author-memo:hover .dev-author-memo__tag,.dev-author-memo:active .dev-author-memo__tag{background:#0ea5e9;border-color:#0ea5e9;color:#fff}
/* 모바일: 터치 타겟 키우고 항상 잘 보이게 */
@media (max-width:720px){
  .dev-author-memo__tag{padding:4px 11px;font-size:12px}
}
