/* 0.24.0 交流区: two columns. The thread list is the main thing (no frame, largest text); the right rail holds the 求资源榜
   note (the only coloured block), a quieter 更新日历 and 我的. Posting happens in one dialog. Motion is opacity / transform only. */
.nex248-main{box-sizing:border-box;padding:28px 16px 56px}
.nex248{--f-panel:rgba(255,255,255,.035);--f-sunk:rgba(0,0,0,.22);--f-pop:#20242e;--f-hover:rgba(255,255,255,.025);--f-line:rgba(255,255,255,.07);--f-line-2:rgba(255,255,255,.14);--f-text:#d9dde4;--f-strong:#fff;--f-muted:#7f8794;--f-accent:#0a6cff;--f-ice:#c8fbff;
 --t-req:#3ccf95;--t-fix:#f08a5d;--t-cfg:#0a6cff;--t-idea:#6fb6ff;--t-chat:#7f8794;
 box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;color:var(--f-text);font-size:15px}
html:is([data-bs-theme=light],[data-nex-theme=light],[data-theme=light]) .nex248{--f-panel:#fff;--f-pop:#fff;--f-sunk:#f2f5f9;--f-hover:rgba(10,108,255,.04);--f-line:rgba(16,32,64,.08);--f-line-2:rgba(16,32,64,.18);--f-text:#2a3442;--f-strong:#0d1420;--f-muted:#6b7584;--f-ice:#0a6cff;--t-req:#14935f;--t-fix:#c9531f;--t-idea:#2f86e0}
.nex248 *,.nex248 *::before,.nex248 *::after{box-sizing:border-box}
.nex248 :is(h1,h2){padding:0;border:0}
.nex248 :is(h1,h2)::before,.nex248 :is(h1,h2)::after{content:none}
.nex248 a{text-decoration:none}
.nex248 button{font:inherit}
.nex248 .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Title bar */
.nex248-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin:0 0 18px;padding:0 0 16px;border-bottom:1px solid var(--f-line)}
.nex248-top h1{margin:0;color:var(--f-strong);font-size:26px;font-weight:800;line-height:1.2}
.nex248-top p{margin:4px 0 0;color:var(--f-muted);font-size:14px}
.nex248-groups{display:flex;gap:8px}
.nex248-groups a{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--f-line-2);border-radius:8px;color:var(--f-text);font-size:13px;font-weight:600;transition:border-color .15s,color .15s}
.nex248-groups a:hover{border-color:var(--f-accent);color:var(--f-strong)}
.nex248-groups svg{width:16px;height:16px;color:var(--f-ice)}

/* Toolbar: topics left, game search right */
.nex248-tools{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.nex248-tools>[data-nex248-head]{flex:1;min-width:0}
.nex248-tabs{display:flex;gap:2px;overflow-x:auto;padding:3px;border-radius:10px;background:var(--f-sunk);scrollbar-width:none}
.nex248-tabs::-webkit-scrollbar{display:none}
.nex248-tabs a{flex:none;display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:7px;color:var(--f-muted);font-size:14px;font-weight:600;transition:color .15s,background-color .15s}
.nex248-tabs a:hover{color:var(--f-strong)}
.nex248-tabs a[aria-current]{background:var(--f-panel);color:var(--f-strong);box-shadow:0 1px 2px rgba(0,0,0,.25)}
.nex248-tabs i{font-style:normal;font-size:12px;font-weight:500;color:var(--f-muted);font-variant-numeric:tabular-nums}
.nex248-tabs a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tc,transparent)}
.nex248-tabs .is-req{--tc:var(--t-req)}.nex248-tabs .is-fix{--tc:var(--t-fix)}.nex248-tabs .is-cfg{--tc:var(--t-cfg)}.nex248-tabs .is-chat{--tc:var(--t-chat)}.nex248-tabs .is-idea{--tc:var(--t-idea)}
.nex248-tabs a:not([class])::before{display:none}
.nex248-find{flex:0 0 240px;position:relative}
.nex248-find label{position:relative;display:flex;align-items:center}
.nex248-find svg{position:absolute;left:11px;width:16px;height:16px;color:var(--f-muted);pointer-events:none}
.nex248 .nex248-find input[name]{height:38px;padding:0 12px 0 34px;border-radius:10px}

