/*
 * XFastest Desktop UI Modern Layer
 * Version: 2.1.1-R1 / 2026-08-15
 * Scope: presentation only. No Discuz template/DIY/block behavior changes.
 */

/* ---------- Global ---------- */
html { background: #f4f6f8; }
body {
    background: #f4f6f8;
    color: #27313f;
    font-family: "Microsoft JhengHei", "PingFang TC", "Noto Sans TC", "Segoe UI", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
a { color: #26384d; transition: color .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease; }
a:hover { color: #f08300; text-decoration: none; }
::selection { background: #ffe1b8; color: #1f2937; }

/* ---------- New desktop header ---------- */
#page_headerbox {
    height: 172px;
    background: #121821;
    border-bottom: 1px solid #252e3a;
    box-shadow: 0 2px 12px rgba(0,0,0,.16);
}
#page_headerbox .in {
    position: relative;
    width: 1200px;
    height: 172px;
}
#page_headerbox .sitelogo {
    position: absolute;
    left: 0;
    top: 34px;
    float: none;
    width: 250px;
    height: 42px;
    padding: 0;
}
#page_headerbox .sitelogo a,
#page_headerbox .sitelogo img { display: block; }
#page_headerbox .sitelogo img { width: 250px; height: 42px; }
#page_headerbox .sitetopright {
    position: absolute;
    right: 0;
    top: 0;
    float: none;
    width: 900px;
    height: 116px;
}
#page_headerbox .sitetopright .box1 {
    float: none;
    width: 900px;
    height: 38px;
    padding: 0;
    color: #aeb8c6;
    font-size: 13px;
    line-height: 38px;
    text-align: right;
}
#page_headerbox .sitetopright .box2 {
    float: none;
    width: 900px;
    height: 70px;
    padding-top: 4px;
    overflow: hidden;
    text-align: right;
}
#page_headerbox .sitetopright .box2 img { max-height: 64px; width: auto; }
#toptb { border: 0; background: transparent; line-height: 38px; }
#toptb .y { line-height: 38px; }
#toptb a,
#um a,
#page_headerbox .sitetopright a { color: #c8d0dc; }
#toptb a:hover,
#um a:hover,
#page_headerbox .sitetopright a:hover { color: #ff9d2e; }
#um { padding: 0; line-height: 38px; color: #aeb8c6; }
#um p { line-height: 38px; }
#um .pipe, #toptb .pipe { color: #465160; }
#um #pm_ntc, #um #myprompt { color: #7cc8ff !important; }

/* ---------- Primary navigation ---------- */
#page_headerbox .sitemenu {
    position: absolute;
    left: 0;
    bottom: 0;
    float: none;
    clear: none;
    width: 1200px;
    height: 54px;
    background: #fff;
    border-radius: 10px 10px 0 0;
    box-shadow: 0 -1px 0 rgba(255,255,255,.04), 0 4px 14px rgba(0,0,0,.12);
    overflow: visible;
}
#nv1 { height: 54px; }
#nv1 .menu {
    display: flex;
    align-items: stretch;
    height: 54px;
    padding: 0 8px;
}
#nv1 .menu > #qmenu {
    display: block;
    float: none;
    width: auto;
    height: 54px;
    padding: 0 16px;
    border-right: 1px solid #edf0f3;
    background: transparent;
    color: #f08300;
    font-weight: 700;
    font-size: 14px;
    line-height: 54px;
    white-space: nowrap;
}
#nv1 .menu > #qmenu:hover { background: #fff7ed; color: #d96f00; }
#nv1 .menu > ul {
    display: flex;
    flex: 1;
    align-items: stretch;
    float: none;
    height: 54px;
    overflow: hidden;
}
#nv1 .menu > ul > li {
    position: relative;
    float: none;
    width: auto;
    height: 54px;
    line-height: 54px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
}
#nv1 .menu > ul > li > a {
    display: block;
    float: none;
    width: auto;
    height: 54px;
    padding: 0 15px;
    background: none;
    color: #344254;
    line-height: 54px;
    white-space: nowrap;
}
#nv1 .menu > ul > li > a:hover {
    background: #f7f8fa;
    color: #e77900;
}
#nv1 .menu > ul > li.a,
#nv1 .menu > ul > li.a > a {
    background: #fff7ed;
    color: #e77900;
}
#nv1 .menu > ul > li.a:after {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 0;
    height: 3px;
    content: "";
    background: #f08300;
    border-radius: 3px 3px 0 0;
}
#nv1 .menu > ul > li span { color: #9aa4b1; }
#mu {
    position: absolute;
    left: 0;
    top: 54px;
    z-index: 20;
    width: 1200px;
    background: rgba(255,255,255,.98);
    border: 1px solid #e5e9ef;
    border-top: 0;
    box-shadow: 0 8px 18px rgba(20,30,45,.10);
}
#mu ul { padding: 8px 14px; }
#mu a { color: #425066; }
#mu a:hover { color: #f08300; }

