/* F2 community-forum family stylesheet — steel-blue forum system.
   Palette: forum blue + blue-grey rules on light grey ground. */
:root {
    --fm-blue:#2f5b8f;
    --fm-blue-dark:#21456E;
    --fm-blue-deep:#18334F;
    --fm-steel:#E8EEF4;
    --fm-steel-soft:#F2F6FA;
    --fm-line:#c3d0dd;
    --fm-line-soft:#dde5ec;
    --fm-bg:#EEF1F4;
    --fm-ink:rgb(38,49,60);
    --fm-mute:rgb(104,121,138);
    --fm-hot:#b3541e;
    --fm-gold:rgb(168,123,18);
    --fm-maxw:1080px;
    --fm-sans:system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}

* {
    box-sizing:border-box;
}

html {
    -webkit-text-size-adjust:100%;
}

body {
    margin:0;
    background:var(--fm-bg);
    color:var(--fm-ink);
    font-family:var(--fm-sans);
    font-size:15.5px;
    line-height:1.75;
}

a {
    color:var(--fm-blue);
    text-decoration:none;
}

a:hover {
    color:var(--fm-hot);
    text-decoration:underline;
}

a:focus-visible {
    outline:2px solid var(--fm-blue);
    outline-offset:2px;
}

::selection {
    background:#cfdff2;
}

.fm-wrap {
    max-width:var(--fm-maxw);
    margin:0 auto;
    padding:0 14px;
}

main {
    display:block;
    max-width:var(--fm-maxw);
    margin:0 auto;
    padding:14px 14px 8px;
}

main h1 {
    font-size:25px;
    line-height:1.4;
    margin:2px 0 8px;
    color:var(--fm-blue-deep);
}

main h2 {
    font-size:19px;
    line-height:1.45;
    margin:1.3em 0 .5em;
    color:var(--fm-blue-deep);
}

main h3 {
    font-size:16.5px;
    line-height:1.5;
    margin:1em 0 .4em;
}

main p {
    margin:0 0 .95em;
}

main ul,main ol {
    margin:.2em 0 1em;
    padding-left:1.35em;
}

main li {
    margin:.24em 0;
}

main strong {
    color:var(--fm-blue-dark);
}

main img {
    max-width:100%;
    height:auto;
}

.fm-topbar {
    background:var(--fm-blue-deep);
    color:rgb(185,203,221);
    font-size:12.5px;
}

.fm-topbar .fm-wrap {
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding-top:5px;
    padding-bottom:5px;
    flex-wrap:wrap;
}

.fm-topbar a {
    color:#DBE7F2;
}

.fm-topbar .fm-crumb b {
    color:#FFFFFF;
    font-weight:600;
}

.fm-headband {
    background:linear-gradient(180deg,var(--fm-blue) 0%,var(--fm-blue-dark) 100%);
    color:#eaf1f8;
    border-bottom:3px solid var(--fm-blue-deep);
}

.fm-headrow {
    display:flex;
    align-items:center;
    gap:18px;
    padding:16px 0 14px;
    flex-wrap:wrap;
}

.fm-logoblock {
    flex:none;
    width:52px;
    height:52px;
    border-radius:10px;
    background:#FFFFFF;
    color:var(--fm-blue-dark);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:27px;
    font-weight:800;
    line-height:1;
    box-shadow:inset 0 0 0 2px var(--fm-line);
}

.fm-commname {
    font-size:29px;
    font-weight:800;
    line-height:1.25;
    margin:0;
    color:#FFFFFF;
}

.fm-commtag {
    font-size:13.5px;
    color:rgb(198,214,230);
    margin:2px 0 0;
}

.fm-headdate {
    margin-left:auto;
    font-size:12.5px;
    color:#C6D6E6;
    text-align:right;
    line-height:1.7;
}

.fm-headdate b {
    color:#ffffff;
    font-weight:600;
}

.fm-boardnav {
    background:#ffffff;
    border-bottom:1px solid var(--fm-line);
}

