/*
[name]现代红[/name]
[iconbgcolor]#c0092b[/iconbgcolor]
eztx.cn modern skin for zhikai_n5hangye, loaded only by the preview style via the `extstyle` style variable.
Keeps the original logo and brand red #c0092b; overrides typography, cards, buttons, forms, nav and footer.
2026-10-23 agent; rollback: see /opt/docker/main_service/web/backups/20261023-eztx-theme/README.txt
*/
:root {
	--ez-red: #c0092b;
	--ez-red-dark: #9a0722;
	--ez-red-deep: #7a0519;
	--ez-red-soft: #fdf1f3;
	--ez-bg: #f4f5f7;
	--ez-card: #fff;
	--ez-border: #e7e9ec;
	--ez-line: #f0f1f3;
	--ez-text: #262a2e;
	--ez-text-2: #555b63;
	--ez-muted: #8b9199;
	--ez-ft: #23272b;
	--ez-radius: 10px;
	--ez-radius-sm: 6px;
	--ez-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);
	--ez-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
}

/* ---------- page canvas & typography ---------- */
html { background: var(--ez-ft); }
body {
	background: var(--ez-bg) linear-gradient(180deg, var(--ez-red) 0, var(--ez-red) 188px, var(--ez-bg) 188px) no-repeat;
	display: flex; flex-direction: column; min-height: 100vh;
	-webkit-font-smoothing: antialiased;
}
body, input, button, select, textarea { font-family: var(--ez-font); color: var(--ez-text); }
body, input, button, select, textarea, .xs1 { font-size: 13px; }
a { color: var(--ez-text-2); }
a:hover { color: var(--ez-red); text-decoration: none; }
.xi1, .xi1 a { color: var(--ez-red) !important; }
.xi2, .xi2 a { color: #1f6fd1; }
.xg1, .xg1 a { color: var(--ez-muted) !important; }
::selection { background: rgba(192, 9, 43, .18); }
.yeslele-wrap { flex: 1 0 auto; display: flex; flex-direction: column; }
/* clearfix "." would become a flex item with min-height:auto and add ~23px of phantom scroll */
.yeslele-wrap::after { display: none; }
.yeslele-wrap > #wp { width: 1190px; }
.yeslele-wrap > #ft { margin-top: auto; }

/* ---------- top bar ---------- */
.login-info-wrap { height: 36px; line-height: 36px; background: rgba(0, 0, 0, .22); }
.login-info-wrap a { color: rgba(255, 255, 255, .78) !important; margin-left: 4px; }
.login-info-wrap a:hover { color: #fff !important; }
.login-info-wrap .y { color: rgba(255, 255, 255, .78); }

/* ---------- header & search ---------- */
.header { height: 108px; }
.header .n5_sousuo { margin-top: 32px; width: 440px; }
.main-serach, .main-serach #scbar { height: 42px; line-height: 42px; overflow: visible; }
.main-serach #scbar {
	display: flex; flex-direction: row-reverse; align-items: center;
	background: #fff; border-radius: 999px; padding: 4px; box-shadow: 0 6px 18px rgba(80, 0, 15, .25);
	box-sizing: border-box;
}
.main-serach #scbar_form { display: contents; }
.main-serach #scbar_txt {
	float: none; flex: 1; width: auto !important; height: 34px; line-height: 34px; padding: 0 16px;
	border: 0; background: transparent; font-size: 14px; color: var(--ez-text);
}
/* theme draws a PNG magnifier while Discuz also adds a dzicon glyph via ::before; keep only the glyph */
.main-serach #scbar_btn, .main-serach #scbar_btn:hover {
	float: none; flex: 0 0 auto; width: 64px; height: 34px; margin: 0; padding: 0; border-radius: 999px;
	background: var(--ez-red); background-image: none; color: #fff;
	font-size: 18px; line-height: 34px; text-align: center;
	transition: background-color .2s;
}
.main-serach #scbar_btn:hover { background-color: var(--ez-red-dark); }

