*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#ebe8e1;color:#333;font:13px/1.7 Tahoma,"Microsoft YaHei",Arial,sans-serif}
a{color:#1c4f8f;text-decoration:none}
a:hover{color:#c0392b;text-decoration:underline}
.wrap{width:min(1120px,calc(100% - 28px));margin:0 auto}
.narrow{max-width:940px}
.topbar{background:#0f2b49;color:#b9cbe0;font-size:12px;border-bottom:1px solid #0a1f36}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding:5px 0}
.clock{color:#8fb4d8;font-family:Consolas,Monaco,monospace}
.masthead{background:linear-gradient(180deg,#1a4776 0%,#12365e 60%,#0f2e50 100%);border-bottom:3px solid #c8792a;padding:18px 0}
.mast-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.brand:hover{text-decoration:none;color:#fff}
.brand-mark{display:grid;place-items:center;width:50px;height:50px;background:#c8792a;color:#12293f;font:bold 16px/1 Arial;letter-spacing:1px;border:2px solid #f0c48d;border-radius:3px;box-shadow:0 2px 0 #0a1f36}
.brand-text b{display:block;font-size:24px;letter-spacing:3px;color:#fff;line-height:1.2}
.brand-text small{display:block;color:#8fb4d8;font:9px/1.6 Arial;letter-spacing:2px}
.mast-right{display:flex;gap:8px}
.btn{display:inline-block;background:linear-gradient(180deg,#e08e35,#c8792a);color:#fff;border:1px solid #a35d1d;border-radius:3px;padding:7px 18px;font-size:13px;font-weight:bold;cursor:pointer;box-shadow:inset 0 1px 0 #f2c58d}
.btn:hover{color:#fff;text-decoration:none;filter:brightness(1.07)}
.btn:disabled{opacity:.6;cursor:not-allowed}
.btn.ghost{background:transparent;border-color:#5c88b4;box-shadow:none;color:#dce9f5;font-weight:normal}
.btn.ghost:hover{background:#1b4a7a}
.navbar{background:#0e2740;border-bottom:1px solid #274b6e}
.navbar .wrap{display:flex;flex-wrap:wrap}
.navbar a{color:#c3d6e8;padding:9px 16px;font-size:13px;border-right:1px solid #1d3d5c;text-decoration:none}
.navbar a:hover{background:#1a4776;color:#fff;text-decoration:none}
.navbar a.on{background:#c8792a;color:#fff}
.main{padding:16px 0 30px}
.crumb{font-size:12px;color:#777;margin-bottom:10px;padding:6px 10px;background:#f3f1eb;border:1px solid #d6d2c7}
.crumb span{margin:0 7px;color:#aaa}
.notice-bar{display:flex;gap:10px;align-items:center;background:#fff8e8;border:1px solid #e4cf9f;border-left:4px solid #c8792a;padding:8px 12px;margin-bottom:12px;font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.notice-bar b{flex:none;color:#a35d1d;background:#f4e2bf;padding:1px 8px;border-radius:2px;font-size:12px}
.stat-strip{display:flex;flex-wrap:wrap;gap:22px;background:#fff;border:1px solid #cdc9bd;padding:8px 14px;font-size:12px;color:#666;margin-bottom:14px}
.stat-strip b{color:#c0392b;font-size:14px;padding:0 2px}
.panel{background:#fff;border:1px solid #c8c4b8;margin-bottom:16px;box-shadow:0 1px 0 #ded9cd}
.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f3f0e8;border-bottom:1px solid #d8d3c6;border-left:4px solid #1a4776;padding:8px 13px}
.panel-title h1,.panel-title h2{margin:0;font-size:15px;color:#12365e;letter-spacing:1px}
.panel-title span{font-size:12px;color:#8b877c}
.board-table .brow{display:grid;grid-template-columns:52px 1fr 170px 190px;gap:10px;align-items:center;padding:10px 13px;border-bottom:1px solid #e5e1d6}
.board-table .brow:last-child{border-bottom:0}
.board-table .brow:hover{background:#fbfaf6}
.bicon{display:grid;place-items:center;width:38px;height:38px;background:#e8eef5;border:1px solid #c2d2e3;border-radius:3px;color:#1a4776;font-weight:bold;font-size:15px}
.bname{font-size:14px;font-weight:bold}
.bdesc{font-size:12px;color:#8b877c;margin-top:2px}
.bstat{font-size:12px;color:#666;text-align:center}
.bstat b{color:#c0392b}
.blast{font-size:12px;color:#8b877c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.blast a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thread-head.row,.thread-row{display:grid;grid-template-columns:64px 1fr 110px 56px 56px 150px;gap:8px;align-items:center}
.thread-head{background:#eae6da;border-bottom:1px solid #d8d3c6;font-size:12px;color:#6d6a61;padding:6px 12px;text-align:center}
.thread-head .col-subject{text-align:left}
.thread-row{padding:9px 12px;border-bottom:1px solid #eeeae0;font-size:13px}
.thread-row:nth-child(even){background:#fbfaf7}
.thread-row:hover{background:#f4f1e7}
.col-num{text-align:center;color:#777}
.col-author,.col-last{font-size:12px;color:#888;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t-subject{display:flex;align-items:center;gap:6px;min-width:0}
.t-subject a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.tag{flex:none;font-size:11px;padding:0 5px;border-radius:2px;border:1px solid #d9a15f;color:#a35d1d;background:#fdf3e2}
.tag.pin{border-color:#d98b8b;color:#b03030;background:#fdf0f0}
.tag.board{color:#1a4776;border-color:#b8cfe3;background:#eef4fa}
.loading,.empty{padding:34px;text-align:center;color:#999;margin:0}
.pagination{padding:10px 12px;text-align:center;border-top:1px solid #eeeae0;font-size:12px}
.pagination button,.pagination span,.pagination a{display:inline-block;margin:0 2px;padding:3px 10px;border:1px solid #cdc9bd;background:#faf9f5;color:#555;border-radius:2px}
.pagination a:hover{background:#eee9db;text-decoration:none}
.pagination .current{background:#1a4776;border-color:#1a4776;color:#fff}
.side-note ul{margin:0;padding:10px 12px 12px 30px;color:#666;font-size:12px}
.side-note li{margin:4px 0}
.thread-panel{overflow:hidden}
.thread-titlebar{padding:14px 16px;border-bottom:1px solid #ddd8ca;background:#faf8f2}
.thread-titlebar h1{margin:0 0 6px;font-size:20px;line-height:1.45;color:#1d3b5c}
.thread-meta{font-size:12px;color:#8b877c}
.floor{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid #e3dfd2}
.floor:last-child{border-bottom:0}
.floor-user{background:#f6f4ed;border-right:1px solid #e3dfd2;padding:16px 12px;text-align:center;font-size:12px;color:#7c7a72}
.avatar{width:56px;height:56px;margin:0 auto 8px;display:grid;place-items:center;background:#e8eef5;border:1px solid #c2d2e3;color:#1a4776;font-size:22px;font-weight:bold;border-radius:3px}
.floor-user b{color:#1d3b5c;font-size:13px;word-break:break-all}
.floor-user p{margin:3px 0 0;font-size:11px;color:#9a978d}
.floor-main{padding:12px 16px;min-width:0}
.floor-top{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed #e0dbcd;padding-bottom:6px;margin-bottom:10px;font-size:12px;color:#9a978d}
.floor-content{color:#3a3a36;font-size:14px;line-height:1.85;word-break:break-word}
.floor-content p{margin:0 0 10px}
.floor-content img{max-width:100%;border:1px solid #ddd8ca;padding:2px;background:#fff}
.del{color:#b03030;cursor:pointer;margin-left:10px;font-size:12px}
.del:hover{text-decoration:underline}
.reply-panel .panel-title{border-left-color:#c8792a}
.reply-body{padding:12px 16px 16px}
.reply-body label{display:block;margin-bottom:10px;font-size:12px;color:#6d6a61}
.reply-body input,.reply-body textarea,.post-form input,.post-form textarea,.post-form select{display:block;width:100%;margin-top:5px;border:1px solid #cfcabd;background:#fff;color:#333;padding:8px 10px;font:13px/1.7 inherit;border-radius:2px;outline:none}
.reply-body textarea,.post-form textarea{resize:vertical}
.reply-body input:focus,.reply-body textarea:focus,.post-form input:focus,.post-form textarea:focus,.post-form select:focus{border-color:#1a4776;box-shadow:0 0 0 2px #e3edf7}
.reply-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#9a978d}
.post-panel .panel-title{border-left-color:#1a4776}
.post-form{padding:14px 16px 18px}
.post-form label{display:block;margin-bottom:12px;font-size:12px;color:#6d6a61}
.editor-tools{display:flex;align-items:center;gap:10px;font-size:12px;color:#9a978d;margin-bottom:14px}
.mini-btn{background:#f3f0e8;border:1px solid #cfcabd;color:#1a4776;padding:5px 12px;border-radius:2px;cursor:pointer;font-size:12px}
.mini-btn:hover{background:#e8eef5}
.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #ebe7db;padding-top:14px}
.site-footer{background:#12365e;color:#a9c2da;border-top:3px solid #c8792a;padding:18px 0 22px;text-align:center;font-size:12px}
.site-footer p{margin:4px 0}
.site-footer a{color:#e6b57a;margin:0 8px}
.site-footer a:hover{color:#fff}
.site-footer .copy{color:#7b9ab8;font-size:11px}
@media(max-width:860px){
.thread-head.row,.thread-row{grid-template-columns:44px 1fr 64px 64px}
.col-author,.col-last{display:none}
.board-table .brow{grid-template-columns:44px 1fr 130px}
.blast{display:none}
}
@media(max-width:640px){
.topbar .welcome{display:none}
.topbar .wrap{justify-content:center}
.brand-text b{font-size:19px;letter-spacing:1px}
.brand-text small{display:none}
.brand-mark{width:42px;height:42px;font-size:13px}
.mast-right .btn.ghost{display:none}
.navbar a{padding:8px 11px;font-size:12px}
.thread-head.row,.thread-row{grid-template-columns:40px 1fr 48px}
.col-num:nth-of-type(2){display:none}
.stat-strip{gap:14px;font-size:11px}
.floor{grid-template-columns:1fr}
.floor-user{display:flex;align-items:center;gap:8px;text-align:left;border-right:0;border-bottom:1px solid #e3dfd2;padding:8px 12px}
.avatar{width:32px;height:32px;font-size:15px;margin:0}
.floor-user p{margin:0}
.floor-main{padding:12px}
.thread-titlebar h1{font-size:17px}
.reply-actions,.form-bottom{flex-direction:column;align-items:stretch}
.reply-actions .btn,.form-bottom .btn{width:100%;text-align:center}
}