.fm-boardnav .fm-wrap {
    display:flex;
    flex-wrap:wrap;
    gap:0;
}

.fm-boardnav a {
    font-size:15px;
    font-weight:600;
    color:var(--fm-blue-dark);
    padding:9px 14px;
    border-right:1px solid var(--fm-line-soft);
}

.fm-boardnav a:first-child {
    background:var(--fm-blue);
    color:#FFFFFF;
}

.fm-boardnav a:hover {
    background:var(--fm-steel);
    text-decoration:none;
}

.fm-boardnav a:first-child:hover {
    background:var(--fm-blue-dark);
    color:#ffffff;
}

.fm-crumbs {
    font-size:13px;
    color:var(--fm-mute);
    margin:0 0 10px;
}

.fm-crumbs ol {
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    gap:2px 5px;
    padding:0;
    margin:0;
}

.fm-crumbs li {
    margin:0;
}

.fm-crumbs li+li::before {
    content:"»";
    margin-right:5px;
    color:var(--fm-mute);
}

.fm-crumbs a {
    color:var(--fm-mute);
    text-decoration:underline;
}

.fm-stats {
    display:flex;
    flex-wrap:wrap;
    gap:0;
    background:rgb(255,255,255);
    border:1px solid var(--fm-line);
    margin:0 0 12px;
}

.fm-stat {
    flex:1 1 120px;
    text-align:center;
    padding:9px 6px 7px;
    border-right:1px solid var(--fm-line-soft);
}

.fm-stat:last-child {
    border-right:none;
}

.fm-stat b {
    display:block;
    font-size:21px;
    line-height:1.25;
    color:var(--fm-blue-dark);
}

.fm-stat span {
    font-size:12.5px;
    color:var(--fm-mute);
}

.fm-notice {
    background:rgb(255,251,233);
    border:1px solid #E4D9A8;
    padding:9px 14px;
    margin:0 0 16px;
    font-size:14px;
    line-height:1.7;
}

.fm-notice b {
    color:var(--fm-gold);
    margin-right:8px;
}

.fm-panel {
    background:rgb(255,255,255);
    border:1px solid var(--fm-line);
    margin:0 0 18px;
}

.fm-panelhead {
    display:flex;
    align-items:baseline;
    gap:10px;
    background:var(--fm-steel);
    border-bottom:1px solid var(--fm-line);
    padding:8px 14px;
}

.fm-panelhead h2 {
    font-size:17px;
    margin:0;
    color:var(--fm-blue-dark);
}

.fm-panelhead .fm-pk {
    font-size:11px;
    letter-spacing:.14em;
    color:var(--fm-mute);
    font-weight:700;
}

.fm-panelhead .fm-pmore {
    font-size:13px;
    margin-left:auto;
    white-space:nowrap;
}

.fm-panelbody {
    padding:6px 14px 12px;
}

.fm-boardtable {
    width:100%;
    border-collapse:collapse;
    font-size:14.5px;
}

.fm-boardtable th {
    background:var(--fm-steel-soft);
    color:var(--fm-blue-dark);
    text-align:left;
    font-size:13px;
    padding:7px 10px;
    border-bottom:1px solid var(--fm-line);
}

.fm-boardtable td {
    padding:10px;
    border-bottom:1px solid var(--fm-line-soft);
    vertical-align:top;
}

.fm-boardtable tr:last-child td {
    border-bottom:none;
}

.fm-boardtable tr:hover td {
    background:var(--fm-steel-soft);
}

.fm-bname {
    font-size:16.5px;
    font-weight:700;
}

.fm-bname a {
    color:var(--fm-blue-deep);
}

.fm-bintro {
    font-size:13px;
    color:var(--fm-mute);
    line-height:1.6;
    margin:2px 0 0;
}

.fm-bcount {
    font-size:19px;
    font-weight:700;
    color:var(--fm-blue-dark);
    text-align:center;
    white-space:nowrap;
}

.fm-bcount span {
    display:block;
    font-size:11.5px;
    color:var(--fm-mute);
    font-weight:400;
}