/* ---------- main nav ---------- */
.main-nav-wrap { height: 44px; background: transparent; font-family: var(--ez-font); }
.main-nav { height: 44px; line-height: 44px; width: auto; }
.main-nav li { height: 44px; padding-right: 4px; }
.main-nav li a {
	height: 44px; padding: 0 20px; border-top: 0; font-size: 15px; color: rgba(255, 255, 255, .9);
	border-radius: var(--ez-radius) var(--ez-radius) 0 0; transition: background-color .2s, color .2s;
}
.main-nav li a span { font-size: 12px; opacity: .75; margin-left: 2px; }
.main-nav li a:hover { background: rgba(255, 255, 255, .14); color: #fff; border-top: 0; }
.main-nav li.on a, .main-nav li.on a:hover { background: var(--ez-bg); color: var(--ez-red); border-top: 0; font-weight: 600; }

/* ---------- breadcrumbs ---------- */
#pt { margin: 14px 0 10px; height: 22px; line-height: 22px; }
#pt .z a, #pt .z em, #pt .z span { height: 22px; font-size: 13px; }
#pt .z a { color: var(--ez-text-2); }
#pt .z a:hover { color: var(--ez-red); }
#pt .z em { color: #c4c8cd; }

/* ---------- cards ---------- */
.bm, .bmw, .tl.bm {
	border: 1px solid var(--ez-border); border-radius: var(--ez-radius); background: var(--ez-card);
	box-shadow: var(--ez-shadow); overflow: hidden;
}
.bm.bw0, #pt { box-shadow: none; overflow: visible; border-radius: 0; background: transparent; }
.bm.bw0 { border: 0; }
.fl.bm:not(.bmw) { border: 0; background: transparent; box-shadow: none; overflow: visible; border-radius: 0; }
.fl.bm:not(.bmw) > .bm { margin-bottom: 14px; }
.fl_tb { width: 100%; }
.bm_h, .bmw .bm_h, .fl .bm_h, .bm_h.cl {
	height: 44px; line-height: 44px; padding: 0 16px; background: #fff; border: 0;
	border-bottom: 1px solid var(--ez-line);
}
.bm_h h1, .bm_h h2, .bm_h h3, .bm_h .xs2 { font-size: 15px !important; font-weight: 600; color: var(--ez-text); }
.bm_h h2 a, .bm_h h3 a, .bmw .bm_h a { color: var(--ez-text); }
.bm_h h2::before, .bm_h h3::before, .bml .bm_h h1::before {
	content: ""; display: inline-block; width: 4px; height: 15px; margin: 0 8px 0 0; vertical-align: -2px;
	border-radius: 2px; background: var(--ez-red);
}
.bml .bm_h { height: auto; line-height: 1.6; padding: 14px 16px; border: 0; }
.bm_h .o em { margin-top: 14px; }
.bm_c { padding: 14px 16px; }
.mn > .bm, .mn > div > .bm, #ct .bm { margin-bottom: 14px; }

/* forum index / sub-forum list */
.fl { border: 0; background: transparent; }
.fl_tb td { padding: 14px 10px; border-bottom: 1px solid var(--ez-line); }
.fl_tb tr:last-child td { border-bottom: 0; }
.fl_tb tr:hover td { background: #fafbfc; }
.fl_g dt a, .fl_tb h2 a { font-size: 14px; font-weight: 600; color: var(--ez-text); }
.fl_tb h2 a:hover { color: var(--ez-red); }
.fl_icn { width: 52px; }
.fl_by { color: var(--ez-muted); }

/* forum stats line on index */
#chart { margin: 4px 0 12px; color: var(--ez-muted); }
#chart em { color: var(--ez-text); }

/* board left sidebar: theme never styled .bdl, lay it out beside the main column */
.boardnav #ct { display: flex; align-items: flex-start; gap: 16px; }
.boardnav #ct > .mn { flex: 1; min-width: 0; float: none; width: auto; }
.boardnav #ct { width: auto; }
.boardnav #ct::after { display: none; } /* clearfix "." would be a flex item + gap, stealing ~19px from .mn */

/* thread type / guide tabs (#thread_types.ttp) as pills */
.ttp { padding: 10px 12px; }
.ttp li { margin: 0 6px 0 0; }
.ttp li a, .ttp li.a a { border: 0; border-radius: 999px; padding: 0 14px; background: var(--ez-bg); color: var(--ez-text-2); line-height: 30px; height: 30px; }
.ttp li a:hover { background: var(--ez-red-soft); color: var(--ez-red); }
.ttp li.a a, .ttp li.xw1 a { background: var(--ez-red); color: #fff; font-weight: 600; }
#sd_bdl { flex: 0 0 200px; position: sticky; top: 12px; border: 0; background: transparent; overflow: visible; }
#sd_bdl .tbn { margin: 0; }
#sd_bdl dl { margin: 0; }
#sd_bdl dl.a { background: transparent; }
#sd_bdl dt { height: auto; line-height: 1.6; border: 0; background: transparent; }
#sd_bdl dd a { height: auto; line-height: 1.6; margin: 0; }
#forumleftside {
	border: 1px solid var(--ez-border); border-radius: var(--ez-radius); background: #fff; box-shadow: var(--ez-shadow);
	padding: 6px 0 10px; margin: 0;
}
#forumleftside .bdl_h { padding: 10px 16px 6px; font-size: 14px; color: var(--ez-text); }
#forumleftside dl { padding: 0 8px; }
#forumleftside dt a { display: block; padding: 6px 8px; font-weight: 600; color: var(--ez-text); }
#forumleftside dd a { display: block; padding: 6px 8px 6px 16px; border-radius: var(--ez-radius-sm); color: var(--ez-text-2); }
#forumleftside dd a:hover { background: var(--ez-bg); color: var(--ez-red); }
#forumleftside dd.bdl_a a { background: var(--ez-red-soft); color: var(--ez-red); font-weight: 600; }

/* user centre pages (消息 / 提醒 / 设置): ct2_a is a pixel-width float layout that pushes .appl down; use flex.
   post editor uses ct2_a_r and is left alone */
body:not(.pg_post) .ct2_a:not(.ct2_a_r) {
	display: flex; align-items: stretch; padding-left: 0;
	border: 1px solid var(--ez-border); border-radius: var(--ez-radius); background: #fff; box-shadow: var(--ez-shadow);
	overflow: hidden;
}
body:not(.pg_post) .ct2_a:not(.ct2_a_r)::after { display: none; }
body:not(.pg_post) .ct2_a:not(.ct2_a_r) > .appl {
	order: -1; flex: 0 0 180px; float: none; width: auto; margin: 0; padding: 12px 0;
	background: #fafbfc; border-right: 1px solid var(--ez-line);
}
body:not(.pg_post) .ct2_a:not(.ct2_a_r) > .mn { flex: 1; min-width: 0; float: none; width: auto; margin: 0; padding: 16px 24px; }
.appl .tbn { margin: 0; }
.appl .tbn .mt { padding: 6px 16px 10px; font-size: 15px; border: 0; }
.appl .tbn li { height: auto; margin: 0 8px; border: 0; border-radius: var(--ez-radius-sm); }
.appl .tbn ul a { height: auto; line-height: 36px; padding: 0 8px; }
.appl .tbn li:hover { background: var(--ez-bg); }
.appl .tbn li.a { margin: 0 8px; padding: 0; border: 0; background: var(--ez-red-soft); }
.appl .tbn li.a a { color: var(--ez-red); font-weight: 600; }

/* tabs */
.tb { padding-left: 0; border-bottom: 1px solid var(--ez-border); }
.tb a { padding: 0 14px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--ez-text-2); }
.tb a:hover { color: var(--ez-red); }
.tb .a a, .tb .current a { border: 0; border-bottom: 2px solid var(--ez-red); background: transparent; color: var(--ez-red); font-weight: 600; }
.tb .o, .tb .o a { height: 28px; line-height: 28px; border: 0; border-radius: var(--ez-radius-sm); background: var(--ez-red); color: #fff; }
.tb .o { margin: 1px 6px 0; }
.tb .o a:hover { background: var(--ez-red-dark); color: #fff; }

/* thread list */
.tl .th { padding: 10px 16px; background: #fff; border-bottom: 1px solid var(--ez-line); }
.tl .th a { color: var(--ez-text-2); }
.tl .th a.xw1, .tl .th .a a { color: var(--ez-red); }
.tl th, .tl td { border-bottom-color: var(--ez-line); }
.tl tbody:hover th, .tl tbody:hover td { background: #fafbfc; }
.tl th a.xst { font-size: 14px; color: var(--ez-text); }
.tl th a.xst:hover { color: var(--ez-red); }
.tl .emp { padding: 32px 0 !important; color: var(--ez-muted); text-align: center; }

/* post view */
#postlist { border: 1px solid var(--ez-border) !important; border-radius: var(--ez-radius); background: #fff; box-shadow: var(--ez-shadow); overflow: hidden; }
#postlist > table, #postlist .ad, #postlist > div { border-color: var(--ez-line) !important; }
.pls { background: #fafbfc; border-right: 1px solid var(--ez-line); }
.pls .avatar img { border-radius: 50%; padding: 4px; box-shadow: 0 2px 8px rgba(0, 0, 0, .1); }
.pls .pi { border-bottom-color: var(--ez-line); }
.plc .pi { border-bottom: 1px dashed var(--ez-line); }
.plc .t_f, .t_f { font-size: 15px; line-height: 1.8; color: var(--ez-text); }
.ts, .ts a { font-size: 20px; font-weight: 600; color: var(--ez-text); }
.po { border-top-color: var(--ez-line); }
#p_btn a, #p_btn a i { border-radius: var(--ez-radius-sm); background: var(--ez-bg); }
#p_btn a:hover, #p_btn a:hover i { background: var(--ez-red-soft); }
#f_pst, #postlist + .bm, #f_pst .bm_c, .pl .plm { border-radius: var(--ez-radius); }

/* ---------- buttons ---------- */
.pgsbtn, a.pgsbtn {
	background: var(--ez-red); border-radius: var(--ez-radius-sm); padding: 10px 18px; letter-spacing: 1px;
	box-shadow: 0 2px 6px rgba(192, 9, 43, .25);
}
.pgsbtn:hover { background: var(--ez-red-dark); color: #fff; }
.pgsbtn:active { box-shadow: 0 0 0 3px rgba(192, 9, 43, .2); }
.pn {
	display: inline-flex; align-items: center; justify-content: center;
	height: 34px; border: 1px solid #d5d8dc; border-radius: var(--ez-radius-sm); background: #fff; box-shadow: none;
	transition: background-color .2s, border-color .2s, box-shadow .2s;
}
.pn:hover { border-color: #c0c4c9; background: #f7f8f9; }
.pn em, .pn span, .pn strong { padding: 0 18px; line-height: normal; font-weight: 600; }
.pnc, a.pnc, .pnc:hover {
	border-color: var(--ez-red); background: var(--ez-red); color: #fff !important; box-shadow: 0 2px 6px rgba(192, 9, 43, .25);
}
.pnc:hover { border-color: var(--ez-red-dark); background: var(--ez-red-dark); }
.pgb a, .y.pgb a, a.bm_back, .pgs .y a {
	border-radius: var(--ez-radius-sm);
}

/* pagination */
.pg a, .pg strong, .pgb a, .pg label {
	height: 30px; line-height: 30px; padding: 0 11px; border-color: var(--ez-border); border-radius: var(--ez-radius-sm);
	background-color: #fff;
}
.pg a:hover, .pgb a:hover { border-color: var(--ez-red); background-color: var(--ez-red); }
.pg strong { border-color: var(--ez-red); background: var(--ez-red); }

/* ---------- forms ---------- */
.px, .pt, .ps, select {
	border: 1px solid #d5d8dc; border-radius: var(--ez-radius-sm); background: #fff;
	transition: border-color .2s, box-shadow .2s;
}
.px { height: 22px; padding: 5px 10px; line-height: 22px; }
.pt { padding: 8px 10px; }
select { height: 34px; padding: 0 8px; }
.px:focus, .pt:focus, .ps:focus, select:focus {
	outline: 0; border-color: var(--ez-red); box-shadow: 0 0 0 3px rgba(192, 9, 43, .14);
}
.pc { accent-color: var(--ez-red); }
.rfm { border-bottom: 1px solid var(--ez-line); }
.rfm th, .rfm td { padding: 12px 4px; line-height: 34px; }
.rfm .px { width: 260px; }
#fastpostmessage, .area .pt, .edt .area, .fpd { border-radius: var(--ez-radius-sm); }
.edt, .fpd, #fastposteditor { border-color: #d5d8dc !important; border-radius: var(--ez-radius-sm); overflow: hidden; }
.edt .bar, .fpd { background: #fafbfc; }

/* login / message boxes */
#ct .mn > .bm > .bm_h + div, #main_messaqge { padding: 10px 0; }
#ct .nfl .f_c { border-radius: var(--ez-radius); }

/* ---------- popups ---------- */
.p_pop, .p_pof, .sllt {
	padding: 6px; border: 1px solid var(--ez-border); border-radius: var(--ez-radius-sm);
	box-shadow: 0 10px 30px rgba(16, 24, 40, .12);
}
.p_pop a { padding: 6px 10px; border-bottom: 0; border-radius: 4px; }
.p_pop a:hover { background: var(--ez-bg); color: var(--ez-red); }
.fwinmask .m_c, .flb, .fwin .bm_c { border-radius: var(--ez-radius); }

/* ---------- footer (markup from footer.php branch for this style) ---------- */
#ft { padding: 0; border: 0; overflow: hidden; }
.ez-ft { margin-top: 24px; background: var(--ez-ft); color: #8d939a; font-size: 13px; line-height: 1.8; border-top: 3px solid var(--ez-red); }
.ez-ft a { color: #b9bec4; }
.ez-ft a:hover { color: #fff; }
.ez-ft-in { width: 1190px; margin: 0 auto; padding: 28px 0 24px; }
.ez-ft-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 16px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.ez-ft-brand { color: #e8eaed; font-size: 15px; font-weight: 600; letter-spacing: 1px; }
.ez-ft-brand small { display: block; margin-top: 2px; color: #8d939a; font-size: 12px; font-weight: normal; letter-spacing: 0; }
.ez-ft-nav a { margin-left: 18px; }
.ez-ft-nav .pipe { display: none; }
.ez-ft-meta { display: flex; justify-content: space-between; gap: 24px; padding-top: 16px; }
.ez-ft-meta p { margin: 0; }
.ez-ft-legal { text-align: right; white-space: nowrap; }
.ez-ft-legal a { color: #b9bec4; }

/* portal DIY frames */
.frame { border: 1px solid var(--ez-border); border-radius: var(--ez-radius); background: #fff; box-shadow: var(--ez-shadow); overflow: hidden; margin-top: 14px; }
.frame-title, .frame .title { height: 44px; line-height: 44px; padding: 0 16px; background: #fff; border: 0; border-bottom: 1px solid var(--ez-line); }
.frame-title .titletext { font-size: 15px; font-weight: 600; color: var(--ez-text); }
.frame-title .titletext::before { content: ""; display: inline-block; width: 4px; height: 15px; margin-right: 8px; vertical-align: -2px; border-radius: 2px; background: var(--ez-red); }
.frame .column { padding: 8px 0; }
.frame .block img { border-radius: var(--ez-radius-sm); }
/* image list in DIY blocks: centre the row; DIY inline styles fix li width and img to 500x350, which squashes non-10:7 images */
.frame .module ul { display: flex; justify-content: center; gap: 32px; padding: 12px 16px 4px; }
.frame .module ul > li[style] { float: none; width: 520px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; text-align: center; }
.frame .module ul > li img {
	display: block; width: 100%; height: auto; aspect-ratio: 10 / 7; object-fit: contain;
	background: #fafbfc; border: 1px solid var(--ez-border); box-sizing: border-box;
}
.frame .module ul > li p { margin-top: 10px; font-size: 14px; }
/* homepage "Welcome" frame: both images are 恩泽天下软件 screenshots -> one title, no per-image captions.
   DIY data is shared with styleid=3, so this is done in CSS for the preview; edit the DIY frame itself when switching default */
#frameEWKB31 .frame-title .titletext { font-size: 0; }
#frameEWKB31 .frame-title .titletext::after { content: "恩泽天下软件"; font-size: 15px; }
#portal_block_23 .module ul > li p { display: none; }
#portal_block_23 .module ul { padding-bottom: 12px; }

/* misc */
#scrolltop a { border-radius: var(--ez-radius-sm); }