/* Inputs */
.nex248 :is(input[name],textarea){width:100%;margin:0;padding:9px 12px;border:1px solid var(--f-line-2);border-radius:8px;background:var(--f-sunk);color:var(--f-strong);font:inherit;font-size:14px;box-shadow:none;outline:none;transition:border-color .15s}
.nex248 :is(input[name],textarea):focus{border-color:var(--f-accent)}
.nex248 textarea{resize:vertical;min-height:96px;line-height:1.6}
.nex248-sug{position:absolute;z-index:20;top:100%;left:0;right:0;margin:4px 0 0;padding:4px;border:1px solid var(--f-line-2);border-radius:10px;background:var(--f-pop);box-shadow:0 12px 30px rgba(0,0,0,.35);list-style:none;max-height:320px;overflow-y:auto}
.nex248-sug li{margin:0;padding:8px 10px;border-radius:6px;color:var(--f-text);font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nex248-sug li:hover,.nex248-sug li[aria-selected=true]{background:var(--f-sunk);color:var(--f-strong)}

/* Notes and the game filter */
.nex248-filter,.nex248-note{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:9px 14px;border-radius:10px;background:var(--f-sunk);font-size:14px}
.nex248-filter span{color:var(--f-strong);font-weight:600}
.nex248-filter a{color:var(--f-ice);font-size:13px}
.nex248-note{border-left:3px solid var(--f-accent)}

.nex248-emoji{display:flex;flex-wrap:wrap;gap:0}
.nex248-emoji button{width:30px;height:30px;padding:0;border:0;border-radius:6px;background:transparent;font-size:17px;line-height:30px;cursor:pointer;transition:transform .15s}
.nex248-emoji button:hover{transform:scale(1.2)}
.nex248-send,.nex248-rform button{flex:none;white-space:nowrap;padding:8px 22px;border:0;border-radius:8px;background:var(--f-accent);color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:transform .15s}
.nex248-send:hover,.nex248-rform button:hover{transform:translateY(-1px)}
/* Thread rows */
[data-nex248-body]{transition:opacity .15s}
[data-nex248-body].is-loading{opacity:.45;pointer-events:none}
[data-nex248-body].is-fresh .nex248-list{animation:nex248-in .22s ease both}
@keyframes nex248-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.nex248-list{border-top:1px solid var(--f-line);border-bottom:1px solid var(--f-line)}
/* The theme spaces out section / article / ol on its own pages; the board's rows sit flush. */
.nex248 :is(.nex248-list,.nex248-post,.nex248-replies,.nex248-replies>li){margin:0;box-shadow:none}
.nex248 .nex248-list{padding:0}
.nex248 .nex248-post{border-radius:0;background:transparent}
.nex248-empty{margin:0;padding:48px 16px;color:var(--f-muted);text-align:center}
.nex248 .nex248-post{--tc:var(--t-chat);--pad:14px;--av:40px;--gap:12px;position:relative;display:flex;gap:var(--gap);padding:16px var(--pad) 12px;border-top:1px solid var(--f-line);scroll-margin-top:90px;transition:background-color .15s}
.nex248 .nex248-post:first-child{border-top:0}
.nex248-post::before{content:"";position:absolute;left:0;top:16px;width:3px;height:22px;border-radius:0 3px 3px 0;background:var(--tc);opacity:.85}
.nex248 .nex248-post:is(:hover,.is-open){background:var(--f-hover)}
.nex248 .nex248-post.is-req{--tc:var(--t-req)}.nex248 .nex248-post.is-fix{--tc:var(--t-fix)}.nex248 .nex248-post.is-cfg{--tc:var(--t-cfg)}.nex248 .nex248-post.is-idea{--tc:var(--t-idea)}
.nex248 .nex248-post.is-pin{background:linear-gradient(90deg,rgba(10,108,255,.08),transparent 60%)}
.nex248 .nex248-av{flex:none;width:40px;height:40px;border-radius:50%}
.nex248-body{flex:1;min-width:0}
.nex248-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;line-height:1.5}
.nex248-name{color:var(--f-strong);font-size:14.5px}
.nex248-name.is-owner{color:var(--f-ice)}
.nex248-tag{color:var(--tc);font-weight:600}
.nex248-tag:hover{text-decoration:underline}
.nex248-gm{color:var(--f-text)}
.nex248-gm:hover{color:var(--f-strong)}
.nex248-time{margin-left:auto;color:var(--f-muted);font-size:12px;white-space:nowrap}
.nex248-time em{margin-right:8px;padding:1px 6px;border-radius:4px;background:var(--f-accent);color:#fff;font-style:normal;font-weight:600}
.nex248-text{margin:4px 0 0;color:var(--f-strong);font-size:15.5px;line-height:1.7;word-break:break-word}
.nex248-text p{margin:0 0 4px}.nex248-text p:last-child{margin:0}
.nex248-text a{color:var(--f-ice)}
.nex248-post>.nex248-body>.nex248-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.nex248-post.is-open>.nex248-body>.nex248-text{display:block;-webkit-line-clamp:unset}
.nex248-more{margin:2px 0 0;padding:0;border:0;background:none;color:var(--f-ice);font-size:13px;cursor:pointer}
.nex248-post.is-open .nex248-more{display:none}
.nex248-cfg{display:flex;align-items:center;gap:6px;margin:6px 0 0;color:var(--f-muted);font-size:12.5px;font-family:ui-monospace,"SFMono-Regular",Consolas,monospace}
.nex248-cfg svg{flex:none;width:14px;height:14px}
.nex248-acts{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin:6px 0 0}
.nex248-reply{display:inline-flex;align-items:center;gap:6px;margin:0 0 0 -8px;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:var(--f-muted);font-size:13px;cursor:pointer;transition:color .15s,background-color .15s}
.nex248-reply::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M4 5h16v11H9l-5 4z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M4 5h16v11H9l-5 4z'/%3E%3C/svg%3E") center/contain no-repeat}
.nex248-reply:hover,.nex248-reply[aria-expanded=true]{color:var(--f-ice);background:var(--f-sunk)}
.nex248-opt{color:var(--f-muted);font-size:13px}
.nex248-opt:hover{color:var(--f-ice)}
.nex248 .nex248-replies{display:none;flex-direction:column;gap:14px;margin:12px 0 0;padding:0;list-style:none}
.nex248-post.is-open .nex248-replies{display:flex;animation:nex248-in .2s ease both}
.nex248-replies>li{position:relative;display:flex;gap:10px;margin:0;padding:0}
/* X-style thread line: down from the poster's avatar, an elbow into each reply. --rb is set by script when a thread opens. */
.nex248-post.is-open.has-replies::after{content:"";position:absolute;left:calc(var(--lx,calc(var(--pad) + var(--av)/2)) - 1px);top:calc(16px + var(--av) + 4px);bottom:var(--rb,40px);width:2px;border-radius:1px;background:var(--f-line-2)}
.nex248-replies>li::before{content:"";position:absolute;left:calc(var(--ex,calc(-1*(var(--av)/2 + var(--gap)))) - 1px);top:-10px;width:calc(-1*var(--ex,calc(-1*(var(--av)/2 + var(--gap)))) - 3px);height:24px;border-left:2px solid var(--f-line-2);border-bottom:2px solid var(--f-line-2);border-bottom-left-radius:12px}
.nex248-replies .nex248-av.is-owner{box-shadow:0 0 0 2px var(--f-ice)}
.nex248-replies>li>div{flex:1;min-width:0}
.nex248-replies .nex248-av{width:28px;height:28px}
.nex248-replies .nex248-text{margin-top:2px;font-size:14px}
.nex248-rform{display:none;gap:8px;align-items:flex-start;margin:10px 0 2px}
.nex248-post.is-open .nex248-rform{display:flex}
.nex248-rform textarea{min-height:40px}
.nex248-rform.is-login a{color:var(--f-ice);font-size:13px}
.nex248-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:16px 0 0}
.nex248-pages :is(a,span){min-width:34px;padding:5px 9px;border-radius:8px;color:var(--f-muted);text-align:center;font-size:14px}
.nex248-pages a:hover{background:var(--f-sunk);color:var(--f-strong)}
.nex248-pages span{background:var(--f-accent);color:#fff}

@media (max-width:640px){
 .nex248-main{padding:18px 12px 40px}
 .nex248-top{align-items:flex-start;margin-bottom:14px;padding-bottom:12px}
 .nex248-top h1{font-size:22px}
 .nex248-tools{flex-direction:column-reverse;align-items:stretch;gap:10px}
 .nex248-find{flex:none}
 .nex248 .nex248-post{--pad:10px;--av:34px;--gap:10px;padding:14px 10px 10px}
 .nex248 .nex248-av{width:34px;height:34px}
 .nex248-rform{flex-direction:column;align-items:stretch}
}


/* ---------- 0.24.0 ---------- */
.nex249 [hidden]{display:none!important}
.nex249-cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.nex249-main{min-width:0}
.nex249-side{display:flex;flex-direction:column;gap:22px;min-width:0;position:sticky;top:84px}
.nex248-tools{flex-wrap:wrap}
.nex249 .nex248-tools>[data-nex248-head]{flex:1 1 480px}
.nex249-tools-r{margin-left:auto}
.nex249-tools-r{display:flex;align-items:center;gap:12px}
.nex249-open{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--f-muted);font-size:13px;white-space:nowrap;cursor:pointer}
.nex249-open input{width:15px;height:15px;margin:0;accent-color:var(--f-accent)}
.nex249-extra{color:var(--f-muted)}
.nex249-st{margin-right:8px;padding:1px 7px;border-radius:5px;background:rgba(10,108,255,.18);color:#8cc0ff;font-size:12px;font-weight:600}
.nex249-st.is-done{background:rgba(60,207,149,.16);color:#5fe0ab}
.nex249-mod{color:var(--f-muted);font-size:12.5px;text-decoration:underline dotted}
.nex248-groups{align-items:center}

/* 我的消息 */
.nex249-bell{position:relative}
.nex249-bell-btn{position:relative;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px 0 4px;border:1px solid var(--f-line-2);border-radius:999px;background:transparent;color:var(--f-text);font-size:13px;cursor:pointer}
.nex249-bell-btn .nex248-av{width:26px;height:26px}
.nex249-bell-btn i,.nex249-mine-msg i{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e5484d;color:#fff;font-size:11px;font-style:normal;font-weight:700;line-height:18px;text-align:center}
.nex249-notes{position:absolute;z-index:30;right:0;top:calc(100% + 8px);width:min(360px,calc(100vw - 32px));border:1px solid var(--f-line-2);border-radius:12px;background:var(--f-pop);box-shadow:0 16px 40px rgba(0,0,0,.45);overflow:hidden}
.nex249-notes-hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:1px solid var(--f-line)}
.nex249-notes-hd b{color:var(--f-strong)}.nex249-notes-hd span{color:var(--f-muted);font-size:12px}
.nex249 .nex249-notes ul{margin:0;padding:0;list-style:none;max-height:420px;overflow-y:auto}
.nex249-notes li{margin:0;border-bottom:1px solid var(--f-line)}
.nex249-notes li a{display:flex;gap:10px;padding:11px 14px;color:var(--f-text)}
.nex249-notes li.is-new a{background:rgba(10,108,255,.07)}
.nex249-notes li a>i{flex:none;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--f-line-2)}
.nex249-notes li.is-new.is-reply a>i{background:var(--f-accent)}.nex249-notes li.is-new.is-ship a>i{background:#3ccf95}.nex249-notes li.is-new.is-fix a>i{background:#f08a5d}
.nex249-notes li span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.nex249-notes li b{color:var(--f-strong);font-size:13.5px;font-weight:600}
.nex249-notes li small{color:var(--f-muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nex249-notes time{flex:none;color:var(--f-muted);font-size:11.5px}

/* 你想做什么 */
.nex249-intents{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 20px;scroll-margin-top:90px}
.nex249-int{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 15px;border:1px solid var(--f-line-2);border-radius:999px;background:transparent;color:var(--f-text);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,transform .15s}
.nex249-int:hover{border-color:var(--f-ice);color:var(--f-strong)}
.nex249-int i{width:7px;height:7px;border-radius:50%;background:var(--tc)}
.nex249-int.is-cfg{--tc:var(--t-cfg)}.nex249-int.is-fix{--tc:var(--t-fix)}.nex249-int.is-talk{--tc:var(--t-chat)}
.nex249-int.is-main{height:44px;padding:0 22px 0 18px;border:0;border-radius:10px;background:var(--f-accent);color:#fff;font-size:16px;font-weight:800}
.nex249-int.is-main:hover{transform:translateY(-1px);color:#fff}
.nex249-int.is-main svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.nex249-int-tip{color:var(--f-muted);font-size:13px}

/* Tabs: 求资源 / 配置 / 失效 / 聊聊 colour dots */
.nex248-tabs .is-talk{--tc:var(--t-chat)}

/* +1 */
/* 0.24.7 The button only says +1; the count sits beside it as plain text (button + number inside read as a double image). */
.nex249-plus{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:28px;padding:0 12px;border:1px solid var(--t-req);border-radius:999px;background:var(--t-req);color:#06121c;font-size:13px;cursor:pointer;transition:transform .15s}
.nex249-plus b{font-weight:800}
.nex249-cnt{color:var(--f-muted);font-size:12.5px;white-space:nowrap}.nex249-cnt b,.nex249-g small b{font-weight:700;font-variant-numeric:tabular-nums}.nex249-cnt b{color:var(--f-text)}
.nex249-plus:hover{transform:translateY(-1px)}
.nex249-plus.is-on{background:transparent;color:var(--t-req);transform:none}
.nex249-plus.is-on:hover{border-style:dashed;opacity:.8}

/* 求资源榜: a pinned note in the logo's ice colour */
.nex249-note{position:relative;padding:22px 18px 14px;border-radius:3px 3px 16px 3px;background:#c8fbff;background-image:repeating-linear-gradient(transparent 0 45px,rgba(10,108,255,.13) 45px 46px);background-position:0 84px;color:#06121c;box-shadow:0 10px 24px rgba(0,0,0,.35);transform:rotate(-.6deg)}
.nex249-tape{position:absolute;top:-9px;left:50%;width:84px;height:20px;margin-left:-42px;background:rgba(255,255,255,.55);transform:rotate(2deg)}
.nex249-note-hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.nex249 .nex249-note h2{margin:0;color:#06121c;font-size:20px;font-weight:800}
.nex249-note-hd span{color:#3d5560;font-size:12px}
.nex249-note-sub{margin:3px 0 6px;color:#3d5560;font-size:13px}
.nex249 .nex249-note ol{margin:0;padding:0;list-style:none}
.nex249-note li{display:flex;align-items:center;gap:10px;height:46px;margin:0}
.nex249-no{flex:none;width:22px;text-align:center;font-weight:800;font-size:15px;color:#06121c}
.nex249-note li:nth-child(n+4):not(.is-done) .nex249-no{color:#5b6f78}
.nex249-g{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.nex249-g>:is(b,s){color:#06121c;font-size:14.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nex249-g s{text-decoration-color:#0a6cff;text-decoration-thickness:2px}
.nex249-g small{color:#5b6f78;font-size:11.5px}
.nex249-note li.is-done .nex249-no,.nex249-note li.is-done small{color:#0a6cff}
.nex249-note .nex249-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:46px;height:30px;padding:0 10px;border:1.5px solid #06121c;border-radius:999px;background:#06121c;color:#c8fbff;font-size:13px;font-weight:800}
.nex249-note .nex249-g small b{color:#06121c}
/* 0.24.7 撤除: crossed out in red with the reason; the owner's 撤除 button opens a small form under the row. */
.nex249-note li{position:relative}
.nex249-note li.is-drop .nex249-no{color:#d23b3b}
.nex249-note li.is-drop s{color:#5b6f78;text-decoration-color:#e5484d;text-decoration-thickness:2px}
.nex249-note li.is-drop small{color:#c0392b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nex256-drop{flex:none}
.nex256-drop summary{list-style:none;padding:2px 4px;border-radius:4px;color:#8a3a3a;font-size:12px;cursor:pointer;opacity:.55}
.nex256-drop summary::-webkit-details-marker{display:none}
.nex256-drop summary:hover,.nex256-drop[open] summary{opacity:1;background:rgba(229,72,77,.12)}
.nex256-drop form{position:absolute;z-index:6;right:0;top:calc(100% - 2px);display:flex;flex-direction:column;gap:8px;width:min(280px,80vw);padding:12px;border:1px solid #e5b3b3;border-radius:10px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.nex256-drop label{display:flex;flex-direction:column;gap:6px;color:#06121c;font-size:12.5px;font-weight:700}
.nex249 .nex256-drop input{height:34px;padding:0 10px;border:1px solid #c9d3dc;border-radius:7px;background:#fff;color:#06121c;font-size:13px}
.nex249 .nex249-note li[hidden]{display:none}
.nex256-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin:6px 0 0;color:#3d5560;font-size:12.5px}
.nex256-pager b{color:#06121c}
.nex249 .nex256-pager button{width:30px;height:28px;padding:0;border:1.5px solid #06121c;border-radius:999px;background:transparent;color:#06121c;font-size:17px;font-weight:800;line-height:1;cursor:pointer}
.nex249 .nex256-pager button:hover:not(:disabled){background:#06121c;color:#c8fbff}
.nex249 .nex256-pager button:disabled{opacity:.3;cursor:default}
.nex256-tip{margin:0;color:#5b6f78;font-size:11.5px;line-height:1.5}
.nex256-btns{display:flex;gap:8px}
.nex249 .nex256-drop button{flex:1;height:32px;border:1.5px solid #e5484d;border-radius:7px;background:#fff;color:#c0392b;font-size:13px;font-weight:800;cursor:pointer}
.nex249 .nex256-drop button.is-del{background:#e5484d;color:#fff}
.nex249-st.is-drop{background:rgba(229,72,77,.16);color:#ff8a8a}
.nex249-notes li.is-new.is-drop a>i{background:#e5484d}
.nex249-mine-req s.is-drop{text-decoration-color:#e5484d}
.nex249-res em.is-drop{color:#ff8a8a;font-style:normal}
.nex249-note a.nex249-btn,.nex249-note .nex249-plus.is-on{background:transparent;color:#06121c}
.nex249-note-go{margin:8px 0 0;padding:0;border:0;background:none;color:#0a6cff;font-size:13px;font-weight:700;cursor:pointer}
.nex249-note .nex249-none{margin:12px 0;color:#3d5560}

/* Rail headings */
.nex249-side-hd{display:flex;align-items:center;gap:8px;margin:0 0 12px}
.nex249 .nex249-side-hd h2{margin:0;color:var(--f-strong);font-size:16px;font-weight:800}
.nex249-side-hd a{margin-left:auto;color:var(--f-ice);font-size:12.5px}
.nex249-today{padding:1px 7px;border-radius:5px;background:var(--f-accent);color:#fff;font-size:12px;font-weight:700}

/* 更新日历 */
.nex249-cal{padding:14px 16px 16px;border:1px solid var(--f-line);border-radius:12px;background:var(--f-panel)}
.nex249-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0 0 12px}
.nex249-week button{display:flex;flex-direction:column;align-items:center;gap:2px;height:50px;padding:5px 0 0;border:1px solid var(--f-line);border-radius:8px;background:var(--f-sunk);color:var(--f-text);cursor:pointer;transition:border-color .15s}
.nex249-week button span{font-size:10.5px;opacity:.75}.nex249-week button b{font-size:14px;line-height:1.1}
.nex249-week button i{width:calc(var(--n)*5px + 3px);height:3px;margin-top:2px;border-radius:2px;background:#8cc0ff}
.nex249-week button.is-empty{color:var(--f-muted)}.nex249-week button.is-empty i{width:0}
.nex249-week button:hover{border-color:var(--f-line-2)}
.nex249-week button[aria-selected=true]{border-color:var(--f-accent);background:var(--f-accent);color:#fff}
.nex249-week button[aria-selected=true] i{background:#fff}
.nex249-sum{margin:0 0 8px;color:var(--f-muted);font-size:12.5px}
.nex249 .nex249-daylist ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.nex249-daylist li{margin:0;min-width:0}
.nex249-daylist a{position:relative;display:flex;flex-direction:column;gap:4px;color:var(--f-text)}
.nex249-daylist :is(img,.nex249-ph){display:block;width:100%;aspect-ratio:3/4;border-radius:6px;object-fit:cover;background:var(--f-sunk)}
.nex249-ph{display:grid!important;place-items:center;color:var(--f-muted);font-style:normal;font-weight:700}
.nex249-daylist em{position:absolute;left:4px;top:4px;padding:0 5px;border-radius:4px;background:rgba(6,18,28,.82);color:#c8fbff;font-size:10.5px;font-style:normal;font-weight:700;line-height:17px}
.nex249-daylist em.is-new{background:var(--f-accent);color:#fff}
.nex249-daylist span{font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nex249-daylist a:hover span{color:var(--f-strong)}
.nex249-more{display:block;margin:10px 0 0;color:var(--f-ice);font-size:12.5px}
.nex249-none{margin:4px 0;color:var(--f-muted);font-size:13px}

/* 我的 */
.nex249-mine{padding:0 2px;font-size:13.5px}
.nex249-mine-hd{display:flex;align-items:center;gap:8px}
.nex249-mine-hd .nex248-av{width:28px;height:28px}
.nex249-mine-hd b{color:var(--f-strong)}
.nex249-mine-msg{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:var(--f-text);font-size:13px;cursor:pointer}
.nex249-mine-hd a{margin-left:auto;color:var(--f-muted);font-size:12.5px}
.nex249-mine-req{margin:6px 0 0 36px;color:var(--f-muted);font-size:13px;line-height:1.7}
.nex249-mine-req s{color:var(--f-muted)}.nex249-mine-req a{color:#5fe0ab;font-weight:600}.nex249-mine-req i{margin:0 5px;font-style:normal}
.nex249-mine.is-guest{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--f-muted);font-size:13px}
.nex249-mine.is-guest p{margin:0}.nex249-mine.is-guest a{flex:none;color:var(--f-ice);font-weight:700}

/* The post dialog */
.nex249-modal{width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 40px);margin:auto;padding:0;border:1px solid var(--f-line-2);border-radius:14px;background:#22252e;color:var(--f-text);box-shadow:0 24px 60px rgba(0,0,0,.55)}
.nex249-modal::backdrop{background:rgba(6,10,16,.62)}
.nex249-modal[open]{animation:nex248-in .18s ease both}
.nex249-form{display:flex;flex-direction:column;gap:14px;padding:16px 18px 18px}
.nex249-mhd{display:flex;align-items:center;justify-content:space-between}
.nex249-mhd b{color:var(--f-strong);font-size:17px}
.nex249-x{width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--f-muted);font-size:22px;line-height:1;cursor:pointer}
.nex249-x:hover{background:var(--f-sunk);color:var(--f-strong)}
.nex249-mtabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:3px;border-radius:10px;background:var(--f-sunk)}
.nex249-mtabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 4px;border:0;border-radius:7px;background:transparent;color:var(--f-muted);font-size:13.5px;font-weight:600;white-space:nowrap;cursor:pointer}
.nex249-mtabs i{width:7px;height:7px;border-radius:50%;background:var(--tc)}
.nex249-mtabs .is-req{--tc:var(--t-req)}.nex249-mtabs .is-cfg{--tc:var(--t-cfg)}.nex249-mtabs .is-fix{--tc:var(--t-fix)}.nex249-mtabs .is-talk{--tc:var(--t-chat)}
.nex249-mtabs button[aria-selected=true]{background:#2f343f;color:var(--f-strong)}
.nex249-pane{display:flex;flex-direction:column;gap:12px}
.nex249-f{position:relative;display:flex;flex-direction:column;gap:6px;margin:0}
.nex249-f>span{color:var(--f-muted);font-size:13px}.nex249-f small{font-size:12px;margin-left:4px}
.nex249 .nex249-f :is(input,textarea){width:100%;margin:0;padding:9px 12px;border:1px solid var(--f-line-2);border-radius:8px;background:#15171d;color:#fff;font:inherit;font-size:14px;outline:none}
.nex249 .nex249-f :is(input,textarea):focus{border-color:var(--f-accent)}
.nex249 .nex249-f textarea{min-height:64px;resize:vertical;line-height:1.6}
.nex249-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.nex249-chip{position:relative;margin:0;cursor:pointer}
.nex249-chip input{position:absolute;opacity:0;pointer-events:none}
.nex249-chip span{display:inline-flex;padding:6px 12px;border:1px solid var(--f-line-2);border-radius:999px;color:var(--f-text);font-size:13px}
.nex249-chip input:checked+span{border-color:var(--f-accent);background:rgba(10,108,255,.18);color:#fff}
.nex249-chip input:focus-visible+span{outline:2px solid var(--f-ice);outline-offset:2px}
.nex249-sep{width:8px}
.nex249-res ul{margin:0;padding:0;border:1px solid var(--f-line);border-radius:10px;list-style:none;overflow:hidden}
.nex249-res li{display:flex;align-items:center;gap:10px;margin:0;padding:9px 12px;border-top:1px solid var(--f-line)}
.nex249-res li:first-child{border-top:0}
.nex249-res li img,.nex249-res li .nex249-ph{flex:none;width:64px;height:24px;border-radius:4px;object-fit:cover}
.nex249-res li>span{flex:1;min-width:0;display:flex;flex-direction:column}
.nex249-res li b{color:var(--f-strong);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nex249-res li small{color:var(--f-muted);font-size:12px}
.nex249-res li em{font-style:normal;color:#5fe0ab}
.nex249-act{flex:none;display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 12px;border:0;border-radius:7px;background:var(--f-accent);color:#fff;font-size:13px;font-weight:700;cursor:pointer}
.nex249-act.is-ok{background:transparent;color:#5fe0ab;border:1px solid rgba(60,207,149,.5)}
.nex249-wait{margin:0;padding:10px 2px;color:var(--f-muted);font-size:13px}
.nex249-byname{margin:8px 0 0;color:var(--f-muted);font-size:13px}
.nex249-byname button{padding:0;border:0;background:none;color:var(--f-ice);font-size:13px;cursor:pointer;text-decoration:underline}
.nex249-pickd{display:flex;flex-direction:column;gap:12px}
.nex249-pickd-g{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(10,108,255,.45);border-radius:10px;background:rgba(10,108,255,.08)}
.nex249-pickd-g img{width:92px;height:34px;border-radius:4px;object-fit:cover}
.nex249-pickd-g b{flex:1;min-width:0;color:var(--f-strong)}
.nex249-pickd-g button{padding:0;border:0;background:none;color:var(--f-muted);font-size:12.5px;cursor:pointer;text-decoration:underline}
.nex249-tip,.nex249-login{margin:0;color:var(--f-muted);font-size:12.5px;line-height:1.6}
.nex249-login a{color:var(--f-ice);font-weight:700}
.nex249-err{margin:0;padding:8px 12px;border-radius:8px;background:rgba(229,72,77,.14);color:#ff9a9d;font-size:13px}
.nex249-mft{display:flex;justify-content:flex-end;gap:8px}
.nex249-cancel{padding:8px 14px;border:0;border-radius:8px;background:transparent;color:var(--f-muted);cursor:pointer}
.nex249-send{padding:8px 24px;border:0;border-radius:8px;background:var(--f-accent);color:#fff;font-size:14px;font-weight:700;cursor:pointer}
.nex249-send[disabled]{opacity:.6}
.nex249-flash{position:fixed;left:50%;bottom:24px;z-index:50;margin:0;padding:9px 16px;border-radius:999px;background:#20242e;color:#fff;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.4);opacity:0;transform:translate(-50%,8px);transition:opacity .2s,transform .2s;pointer-events:none}
.nex249-flash.is-on{opacity:1;transform:translate(-50%,0)}
html:is([data-bs-theme=light],[data-nex-theme=light],[data-theme=light]) .nex249-modal{background:#fff;color:#2a3442}
html:is([data-bs-theme=light],[data-nex-theme=light],[data-theme=light]) .nex249 .nex249-f :is(input,textarea){background:#f2f5f9;color:#0d1420}
html:is([data-bs-theme=light],[data-nex-theme=light],[data-theme=light]) .nex249-mtabs button[aria-selected=true]{background:#fff;color:#0d1420}

@media (max-width:960px){
 .nex249-cols{grid-template-columns:minmax(0,1fr);gap:18px}
 .nex249-side{position:static;order:-1;gap:14px}
 .nex249 .nex249-daylist ul{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:640px){
 .nex249-intents{gap:8px}
 .nex249-int.is-main{flex:1 1 100%;justify-content:center}
 .nex249-int:not(.is-main){flex:1;justify-content:center;padding:0 8px;font-size:13px}
 .nex249-int-tip{display:none}
 .nex249 .nex248-tools>[data-nex248-head]{flex:none}
 .nex249-tools-r{width:100%;margin:0}.nex249-tools-r .nex248-find{flex:1}
 .nex249-bell-btn span{display:none}
 .nex249-cal .nex249-daylist{display:none}
 .nex249-cal .nex249-week{margin:0}
 .nex249-mtabs button{font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){.nex249 *{transition:none!important;animation:none!important}.nex249-note{transform:none}}
/* 0.24.25 站长发临时资源 + 消息弹窗 */
.nex259-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border:1px solid #0a6cff;border-radius:999px;background:rgba(10,108,255,.14);color:#7fb4ff;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.nex259-chip i{width:7px;height:7px;border-radius:50%;background:#3ccf95;box-shadow:0 0 0 3px rgba(60,207,149,.25);animation:nex259-blink 1.6s ease-in-out infinite}
.nex259-chip:hover{background:#0a6cff;color:#fff}
.nex249-note .nex259-chip{height:24px;padding:0 9px;background:#0a6cff;color:#fff;font-size:12px}
.nex249-mine .nex259-chip{height:22px;margin-left:4px;padding:0 8px;font-size:11.5px}
@keyframes nex259-blink{50%{opacity:.35}}
.nex259-give{flex:none}
.nex259-give summary{list-style:none;padding:2px 5px;border-radius:4px;color:#0a6cff;font-size:12px;font-weight:700;cursor:pointer;opacity:.7}
.nex259-give summary::-webkit-details-marker{display:none}
.nex259-give summary:hover,.nex259-give[open] summary{opacity:1;background:rgba(10,108,255,.12)}
.nex259-give form{position:absolute;z-index:7;right:0;top:calc(100% - 2px);display:flex;flex-direction:column;gap:8px;width:min(300px,84vw);padding:12px;border:1px solid #b9d3f5;border-radius:10px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.nex259-give label{display:flex;flex-direction:column;gap:5px;color:#06121c;font-size:12.5px;font-weight:700}
.nex259-give label small{font-weight:400;color:#6b7584}
.nex249 .nex259-give input,.nex249 .nex259-give select{height:34px;padding:0 10px;border:1px solid #c9d3dc;border-radius:7px;background:#fff;color:#06121c;font-size:13px}
.nex249 .nex259-give .nex256-tip{margin:0;color:#56606c;font-size:11.5px;line-height:1.5}
.nex249 .nex259-send{height:34px;border:0;border-radius:7px;background:#0a6cff;color:#fff;font-size:13px;font-weight:800;cursor:pointer}
.nex259-now{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:6px 8px;border-radius:7px;background:#e8f7ef;color:#14935f;font-size:12px;font-weight:700}
.nex249 .nex259-now .is-end{height:26px;padding:0 8px;border:1px solid #e5484d;border-radius:6px;background:#fff;color:#c0392b;font-size:12px;cursor:pointer}
.nex249-notes li.is-new.is-share a>i{background:#0a6cff;box-shadow:0 0 0 3px rgba(10,108,255,.25)}
.nex259-dlg{box-sizing:border-box;width:min(440px,calc(100vw - 24px));max-height:calc(100vh - 32px);margin:auto;padding:22px 20px 18px;border:1px solid var(--f-line-2);border-radius:16px;background:#1c2029;color:var(--f-text);box-shadow:0 24px 70px rgba(0,0,0,.6);overflow-y:auto}
.nex259-dlg::backdrop{background:rgba(6,10,16,.66)}
.nex259-dlg[open]{animation:nex259-in .26s cubic-bezier(.2,.9,.3,1.2) both}
@keyframes nex259-in{from{opacity:0;transform:translateY(14px) scale(.96)}}
.nex259-dlg h2{margin:0 26px 14px 0;color:var(--f-strong);font-size:18px}
.nex259-x{position:absolute;top:12px;right:12px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.06);color:var(--f-muted);font-size:20px;line-height:30px;cursor:pointer}
.nex259-card{padding:16px;border:1px solid rgba(10,108,255,.4);border-radius:12px;background:linear-gradient(180deg,rgba(10,108,255,.12),rgba(10,108,255,.03));text-align:center}
.nex259-card h3{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:0 0 12px;color:var(--f-strong);font-size:16px}
.nex259-drv{padding:2px 8px;border-radius:999px;background:#2f6bff;color:#fff;font-size:11.5px;font-weight:700}
.nex259-drv.is-quark{background:#5f4bff}.nex259-drv.is-xunlei{background:#1aa3ff}
.nex259-qr{width:184px;height:184px;margin:0 auto;padding:6px;border-radius:10px;background:#fff}
.nex259-qr svg{display:block;width:100%;height:100%}
.nex259-scan{margin:10px 0 0;color:var(--f-muted);font-size:13px}.nex259-scan b{color:var(--f-strong)}
.nex259-code{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0 0;font-size:13px;color:var(--f-muted)}
.nex259-code b{color:var(--f-ice);font:800 20px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:2px}
.nex259-code button{height:26px;padding:0 10px;border:1px solid var(--f-line-2);border-radius:6px;background:transparent;color:var(--f-text);font-size:12px;cursor:pointer}
.nex259-open{display:inline-block;margin-top:10px;color:#7fb4ff;font-size:13px;font-weight:700}
.nex259-exp{margin:12px 0 0;line-height:1.6;padding:8px 10px;border-radius:8px;background:rgba(240,138,93,.12);color:#f3a77f;font-size:12.5px}
.nex259-exp i{display:inline-block;margin-right:6px;vertical-align:-3px;width:16px;height:16px;border-radius:50%;background:#f08a5d;color:#1c2029;font:800 11px/16px sans-serif;font-style:normal}
.nex259-exp b{color:#ffc8a8}
.nex259-card.is-dead,.nex259-card.is-none{border-color:var(--f-line-2);background:var(--f-panel);color:var(--f-muted);font-size:13.5px}
.nex259-card.is-dead h3{opacity:.6;text-decoration:line-through}
.nex259-card.is-none .nex249-plus{margin-top:10px}
.nex259-card p{margin:0}
.nex259-list{display:flex;flex-direction:column;gap:10px}
.nex259-it{display:flex;justify-content:space-between;gap:8px;margin:0 0 6px;font-size:13px}.nex259-it b{color:var(--f-strong)}
.nex259-it time,.nex259-row time{flex:none;color:var(--f-muted);font-size:11.5px}
.nex259-row{display:flex;gap:10px;padding:11px 12px;border:1px solid var(--f-line);border-radius:10px;background:var(--f-panel);color:var(--f-text)}
.nex259-row:hover{border-color:var(--f-line-2)}
.nex259-row>i{flex:none;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--f-accent)}
.nex259-row.is-ship>i{background:#3ccf95}.nex259-row.is-fixed>i,.nex259-row.is-adopt>i{background:#f08a5d}.nex259-row.is-drop>i{background:#e5484d}
.nex259-row span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.nex259-row b{color:var(--f-strong);font-size:13.5px}.nex259-row small{color:var(--f-muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nex259-ft{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.nex259-ft button{height:36px;padding:0 16px;border:1px solid var(--f-line-2);border-radius:999px;background:transparent;color:var(--f-text);font-size:13.5px;cursor:pointer}
.nex259-ft .is-main{border-color:#0a6cff;background:#0a6cff;color:#fff;font-weight:700}
html:is([data-bs-theme=light],[data-nex-theme=light],[data-theme=light]) .nex259-dlg{background:#fff}
html:is([data-bs-theme=light],[data-nex-theme=light],[data-theme=light]) .nex259-exp{color:#b4501f}
html:is([data-bs-theme=light],[data-nex-theme=light],[data-theme=light]) .nex259-exp b{color:#8a3a10}
@media (prefers-reduced-motion:reduce){.nex259-dlg[open],.nex259-chip i{animation:none}}
.nex260-ship{display:flex;flex-direction:column;gap:6px;margin-top:2px;padding-top:10px;border-top:1px dashed #cfd8e2}
.nex249 .nex260-ship label{color:#06121c}
.nex249 .nex260-ship button{flex:none;height:34px;border:1.5px solid #14935f;border-radius:7px;background:#14935f;color:#fff;font-size:13px;font-weight:800;cursor:pointer}
/* 0.24.28 便签有旋转（transform），自成一层；不给层级时，下面更新日历里的封面会盖住「发资源 / 管理」弹出的表单 */
.nex249-note{z-index:5}
.nex249-note:has(details[open]){z-index:40}

/* 0.24.32 求资源榜和求资源搜索结果：游戏名太长时换行显示全名（最多 3 行，再长鼠标悬停看 title），不再一行截断 */
.nex249-note li{height:auto;min-height:46px;padding:5px 0}
.nex249-g>:is(b,s){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.nex249-res li b{white-space:normal;overflow-wrap:anywhere;line-height:1.4}