.fm-blatest {
    min-width:200px;
}

.fm-blatest a {
    font-weight:600;
}

.fm-blatest span {
    color:var(--fm-mute);
    font-size:12.5px;
    display:block;
}

.fm-blatest .fm-bhot {
    margin-top:3px;
}

.fm-blatest .fm-bhot a {
    font-weight:400;
}

.fm-helpquick {
    margin:.35em 0 .6em;
    padding-left:1.15em;
    font-size:13.5px;
    line-height:1.95;
}

.fm-tlist {
    list-style:none;
    margin:0;
    padding:0;
}

.fm-trow {
    display:flex;
    gap:12px;
    align-items:baseline;
    padding:9px 2px;
    border-bottom:1px solid var(--fm-line-soft);
}

.fm-trow:last-child {
    border-bottom:none;
}

.fm-trow .fm-ttitle {
    font-size:15.5px;
    font-weight:600;
    line-height:1.5;
}

.fm-trow .fm-ttitle a {
    color:var(--fm-blue-deep);
}

.fm-trow p {
    font-size:13px;
    color:var(--fm-mute);
    margin:2px 0 0;
    line-height:1.6;
}

.fm-tmeta {
    flex:none;
    margin-left:auto;
    text-align:right;
    font-size:12.5px;
    color:var(--fm-mute);
    white-space:nowrap;
    line-height:1.6;
}

.fm-tmeta b {
    color:var(--fm-blue-dark);
    font-size:14px;
}

.fm-badge {
    display:inline-block;
    font-size:11px;
    font-weight:700;
    line-height:1.6;
    padding:0 6px;
    border-radius:3px;
    vertical-align:2px;
    margin-right:6px;
}

.fm-badge-jing {
    background:#fdf3d7;
    color:var(--fm-gold);
    border:1px solid #e4d9a8;
}

.fm-badge-hot {
    background:rgb(251,233,221);
    color:var(--fm-hot);
    border:1px solid rgb(239,205,178);
}

.fm-bchip {
    display:inline-block;
    font-size:11.5px;
    color:var(--fm-blue-dark);
    background:var(--fm-steel);
    border:1px solid var(--fm-line);
    padding:0 6px;
    line-height:1.7;
    margin-right:7px;
}

.fm-cols {
    display:grid;
    grid-template-columns:1fr 320px;
    gap:18px;
    align-items:start;
}

.fm-diggrid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
}

.fm-digcard {
    padding:11px 14px;
    border-bottom:1px solid var(--fm-line-soft);
}

.fm-digcard:nth-child(odd) {
    border-right:1px solid var(--fm-line-soft);
}

.fm-digcard h3 {
    font-size:16px;
    margin:0 0 4px;
    line-height:1.5;
}

.fm-digcard h3 a {
    color:var(--fm-blue-deep);
}

.fm-digcard p {
    font-size:13px;
    color:var(--fm-mute);
    margin:0;
    line-height:1.65;
}

.fm-digcard .fm-reason {
    color:var(--fm-gold);
    font-size:12.5px;
}

.fm-threadhead {
    background:#ffffff;
    border:1px solid var(--fm-line);
    border-bottom:none;
    padding:13px 16px 4px;
}

.fm-threadhead h1 {
    margin:0 0 4px;
}

.fm-threadsub {
    font-size:13px;
    color:var(--fm-mute);
    margin:0;
}

.fm-threadsub a {
    color:var(--fm-blue-dark);
}

.fm-floornav {
    background:rgb(255,255,255);
    border:1px solid var(--fm-line);
    border-top:none;
    padding:0 16px 11px;
    font-size:13px;
    color:var(--fm-mute);
}

.fm-floornav a {
    display:inline-block;
    border:1px solid var(--fm-line);
    background:var(--fm-steel-soft);
    padding:0 8px;
    margin:0 5px 4px 0;
    line-height:1.8;
}

.fm-floor {
    display:flex;
    gap:0;
    background:rgb(255,255,255);
    border:1px solid var(--fm-line);
    margin:0 0 12px;
}

