.header-inner,.header-nav{align-items:center;display:flex}.header-nav,.modal-overlay.open,.search-form{display:flex}.btn,.logo{text-decoration:none!important}.btn-primary:hover,.search-btn:hover{background:var(--accent-h)}.tag-checkbox input:checked+.tag-pill,.tag-preview,.topic-tag{text-shadow:0 1px 2px rgba(0,0,0,.25)}.splash p,body{line-height:1.6}.attach-preview-tag:hover,a:hover{text-decoration:underline}.bbtable,.user-table{border-collapse:collapse}.badge,.perm-group-label,.stat-lbl,.user-table th{letter-spacing:.5px;text-transform:uppercase}.admin-card h3,.badge,.perm-group-label,.stat-lbl,.user-table th{text-transform:uppercase}:root{--bg:#0f1117;--bg2:#161b27;--bg3:#1e2535;--bg4:#252d40;--border:#2a3349;--text:#e2e8f0;--text2:#94a3b8;--text3:#64748b;--accent:#6366f1;--accent-h:#818cf8;--accent-bg:rgba(99, 102, 241, .12);--green:#10b981;--red:#ef4444;--yellow:#f59e0b;--radius:10px;--shadow:0 4px 24px rgba(0, 0, 0, .4);--input-bg:#1e2535;--input-border:#2a3349;--input-text:#e2e8f0;--input-placeholder:#64748b}[data-theme=light]{--bg:#f1f5f9;--bg2:#ffffff;--bg3:#f1f5f9;--bg4:#e2e8f0;--border:#cbd5e1;--text:#0f172a;--text2:#475569;--text3:#64748b;--accent:#4f46e5;--accent-h:#6366f1;--accent-bg:rgba(79, 70, 229, .14);--shadow:0 2px 8px rgba(0, 0, 0, .08),0 1px 3px rgba(0, 0, 0, .06);--input-bg:#ffffff;--input-border:#cbd5e1;--input-text:#0f172a;--input-placeholder:#94a3b8}*,::after,::before{box-sizing:border-box;margin:0;padding:0}.container,.header-inner{max-width:1400px;margin:0 auto}html{scroll-behavior:smooth}body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:15px}.cat-name a:hover,.topic-title a:hover,a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-h)}.header{background:var(--bg2);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}.header-inner{padding:0 20px;gap:10px;height:60px}.logo{font-size:1.25rem;font-weight:800;background:linear-gradient(135deg,var(--accent),#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-row-info,.cat-info,.header-spacer{flex:1}.header-nav{gap:8px;flex-wrap:wrap}.breadcrumb,.btn{align-items:center}.search-input{background:var(--input-bg);border:1px solid var(--input-border);border-right:none;border-radius:8px 0 0 8px;padding:7px 12px;color:var(--input-text);font-size:13px;width:180px;transition:border-color .15s}.btn-primary,.search-btn{background:var(--accent)}.btn,.search-btn{font-size:14px;cursor:pointer}.search-input::placeholder{color:var(--input-placeholder)}.bbselect:focus,.color-custom input[type=text]:focus,.search-input:focus{outline:0;border-color:var(--accent)}.search-btn{border:none;border-radius:0 8px 8px 0;padding:7px 12px;color:#fff}.btn{display:inline-flex;gap:6px;padding:7px 16px;border-radius:8px;font-weight:500;border:none;transition:.15s}.btn-ghost,.btn-icon{border:1px solid var(--border)}.banner-edit-btn,.pagination a:hover{text-decoration:none}.btn-primary,.btn-primary:hover{color:#fff}.btn-ghost{background:0 0;color:var(--text2)}.btn-ghost:hover,.task-toggle-btn:hover{background:var(--bg4);color:var(--text)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover,.btn-warn:hover,.poll-option.poll-voted .poll-bar-fill{opacity:.85}.btn-warn{background:var(--yellow);color:#000}.btn-sm{padding:4px 10px;font-size:12px}.btn-icon{padding:7px;background:var(--bg3);color:var(--text2);border-radius:8px;cursor:pointer;font-size:16px;line-height:1}.attach-edit-name small,.attach-meta a,.breadcrumb,.breadcrumb a{color:var(--text3)}.btn-icon:hover,[data-theme=light] .post-sidebar{background:var(--bg4)}.container{padding:32px 20px}.breadcrumb,.page-header{margin-bottom:24px;display:flex}.breadcrumb{gap:8px;font-size:13px;flex-wrap:wrap}.attach-meta a:hover,.breadcrumb a:hover,.stat-num,.topic-access-panel summary:hover{color:var(--accent)}.page-header{align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.page-title,.splash h2{font-size:1.5rem;font-weight:700}.divider{height:1px;background:var(--border);margin:24px 0}.stats-bar{display:flex;gap:24px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px 24px;margin-bottom:28px}.stat-num{font-size:1.4rem;font-weight:700;text-align:center}.stat-lbl{font-size:12px;color:var(--text3)}.banner-bar{position:relative;display:block;padding:14px 20px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.banner-bar--empty,.topic-row.locked{opacity:.7}.banner-bar .banner-content{font-size:.95rem;line-height:1.6;color:var(--text);word-break:break-word}.banner-bar .banner-content p{margin:.3em 0}.banner-bar .banner-content img{max-width:100%;border-radius:6px;margin-top:6px}.banner-bar .banner-content pre{white-space:pre-wrap}.banner-edit-btn{position:absolute;top:8px;right:10px;font-size:.8rem;color:var(--text3);opacity:.5;transition:opacity .15s;line-height:1;padding:2px 5px;border-radius:4px;border:1px solid transparent}.banner-edit-btn:hover{opacity:1;color:var(--accent);border-color:var(--border);background:var(--bg3)}.category-list,.category-list--two-col,.category-list--two-col .cat-col{display:flex;flex-direction:column;gap:12px}@media (min-width:1025px){.category-list--two-col{flex-direction:row;align-items:flex-start}.category-list--two-col .cat-col{flex:1 1 0;min-width:0}}.cat-col-drop.col-drag-over{border-color:var(--accent)!important;background:var(--accent-bg)}.category-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;display:flex;align-items:center;gap:16px;transition:border-color .15s,box-shadow .15s}.category-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-bg)}.cat-icon{font-size:2rem;min-width:48px;text-align:center}.cat-name{font-size:1.05rem;font-weight:600;color:var(--text)}.cat-name a{color:inherit}.cat-desc{font-size:13px;color:var(--text3);margin-top:2px}.cat-meta-num,.topic-title a{color:var(--text)}.cat-meta{text-align:right;min-width:100px}.cat-meta-num{font-size:1.1rem;font-weight:700}.cat-meta-lbl,.post-date,.sr-meta{font-size:12px;color:var(--text3)}.category-card.has-unread{border-color:rgba(99,102,241,.55)!important;background-image:linear-gradient(90deg,rgba(99,102,241,.3) 0,rgba(99,102,241,.16) 22%,rgba(99,102,241,.07) 45%,transparent 78%)!important;box-shadow:0 0 0 1px rgba(99,102,241,.2),inset 0 0 28px rgba(99,102,241,.05)}.category-card.has-unread:hover{border-color:var(--accent)!important;filter:brightness(1.3)}[data-theme=light] .category-card.has-unread{background:linear-gradient(90deg,rgba(79,70,229,.14),transparent 180px),var(--bg2);border-color:rgba(79,70,229,.45)!important}[data-theme=light] .category-card.has-unread:hover{border-color:var(--accent)!important;filter:brightness(.97)}.perm-group-label,.role-actions{border-top:1px solid var(--border)}.badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;white-space:nowrap}.role-card-body,.role-card-header{padding:14px 18px}.badge-admin{background:rgba(99,102,241,.2);color:var(--accent)}.badge-member{background:rgba(16,185,129,.15);color:var(--green)}.badge-readonly{background:rgba(148,163,184,.15);color:var(--text2)}.badge-pending,.badge-pin{background:rgba(245,158,11,.2);color:var(--yellow)}.badge-lock,.badge-rejected{background:rgba(239,68,68,.15);color:var(--red)}.badge-moderator{background:rgba(14,165,233,.2);color:#38bdf8}[data-theme=light] .badge-moderator{background:rgba(14,165,233,.14);color:#0369a1}.badge-custom-role{background:rgba(168,85,247,.18);color:#c084fc}[data-theme=light] .badge-custom-role{background:rgba(168,85,247,.12);color:#7c3aed}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;margin-top:20px}.admin-grid,.perm-grid{grid-template-columns:1fr 1fr}.role-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.role-card-header{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);background:var(--bg3)}.role-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.topic-header,.topic-row{border:1px solid var(--border)}.role-card-name{font-weight:600;font-size:.97rem;flex:1}.perm-grid{display:grid;gap:6px 16px;margin-bottom:14px}.perm-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text2)}.perm-item input[type=checkbox]{width:auto;margin:0}.perm-group-label{grid-column:1/-1;font-size:11px;font-weight:700;color:var(--text3);margin-top:8px;padding-top:8px}.perm-group-label:first-child{margin-top:0;padding-top:0;border-top:none}.role-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:10px;flex-wrap:wrap}.topic-list{display:flex;flex-direction:column;gap:2px}.topic-row{background:var(--bg2);border-radius:8px;padding:14px 20px;display:flex;align-items:center;gap:10px;transition:border-color .15s}.label-pill,.tag-pill{transition:.15s;cursor:pointer}.search-result:hover,.topic-row:hover{border-color:var(--accent)}.topic-row.pinned:not(.unread){border-left:3px solid var(--yellow)}.topic-status{display:flex;flex-direction:column;gap:4px;align-items:center;min-width:24px}.topic-info{flex:1;min-width:0}.topic-title{font-weight:600;font-size:.97rem}.topic-row.pinned .topic-title a:hover{color:var(--yellow)}.topic-title-inner{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-meta-inline{font-size:12px;color:var(--text3);font-weight:400;white-space:nowrap}.topic-stats,.topic-subtitle{font-size:13px;color:var(--text2)}.topic-subtitle{font-weight:500;margin-top:3px;font-style:italic}.topic-stats{display:flex;gap:20px;min-width:140px;margin-left:24px}.topic-stat-item{text-align:center}.topic-last{font-size:12px;color:var(--text3);min-width:110px;max-width:110px;text-align:right}.attach-preview-file,.attach-preview-tag,.attach-thumb-icon,.empty,.footer,.form-footer,.post-sidebar,.splash{text-align:center}.topic-row.unread:not(.pinned){border-color:rgba(99,102,241,.65);background:linear-gradient(90deg,rgba(99,102,241,.25) 0,rgba(99,102,241,.06) 40%,transparent 70%),var(--bg2);box-shadow:0 0 0 1px rgba(99,102,241,.25)}.topic-row.pinned.unread{border-left:3px solid var(--yellow);border-color:rgba(245,158,11,.55);background:linear-gradient(90deg,rgba(245,158,11,.28) 0,rgba(245,158,11,.06) 42%,transparent 72%),var(--bg2);box-shadow:0 0 0 1px rgba(245,158,11,.2)}.topic-row.unread:hover{filter:brightness(1.5)}.topic-row.pinned.unread:hover,.topic-row.pinned:hover{border-color:var(--yellow);border-left:3px solid var(--yellow)}.label-checkbox input,.tag-checkbox input,.unread-dot{display:none}[data-theme=light] .topic-row.unread:not(.pinned){background:linear-gradient(90deg,rgba(79,70,229,.2) 0,rgba(79,70,229,.07) 40%,transparent 70%),var(--bg2)}[data-theme=light] .topic-row.pinned.unread{background:linear-gradient(90deg,rgba(245,158,11,.22) 0,rgba(245,158,11,.07) 42%,transparent 72%),var(--bg2)}[data-theme=light] .topic-row.unread:hover{filter:brightness(.96)}.topic-labels,.topic-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.topic-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px}.meta-sep,.topic-tag{display:inline-block}.meta-sep{width:2px;height:14px;background:var(--text3);border-radius:2px;margin:0 8px;opacity:.5;flex-shrink:0}.topic-tag{padding:2px 10px;border-radius:20px;font-size:11px;font-weight:600;color:#fff;letter-spacing:.2px}.tag-pill,.tag-preview{font-size:12px;font-weight:600}.tag-selector{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.label-checkbox,.tag-checkbox{display:flex;align-items:center;cursor:pointer}.tag-pill{padding:4px 12px;border-radius:20px;background:var(--bg3);border:2px solid var(--bg4);color:var(--text2)}.tag-checkbox input:checked+.tag-pill{background:var(--tc);border-color:var(--tc);color:#fff}.tag-checkbox:hover .tag-pill{border-color:var(--tc,var(--accent));color:var(--tc,var(--accent))}[data-theme=light] .tag-pill{background:var(--bg4);border-color:var(--border);color:var(--text2)}.label-admin-row,.tag-admin-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.label-preview,.tag-preview,.topic-label{display:inline-block}.admin-row:last-child,.label-admin-row:last-child,.tag-admin-row:last-child,.user-table tr:last-child td{border-bottom:none}.tag-preview{padding:3px 12px;border-radius:20px;color:#fff}.topic-label{padding:1px 8px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.2px;background:0 0;border:1.5px solid}.label-pill,.label-preview{font-size:12px;font-weight:600;background:0 0}.label-pill{padding:4px 12px;border-radius:4px;border:2px solid var(--bg4);color:var(--text2)}.label-checkbox input:checked+.label-pill{border-color:var(--lc);color:var(--lc);box-shadow:inset 0 0 0 1px var(--lc)}.label-checkbox:hover .label-pill{border-color:var(--lc,var(--accent));color:var(--lc,var(--accent))}[data-theme=light] .label-pill{background:0 0;border-color:var(--border);color:var(--text2)}.label-preview{padding:2px 10px;border-radius:4px;border:2px solid}.post,.topic-header{background:var(--bg2)}.topic-header{border-radius:var(--radius);padding:24px;margin-bottom:24px}.post,.post-body-header{margin-bottom:12px;display:flex}.topic-header h1{font-size:1.4rem;font-weight:700}.topic-header-meta{color:var(--text3);font-size:13px;margin-top:6px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.post{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.post-sidebar{width:160px;min-width:160px;background:var(--bg3);border-right:1px solid var(--border);padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:8px}.avatar{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.3rem;color:#fff}.post-count,.post-edited,.post-role{color:var(--text3);font-size:11px}.post-author{font-weight:600;font-size:.95rem}.post-body{flex:1;padding:20px 24px;min-width:0}.post-body-header{justify-content:space-between;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid var(--border);gap:10px;flex-wrap:wrap}.post-edited{font-style:italic;margin-top:2px}.post-content{color:var(--text);line-height:1.75;word-break:break-word}.post-actions{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}.bbquote{border-left:3px solid var(--accent);background:var(--bg3);padding:10px 16px;margin:10px 0;border-radius:0 6px 6px 0;font-size:.93rem;color:var(--text2)}.bbcode,.bbspoiler{border:1px solid var(--border);background:var(--bg3)}.bbquote cite{display:block;font-weight:600;color:var(--accent);margin-bottom:6px;font-style:normal}.bbcode{border-radius:6px;padding:12px 16px;font-family:'Courier New',monospace;font-size:.88rem;overflow-x:auto;margin:10px 0;white-space:pre-wrap}.bblist{padding-left:22px;margin:8px 0}.bbspoiler{border-radius:6px;padding:10px 14px;margin:10px 0}.bbspoiler summary{cursor:pointer;color:var(--accent);font-weight:500}.bbtable{width:100%;margin:10px 0;font-size:.93rem}.bbbtn,label{font-size:13px}.bbtable td,.bbtable th{border:1px solid var(--border);padding:7px 12px;text-align:left}.bbtable th{background:var(--bg3);font-weight:600;color:var(--text2)}.bbtable tr:nth-child(2n) td,.user-table tr:hover td,[data-theme=light] .poll-block,[data-theme=light] .task-list{background:var(--bg3)}mark{background:rgba(245,158,11,.3);color:var(--text);border-radius:2px;padding:1px 3px}[data-theme=light] mark{background:rgba(245,158,11,.25)}[data-theme=light] .badge-admin{background:rgba(79,70,229,.14);color:#4338ca}[data-theme=light] .badge-member{background:rgba(5,150,105,.12);color:#065f46}[data-theme=light] .badge-readonly{background:rgba(100,116,139,.14);color:#475569}[data-theme=light] .bbcode{background:#f1f5f9;border-color:#b8c5d6}[data-theme=light] .bbquote{background:rgba(79,70,229,.05)}.bbtoolbar{display:flex;gap:3px;flex-wrap:wrap;background:var(--bg3);border:1px solid var(--border);border-bottom:none;padding:6px 8px;border-radius:8px 8px 0 0;align-items:center}#tt-box,.color-popover{display:none;box-shadow:var(--shadow);position:fixed}#tt-box,.bbbtn{padding:4px 8px;white-space:nowrap}.bbtoolbar+textarea{border-radius:0!important 0!important 8px 8px!important!important!important}.bbbtn,.bbselect{border:1px solid var(--border);color:var(--text2);cursor:pointer}.bbbtn{background:var(--bg4);border-radius:5px;font-family:inherit;transition:.12s;line-height:1.4}.bbbtn:hover,.pagination .current{background:var(--accent);color:#fff;border-color:var(--accent)}.bbsep{width:1px;height:20px;background:var(--border);margin:0 3px;flex-shrink:0}.bbselect{background:var(--bg4);border-radius:5px;padding:4px 6px;font-size:12px}.color-popover,.form-card,.form-wide,.perms-section{background:var(--bg2)}.color-popover{z-index:300;border:1px solid var(--border);border-radius:10px;padding:12px;width:230px}.color-popover.open,.post-attachment--inline,label{display:block}.color-swatches{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.color-swatch{width:24px;height:24px;border-radius:5px;cursor:pointer;border:2px solid transparent;transition:transform .1s}.color-swatch:hover{transform:scale(1.25);border-color:var(--text2)}.color-custom{display:flex;gap:6px;align-items:center;margin-top:6px}.color-custom input[type=color]{width:36px;height:28px;border-radius:4px;border:1px solid var(--input-border);padding:2px;cursor:pointer;background:var(--input-bg);flex-shrink:0}.color-custom input[type=text]{flex:1;font-size:12px;padding:5px 8px;border-radius:6px;background:var(--input-bg);border:1px solid var(--input-border);color:var(--input-text)}#tt-box,.pagination a:hover{background:var(--bg4);color:var(--text)}.form-card{border:1px solid var(--border);border-radius:var(--radius);padding:32px;max-width:480px;margin:60px auto;box-shadow:var(--shadow)}.form-card h2{font-size:1.4rem;font-weight:700;margin-bottom:24px}.form-group{margin-bottom:16px}label{font-weight:500;color:var(--text2);margin-bottom:6px}input[type=email],input[type=file],input[type=password],input[type=text],select,textarea{width:100%;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;padding:10px 14px;color:var(--input-text);font-size:14px;font-family:inherit;transition:border-color .15s,box-shadow .15s}input[type=file]{padding:8px 12px;cursor:pointer}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}textarea{resize:vertical;min-height:160px;font-family:'Courier New',monospace;font-size:13px}.form-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.form-footer{font-size:13px;color:var(--text3);margin-top:16px}.form-wide{border:1px solid var(--border);border-radius:var(--radius);padding:28px;margin-bottom:24px}.form-wide h2{font-size:1.1rem;font-weight:600;margin-bottom:20px}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.alert-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:#fca5a5}.alert-success{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.3);color:#6ee7b7}.copy-link-btn,.drag-handle,.empty,.footer,.notice{color:var(--text3)}@keyframes flash-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes flash-out{0%,70%{opacity:1}100%{opacity:0;pointer-events:none}}.flash-msg{animation:.2s flash-in,3.5s forwards flash-out}[data-theme=light] .alert-error{border-color:rgba(239,68,68,.4);color:#b91c1c}[data-theme=light] .alert-success{border-color:rgba(16,185,129,.35);color:#065f46}.empty{padding:60px 20px}.empty-icon{font-size:3rem;margin-bottom:12px}.splash{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.splash-icon{font-size:4rem}.splash p{color:var(--text2);max-width:440px}.notice{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:14px 18px;font-size:14px;margin-top:24px}.reply-section{margin-top:32px}.section-title{font-size:1.1rem;font-weight:600;margin-bottom:16px}.footer{border-top:1px solid var(--border);padding:20px;font-size:12px;margin-top:60px}.inline-form,.task-items.expanded .task-label-full,.task-items.expanded .task-meta,.task-label-short,.topic-atts-list.expanded .topic-att-date,.topic-atts-list.expanded .topic-att-name-full{display:inline}.tt{cursor:default;text-decoration:underline dotted;text-underline-offset:2px}#tt-box{font-size:11px;border-radius:5px;border:1px solid var(--border);z-index:9999;pointer-events:none}.copy-link-btn{background:0 0;border:none;cursor:pointer;font-size:13px;padding:2px 5px;border-radius:5px;transition:color .15s,background .15s;line-height:1}.copy-link-btn:hover{color:var(--accent);background:var(--accent-bg)}.copy-link-btn.copied{color:var(--green)}.drag-handle{cursor:grab;font-size:1.2rem;padding:0 4px;user-select:none;flex-shrink:0;line-height:1}.drag-handle:active{cursor:grabbing}.admin-row.dragging,.topic-row.dragging{opacity:.4;border-style:dashed}.admin-row.drag-over,.topic-row.drag-over{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.drag-save-indicator{font-size:12px;color:var(--green);margin-left:8px;opacity:0;transition:opacity .3s}.drag-save-indicator.visible,.poll-bar-best,.poll-block-empty:hover{opacity:1}.pagination{display:flex;gap:4px;justify-content:center;margin:20px 0;flex-wrap:wrap}.pagination a,.pagination span{padding:6px 11px;border-radius:6px;font-size:13px;border:1px solid var(--border);color:var(--text2);text-decoration:none;transition:.15s}.attach-edit-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.attach-del-item,.attach-edit-item{gap:10px;display:flex;background:var(--bg3);padding:8px 12px}.attach-del-item{align-items:center;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s,opacity .15s;font-size:13px}.attach-del-item:has(input:checked){border-color:var(--red);opacity:.5}.attach-del-thumb{width:48px;height:48px;object-fit:cover;border-radius:5px;flex-shrink:0}.attach-del-name{flex:1;word-break:break-all}.attach-edit-item{align-items:center;border:1px solid var(--border);border-radius:8px;transition:border-color .15s}.attach-edit-item.marked-delete{border-color:var(--red);opacity:.5}.attach-thumb{width:40px;height:40px;object-fit:cover;border-radius:5px;flex-shrink:0}.attach-thumb-icon{font-size:1.6rem;width:40px;flex-shrink:0}.attach-edit-name{flex:1;font-size:13px;word-break:break-all}.attach-del-label{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--red);cursor:pointer;white-space:nowrap}.attach-insert-btn{flex-shrink:0}.attach-preview-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.attach-preview-item{background:var(--bg3);border:1px solid var(--border);border-radius:8px;overflow:hidden;width:120px}.attach-preview-img{width:120px;height:90px;object-fit:cover;display:block;cursor:zoom-in}.attach-preview-file{width:120px;height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;color:var(--text2);padding:6px;word-break:break-all}.attach-preview-file span:first-child{font-size:1.8rem}.attach-preview-label{font-size:10px;color:var(--text3);padding:4px 6px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attach-preview-tag{font-size:10px;color:var(--accent);padding:0 6px 4px;cursor:pointer;font-family:monospace}.post-attachment{margin-top:8px}.post-attachments-trailing{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.attach-img{max-width:100%;max-height:420px;border-radius:8px;cursor:zoom-in;display:block;transition:opacity .15s;object-fit:contain}.attach-file,.user-chip{border:1px solid var(--border)}.attach-file,.cat-toggle{background:var(--bg3);transition:.15s}.attach-img:hover{opacity:.88}.attach-meta{margin-top:6px;font-size:12px;color:var(--text3)}.attach-size{margin-left:8px}.attach-file{display:inline-flex;align-items:center;gap:12px;border-radius:8px;padding:10px 16px;color:var(--text)}.attach-fname,.attach-fsize{display:block}.attach-file:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.attach-icon{font-size:1.5rem}.attach-fname{font-weight:500;font-size:.93rem}.attach-fsize,.user-table th{font-size:11px;color:var(--text3)}.cat-toggle,.user-chip{display:flex;font-size:13px}.user-chip{align-items:center;gap:8px;padding:4px 12px 4px 4px;background:var(--bg3);border-radius:40px;font-weight:500}.cat-toggle,.perms-section{border:1px solid var(--border)}.user-chip .avatar{width:28px;height:28px;font-size:.75rem}.user-table{width:100%}.user-table th{text-align:left;font-weight:700;padding:8px 12px;border-bottom:2px solid var(--border)}.user-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:14px}.cat-access-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.cat-toggle{align-items:center;gap:6px;border-radius:6px;padding:6px 10px;cursor:pointer;user-select:none}.cat-toggle input{accent-color:var(--accent)}.cat-toggle:has(input:checked){border-color:var(--accent);background:var(--accent-bg)}.perms-section{border-radius:var(--radius);padding:24px;margin-bottom:20px}.admin-card,.search-controls{border:1px solid var(--border);background:var(--bg2)}.perms-section h3{font-size:1rem;font-weight:600;margin-bottom:16px}.admin-grid{display:grid;gap:20px}.admin-card{border-radius:var(--radius);padding:24px}.admin-card h3{font-size:11px;font-weight:700;color:var(--text2);letter-spacing:1px;margin-bottom:16px;display:flex;align-items:center;gap:8px}.admin-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.search-controls{border-radius:var(--radius);padding:20px 24px;margin-bottom:24px;display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.search-controls .form-group{margin:0;flex:1;min-width:160px}.search-result{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:16px 20px;margin-bottom:8px;transition:border-color .15s}.sr-title{font-weight:600;margin-bottom:4px}.sr-excerpt{font-size:13px;color:var(--text2);margin-bottom:6px}.sr-tasks{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;margin-bottom:2px}.sr-task-item{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 9px 3px 7px;border-radius:20px;border:1px solid var(--tc,#3b82f6);color:var(--tc,#3b82f6);background:color-mix(in srgb,var(--tc,#3b82f6) 10%,transparent);font-weight:500}.sr-task-item.sr-task-done{opacity:.55;text-decoration:line-through;border-color:var(--border);color:var(--text3);background:0 0}.sr-task-icon{font-size:11px}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:500;align-items:center;justify-content:center;flex-direction:column;gap:12px;cursor:zoom-out}.modal-img{max-width:94vw;max-height:88vh;border-radius:8px;object-fit:contain;box-shadow:0 8px 60px rgba(0,0,0,.6);cursor:default}.modal-caption{color:rgba(255,255,255,.65);font-size:13px}.modal-close{position:fixed;top:14px;right:18px;color:#fff;background:rgba(0,0,0,.5);border:none;border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;z-index:501}.task-list,.topic-access-panel,.topic-atts{border-top:1px solid var(--border);padding-top:12px}.modal-close:hover{background:rgba(255,255,255,.15)}@media (max-width :700px){.post-sidebar,.topic-last,.topic-stats{display:none}.stats-bar{gap:12px}.admin-grid{grid-template-columns:1fr}.search-input{width:120px}}.topic-access-panel{margin-top:14px}.topic-access-panel summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text2);list-style:none;display:flex;align-items:center;gap:6px;user-select:none;padding:2px 0}.topic-access-panel summary::-webkit-details-marker{display:none}.topic-access-panel summary::before{content:'▶';font-size:10px;color:var(--text3);transition:transform .2s}.topic-access-panel[open] summary::before{transform:rotate(90deg)}.task-list,.topic-access-body,.topic-atts{margin-top:12px}.task-list-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.task-list-title{font-weight:600;font-size:.85rem;color:var(--text2)}.task-progress-label{font-size:12px;color:var(--text3);min-width:32px}.task-item,.task-label{font-size:.88rem}.task-progress-bar{flex:1;height:5px;background:var(--bg4);border-radius:3px;overflow:hidden;min-width:80px;max-width:160px}.task-progress-fill{height:100%;background:var(--green);border-radius:3px;transition:width .4s}.task-items,.topic-atts-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px}.task-item{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:20px;cursor:pointer;transition:background .12s;user-select:none;background:var(--bg3);border:1px solid var(--border)}.poll-vote-option.poll-voted,.poll-vote-option:hover,.task-item:hover{border-color:var(--accent);background:var(--accent-bg)}.task-item.task-done{background:var(--bg3);border-color:var(--border)}.task-toggle-btn.expanded,.topic-att-item:hover{border-color:var(--accent);color:var(--accent)}.task-item.task-done .task-label{text-decoration:line-through;opacity:.5}.task-item.task-done .task-meta{opacity:.5}.task-checkbox{width:14px;height:14px;accent-color:var(--green);cursor:pointer;flex-shrink:0}.task-checkbox:disabled{cursor:default;opacity:.5}.task-meta{font-size:11px;color:var(--text3);white-space:nowrap}.task-item.task-saving{opacity:.5;pointer-events:none}.task-items.expanded,.topic-atts-list.expanded{flex-direction:column;flex-wrap:nowrap}.task-items .task-meta,.task-items.expanded .task-label-short,.task-label-full,.topic-atts-list.expanded .topic-att-name-short{display:none}.task-items.expanded .task-item{border-radius:8px}.task-toggle-btn{background:0 0;border:1px solid var(--border);border-radius:6px;color:var(--text3);cursor:pointer;font-size:13px;padding:2px 7px;margin-left:auto;transition:.15s}.task-toggle-btn.expanded{background:var(--accent-bg)}.search-controls{flex-wrap:wrap}.search-controls .form-group:last-of-type{flex-basis:100%}.topic-atts-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.topic-atts-title{font-size:.85rem;font-weight:600;color:var(--text2)}.topic-att-item{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:var(--bg3);border:1px solid var(--border);border-radius:20px;font-size:13px;color:var(--text);transition:border-color .15s;text-decoration:none!important;max-width:200px}.topic-att-icon{font-size:.9rem;flex-shrink:0}.topic-att-name-short{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-att-name-full{display:none;font-weight:500}.topic-att-date{display:none;font-size:11px;color:var(--text3);white-space:nowrap}.topic-atts-list.expanded .topic-att-item{border-radius:8px;max-width:100%}.poll-block{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin-bottom:20px;margin-top:8px}.poll-block-empty{border-style:dashed;opacity:.85}.poll-block-empty .poll-header{margin-bottom:0}.poll-block-empty .poll-edit-form{margin-top:12px;padding-top:12px}.poll-header{display:flex;align-items:center;gap:10px;margin-bottom:4px;flex-wrap:wrap}.poll-icon{font-size:1.2rem;flex-shrink:0}.poll-title{font-size:1rem;font-weight:600;flex:1;min-width:0}.poll-manage-btns{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}.poll-option{margin-bottom:10px}.poll-option-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;gap:8px}.poll-option-label{font-size:.9rem;color:var(--text)}.poll-option.poll-voted .poll-option-label{font-weight:600;color:var(--accent)}.poll-checkmark{color:var(--accent);margin-right:4px;font-weight:700}.poll-option-stat{font-size:12px;color:var(--text3);white-space:nowrap;flex-shrink:0}.poll-bar-track{height:8px;background:var(--bg4);border-radius:4px;overflow:hidden}.poll-bar-fill,.poll-option.poll-best .poll-bar-fill{background:var(--accent)}.poll-bar-fill{height:8px;border-radius:4px;transition:width .4s;opacity:.6}.poll-footer{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:13px;color:var(--text3);flex-wrap:wrap}.poll-edit-form,.poll-vote-form{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.poll-vote-options{display:flex;flex-direction:column;gap:8px}.poll-vote-option{display:flex;align-items:center;gap:10px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:9px 14px;cursor:pointer;transition:.15s;font-size:.9rem}.poll-vote-option input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;flex-shrink:0;cursor:pointer}