:root{--accent:#4f7cff;--radius:12px;--radius-s:8px;
--bg:#f4f5f7;--card:#fff;--card2:#f7f8fa;--hover:#f1f2f4;--text:#1c1e21;--text2:#5f6368;--muted:#8a8f99;--line:#e5e7eb;--line2:#eff0f2;
--shadow:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.05);--shadow-lg:0 12px 32px rgba(16,24,40,.12)}
html[data-theme=dark]{--bg:#0f1115;--card:#171a21;--card2:#1d212b;--hover:#21252e;--text:#e6e8ec;--text2:#9aa0ab;--muted:#7b818c;--line:#272c37;--line2:#21252e;--shadow:0 1px 2px rgba(0,0,0,.35);--shadow-lg:0 12px 32px rgba(0,0,0,.5)}
:root{--accent-d:#3452c8;--accent-soft:rgba(79,124,255,.12)}@supports (color:color-mix(in srgb,red,blue)){:root{--accent-d:color-mix(in srgb,var(--accent) 86%,#000);--accent-soft:color-mix(in srgb,var(--accent) 12%,transparent)}}
*{box-sizing:border-box;margin:0;padding:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html{font-size:clamp(14px,0.9vw,16px);-webkit-tap-highlight-color:transparent}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text);line-height:1.65;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-d)}
img{max-width:100%;touch-action:manipulation}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{max-width:min(1120px,92vw);margin:0 auto;padding:0 16px}
.ic{width:1.05em;height:1.05em;vertical-align:-.18em;display:inline-block}
mark{background:#ffe08a;color:#5a4300;padding:0 2px;border-radius:3px}
html[data-theme=dark] mark{background:#6b5613;color:#ffe9a8}
.muted{color:var(--muted);font-size:.9em}
.center{text-align:center}
code{background:var(--card2);border:1px solid var(--line2);border-radius:5px;padding:1px 6px;font-size:.88em}
blockquote{margin:8px 0;padding:8px 14px;border-left:3px solid var(--accent);background:var(--card2);border-radius:0 var(--radius-s) var(--radius-s) 0;color:var(--text2)}
body,.card,.site-header,.topic-row,.post-card,.board-card,.admin-nav,.user-drop,.mobile-bar{transition:background .25s ease,border-color .25s ease,color .25s ease}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--card) 86%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.header-in{display:flex;align-items:center;gap:20px;height:58px}
.logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:1.12rem;color:var(--text);letter-spacing:-.01em}
.logo-mark{background:var(--accent);color:#fff;width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 45%,transparent)}
.main-nav{display:flex;gap:2px;flex:1}
.main-nav a{padding:7px 13px;border-radius:999px;color:var(--text2);font-size:.95em;font-weight:500;display:flex;align-items:center;gap:5px}
.main-nav a:hover{background:var(--hover);color:var(--text)}
.header-right{display:flex;align-items:center;gap:6px}
.hdr-search{display:flex;align-items:center;background:var(--hover);border:1px solid transparent;border-radius:999px;overflow:hidden;transition:.2s;width:200px}
.hdr-search:focus-within{background:var(--bg);border-color:var(--accent);width:240px}
.hdr-search input[type=text]{flex:1;border:none;outline:none;background:transparent;padding:8px 12px;font-size:.9em;color:var(--text);min-width:0}
.hdr-search input[type=text]::placeholder{color:var(--text3)}
.hdr-search button{border:none;background:none;color:var(--text3);cursor:pointer;padding:8px 12px 8px 4px;display:flex;align-items:center;justify-content:center}
.hdr-search button .ic{width:16px;height:16px}
.hdr-search button:hover{color:var(--accent)}
.hdr-search input[type=hidden]{display:none}
.ic-link{position:relative;color:var(--text2);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.ic-link:hover{background:var(--hover);color:var(--accent)}
.ic-link .dot{position:absolute;top:1px;right:-2px;background:#f04545;color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;font-style:normal;font-weight:600}
.theme-btn{width:36px;height:36px;border-radius:50%;border:none;background:none;color:var(--text2);cursor:pointer;display:flex;align-items:center;justify-content:center}
.theme-btn:hover{background:var(--hover);color:var(--accent)}
.theme-btn .ic{width:18px;height:18px}
.theme-btn .ic-moon{display:none}
html[data-theme=dark] .theme-btn .ic-sun{display:none}
html[data-theme=dark] .theme-btn .ic-moon{display:inline-block}
.user-menu{position:relative;display:flex;align-items:center;height:58px}
.user-btn{display:flex;align-items:center;gap:7px;color:var(--text);padding:4px 10px 4px 4px;border-radius:999px;font-size:.94em}
.user-btn:hover{background:var(--hover)}
.user-drop{display:none;position:absolute;right:0;top:calc(100% + 6px);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:180px;padding:6px;z-index:60}
.user-drop:before{content:'';position:absolute;top:-8px;left:0;right:0;height:8px}
.user-menu:hover .user-drop,.user-menu:focus-within .user-drop{display:block}
.user-drop a,.drop-exit{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:var(--radius-s);color:var(--text2);font-size:.93em;width:100%;background:none;border:none;cursor:pointer;text-align:left}
.user-drop a:hover,.drop-exit:hover{background:var(--hover);color:var(--accent)}
.user-drop form{margin:4px 0 0;border-top:1px solid var(--line2);padding-top:4px}
.site-main{padding-top:22px;padding-bottom:40px;flex:1;width:100%}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:20px;align-items:start}
.crumbs{margin-bottom:12px;font-size:.9em;color:var(--muted)}
.crumbs a{color:var(--text2)}
.crumbs span{margin:0 6px;color:var(--line)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:16px}
.btn{display:inline-flex;align-items:center;gap:5px;padding:7px 16px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--text2);font-size:.92em;font-weight:500;cursor:pointer;transition:all .15s ease}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-d);border-color:var(--accent-d);color:#fff}
.btn-danger{color:#e05555;border-color:color-mix(in srgb,#e05555 40%,transparent)}
.btn-danger:hover{border-color:#e05555;color:#e05555;background:color-mix(in srgb,#e05555 8%,transparent)}
.btn-sm{padding:4px 12px;font-size:.85em}
.btn-block{width:100%;justify-content:center}
.btn-like.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.like-ico,.fav-ico{font-style:normal;display:inline-block;line-height:1;min-width:1em;text-align:center}
.btn-like .like-ico{color:inherit}
.btn-like .like-ico::before{content:'♡'}
.btn-like.on .like-ico::before{content:'♥';color:var(--accent)}
.btn-fav .fav-ico{color:inherit}
.btn-fav .fav-ico::before{content:'☆'}
.btn-fav.on .fav-ico::before{content:'★';color:#f0a020}
.btn-fav.on{background:color-mix(in srgb,#f5a623 14%,transparent);border-color:#f5a623;color:#d98e00}
html[data-theme=dark] .btn-fav.on{color:#f5b73f}
.btn-checkin.on{background:#2fa85c;border-color:#2fa85c;color:#fff}
.home-tabs .btn-new{margin-left:auto;color:#fff}
.home-tabs .btn-new:hover{color:#fff}
.btn:disabled{opacity:.55;cursor:not-allowed}
.form .form-row{margin-bottom:15px}
.form label{display:block;font-size:.9em;color:var(--text2);margin-bottom:6px;font-weight:600}
.form input[type=text],.form input[type=password],.form input[type=email],.form input[type=number],.form textarea,.form select,.search-box input{width:100%;padding:10px 13px;border:1px solid var(--line);border-radius:var(--radius-s);font-size:.95em;background:var(--card2);color:var(--text)}
.form input:focus,.form textarea:focus,.form select:focus,.search-box input:focus{outline:none;border-color:var(--accent);background:var(--card);box-shadow:0 0 0 3px var(--accent-soft)}
.form textarea{resize:vertical;min-height:84px}
.form-actions{display:flex;gap:10px;align-items:center}
.form h3{margin:20px 0 12px;font-size:1em;color:var(--text2);border-top:1px dashed var(--line);padding-top:16px}
.form h3:first-child{border:none;padding-top:0}
.ck{display:flex!important;align-items:center;gap:6px;font-weight:400!important;margin-right:16px}
.ck input{width:auto!important}
.cap-row{display:flex;gap:10px;align-items:center}
.cap-tip{color:var(--muted);font-size:.85em}
.req{color:#e05555;font-style:normal}
.opt{color:var(--muted);font-style:normal;font-weight:400}
.inline{display:inline}
.page-title{font-size:1.35rem;margin:6px 0 16px;display:flex;align-items:center;gap:8px;letter-spacing:-.01em}
.home-tabs{display:flex;align-items:center;gap:4px;margin-bottom:16px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px;box-shadow:var(--shadow);overflow-x:auto;scrollbar-width:none}
.home-tabs::-webkit-scrollbar{display:none}
.home-tabs a{display:flex;align-items:center;gap:4px;padding:6px 15px;border-radius:999px;color:var(--text2);font-weight:500}
.home-tabs a:hover{color:var(--accent)}
.home-tabs a.on{background:var(--accent);color:#fff}
.site-slider{position:relative;overflow:hidden;border-radius:var(--radius);margin-bottom:14px;background:var(--card);border:1px solid var(--line)}
.site-slider .slider-track{display:flex;transition:transform .5s ease}
.site-slider .slide{flex:0 0 100%;min-width:100%;aspect-ratio:5/2;max-height:260px}
.site-slider .slide img{width:100%;height:100%;object-fit:cover;display:block}
.site-slider .slider-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px}
.site-slider .slider-dots button{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,.5);cursor:pointer;padding:0}
.site-slider .slider-dots button.on{background:#fff}
@media (max-width:768px){.site-slider .slide{aspect-ratio:9/4}}
.home-marquee{flex:1;min-width:0;overflow:hidden;white-space:nowrap;font-size:.9em;color:var(--text2);padding:0 10px;display:flex;align-items:center}
.home-marquee .mq-ico{flex-shrink:0;width:22px;height:22px;background:var(--accent);color:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-right:10px;position:relative;z-index:2}
.home-marquee .mq-ico svg{width:12px;height:12px}
.home-marquee .mq-inner{display:inline-block;white-space:nowrap;animation:lite-marquee 12s linear infinite}
.home-marquee .mq-inner span{padding-right:3em}
@keyframes lite-marquee{from{transform:translateX(calc(100% + 100%))}to{transform:translateX(-100%)}}
.topic-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.topic-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line2)}
.topic-row:last-child{border-bottom:none}
.topic-row:hover{background:var(--hover)}
.tr-main{min-width:0;flex:1}
.tr-title{font-size:1.02em;font-weight:600;line-height:1.5}
.tr-title a{color:var(--text)}
.tr-title a:hover{color:var(--accent)}
.tb{display:inline-flex;align-items:center;gap:3px;font-size:.78em;padding:2px 7px;border-radius:5px;margin-right:6px;vertical-align:1px;font-weight:500}
.tb.pin{background:var(--accent-soft);color:var(--accent)}
.tb.star{background:color-mix(in srgb,#f5a623 15%,transparent);color:#d98e00}
.tb.lock{background:color-mix(in srgb,#e05555 12%,transparent);color:#e05555}
html[data-theme=dark] .tb.star{color:#f5b73f}
.tr-meta{display:flex;align-items:center;gap:10px;margin-top:5px;font-size:.85em;flex-wrap:wrap}
.tr-author{display:flex;align-items:center;gap:5px;color:var(--text2)}
.tr-author a{color:var(--text2)}
.tr-author a:hover{color:var(--accent)}
.pill{display:inline-block;color:#fff;font-size:.76em;padding:2px 9px;border-radius:999px;line-height:1.5;white-space:nowrap;font-weight:500}
.pill-lg{font-size:.9em;padding:5px 15px}
.tr-right{display:flex;align-items:center;gap:18px;flex-shrink:0}
.tr-counts{display:flex;align-items:center;gap:6px;color:var(--text2);font-size:.9em}
.tr-counts span{display:flex;align-items:center;gap:3px;margin-left:6px}
.tr-last{display:flex;align-items:center;gap:6px;font-size:.8em;color:var(--text2);min-width:130px;justify-content:flex-end}
.tr-last em{color:var(--muted);font-style:normal}
.empty{text-align:center;color:var(--muted);padding:40px 16px}
.topic-list.ls-card{background:transparent;border:none;box-shadow:none;overflow:visible;display:flex;flex-direction:column;gap:12px}
.ls-card .topic-row{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ls-card .topic-row:hover{background:var(--card);transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.ls-card .empty{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.topic-list.ls-minimal .topic-row{padding:10px 18px}
.ls-minimal .tr-author .avatar,.ls-minimal .tr-last .avatar{display:none}
.ls-minimal .tr-title{font-size:.98em;font-weight:500}
.pager{display:flex;gap:7px;justify-content:center;margin:20px 0;flex-wrap:wrap}
.pager a,.pager .cur{min-width:36px;height:36px;padding:0 12px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--card);border-radius:999px;font-size:.9em;color:var(--text2)}
.pager a:hover{border-color:var(--accent);color:var(--accent)}
.pager .cur{background:var(--accent);color:#fff;border-color:var(--accent)}
.pager span{display:flex;align-items:center;color:var(--muted)}
.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.board-card{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);color:var(--text);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.board-card:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.bc{width:6px;border-radius:3px;flex-shrink:0}
.bi h3{font-size:1.05rem;margin-bottom:4px}
.bi p{color:var(--muted);font-size:.88em;margin-bottom:8px}
.bi .meta{color:var(--muted);font-size:.82em}
.board-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}
.board-head .muted{margin-top:8px}
.td-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.td-title-badges{display:flex;gap:8px;flex-wrap:wrap}
.td-btns{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.post-card{display:grid;grid-template-columns:150px 1fr;gap:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:14px}
.post-card.op{border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}
.pc-side{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
.pc-name{font-weight:600;color:var(--text);font-size:.95em}
.pc-name:hover{color:var(--accent)}
.avatar{border-radius:50%;object-fit:cover;width:40px;height:40px}
.avatar-xs{width:20px;height:20px}
.avatar-sm{width:28px;height:28px}
.avatar-lg{width:56px;height:56px}
.gid{font-size:.72em;padding:2px 9px;border-radius:999px;color:#fff;font-weight:500}
.g1{background:#e05555}.g2{background:#2fa85c}.g3{background:#8a8f99}
.td-title{font-size:1.5rem;line-height:1.4;margin-bottom:10px;letter-spacing:-.01em}
.td-meta{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.pc-content{font-size:1rem;word-break:break-word;overflow-wrap:break-word}
.pc-content a{text-decoration:underline}
.pc-meta{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.floor{color:var(--muted);font-size:.85em}
.pc-actions{display:flex;gap:8px;align-items:center;margin-top:16px;flex-wrap:wrap}
.pc-actions .btn,.pc-actions .rate-w,.pc-actions .rate-info,.pc-actions form.inline{min-height:26px;display:inline-flex;align-items:center}
.pc-actions .btn{padding-top:2px;padding-bottom:2px}
.pc-actions .rate-w{gap:2px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);cursor:pointer;line-height:1}
.pc-actions .rate-w .rate-star{padding:0 1px;line-height:1}
.pc-actions .rate-info{margin-left:2px;padding:0 2px}
.pc-actions .mod-del .btn{margin:0}
.pc-actions .mod-del{margin-left:auto}
.td-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:space-between}
.td-admin{display:inline-flex;flex-direction:column;gap:6px;align-items:stretch;flex-shrink:0}
.td-admin .btn{min-height:26px;display:inline-flex;align-items:center;justify-content:center;margin:0;padding-top:2px;padding-bottom:2px}
.td-admin form.inline{display:block;margin:0}
.td-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 4px;padding:8px 12px}
.attach-item{background:var(--card2);border:1px solid var(--line2);border-radius:var(--radius-s);padding:8px 13px;margin-top:10px;display:flex;align-items:center;gap:8px;font-size:.9em}
.post-list-title{font-weight:700;margin:20px 0 12px;color:var(--text)}
.pc-actions .rate-info{margin-left:2px;padding:0 2px}
.rate-star{color:var(--line);font-size:1.15rem;transition:color .15s}
.rate-star.on,.rate-star:hover{color:#f5a623}
.rate-info{margin-left:6px}
.reply-box textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:var(--radius-s);font-size:.95em;min-height:96px;resize:vertical;background:var(--card2);color:var(--text)}
.reply-box textarea:focus{outline:none;border-color:var(--accent);background:var(--card);box-shadow:0 0 0 3px var(--accent-soft)}
.side-box{margin-bottom:16px}
.side-box h3{font-size:.95rem;margin-bottom:12px;display:flex;align-items:center;gap:6px;color:var(--text)}
.side-hot{list-style:none;margin:0;padding:0}
.side-hot li{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:.9em;border-bottom:1px dashed var(--line2)}
.side-hot li:last-child{border-bottom:none}
.side-hot a{color:var(--text2)}
.side-hot a:hover{color:var(--accent)}
.hot-side{margin-top:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}
.hot-side h3{font-size:.95rem;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.hs-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.tabs-pill{display:inline-flex;align-items:center;gap:2px;background:var(--bg2,var(--card));border:1px solid var(--line);border-radius:999px;padding:3px}
.batch-pill{position:relative;display:inline-flex;align-items:center;gap:2px;background:var(--bg2,var(--card));border:1px solid var(--line);border-radius:999px;padding:3px}
.pill-seg{appearance:none;border:none;background:transparent;color:var(--text2);font-size:.85em;line-height:1;padding:6px 14px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s;font-family:inherit}
.pill-seg:hover{color:var(--accent)}
.pill-seg.active{background:var(--accent);color:#fff}
.pill-seg.danger:hover{color:#e74c3c}
.bchk-mgr{position:absolute;top:calc(100% + 6px);left:0;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:4px;z-index:60;min-width:100px;display:flex;flex-direction:column}
.bchk-mgr[hidden]{display:none}
.bchk-mgr .mgr-item{appearance:none;border:none;background:transparent;color:var(--text);font-size:.85em;padding:7px 14px;border-radius:8px;cursor:pointer;text-align:left;font-family:inherit}
.bchk-mgr .mgr-item:hover{background:var(--accent-soft);color:var(--accent)}
.hot-side li{list-style:none;display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line2);font-size:.9em}
.hot-side li:last-child{border:none}
.hot-side a{color:var(--text2)}
.hot-side a:hover{color:var(--accent)}
.hot-rank{flex-shrink:0;width:20px;height:20px;border-radius:6px;background:var(--accent);color:#fff;font-size:.75em;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.hot-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 14px;scrollbar-width:thin}
.hot-strip a{flex-shrink:0;display:flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 15px;font-size:.88em;color:var(--text2);box-shadow:var(--shadow)}
.hot-strip a:hover{color:var(--accent);border-color:var(--accent)}
.home-sec-t{font-size:1.05rem;font-weight:700;margin:20px 0 12px;display:flex;align-items:center;gap:7px}
.auth-card{max-width:440px;margin:44px auto}
.auth-card h1{font-size:1.3rem;margin-bottom:20px;display:flex;align-items:center;gap:8px}
.profile-head{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.profile-head .avatar-lg{width:88px;height:88px}
.pi{flex:1;min-width:220px}
.pi h1{font-size:1.3rem;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.profile-stats{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0;font-size:.88em;color:var(--text2)}
.profile-stats span{display:flex;align-items:center;gap:5px}
.sig{background:var(--card2);border-radius:var(--radius-s);padding:9px 13px;font-size:.9em;color:var(--text2)}
.profile-actions{display:flex;flex-direction:column;gap:8px}
.badge-wall{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.badge{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent);border-radius:999px;padding:2px 11px;font-size:.8em}
.profile-tabs{display:flex;gap:4px;margin-bottom:16px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px;box-shadow:var(--shadow);align-items:center}
.profile-tabs a{padding:6px 15px;border-radius:999px;color:var(--text2);font-size:.92em;font-weight:500}
.profile-tabs a.on{background:var(--accent);color:#fff}
.profile-tabs .btn{margin-left:auto}
.post-item{padding:11px 18px;border-bottom:1px solid var(--line2);background:var(--card);font-size:.95em;color:var(--text2)}
.post-list,.pm-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.pm-item,.notify-item{display:flex;gap:12px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--line2);color:var(--text2)}
.pm-item:hover,.notify-item:hover{background:var(--hover)}
.pm-item.unread,.notify-item.unread{background:var(--accent-soft)}
.pm-item div,.notify-item div{flex:1;min-width:0}
.pm-item b{font-size:.95em;color:var(--text)}
.pm-item p,.notify-item p{font-size:.9em;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notify-item .ic{color:var(--accent);flex-shrink:0}
.pm-view .pm-content{margin:12px 0;background:var(--card2);padding:15px;border-radius:var(--radius-s)}
.verify-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px dashed var(--line2);flex-wrap:wrap}
.verify-row form{display:flex;gap:8px;align-items:center}
.verify-row input[type=text]{width:180px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--card2);color:var(--text)}
.rank-item{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line2)}
.rank-item:last-child{border-bottom:none}
.rank-item .rk{width:27px;height:27px;border-radius:50%;background:var(--card2);color:var(--text2);display:flex;align-items:center;justify-content:center;font-size:.82em;font-weight:700;flex-shrink:0;border:1px solid var(--line2)}
.rank-item .rk.rk1{background:#f5a623;color:#fff;border-color:#f5a623}
.rank-item .rk.rk2{background:#9aa0ab;color:#fff;border-color:#9aa0ab}
.rank-item .rk.rk3{background:#cd7f32;color:#fff;border-color:#cd7f32}
.rank-item a{color:var(--text);font-weight:600;flex:1}
.rank-item a:hover{color:var(--accent)}
.rank-val{color:var(--accent);font-weight:700}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.stat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;text-align:center}
.stat-card b{font-size:1.5rem;color:var(--accent);display:block}
.stat-card span{color:var(--muted);font-size:.85em;display:flex;align-items:center;gap:5px;justify-content:center;margin-top:5px}
.chart-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}
.chart-box h3{font-size:.98rem;margin-bottom:14px}
.chart{display:flex;align-items:flex-end;gap:6px;height:180px;padding-top:10px}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}
.bar{width:100%;max-width:26px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 55%,#fff),var(--accent));border-radius:4px 4px 0 0;min-height:2px;transition:height .3s}
.bar-col span{font-size:.66em;color:var(--muted);margin-top:5px;transform:rotate(-40deg);white-space:nowrap}
.admin-wrap{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start}
.admin-nav{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;position:sticky;top:76px}
.admin-nav h3{font-size:.95rem;margin-bottom:10px;display:flex;gap:6px;align-items:center}
.admin-nav a{display:block;padding:8px 13px;border-radius:var(--radius-s);color:var(--text2);font-size:.92em;font-weight:500}
.admin-nav a:hover{background:var(--hover);color:var(--accent)}
.admin-nav a.on{background:var(--accent);color:#fff}
.admin-main .card{margin-bottom:16px}
.tbl{width:100%;border-collapse:collapse;font-size:.9em}
.tbl th,.tbl td{padding:9px 11px;border-bottom:1px solid var(--line2);text-align:left;vertical-align:middle;color:var(--text2)}
.tbl th{background:var(--card2);font-weight:600;white-space:nowrap}
.tbl tr:hover td{background:var(--hover)}
.plugin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.plugin-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}
.plugin-card h3{font-size:1rem;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.msg-ok{background:color-mix(in srgb,#2fa85c 10%,transparent);border:1px solid color-mix(in srgb,#2fa85c 40%,transparent);color:#1e9e50;padding:11px 15px;border-radius:var(--radius-s);margin-bottom:12px}
html[data-theme=dark] .msg-ok{color:#5fce85}
.ok{color:#2fa85c;font-style:normal}
.style-opts{display:flex;gap:10px;flex-wrap:wrap}
.set-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.set-tab{padding:7px 16px;border-radius:999px;font-size:.86em;color:var(--text2);cursor:pointer;border:1px solid var(--line);background:var(--card2);font-weight:500;user-select:none}
.set-tab:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
.set-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}
.stab-pane{display:none}
.stab-pane.on{display:block}
.style-opt input{position:absolute;opacity:0;pointer-events:none}
.style-opt>span{display:flex;flex-direction:column;align-items:center;gap:7px;padding:11px 14px;border:2px solid var(--line);border-radius:var(--radius);cursor:pointer;font-size:.85em;color:var(--text2);min-width:92px;font-weight:500;background:var(--card)}
.style-opt>span:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.style-opt input:checked+span{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.so-prev{width:72px;height:44px;border:1px solid var(--line);border-radius:6px;background:var(--card2);position:relative;overflow:hidden;display:block}
.so-prev:before{content:'';position:absolute;left:7px;right:7px;top:7px;height:6px;border-radius:3px;background:var(--line)}
.so-prev:after{content:'';position:absolute;left:7px;right:24px;top:18px;height:6px;border-radius:3px;background:var(--line);box-shadow:0 10px 0 var(--line)}
.so-prev.so-dark{background:#1d212b}
.so-prev.so-dark:before{background:#3a4150}
.so-prev.so-dark:after{background:#3a4150;box-shadow:0 10px 0 #3a4150}
.so-prev.so-auto:before{background:linear-gradient(90deg,var(--line) 50%,#3a4150 50%)}
.so-prev.so-auto:after{background:linear-gradient(90deg,var(--line) 50%,#3a4150 50%);box-shadow:0 10px 0 var(--line)}
.so-prev.so-wide:after{right:7px}
.so-grid:before{right:44px}
.so-grid:after{right:44px}
.so-grid i{position:absolute;right:7px;top:7px;bottom:7px;width:30px;border-radius:3px;background:var(--line)}
.so-cards:after{display:none}
.so-cards i{position:absolute;left:7px;top:17px;width:18px;height:12px;border-radius:3px;background:var(--line);box-shadow:21px 0 0 var(--line),42px 0 0 var(--line),0 16px 0 var(--line),21px 16px 0 var(--line),42px 16px 0 var(--line)}
.so-rows:before{top:10px}
.so-rows:after{left:7px;right:7px;top:22px;box-shadow:0 9px 0 var(--line)}
.so-lines:before{display:none}
.so-lines:after{left:7px;right:30px;top:9px;height:4px;box-shadow:0 7px 0 var(--line),0 14px 0 var(--line),0 21px 0 var(--line),0 28px 0 var(--line)}
.accent-opts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.accent-opt input{position:absolute;opacity:0;pointer-events:none}
.accent-opt i{display:block;width:32px;height:32px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:.15s;background:var(--ac);font-style:normal;color:var(--text2);text-align:center;line-height:26px}
.accent-opt input:checked+i{border-color:var(--card);box-shadow:0 0 0 2px var(--accent)}
.accent-custom i{background:var(--card2);border:2px dashed var(--line)}
.msg-box{max-width:430px;margin:80px auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:38px;text-align:center}
.msg-icon{font-size:2.2rem;color:var(--accent);margin-bottom:10px}
.msg-text{margin-bottom:20px;color:var(--text2)}
.search-box{display:flex;gap:10px;margin-bottom:16px}
.search-box input{flex:1}
.site-footer{border-top:1px solid var(--line);background:var(--card);color:var(--text2);font-size:.88em}
.foot-in{padding:10px 0}
.foot-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:.86em}
.foot-left{color:var(--muted)}
.foot-right a{color:var(--muted);text-decoration:none}
.foot-right a:hover{color:var(--accent)}
.foot-right .sep{margin:0 8px;color:var(--line)}
.foot-extra{margin-top:10px;font-size:.85em}
.mobile-bar{display:none}
@media(max-width:860px){
.cols{grid-template-columns:1fr}
.col-side{order:2;margin-top:24px}
.main-nav{display:none}
body{padding-bottom:62px}
.wrap{padding:0 12px}
.site-main{padding-top:16px;padding-bottom:30px}
.admin-wrap{grid-template-columns:1fr}
.admin-nav{position:static;display:flex;flex-wrap:wrap;gap:6px}
.admin-nav h3{width:100%}
.admin-nav a{padding:6px 12px;border-radius:999px;background:var(--card2)}
.admin-nav a.on{background:var(--accent);color:#fff}
.post-card{grid-template-columns:1fr;gap:12px;padding:16px}
.pc-side{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:8px;align-items:center}
.pc-side .avatar-lg{width:44px;height:44px}
.tr-last{display:none}
.topic-row{flex-direction:column;align-items:flex-start;gap:6px}
.tr-right{width:100%;justify-content:space-between}
.header-in{gap:10px;height:54px}
.logo{font-size:1.05rem}
.logo-txt{display:none}
.hdr-search{width:120px}
.hdr-search:focus-within{width:150px}
.header-right .btn{padding:6px 12px;white-space:nowrap;flex-shrink:0}
.td-btns{gap:6px}
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:5px 8px calc(5px + env(safe-area-inset-bottom))}
.mobile-bar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 0 3px;color:var(--text2);font-size:clamp(9px,2.6vw,11px);border-radius:10px}
.mobile-bar a .ic{width:21px;height:21px}
.mobile-bar a:hover,.mobile-bar a.on{color:var(--accent)}
.mobile-bar .mb-new .mb-circle{width:42px;height:42px;margin-top:-18px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 45%,transparent)}
.mobile-bar .mb-new .mb-circle .ic{width:22px;height:22px}
}
@media(max-width:560px){
.board-grid{grid-template-columns:1fr}
.stat-grid{grid-template-columns:repeat(2,1fr)}
.home-tabs a{padding:6px 11px;font-size:.9em}
.tbl{display:table;width:100%}
.tbl th,.tbl td{padding:6px 7px;white-space:normal;font-size:.85em}
.admin-nav{gap:5px}
.admin-nav a{padding:5px 10px;font-size:.85em}
.col-side{display:none}
.card{padding:16px}
.td-title{font-size:1.25rem}
.bar-col span{transform:none;writing-mode:vertical-rl;text-orientation:mixed}
}
@supports not ((backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px))){.site-header{background:var(--card)}.mobile-bar{background:var(--card)}}
@media(hover:none){.topic-row:hover,.main-nav a:hover,.ic-link:hover,.user-drop a:hover,.drop-exit:hover{background:transparent;color:var(--text2)}.btn:hover,.pager a:hover{border-color:var(--line);color:var(--text2)}.tr-title a:hover{color:var(--text)}.home-tabs a:hover{color:var(--text2)}.board-card:hover,.ls-card .topic-row:hover{transform:none;box-shadow:var(--shadow);border-color:var(--line)}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(min-width:1600px){.wrap{max-width:1280px}}
.lang-btn{border:none;background:none;cursor:pointer}
.lang-drop{min-width:130px}
.lang-drop a.on{color:var(--accent);font-weight:600;background:var(--hover)}
html[dir=rtl] .main-nav,html[dir=rtl] .header-right,html[dir=rtl] .header-in{direction:rtl}
html[dir=rtl] .user-drop{right:auto;left:0}
html[dir=rtl] .user-drop a,html[dir=rtl] .drop-exit{text-align:right}
html[dir=rtl] .ic-link .dot{right:auto;left:-2px}
html[dir=rtl] .crumbs,html[dir=rtl] .home-tabs,html[dir=rtl] .td-meta,html[dir=rtl] .tr-right,html[dir=rtl] .post-head,html[dir=rtl] .td-btns{direction:rtl}
html[dir=rtl] .hdr-search input{padding-right:12px;padding-left:32px}
html[dir=rtl] .form-row label{text-align:right}