*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'JetBrains Mono',monospace;font-size:13px;background:#eef2ff;color:#000;line-height:1.4}
body.dark{background:;color:#d0d0d0}
body.dark .boardlist{background:;border-color:}
body.dark .postform{background:;border-color:}
body.dark .threadop{background:;border-color:}
body.dark .reply{background:;border-color:}
body.dark .boardcard{background:;border-color:}
body.dark .rules{background:;border-color:}
body.dark .adminthread{background:;border-color:}
body.dark .pages a{background:;border-color:}
body.dark .catthread{background:;border-color:}
body.dark .popular{background:;border-color:}
body.dark .popular h2{color:#d0d0d0}
body.dark .popular-item:hover{background:rgba(255,255,255,0.05)}
body.dark .popular-item img{border-color:}
body.dark .popular-subject{color:#a0a0c0}
body.dark .popular-meta{color:#707070}
body.dark .postbody{color:#d0d0d0}
body.dark .quote{color:#789922}
body.dark .boardlist a{color:#a0a0c0}
body.dark .logo{color:#af0a0f}
body.dark .subtitle{color:#a0a0c0}
body.dark .boardtitle{color:#af0a0f}
body.dark .subject{color:#af0a0f}
body.dark .name{color:#4ecca3}
body.dark .trip{color:#4ecca3}
body.dark .sticky,.body.dark .locked{color:#af0a0f}
body.dark .footer{color:#a0a0c0;border-color:}
body.dark .error{background:#af0a0f}
body.dark .postform input,.body.dark .postform textarea{background:;color:#d0d0d0;border-color:}
body.dark .postform input[type="submit"]{background:#af0a0f;color:#fff;border-color:#af0a0f}
body.dark .postnum a{color:#d0d0d0}
body.dark .omitted{color:#a0a0c0}
a{color:#00e;text-decoration:none}
a:hover{color:#d00;text-decoration:underline}
.boardlist{background:#d6daf0;padding:4px 8px;font-size:11px;text-align:center;border-bottom:1px solid #b7c5d9}
.boardlist a{margin:0 4px;color:#34345c}
.header{text-align:center;padding:30px 20px}
.header-content{display:flex;flex-direction:column;align-items:center;margin-bottom:10px}
.logo{font-size:42px;font-weight:bold;color:#af0a0f;letter-spacing:-2px;text-decoration:none}
.logo:hover{color:#af0a0f;text-decoration:none}
.subtitle{display:block;color:#34345c;font-size:18px;margin-top:8px;letter-spacing:0.5px}
body.dark .subtitle{color:#a0a0c0}
.online-badge{background:#117743!important;color:#fff!important;padding:2px 10px!important;border-radius:10px!important;font-size:12px!important;margin-top:2px!important;display:inline-block!important}
.boardnav{background:#d6daf0;padding:6px 10px;font-size:12px;border-bottom:1px solid #b7c5d9}
.boardnav a{margin-right:12px;color:#34345c}
.boardtitle{font-weight:bold;color:#0f0c5d}
.postform{background:#d6daf0;padding:10px;margin:10px;border:1px solid #b7c5d9;display:inline-block}
.postform table{border-collapse:collapse}
.postform td{padding:3px 6px;vertical-align:top;font-size:12px}
.postform td.label{font-weight:bold;color:#0f0c5d;width:80px}
.postform input[type="text"],.postform textarea{border:1px solid #aaa;padding:2px 4px;font-size:12px;background:#fff;color:#000}
.postform input[type="submit"]{padding:2px 8px;font-size:12px;cursor:pointer;background:#e0e0e0;border:1px solid #999}
.postform input[type="file"]{font-size:11px}
.postform input[type="checkbox"]{margin-right:4px}
hr{border:none;border-top:1px solid #b7c5d9;margin:10px 0}
.threads{padding:0 20px}
.thread{margin-bottom:20px}
.threadop{background:#d6daf0;padding:6px 10px;border:1px solid #b7c5d9;margin-bottom:4px;overflow:hidden}
.file{float:left;margin:0 15px 5px 0}
.file img{max-width:250px;max-height:250px;border:1px solid #b7c5d9;background:#fff}
.posthead{font-size:12px;color:#117743;margin-bottom:4px}
.subject{font-weight:bold;color:#0f0c5d}
.name{color:#117743;font-weight:bold}
.trip{color:#228854}
.posterid{color:#000;background:#d6daf0;padding:1px 4px;font-size:10px;border-radius:2px;margin-left:4px}
.date{color:#000;font-size:11px}
.postnum{color:#000;font-size:11px;margin-left:4px}
.postnum a{color:#000}
.sticky,.locked{color:#e00;font-weight:bold;font-size:11px;margin-left:4px}
.postbody{font-size:13px;color:#000;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}
.postbody a{color:#00e}
.quotelink{color:#d00;font-weight:bold}
.quote{color:#789922}
.spoiler{background:#000;color:#000;cursor:pointer}
.spoiler:hover{color:#fff}
.dice{color:#e00;font-weight:bold}
.postactions{font-size:11px;margin-top:4px}
.postactions a{color:#00e;margin-right:6px}
.report-btn{background:none;border:none;color:#00e;font-size:11px;cursor:pointer;text-decoration:underline;padding:0}
.report-btn:hover{color:#d00}
.omitted{color:#707070;font-size:11px;margin:4px 0 4px 40px}
.reply{background:#d6daf0;padding:4px 8px;border:1px solid #b7c5d9;margin:4px 0;overflow:hidden}
.reply .file{float:left;margin:0 10px 4px 0}
.reply .file img{max-width:150px;max-height:150px}
body.dark .reply{background:;border-color:}
.reply-btn{color:#00e;margin-right:8px;cursor:pointer}
.reply-btn:hover{color:#d00}
.backlink{font-size:11px;color:#707070;margin:4px 0}
.backlink a{color:#d00;font-weight:bold;cursor:pointer}
.backlink a:hover{text-decoration:underline}
.post-replies{font-size:11px;color:#707070;margin:4px 0}
.post-replies a{color:#00e;margin-right:6px}
.post-replies a:hover{color:#d00}
.reply.highlighted{background:#fff8e0;border-color:#d00}
body.dark .reply.highlighted{background:#3d2e00;border-color:#af0a0f}
body.dark .backlink{color:#a0a0c0}
body.dark .backlink a{color:#af0a0f}
body.dark .post-replies{color:#a0a0c0}
body.dark .post-replies a{color:#4ecca3}
body.dark .post-replies a:hover{color:#af0a0f}
.pages{text-align:center;padding:10px;font-size:12px}
.pages a{margin:0 4px;padding:2px 6px;background:#d6daf0;border:1px solid #b7c5d9}
.pages a.current{font-weight:bold;background:#fff}
.error{background:#b7c5d9;color:#000;padding:6px 10px;margin:10px;font-size:12px}
.lockedmsg{color:#e00;font-weight:bold;margin:10px}
.index{padding:20px}
.index h1{font-size:20px;margin-bottom:10px}
.index p{margin-bottom:15px}
.boardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-bottom:20px}
.index-boxes{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}
.index-boxes .rules,.index-boxes .donate{flex:1;min-width:280px}
.popular{background:#d6daf0;border:1px solid #b7c5d9;padding:15px;margin-bottom:20px}
.popular h2{font-size:16px;font-weight:bold;color:#0f0c5d;margin:0 0 12px 0}
.popular-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.popular-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px;border-radius:4px}
.popular-item:hover{background:rgba(255,255,255,0.3)}
.popular-item img{width:130px;height:130px;object-fit:cover;border-radius:4px;border:1px solid #b7c5d9;margin-bottom:6px}
.popular-info{width:100%}
.popular-subject{font-size:11px;font-weight:bold;color:#0f0c5d;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;margin-bottom:2px}
.popular-subject:hover{color:#af0a0f}
.popular-meta{font-size:10px;color:#707070}
.boardcard{background:#d6daf0;border:1px solid #b7c5d9;padding:10px}
.boardname{font-weight:bold;color:#0f0c5d;font-size:14px}
.boardcard p{font-size:12px;color:#333;margin-top:4px}
.rules{background:#d6daf0;border:1px solid #b7c5d9;padding:10px;max-width:600px}
.rules h3{font-size:14px;margin-bottom:6px}
.rules ul{font-size:12px;margin-left:16px}
.rules li{margin-bottom:3px}
body.dark .donate{background:;border-color:}
.donate{background:#d6daf0;border:1px solid #b7c5d9;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.donate-label{display:inline-block;font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:1px;color:#fff;background:#af0a0f;padding:3px 10px;border-radius:3px}
.donate h3{font-size:16px;font-weight:bold;color:#0f0c5d;margin:0; line-height:1.3;}
.donate p{font-size:12.5px;color:#555;margin:0;line-height:1.65}
.donate .bmc-link{display:inline-block;padding:10px 24px;background:#FFDD00;color:#000;font-weight:bold;text-decoration:none;border-radius:6px;font-size:18px;box-shadow:0 2px 6px rgba(0,0,0,0.15);margin-top:10px}
.donate .bmc-link:hover{background:#FFCC00;text-decoration:none;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,0.2); transition: all 0.2s ease;}
.gdpr-links{margin-top:15px;font-size:12px}
.gdpr-links a{color:#00e;margin-right:10px}
.catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:10px}
.catthread{background:#d6daf0;border:1px solid #b7c5d9;padding:4px;text-align:center}
.catthread img{max-width:140px;max-height:140px;border:1px solid #b7c5d9;background:#fff}
.catsubject{font-size:11px;font-weight:bold;color:#0f0c5d;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catmeta{font-size:10px;color:#707070}
.admin{padding:20px;max-width:1200px;margin:0 auto}
.admin h2{font-size:18px;margin-bottom:15px;color:#0f0c5d}
.admin h3{font-size:14px;margin:20px 0 10px;padding-bottom:5px;border-bottom:2px solid #d6daf0;color:#0f0c5d}
.admin-link{color:#00e;margin-right:10px}
.admin-sep{color:#707070;margin-right:10px}
.admin-section{margin-bottom:25px;background:#f5f5f5;padding:15px;border-radius:4px}
.admin-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.admin-form input[type=text]{padding:6px 10px;border:1px solid #aaa;border-radius:3px;font-size:12px}
.admin-form .input-title{flex:1;min-width:200px}
.admin-form .input-body{flex:1;width:100%}
.admin-form input[type=submit]{padding:6px 14px;cursor:pointer;border:1px solid #999;border-radius:3px;font-size:12px;background:#e0e0e0}
.admin-form input[type=submit]:hover{background:#d0d0d0}
.btn-ban{background:#e00!important;color:#fff!important;border-color:#c00!important}
.btn-publish{background:#117743!important;color:#fff!important;border-color:#0a5c30!important}
.btn-resolve{background:#117743!important;color:#fff!important;border-color:#0a5c30!important;border:none!important;padding:3px 8px!important;font-size:11px!important}
.admin-list{min-height:50px}
.admin-loading{color:#707070;font-size:12px;padding:10px;text-align:center}
.adminthread{font-size:12px;margin:6px 0;padding:8px;background:#fff;border:1px solid #b7c5d9;border-radius:3px}
.adminthread:hover{background:#f8f8ff}
.adminthread a{margin-right:8px;color:#00e}
.modlog-entry{font-size:12px;margin:6px 0;padding:8px;background:#fff;border:1px solid #b7c5d9;border-radius:3px}
.modlog-entry .action{font-weight:bold;color:#e00}
.report{font-size:12px;margin:6px 0;padding:8px;background:#fff8f0;border:1px solid #f0d0b0;border-radius:3px}
.appeal{font-size:12px;margin:6px 0;padding:8px;background:#f0f8ff;border:1px solid #d0e0f0;border-radius:3px}
.badge{background:#e00;color:#fff;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:bold}
.badge-active{background:#117743;color:#fff;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:bold}
.badge-inactive{background:#707070;color:#fff;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:bold}
.admin-pagination{display:flex;align-items:center;justify-content:center;gap:15px;padding:12px 0;border-top:1px solid #d6daf0;margin-top:10px}
.admin-pagination button{padding:6px 14px;background:#d6daf0;border:1px solid #b7c5d9;border-radius:3px;cursor:pointer;font-size:12px}
.admin-pagination button:hover:not(:disabled){background:#c0c5e0}
.admin-pagination button:disabled{opacity:0.5;cursor:not-allowed}
.admin-pagination span{font-size:12px;color:#707070}
.footer{text-align:center;font-size:11px;color:#707070;padding:15px;border-top:1px solid #b7c5d9;margin-top:20px}
.footer a{color:#00e}
@media(max-width:600px){
.header{padding:20px 10px}
.logo{font-size:28px;letter-spacing:-1px}
.subtitle{font-size:14px}
.file{float:none;margin:0 0 8px 0}
.file img{max-width:100%;height:auto}
.reply{margin-left:0}
.boardgrid{grid-template-columns:1fr}
.postform{display:block;margin:10px 0}
.admin{padding:10px}
.admin-form{flex-direction:column;align-items:stretch}
.admin-form .input-title{min-width:100%}
.admin-pagination{flex-wrap:wrap;gap:8px}
}
/* IMAGE EXPANSION */
.file img.expanded{max-width:none;max-height:none;width:auto;height:auto;cursor:zoom-out}
.file img{cursor:zoom-in;transition:max-width 0.2s}

/* QUOTE PREVIEW */
.quote-preview{position:absolute;background:#ffffee;border:1px solid #b7c5d9;padding:8px;max-width:400px;z-index:1000;box-shadow:2px 2px 5px rgba(0,0,0,0.2);font-size:12px;display:none}
.quote-preview .postbody{color:#000}

/* QUICK REPLY */
.quick-reply{position:fixed;bottom:20px;right:20px;background:#d6daf0;border:1px solid #b7c5d9;padding:10px;z-index:1000;max-width:400px;display:none}
.quick-reply .postform{margin:0;display:block}

/* AUTO REFRESH NOTIFICATION */
.refresh-notif{position:fixed;top:10px;right:10px;background:#117743;color:#fff;padding:8px 12px;font-size:12px;cursor:pointer;z-index:1000;border-radius:2px;display:none}

/* THREAD WATCHER */
.watcher-btn{position:fixed;bottom:20px;left:20px;background:#d6daf0;border:1px solid #b7c5d9;padding:8px 12px;font-size:11px;cursor:pointer;z-index:1000}
.watcher-list{position:fixed;bottom:50px;left:20px;background:#d6daf0;border:1px solid #b7c5d9;padding:8px;font-size:11px;max-width:250px;display:none;z-index:1000}
.watcher-list a{display:block;margin:2px 0;color:#34345c}
.watcher-list .new-count{color:#e00;font-weight:bold}

/* KEYBOARD NAV */
.post-focused{border-left:3px solid #af0a0f;padding-left:5px}

/* INFINITE SCROLL LOADING */
.inf-loader{text-align:center;padding:15px;color:#707070;font-size:12px}

.cookie-banner{background:#d6daf0;border:1px solid #b7c5d9;padding:8px 12px;font-size:11px;text-align:center;margin:4px}
.admin-badge{color:#e00;font-weight:bold;font-size:14px;margin-left:4px}
.announcements{background:#d6daf0;border:1px solid #b7c5d9;padding:10px;margin:10px 20px}
.announcement{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #b7c5d9}
.announcement:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.announcement h3{font-size:14px;margin-bottom:4px;color:#0f0c5d}
.announcement .date{font-size:10px;color:#707070}
.announcements>a{display:block;text-align:right;font-size:11px;margin-top:8px}
.online-badge{background:#117743;color:#fff;padding:2px 8px;border-radius:10px;font-size:11px;margin-left:10px;margin-top:20px;vertical-align:middle}
.archived-thread{opacity:0.85}
.archived-thread:hover{opacity:1}
.archived-info{font-size:11px;color:#707070;margin:4px 0}
.archived-notice{background:#fff8e0;border:1px solid #d0d0b0;padding:8px 12px;margin:10px;font-size:12px;color:#707000}
.empty-archive{text-align:center;padding:30px;color:#707070;font-size:14px}
.back-to-top{position:fixed;bottom:20px;right:20px;width:44px;height:44px;background:#af0a0f;color:#fff;border-radius:50%;text-align:center;line-height:44px;font-size:20px;text-decoration:none;display:none;z-index:1000;opacity:0.2}
.back-to-top:hover{opacity:0.75;color:#fff;text-decoration:none}
.back-to-top:active{opacity:0.75;color:#fff;text-decoration:none}
.back-to-top.show{display:block}
@media(max-width:600px){
.back-to-top{bottom:15px;right:15px;width:40px;height:40px;line-height:40px;font-size:18px;opacity:0.2}
}
