* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 11px; margin: 0; padding: 0; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }

/* ----- Shared layout (both themes) ----- */
#header { padding: 8px 16px; border-bottom: 2px solid; }
#header h1 { font-size: 16px; }
#header .links { font-size: 11px; margin-top: 4px; }
#header .links a { margin-right: 12px; }
#header .links .logged-in-as { margin: 0 12px 0 4px; color: #888; }
#content { padding: 12px 16px; }
#stats { padding: 4px 16px; font-size: 10px; border-bottom: 1px solid; }
#stats .stat { margin-right: 16px; }
#footer { padding: 6px 16px; font-size: 10px; text-align: center; border-top: 2px solid; }
.thread-list { list-style: none; margin: 0 0 12px 0; padding: 0; }
.thread-list li { margin: 2px 0; padding: 2px 0; }
.thread-list .root { margin-top: 10px; padding-top: 8px; border-top: 1px solid; }
.thread-list .root:first-child { border-top: none; margin-top: 0; padding-top: 0; }
.thread-list ul { list-style: none; padding-left: 24px; margin: 0; }
.thread-list .subject { font-weight: bold; }
.thread-list .poster { }
.thread-list .date { font-size: 10px; }
.thread-list .nt { font-weight: bold; font-size: 10px; }
.thread-list .reply-count { font-size: 10px; }
.post { border: 1px solid; margin-bottom: 4px; }
.post-header { padding: 4px 8px; border-bottom: 1px solid; }
.post-header .poster { font-weight: bold; }
.post-header .date { font-size: 10px; margin-left: 8px; }
.post-body { padding: 8px; }
.children { margin-left: 24px; padding-left: 8px; border-left: 1px solid; }
.form-table { border-collapse: collapse; }
.form-table td { padding: 4px 8px; }
.form-table .label { text-align: right; font-weight: bold; white-space: nowrap; }
.form-table input[type=text], .form-table input[type=password], .form-table textarea { border: 1px solid; padding: 3px; font-family: Tahoma, Verdana, Arial, sans-serif; font-size: 11px; }
.form-table input[type=submit] { border: 1px solid; padding: 3px 12px; cursor: pointer; font-size: 11px; }
.headline { font-size: 14px; font-weight: bold; margin-bottom: 8px; }
.separator { border: none; border-top: 1px solid; margin: 8px 0; }
.info { font-size: 10px; margin-bottom: 8px; }
.error { font-weight: bold; margin: 8px 0; }
.pagination { text-align: right; font-size: 10px; margin-bottom: 8px; }
.pagination a { margin: 0 2px; }
.pagination .current { font-weight: bold; margin: 0 2px; }