.fm-floorrail {
    flex:none;
    width:96px;
    background:var(--fm-steel-soft);
    border-right:1px solid var(--fm-line-soft);
    padding:13px 8px;
    text-align:center;
}

.fm-avatar {
    width:52px;
    height:52px;
    border-radius:10px;
    margin:0 auto 7px;
    background:var(--fm-blue);
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:23px;
    font-weight:800;
    line-height:1;
}

.fm-floorrail .fm-who {
    font-size:12.5px;
    font-weight:700;
    color:var(--fm-blue-dark);
    line-height:1.5;
}

.fm-floorrail .fm-role {
    font-size:11.5px;
    color:var(--fm-mute);
    line-height:1.5;
}

.fm-floorbody {
    flex:1;
    min-width:0;
    padding:11px 16px 5px;
}

.fm-floorbar {
    display:flex;
    gap:10px;
    align-items:baseline;
    font-size:12.5px;
    color:var(--fm-mute);
    border-bottom:1px dotted var(--fm-line);
    padding-bottom:6px;
    margin-bottom:9px;
}

.fm-floorbar .fm-fno {
    font-weight:800;
    color:var(--fm-blue-dark);
    font-size:13.5px;
}

.fm-floorbar .fm-fdate {
    margin-left:auto;
    white-space:nowrap;
}

.fm-floorbody h2 {
    font-size:17.5px;
    margin:.1em 0 .45em;
}

.fm-floorbody .fm-op-lede {
    font-weight:700;
    font-size:16px;
    color:var(--fm-blue-deep);
}

.fm-floor figure {
    margin:2px 0 10px;
}

.fm-floor figure img {
    width:100%;
    max-height:340px;
    object-fit:cover;
    display:block;
}

.fm-floor figcaption {
    font-size:12.5px;
    color:var(--fm-mute);
    margin-top:4px;
}

.fm-threadfoot {
    background:#FFFFFF;
    border:1px solid var(--fm-line);
    padding:11px 16px;
    margin:0 0 14px;
    font-size:14px;
}

.fm-threadfoot .fm-tagrow {
    margin:0 0 6px;
}

.fm-sameline {
    font-size:13px;
    color:var(--fm-mute);
    margin:0;
}

.fm-prevnext {
    display:flex;
    justify-content:space-between;
    gap:14px;
    font-size:14px;
    margin:0 0 6px;
    flex-wrap:wrap;
}

.fm-boardhead {
    background:#ffffff;
    border:1px solid var(--fm-line);
    padding:14px 16px 10px;
    margin:0 0 14px;
    overflow:hidden;
}

.fm-boardhead img {
    float:right;
    width:210px;
    height:118px;
    object-fit:cover;
    margin:2px 0 8px 16px;
}

.fm-boardhead h1 {
    margin-top:0;
}

.fm-boardhead p {
    color:#435364;
    line-height:1.75;
    margin:0 0 6px;
}

...[truncated 20887 chars].fm-digrow {
    display:flex;
    gap:12px;
    padding:10px 2px;
    border-bottom:1px solid var(--fm-line-soft);
}

.fm-digrow:last-child {
    border-bottom:none;
}

.fm-digrow img {
    flex:none;
    width:128px;
    height:76px;
    object-fit:cover;
}

.fm-digrow h3 {
    font-size:16.5px;
    margin:0 0 3px;
    line-height:1.5;
}

.fm-digrow h3 a {
    color:var(--fm-blue-deep);
}

.fm-digrow p {
    font-size:13.5px;
    color:var(--fm-mute);
    margin:0;
    line-height:1.65;
}

.fm-digrow .fm-reason {
    color:var(--fm-gold);
    font-size:12.5px;
}

.fm-coltoc {
    background:var(--fm-steel-soft);
    border:1px solid var(--fm-line);
    padding:10px 16px 4px;
    margin:0 0 16px;
}

.fm-coltoc h2 {
    font-size:15px;
    margin:0 0 5px;
}

.fm-coltoc ol {
    margin:0 0 8px;
    padding-left:1.4em;
    font-size:14px;
}

