/* 無效關鍵影格與幽靈動效 */
@keyframes _sw_phantom_line_v5 {
    0% { border-color: #1a1a1a; opacity: 0; }
    50% { border-color: #ff4d00; opacity: 0; }
    100% { border-color: #1a1a1a; opacity: 0; }
}

._sw_svg_ghost {
    animation: _sw_phantom_line_v5 12s infinite ease-in-out;
    position: absolute;
    top: -9999px;
    left: -9999px;
}

/* 瑞士海報微黃白基底 */
._sw_body_d7 {
    background-color: #f4f4f0;
    color: #1a1a1a;
}

/* 頂部導航 */
._sw_nav_bar {
    background: #ffffff;
    border-bottom: 2px solid #1a1a1a;
    padding: 16px 0;
}

._sw_nav_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

._sw_brand_zone {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
}

._sw_orange_tag {
    background: #ff4d00;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 900;
    padding: 3px 7px;
    letter-spacing: 0.05em;
}

._sw_h1_title {
    font-size: 1.2rem;
    font-weight: 900;
    color: #1a1a1a;
    margin: 0;
    letter-spacing: -0.02em;
}

._sw_header_meta {
    font-size: 0.82rem;
    color: #666666;
    font-weight: 700;
}

/* 橙色跑馬燈公告列 */
._sw_tape_bar {
    background: #ff4d00;
    color: #ffffff;
    padding: 10px 0;
    font-size: 0.85rem;
    font-weight: 800;
}

._sw_tape_inner {
    display: flex;
    align-items: center;
    gap: 12px;
}

._sw_tape_label {
    background: #1a1a1a;
    color: #ffffff;
    padding: 2px 6px;
    font-size: 0.72rem;
}

._sw_tape_txt {
    flex: 1;
}

/* 主版面：Flexbox 雙欄對齊 */
._sw_main_layout {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    margin-top: 30px;
    margin-bottom: 40px;
}

/* 左欄：文章流 */
._sw_left_stream {
    flex: 1;
    min-width: 0;
}

._sw_stream_hd h2 {
    font-size: 0.9rem;
    font-weight: 900;
    color: #ff4d00;
    letter-spacing: 0.08em;
    margin: 0 0 16px 0;
    border-bottom: 2px solid #1a1a1a;
    padding-bottom: 8px;
}

._sw_list_grid {
    display: flex;
    flex-direction: column;
}

._sw_article_row {
    display: flex;
    align-items: flex-start;
    padding: 22px 0;
    border-bottom: 1px solid #1a1a1a;
    cursor: pointer;
    transition: background 0.15s;
}

._sw_article_row:hover {
    background: rgba(255, 77, 0, 0.04);
}

._sw_row_num {
    font-size: 1.8rem;
    font-weight: 900;
    color: #ff4d00;
    width: 60px;
    flex-shrink: 0;
    line-height: 1;
}

._sw_row_content {
    flex: 1;
    min-width: 0;
    padding-right: 20px;
}

._sw_meta_line {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}

._sw_code_pill {
    font-size: 0.7rem;
    font-weight: 900;
    background: #1a1a1a;
    color: #ffffff;
    padding: 2px 6px;
}

._sw_date_str {
    font-size: 0.75rem;
    color: #666666;
    font-weight: 700;
}

._sw_h3_heading {
    font-size: 1.25rem;
    font-weight: 900;
    color: #1a1a1a;
    margin: 0 0 8px 0;
    line-height: 1.3;
}

._sw_row_p {
    font-size: 0.92rem;
    color: #444444;
    line-height: 1.6;
}

._sw_match_sp {
    color: #ff4d00;
    font-weight: 900;
}

._sw_row_act {
    width: 40px;
    text-align: right;
    flex-shrink: 0;
}

._sw_arrow_btn {
    font-size: 1.4rem;
    font-weight: 900;
    color: #1a1a1a;
    transition: color 0.15s;
}

._sw_article_row:hover ._sw_arrow_btn {
    color: #ff4d00;
}

/* 右欄：吸頂控制台 */
._sw_right_panel {
    width: 310px;
    flex-shrink: 0;
    position: sticky;
    top: 20px;
}

._sw_panel_box {
    background: #ffffff;
    border: 2px solid #1a1a1a;
    padding: 20px;
    box-shadow: 4px 4px 0 #1a1a1a;
}

._sw_panel_title {
    font-size: 0.85rem;
    font-weight: 900;
    color: #1a1a1a;
    border-bottom: 2px solid #1a1a1a;
    padding-bottom: 8px;
    margin-bottom: 14px;
    letter-spacing: 0.05em;
}

._sw_srch_form {
    display: flex;
    border: 2px solid #1a1a1a;
}

._sw_ipt_srch {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: none;
    padding: 8px 10px;
    font-size: 0.85rem;
    color: #1a1a1a;
    font-weight: 700;
}

._sw_btn_srch {
    background: #ff4d00;
    color: #ffffff;
    border: none;
    border-left: 2px solid #1a1a1a;
    padding: 8px 16px;
    font-weight: 900;
    font-size: 0.8rem;
    cursor: pointer;
}

._sw_faq_unit {
    cursor: pointer;
}

._sw_faq_q {
    font-size: 0.88rem;
    font-weight: 900;
    color: #1a1a1a;
    margin-bottom: 4px;
}

._sw_faq_a {
    font-size: 0.82rem;
    color: #666666;
    line-height: 1.5;
}

/* 寬幅 FAQ 板塊 */
._sw_bottom_faq {
    margin-bottom: 50px;
}

._sw_faq_board {
    background: #ffffff;
    border: 2px solid #1a1a1a;
    padding: 28px;
    box-shadow: 4px 4px 0 #1a1a1a;
}

._sw_board_title {
    font-size: 0.9rem;
    font-weight: 900;
    color: #ff4d00;
    margin: 0 0 16px 0;
    border-bottom: 2px solid #1a1a1a;
    padding-bottom: 8px;
    letter-spacing: 0.05em;
}

._sw_board_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    cursor: pointer;
}

/* 頁尾 */
._sw_ft_zone {
    background: #ffffff;
    border-top: 2px solid #1a1a1a;
    padding: 30px 0 20px;
}

._sw_link_matrix {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

._sw_lk_item {
    color: #1a1a1a;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 700;
}

._sw_lk_item:hover {
    color: #ff4d00;
}

/* 行動端適配 */
@media (max-width: 820px) {
    ._sw_main_layout {
        flex-direction: column;
    }
    ._sw_right_panel {
        width: 100%;
        position: static;
    }
    ._sw_board_grid {
        grid-template-columns: 1fr;
    }
}