:root{--bg:#efe1c8;--paper:#fbf0dc;--paper-2:#f5e5c9;--ink:#30251b;--ink-2:#65503d;--ink-3:#786149;--line:#dfc6a0;--line-2:#bd8d58;--jade:#3e6962;--cinnabar:#982b1c;--bronze:#80551d;--shadow:none}
[hidden]{display:none!important}
body{background:#eee0c7 url('/assets/landscape.png') center top/cover fixed no-repeat;font-family:"Noto Serif CJK SC","Songti SC","SimSun",serif;font-size:15px;color:var(--ink)}
body::before{content:"";position:fixed;inset:0;background:rgba(250,237,213,.06);pointer-events:none;z-index:-1}
header.top{max-width:1710px;padding:20px 3.6% 0;align-items:center;height:69px;position:relative;z-index:2}
header.top h1{font-size:23px;letter-spacing:.15em;color:#392a1b}
header.top h1 span{display:block;font-size:11px;letter-spacing:.35em;font-weight:400;margin-top:2px}
.sub{display:none}.authbox{gap:12px;font-size:12px}.authbox button{font-size:12px;padding:5px 12px;background:#fff2dbdd}
.view-label{color:#5b4935}
main{max-width:1710px;padding:0 3.6% 0 15%;position:relative;display:flex;flex-direction:column}
.card{border-radius:3px;border:1px solid #c9955d;background:rgba(252,242,223,.92);box-shadow:inset 0 0 0 4px #ead2af88,inset 0 0 40px #c58e3730;padding:18px 28px;margin-top:0}
h1,h2,h3,.vertical-title{font-family:"KaiTi","STKaiti","楷体",serif}
.title-scroll{position:absolute;left:3.3%;top:76px;width:10%;height:470px;background:linear-gradient(90deg,#dfbb86 0%,#fae9cb 13%,#f7e5c5 86%,#d2a66d 100%);border-inline:1px solid #ad753d;box-shadow:4px 12px 18px #49321f33;display:flex;flex-direction:column;align-items:center;padding:30px 8px;z-index:1}
.title-scroll::before{content:"";position:absolute;inset:12px;border:1px solid #bc8d5966;pointer-events:none}
.vertical-title{writing-mode:vertical-rl;font-size:clamp(42px,4.3vw,73px);font-weight:900;line-height:1.2;letter-spacing:.14em;color:#201d16}
.red-seal{align-self:flex-end;writing-mode:vertical-rl;margin:12px 8px 0 0;font-family:KaiTi,serif;padding:5px 2px;line-height:1;color:#fff0d7;background:#a52e1d;border-radius:3px;font-size:17px}
.scroll-cap{position:absolute;left:-10%;width:120%;height:17px;background:linear-gradient(90deg,#5d2e0f,#e8b85d 5%,#90501f 9%,#dca260 13%,#ae6830 48%,#eac38b 90%,#643713 94%,#c98b33 98%);border:1px solid #85502a;border-radius:6px;box-shadow:0 3px 4px #55301d33}
.top-cap{top:-6px}.bottom-cap{bottom:-7px}
.brief-panel{position:relative;border-radius:24px;padding:12px 30px;margin:12px 0 22px;min-height:54px;text-align:center;background:#fff0d6ed;border:2px solid #c69a63;box-shadow:inset 0 0 12px #c79b5566}
.brief-panel h2{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);white-space:nowrap;margin:0;padding:2px 48px 3px;background:#862c1b;color:#fff3d9;border:3px double #ddad63;border-radius:22px 22px 16px 16px;font-size:35px;line-height:1.3;letter-spacing:.2em;box-shadow:inset 0 2px 6px #541a13,0 2px 0 #ab753b}
.brief-panel h2::before,.brief-panel h2::after{content:"";position:absolute;width:13px;height:13px;border:2px solid #d5a251;background:#8e321d;top:13px;transform:rotate(45deg)}.brief-panel h2::before{left:-9px}.brief-panel h2::after{right:-9px}
#briefBody{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 0;font-size:13px;min-height:24px}
#briefBody p{margin:0;padding:0 15px;line-height:1.7}#briefBody p+p{border-left:1px solid #a2845d}
.board-panel{position:relative;padding-top:18px;border-top:9px solid #b8824b;border-bottom:9px solid #b8824b;min-height:470px}
.board-panel::before,.board-panel::after{content:"";position:absolute;width:12px;height:17px;background:#a76b31;border:2px solid #e0ad66;border-radius:4px;top:-13px}.board-panel::before{left:-8px}.board-panel::after{right:-8px}
.mobile-title{display:none}.toolbar{margin:0 10px 10px;gap:12px}.toolbar input#q{width:254px!important}.toolbar select{min-width:176px}
.table-hint{display:none}
.bank-field{display:flex;flex-direction:column;gap:6px;width:min(340px,100%)}.bank-field textarea{width:100%;max-width:100%}
button,input,select,textarea{border-radius:4px;border-color:#bf9568;background:#fff8eae0;color:#503c2b;font-family:inherit}
button{padding:6px 17px;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#eed7af;border-color:#995e2b}
button.primary{background:#922d1e;border-color:#922d1e;color:#fff2dd}button.primary:hover:not(:disabled){background:#762318}
input::placeholder{color:#806143;opacity:1}button:disabled{opacity:.48}
.tblwrap{border:0;border-radius:0;background:transparent;padding:0;max-height:580px;scrollbar-color:#b18b5c #f1e2ca}
table{font-size:15px;min-width:780px;table-layout:auto;line-height:1.4}
thead th{background:#9c321f;color:#fff0d6;padding:7px 15px;border:0;text-align:right;font-weight:400;letter-spacing:.08em}
thead th:first-child{border-radius:18px 0 0 18px;text-align:center;width:11%}thead th:nth-child(2){text-align:left;width:30%}thead th:last-child{border-radius:0 18px 18px 0;width:15%;padding-right:36px}
thead th.sorted{color:#fff5de}thead th.sorted::after{font-size:9px}
tbody td{padding:3px 15px;border-bottom:1px solid #d6b99255;height:29px}
tbody td:first-child{text-align:center;color:#8e603b;font-size:13px}tbody td:last-child{padding-right:36px;position:relative}
tbody tr:hover{background:#edd6b266}tbody .tid{font-size:11px;color:#776a57;margin-left:16px;white-space:nowrap}
td.strong{color:#a62617;font-size:17px;font-weight:700}
tr.rank-1{background:linear-gradient(90deg,#f9e3a280,#fff7dfdd,#f4d88a55)}
tr.rank-2{background:linear-gradient(90deg,#deded66e,#f3f2e7e6,#c7cdd055)}
tr.rank-3{background:linear-gradient(90deg,#ecd2a580,#fff0dce6,#e9bb7b55)}
tr.rank-1 td,tr.rank-2 td,tr.rank-3 td{height:45px;border-bottom:2px solid #fff5e8;padding-block:3px}
tr.rank-1 .tname,tr.rank-2 .tname,tr.rank-3 .tname{font-weight:700;font-size:17px}
tr.rank-1 td.strong,tr.rank-2 td.strong,tr.rank-3 td.strong{font-family:KaiTi,serif;font-size:25px;font-style:italic}
.medal{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font:700 26px/1 Georgia,serif;color:#fff7df;background:linear-gradient(120deg,#f6db7e,#a9650d);border:3px double #f3cf68;box-shadow:0 2px 3px #67401655;text-shadow:0 1px 2px #5d3d1c;isolation:isolate}
.medal::before,.medal::after{content:"";position:absolute;top:14px;width:18px;height:9px;background:inherit;border-bottom:2px solid #b78f4b;z-index:-1}.medal::before{right:28px;border-radius:0 0 0 100%;transform:rotate(25deg)}.medal::after{left:28px;border-radius:0 0 100% 0;transform:rotate(-25deg)}
.medal-2{background:linear-gradient(120deg,#dce4e7,#65747d);border-color:#bdcbd1}.medal-3{background:linear-gradient(120deg,#e6b371,#a24d18);border-color:#d6a15d}
.crown{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:25px;height:24px}.crown svg{width:100%;height:100%}
.pager{justify-content:center;margin-top:13px;gap:12px}.pager button{padding:5px 17px}.pager #pageInfo{font-size:12px;color:#6a4c33}
.stats-panel{margin-top:17px;display:grid;grid-template-columns:auto 1fr;gap:0 22px;position:relative;border-top:5px solid #bb8a56;padding:12px 20px 8px}
.stats-panel h2{font-size:22px;white-space:nowrap;margin:0 0 8px;align-self:center;letter-spacing:.02em}
.chips{gap:9px;align-items:center;justify-content:flex-end;margin-bottom:8px}.chip{border-radius:4px;background:#f4e4c9aa;border:1px solid #dec29c;padding:4px 10px;font-size:13px;white-space:nowrap}.chip b{font-size:18px;margin-left:8px;color:#29271e}
.charts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.charts>div{padding:0 16px;border-right:1px solid #d8b88d}.charts>div:first-child{padding-left:0}.charts>div:last-child{border-right:0;padding-right:0}
.charts h3{font-size:16px;margin:2px 0 1px}.charts h3::before{content:"";display:inline-block;width:8px;height:8px;border:2px solid #a23223;transform:rotate(45deg);margin-right:10px}
.charts svg{max-height:132px}.charts .hint{min-height:90px;display:flex;align-items:center;justify-content:center;color:#7b644c}
footer{max-width:1710px;padding:13px 3.6% 20px 15%;display:flex;align-items:center;gap:16px;color:#5b4935;font-size:11px}footer #syncInfo{margin-left:auto}footer button{font-size:11px;padding:2px 9px}
.admin-panel{margin-top:24px;border:1px solid #b68b5e;background:#fbefda;padding:14px 20px}.admin-panel>summary{cursor:pointer;font-family:KaiTi,serif;font-size:21px}.admin-panel>summary span{font-family:inherit;font-size:13px;margin-left:15px;color:#7f6141}.admin-panel>.card{margin-top:15px;border:0;border-top:1px solid #d8bb94;box-shadow:none;padding:16px 0}
body.notauth .admin-panel{display:none}.saving .admin-panel{pointer-events:none;opacity:.65}
.empty-board{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#74583d}.empty-board h3{font-size:27px;margin:12px 0 0;color:#49331f}.empty-board p{font-size:14px;margin:8px 0 20px}.empty-mark{font:36px KaiTi,serif;border:2px solid #b98557;padding:5px 10px;color:#a8794e}
#connection,#demoBanner{position:relative;z-index:3;background:#f6e2bd;border-bottom:1px solid #b88c55;color:#703d25;padding:6px 16px;text-align:center;font-size:12px}#demoBanner{max-width:1000px;margin:0 auto 25px;border:1px solid #d7b486;border-radius:4px}#demoBanner button{padding:1px 9px;font-size:12px;margin-left:10px}
body:has(#demoBanner:not([hidden])) .brief-panel{margin-top:29px}
dialog{border:1px solid #b7834e;border-radius:4px;background:#fbefd9;box-shadow:0 20px 60px #39231366;max-width:calc(100vw - 28px);min-width:min(360px,calc(100vw - 28px));padding:25px}
dialog h3{font-size:25px;margin-bottom:12px}dialog .row input{min-width:0;width:100%}dialog::backdrop{background:#30241988}#toast{background:#493324;border:1px solid #c59c67;max-width:calc(100vw - 24px);text-align:center}
html{scrollbar-color:#b18b5c #f1e2ca}::-webkit-scrollbar-track{background:#f1e2ca}::-webkit-scrollbar-thumb{background:#b18b5c;border-color:#f1e2ca}
@media(min-width:1700px){main{padding-left:220px}.title-scroll{left:45px;width:145px}footer{padding-left:220px}}
@media(max-width:1250px){.stats-panel{grid-template-columns:1fr}.chips{justify-content:flex-start}.charts{grid-column:1}header.top h1{font-size:20px}.brief-panel h2{font-size:30px}#briefBody{font-size:12px}#briefBody p{padding:0 9px}.card{padding-inline:18px}table{font-size:14px}thead th,tbody td{padding-inline:9px}.toolbar-ops button{font-size:12px;padding:5px 8px}.title-scroll{height:405px}.vertical-title{font-size:55px}}
@media(max-width:760px){body{background-size:auto 100vh;background-position:center top}header.top{height:74px;padding:12px 16px;align-items:flex-start}header.top h1{font-size:20px}.view-label{display:none}.authbox{gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:60%}.authbox button{padding:4px 9px}.authbox>span{font-size:10px}
.table-hint{display:block;margin:0 0 9px;color:#715337;font-size:11px}
main{padding:34px 12px 0}.title-scroll{display:none}.brief-panel{padding:12px 15px;border-radius:12px;margin:10px 0 18px;min-height:70px}.brief-panel h2{font-size:27px;bottom:calc(100% - 2px);padding:2px 32px}#briefBody{display:block;text-align:left;font-size:12px}#briefBody p{padding:0}#briefBody p+p{border:0;margin-top:5px}.card{padding-inline:12px}.board-panel{padding-top:10px;min-height:390px}.mobile-title{display:block;font-size:26px;margin:0 4px 8px}
.toolbar{margin:0 0 10px;gap:8px}.toolbar select{min-width:0;flex:1;width:125px;font-size:13px}.toolbar input#q{width:140px!important;flex:1;font-size:13px}.toolbar .spacer{display:none}.toolbar-ops{width:100%}table{font-size:13px;min-width:730px}.tblwrap{max-height:590px}.pager{gap:5px;flex-wrap:wrap}.pager button{padding:5px 9px;font-size:12px}.pager #pageInfo{font-size:11px;order:5;width:100%;text-align:center}
.stats-panel{padding-top:12px;margin-top:16px}.stats-panel h2{font-size:21px}.chips{gap:6px}.chip{font-size:12px;padding:3px 8px}.chip b{font-size:17px}.charts{grid-template-columns:1fr}.charts>div,.charts>div:first-child,.charts>div:last-child{padding:12px 0;border:0;border-top:1px solid #dec8a5}.charts svg{max-height:160px}.charts h3{font-size:17px}
footer{padding:16px;flex-wrap:wrap;gap:5px 12px}footer #syncInfo{margin-left:0}.admin-panel{padding:12px}.prow{gap:8px}.prow textarea{max-width:100%}.empty-board{min-height:300px;align-items:flex-start;padding:20px 30px;text-align:left}.empty-board h3{font-size:24px}.empty-board p{font-size:12px;max-width:260px}.plrow .ops{margin-left:0}#demoBanner{margin:0 12px;font-size:11px}.stats-panel .charts .hint{min-height:45px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