/* ---------- Page shell ---------- */
#page_contentbox {
    min-height: 360px;
    padding: 22px 0 30px;
    background: #f4f6f8;
}
#page_contentbox .in { width: 1200px; }
#page_contentbox .in1,
#page_contentbox .in2 { width: 1200px; background: none; }
.tenpxline { height: 0; background: none; }
.content_in {
    width: 1170px;
    padding: 15px;
    overflow: visible;
}
.wp { width: 1170px; }

/* ---------- Generic Discuz cards ---------- */
.bm {
    border: 1px solid #e4e8ee;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 9px rgba(23,35,51,.045);
}
.bm_h {
    height: auto;
    min-height: 42px;
    padding: 0 14px;
    border: 0;
    border-bottom: 1px solid #edf0f4;
    background: #fbfcfd;
    line-height: 42px;
}
.bm_h h1, .bm_h h2, .bm_h h3 { line-height: 42px; color: #263648; }
.bm_c { padding: 14px; }
.bmw { border: 0; }
.bmw .bm_h { border-radius: 9px 9px 0 0; }
.bbs { border-bottom-color: #edf0f4 !important; }
.bbda { border-bottom-color: #edf0f4; }

/* forum home */
#ct { margin-top: 0; }
#chart {
    margin-bottom: 12px;
    padding: 11px 14px;
    border: 1px solid #e7ebf0;
    border-radius: 9px;
    background: #fff;
    color: #6b7685;
}
#chart em { color: #e77900; font-weight: 700; }
.fl .bm { margin-bottom: 14px; overflow: hidden; }
.fl .bm_h { background: #f9fafb; }
.fl .bm_h h2 a { color: #263648; }
.fl .bm_h h2 a:hover { color: #e77900; }
.fl_row td, .fl_g { border-top-color: #edf0f4; }
.fl_g:hover, .fl_row tr:hover td { background: #fffaf4; }

/* thread list */
.tl .th {
    padding: 10px 8px;
    border-top: 0;
    border-bottom: 1px solid #e7ebf0;
    background: #f8fafc;
}
.tl td, .tl th { border-bottom-color: #edf0f4; }
.tl tbody tr:hover td { background: #fffaf5; }
.tl .icn { padding-left: 10px; }
.tl .common, .tl .new { color: #27394d; }

/* ---------- Forms / buttons ---------- */
.px, .pt, .ps, select {
    border-color: #d8dee7;
    border-radius: 6px;
    background-color: #fff;
    color: #344254;
}
.px:focus, .pt:focus, .ps:focus, select:focus {
    border-color: #f2a043;
    box-shadow: 0 0 0 2px rgba(240,131,0,.10);
    outline: 0;
}
.pn {
    height: 32px;
    border: 1px solid #d8dee7;
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
    color: #344254;
    line-height: 30px;
}
.pn:hover { border-color: #f0a34b; background: #fff8ef; color: #d96f00; }
.pnc {
    border-color: #e87d00;
    background: #f08300;
    color: #fff;
}
.pnc:hover { border-color: #d66f00; background: #df7600; color: #fff; }

/* ---------- Pagination ---------- */
.pg a, .pg strong, .pgb a {
    min-width: 30px;
    height: 30px;
    margin-left: 5px;
    padding: 0 9px;
    border: 1px solid #dde2e9;
    border-radius: 6px;
    background: #fff;
    line-height: 30px;
    text-align: center;
}
.pg a:hover, .pgb a:hover { border-color: #f0a34b; background: #fff8ef; color: #d96f00; }
.pg strong { border-color: #f08300; background: #f08300; color: #fff; }
.pgbtn a {
    border-color: #e0e5eb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 7px rgba(24,37,53,.05);
    color: #536174;
}
.pgbtn a:hover { border-color: #f0a34b; color: #d96f00; }

/* ---------- Portal home, preserve fixed DIY geometry ---------- */
#photos,
#photos .galleryview { border-radius: 10px; }
#photos .galleryview { box-shadow: 0 3px 12px rgba(23,35,51,.10); }
.nTab {
    border-color: #e2e6ec;
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(23,35,51,.07);
}
.nTab .TabTitle ul { background: #f8fafc; }
.nTab .TabTitle .normal { background: #f8fafc; color: #7b8796; }
.nTab .TabTitle .active { background: #fff3e4; color: #e77900; }
.nTab .TabContent .newsbox1 h1 { background: #f4f6f8; color: #d96f00; }
.nTab .TabContent .newsbox1 li a { background: none; text-indent: 8px; color: #3d4b5d; }
.nTab .TabContent .newsbox1 li a:before { content: "•"; margin-right: 8px; color: #f08300; }
.nTab .TabContent .newsbox1 li a:hover { background: none; color: #e77900; }
.index_box2 .listbox,
.index_box2 .listbox2 { border-bottom-color: #e5e9ef; }
.index_box2 .listbox:hover,
.index_box2 .listbox2:hover { background: #fffaf5; }
.index_box4 .tabbtn { background: #f4f6f8; }
.index_box4 .tabbtn li span { background: #596577; border-radius: 6px; }
.index_box4 .tabbtn li.current,
.index_box4 .tabbtn li.current span { background: #f08300; }
.index_right h1 { border-bottom-color: #f08300; color: #d96f00; }
.linksbox {
    border: 1px solid #e3e7ed;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(23,35,51,.05);
}
.content_in h3 { background: none; border-bottom: 1px solid #e5e9ef; }
.content_in h3 span { background: #f08300; border-radius: 5px 5px 0 0; }

/* ---------- Popups ---------- */
.p_pop, .p_pof, .sllt {
    border-color: #dfe4ea;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(20,30,45,.14);
}
.p_pop a:hover { background-color: #fff5e9; color: #d96f00; }

/* ---------- Footer ---------- */
#page_footerlinks {
    min-height: 90px;
    background: #171d25;
    border-top: 1px solid #252d38;
}
#page_footerlinks .in {
    width: 1200px;
    padding: 24px 0 18px;
    background: none;
}
#page_footerlinks dt { border-left-color: #f08300; border-bottom-color: #303846; color: #f2f4f7; }
#page_footerlinks li a { background: none; color: #8d98a7; text-indent: 12px; }
#page_footerlinks li a:before { content: "›"; margin-right: 7px; color: #f08300; }
#page_footerlinks li a:hover { background: none; color: #fff; }
#page_footercopyright {
    background: #11161d;
    border-top: 1px solid #252d38;
}
#page_footercopyright .in { width: 1200px; padding: 16px 0 18px; }
#page_footercopyright *, #page_footercopyright a { color: #7f8996; }
#page_footercopyright a:hover { color: #f5a13e; }
#ft { width: 1200px !important; color: #7f8996; }

/* ---------- Utility ---------- */
#scrolltop { filter: none; opacity: .92; }
#scrolltop a { border-radius: 7px; }
.focus .bm { box-shadow: 0 8px 26px rgba(20,30,45,.14); }

/* Keep DIY editor controls above modern layers. */
#diy-tg, #controlpanel, #diy-tg_menu { z-index: 10000 !important; }


/* ---------- v2.1.1: translucent dark sticky primary navigation ---------- */
#page_headerbox .sitemenu {
    background: rgba(31, 34, 39, .90);
    border: 1px solid rgba(255, 255, 255, .08);
    border-bottom-color: rgba(0, 0, 0, .34);
    border-radius: 10px 10px 0 0;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .22);
    -webkit-backdrop-filter: blur(14px) saturate(130%);
    backdrop-filter: blur(14px) saturate(130%);
}

#nv1,
#nv1 .menu { background: transparent; }

#nv1 .menu > #qmenu {
    border-right-color: rgba(255, 255, 255, .10);
    background: transparent;
    color: #ff9d2e;
}
#nv1 .menu > #qmenu:hover {
    background: rgba(255, 255, 255, .08);
    color: #ffb45e;
}

#nv1 .menu > ul > li > a {
    background: transparent;
    color: rgba(255, 255, 255, .88);
    text-shadow: 0 1px 1px rgba(0, 0, 0, .22);
}
#nv1 .menu > ul > li > a:hover {
    background: rgba(255, 255, 255, .08);
    color: #fff;
}
#nv1 .menu > ul > li.a,
#nv1 .menu > ul > li.a > a {
    background: rgba(255, 255, 255, .10);
    color: #fff;
}
#nv1 .menu > ul > li.a:after {
    background: #f08300;
    box-shadow: 0 -1px 8px rgba(240, 131, 0, .42);
}
#nv1 .menu > ul > li span { color: rgba(255, 255, 255, .60); }

#mu {
    background: rgba(31, 34, 39, .95);
    border-color: rgba(255, 255, 255, .10);
    border-top: 1px solid rgba(255, 255, 255, .06);
    box-shadow: 0 12px 26px rgba(0, 0, 0, .28);
    -webkit-backdrop-filter: blur(14px) saturate(130%);
    backdrop-filter: blur(14px) saturate(130%);
}
#mu a { color: rgba(255, 255, 255, .84); }
#mu a:hover { color: #ff9d2e; }

/* JS adds this class only after the page scrolls beyond the menu's original Y position. */
#page_headerbox .sitemenu.xfastest-nav-fixed {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    z-index: 800;
    width: 100% !important;
    border-width: 0 0 1px !important;
    border-radius: 0 !important;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .30);
}
#page_headerbox .sitemenu.xfastest-nav-fixed #nv1 {
    width: 1200px;
    margin: 0 auto;
}
#page_headerbox .sitemenu.xfastest-nav-fixed #mu {
    left: 50%;
    width: 1200px;
    margin-left: -600px;
}

/* A subtle state marker for future layout tuning; no visual offset is needed because the original menu is absolute. */
html.xfastest-nav-is-fixed #page_headerbox .sitemenu { will-change: transform; }