.admin-tabs { margin-bottom: 12px; padding-bottom: 4px; border-bottom: 2px solid #999; }
.admin-tabs a { margin-right: 16px; font-size: 12px; font-weight: bold; padding: 2px 4px; }
.admin-tabs a.active { border-bottom: 2px solid; }
.hidden-post { opacity: 0.5; }
.hidden-badge { color: #c00; font-weight: bold; font-size: 10px; margin-right: 8px; }

/* ----- Light theme colors ----- */
body.theme-light { background: #f5f5f0; color: #222; }
.theme-light a { color: #0055aa; }
.theme-light a:visited { color: #0055aa; }
.theme-light a:hover { color: #dd4400; }
.theme-light #header { background: #e0e0d8; border-bottom-color: #999; }
.theme-light #header h1 { color: #333; }
.theme-light #header .links a { color: #0055aa; }
.theme-light #stats { background: #e8e8e0; border-bottom-color: #ccc; color: #666; }
.theme-light #footer { background: #e0e0d8; border-top-color: #999; color: #666; }
.theme-dark #stats { background: #2a2a2a; border-bottom-color: #444; color: #888; }
.theme-light .thread-list .root { border-top-color: #ccc; }
.theme-light .thread-list .poster { color: #555; }
.theme-light .thread-list .date { color: #888; }
.theme-light .thread-list .nt { color: #c00; }
.theme-light .thread-list .reply-count { color: #888; }
.theme-light .post { border-color: #ccc; background: #fff; }
.theme-light .post-header { background: #e8e8e0; border-bottom-color: #ccc; }
.theme-light .post-header .poster { color: #333; }
.theme-light .post-header .date { color: #888; }
.theme-light .post-body { }
.theme-light .children { border-left-color: #ddd; }
.theme-light .form-table .label { color: #333; }
.theme-light .form-table input[type=text], .theme-light .form-table input[type=password], .theme-light .form-table textarea { border-color: #999; }
.theme-light .form-table input[type=submit] { border-color: #666; background: #e0e0d8; }
.theme-light .form-table input[type=submit]:hover { background: #ccc; }
.theme-light .headline { color: #333; }
.theme-light .separator { border-top-color: #999; }
.theme-light .info { color: #888; }
.theme-light .error { color: #c00; }
.theme-light .pagination { color: #888; }
.theme-light .pagination .current { }
.theme-light .admin-table { border-collapse: collapse; width: 100%; margin-bottom: 12px; }
.theme-light .admin-table th { background: #e0e0d8; padding: 4px 8px; text-align: left; border-bottom: 2px solid #999; font-size: 11px; }
.theme-light .admin-table td { padding: 4px 8px; border-bottom: 1px solid #ddd; font-size: 11px; }
.theme-light .admin-table .alt td { background: #f5f5f0; }

/* ----- Dark theme colors ----- */
body.theme-dark { background: #1a1a1a; color: #ccc; }
.theme-dark a { color: #66aaff; }
.theme-dark a:visited { color: #66aaff; }
.theme-dark a:hover { color: #ff8844; }
.theme-dark #header { background: #2a2a2a; border-bottom-color: #444; }
.theme-dark #header h1 { color: #ddd; }
.theme-dark #header .links a { color: #66aaff; }
.theme-dark #footer { background: #2a2a2a; border-top-color: #444; color: #888; }
.theme-dark .thread-list .root { border-top-color: #444; }
.theme-dark .thread-list .subject { color: #ddd; }
.theme-dark .thread-list .poster { color: #999; }
.theme-dark .thread-list .date { color: #666; }
.theme-dark .thread-list .nt { color: #ff6644; }
.theme-dark .thread-list .reply-count { color: #666; }
.theme-dark .post { border-color: #444; background: #222; }
.theme-dark .post-header { background: #333; border-bottom-color: #444; }
.theme-dark .post-header .poster { color: #ddd; }
.theme-dark .post-header .date { color: #666; }
.theme-dark .post-body { color: #ccc; }
.theme-dark .children { border-left-color: #333; }
.theme-dark .form-table .label { color: #ccc; }
.theme-dark .form-table input[type=text], .theme-dark .form-table input[type=password], .theme-dark .form-table textarea { border-color: #555; background: #333; color: #ccc; }
.theme-dark .form-table input[type=submit] { border-color: #555; background: #333; color: #ccc; }
.theme-dark .form-table input[type=submit]:hover { background: #444; }
.theme-dark .headline { color: #ddd; }
.theme-dark .separator { border-top-color: #444; }
.theme-dark .info { color: #666; }
.theme-dark .error { color: #ff6644; }
.theme-dark .admin-tabs { border-bottom-color: #444; }
.theme-dark .admin-tabs a.active { border-bottom-color: #66aaff; }
.theme-dark .hidden-badge { color: #ff6644; }
.theme-dark .pagination { color: #888; }
.theme-dark .pagination .current { color: #ddd; }
.theme-dark .admin-table { border-collapse: collapse; width: 100%; margin-bottom: 12px; }
.theme-dark .admin-table th { background: #333; padding: 4px 8px; text-align: left; border-bottom: 2px solid #555; font-size: 11px; color: #ccc; }
.theme-dark .admin-table td { padding: 4px 8px; border-bottom: 1px solid #333; font-size: 11px; color: #ccc; }
.theme-dark .admin-table .alt td { background: #222; }