.fm-coltoc li {
    margin:.18em 0;
}

.fm-colbody {
    background:#FFFFFF;
    border:1px solid var(--fm-line);
    padding:6px 18px 10px;
}

.fm-colbody h2 {
    border-bottom:1px solid var(--fm-line-soft);
    padding-bottom:4px;
}

.fm-help details {
    border:1px solid var(--fm-line);
    background:#ffffff;
    padding:11px 15px;
    margin:0 0 10px;
}

.fm-help summary {
    cursor:pointer;
    font-size:16px;
    font-weight:700;
    line-height:1.5;
    color:var(--fm-blue-deep);
}

.fm-help summary::marker {
    color:var(--fm-blue);
}

.fm-help details p {
    margin:.6em 0 .2em;
    color:#3c4a57;
}

.fm-tagcloud {
    line-height:2.05;
    margin:0;
}

.fm-tagcloud a {
    display:inline-block;
    font-size:13px;
    border:1px solid var(--fm-line);
    background:var(--fm-steel-soft);
    color:var(--fm-blue-dark);
    padding:0 8px;
    margin:0 4px 4px 0;
}

.fm-tagcloud a:hover {
    border-color:var(--fm-blue);
    text-decoration:none;
}

.fm-tagsec {
    background:rgb(255,255,255);
    border:1px solid var(--fm-line);
    padding:4px 16px 10px;
    margin:0 0 14px;
}

.fm-tagsec h2 {
    border-bottom:1px solid var(--fm-line-soft);
    padding-bottom:4px;
}

.fm-plain {
    background:#FFFFFF;
    border:1px solid var(--fm-line);
    padding:6px 18px 10px;
}

.fm-foot {
    background:var(--fm-blue-deep);
    color:rgb(185,203,221);
    margin-top:26px;
    border-top:4px solid var(--fm-blue);
    font-size:13.5px;
}

.fm-footgrid {
    display:grid;
    grid-template-columns:1.7fr 1fr 1fr;
    gap:24px;
    padding:22px 0 4px;
}

.fm-footname {
    font-size:18px;
    font-weight:800;
    color:rgb(255,255,255);
    margin:0 0 6px;
}

.fm-foot p {
    margin:0 0 8px;
    line-height:1.75;
}

.fm-footnav {
    display:flex;
    flex-direction:column;
    gap:5px;
}

.fm-foothead {
    margin-bottom:3px;
    font-weight:700;
    color:rgb(255,255,255);
}

.fm-footnav a {
    color:rgb(185,203,221);
}

.fm-footnav a:hover {
    color:#ffffff;
}

.fm-footline {
    border-top:1px solid rgba(255,255,255,.2);
    margin:14px 0 0;
    padding:11px 0 17px;
    font-size:12.5px;
    color:#8fa8bf;
}

@media (max-width: 900px) {
    .fm-cols {
        grid-template-columns:1fr;
    }
    .fm-diggrid {
        grid-template-columns:1fr;
    }
    .fm-digcard:nth-child(odd) {
        border-right:none;
    }
}

@media (max-width: 640px) {
    body {
        font-size:15px;
    }
    .fm-commname {
        font-size:23px;
    }
    .fm-headdate {
        margin-left:0;
        text-align:left;
    }
    .fm-floorrail {
        width:64px;
    }
    .fm-avatar {
        width:40px;
        height:40px;
        font-size:18px;
    }
    .fm-boardtable .fm-blatest {
        min-width:0;
    }
    .fm-boardhead img {
        float:none;
        width:100%;
        height:150px;
        margin:0 0 10px;
    }
    .fm-digrow img {
        width:96px;
        height:60px;
    }
    .fm-footgrid {
        grid-template-columns:1fr;
    }
    .fm-stat {
        flex-basis:88px;
    }
    .fm-bcount {
        font-size:16px;
    }
}

@media print {
    .fm-topbar,.fm-boardnav,.fm-foot {
        display:none;
    }
    body {
        font-size:12pt;
    }
}
