/* =========================================================
   ABBUC Forum – "Amber Glow" theme
   Amber phosphor text on black, like an old CRT terminal:
   monospace font, glowing text, scanlines, square corners.
   Spacing and font sizes are those of the Standard theme.
   Activated by adding class "theme-amber" to <html>; forum.js
   sets/clears it and persists the choice in localStorage
   ("abbuc_forum_theme" = "amber").
   ========================================================= */

html.theme-amber {
    --amber:          #ffb000;
    --amber-dim:      #c98600;
    --amber-faint:    #7a5200;
    --amber-bg:       #1c1300;
    --amber-bg2:      #0e0900;
    --glow:           0 0 4px rgba(255, 176, 0, .55), 0 0 10px rgba(255, 140, 0, .25);
    --primary-dark:   #ffb000;
    --primary-medium: #e09a00;
    --primary-pale:   #7a5200;
    --primary-light:  #3a2800;
    --primary-hint:   #140e00;
    --text:           #ffb000;
    --background:     #000;
}

html.theme-amber,
html.theme-amber body {
    background: #000;
    color: var(--amber);
}

html.theme-amber body,
html.theme-amber button,
html.theme-amber input,
html.theme-amber select,
html.theme-amber textarea,
html.theme-amber h1, html.theme-amber h2, html.theme-amber h3,
html.theme-amber h4, html.theme-amber h5, html.theme-amber h6,
html.theme-amber .thread-list,
html.theme-amber .post-title,
html.theme-amber .forum-card-title {
    font-family: 'VT323', 'IBM Plex Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', 'DejaVu Sans Mono', monospace;
}

/* Glowing text */
html.theme-amber #main,
html.theme-amber .site-info,
html.theme-amber a,
html.theme-amber h1, html.theme-amber h2, html.theme-amber h3 {
    text-shadow: var(--glow);
}

html.theme-amber #main { color: var(--amber); }

html.theme-amber a,
html.theme-amber a:visited { color: var(--amber); }
html.theme-amber a:hover   { color: #ffd060; text-decoration: underline; }

/* CRT scanlines + vignette over the whole page (click-through) */
html.theme-amber body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 10000;
    pointer-events: none;
    background:
        repeating-linear-gradient(to bottom,
            rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 2px,
            rgba(0, 0, 0, .22) 3px, rgba(0, 0, 0, 0) 4px),
        radial-gradient(ellipse at center, rgba(0,0,0,0) 60%, rgba(0,0,0,.45) 100%);
}

/* Subtle flicker */
@keyframes amber-flicker {
    0%, 100% { opacity: 1; }
    50%      { opacity: .97; }
}
@media (prefers-reduced-motion: no-preference) {
    html.theme-amber #main { animation: amber-flicker 4s infinite; }
}

/* Header / footer */
html.theme-amber header#masthead {
    background: #000;
    border-bottom: 1px solid var(--amber-faint);
    box-shadow: none;
}
html.theme-amber footer#colophon {
    background: #000;
    border-top: 1px solid var(--amber-faint);
    box-shadow: none;
}
html.theme-amber #masthead .navbar-nav > li > a,
html.theme-amber .navbar-dark .navbar-nav .nav-link { color: var(--amber); }
html.theme-amber .site-info,
html.theme-amber .copyright a,
html.theme-amber footer#colophon a { color: var(--amber-dim); }
html.theme-amber footer#colophon a:hover { color: var(--amber); }
html.theme-amber .mastheadimg,
html.theme-amber .navbar-brand img {
    filter: sepia(1) saturate(4) hue-rotate(-12deg) brightness(.9);
}

/* Square corners, no coloured shadows */
html.theme-amber .forum-card,
html.theme-amber .thread-list,
html.theme-amber .post.card,
html.theme-amber .post-body pre,
html.theme-amber .post-body code,
html.theme-amber .post-body blockquote,
html.theme-amber .user-profile-fields,
html.theme-amber .btn-new-topic,
html.theme-amber .btn-sort-posts,
html.theme-amber .post-actions a,
html.theme-amber .post-actions button,
html.theme-amber .post-like-btn,
html.theme-amber .select-theme,
html.theme-amber .preview-card,
html.theme-amber #saved-modal,
html.theme-amber .mention-list,
html.theme-amber .forum-search-results,
html.theme-amber .forum-search-input,
html.theme-amber .user-avatar,
html.theme-amber .post-author-avatar,
html.theme-amber .user-login-bar-avatar {
    border-radius: 0;
}

/* Breadcrumb + h1 banner */
html.theme-amber .breadcrumb {
    background: var(--amber-bg2);
    border-color: var(--amber-faint);
}
html.theme-amber .breadcrumb-item a,
html.theme-amber .breadcrumb-item a:hover,
html.theme-amber .breadcrumb-item.active { color: var(--amber); text-shadow: var(--glow); }
html.theme-amber .breadcrumb-item + .breadcrumb-item::before { color: var(--amber-dim); text-shadow: none; }
html.theme-amber .container h1:first-of-type {
    background: var(--amber-bg);
    color: var(--amber);
    border: 1px solid var(--amber-faint);
}

/* Forum cards */
html.theme-amber .forum-card {
    background: #000;
    border-color: var(--amber-faint);
    box-shadow: 0 0 8px rgba(255, 176, 0, .12);
}
html.theme-amber .forum-card-main { border-color: var(--amber-faint); }
html.theme-amber .forum-card-stats { background: var(--amber-bg2); }
html.theme-amber .forum-card-info,
html.theme-amber .forum-card-info h1,
html.theme-amber .forum-card-info h2,
html.theme-amber .forum-stat-item,
html.theme-amber .last-post-title,
html.theme-amber .thread-author,
html.theme-amber .thread-posts { color: var(--amber); }
html.theme-amber .last-post-meta,
html.theme-amber .thread-date,
html.theme-amber .post-sort-label,
html.theme-amber .user-profile-fields dt,
html.theme-amber .forum-search-info,
html.theme-amber .forum-search-meta,
html.theme-amber .forum-no-posts { color: var(--amber-dim); }

/* Thread list */
html.theme-amber .thread-list {
    background: #000;
    border-color: var(--amber-faint);
}
html.theme-amber .thread-list thead th {
    background: var(--amber-bg);
    color: var(--amber);
    border-bottom: 1px solid var(--amber-faint);
    text-shadow: var(--glow);
}
html.theme-amber .thread-list tbody td { border-top-color: var(--amber-faint); background: transparent; }
html.theme-amber .thread-list tbody tr:hover td,
html.theme-amber .thread-list tbody tr.thread-new td { background: var(--amber-bg); }

/* Buttons and controls */
html.theme-amber a.btn-new-topic,
html.theme-amber .btn-sort-posts,
html.theme-amber .select-theme,
html.theme-amber .post-like-btn,
html.theme-amber .post-actions a,
html.theme-amber .user-edit-btn,
html.theme-amber .user-pm-btn {
    background: #000;
    color: var(--amber);
    border: 1px solid var(--amber-dim);
}
html.theme-amber a.btn-new-topic:hover,
html.theme-amber .btn-sort-posts:hover,
html.theme-amber .select-theme:hover,
html.theme-amber .select-theme:focus,
html.theme-amber .post-like-btn:hover:not([disabled]),
html.theme-amber .post-actions a:hover,
html.theme-amber .user-edit-btn:hover,
html.theme-amber .user-pm-btn:hover {
    background: var(--amber);
    color: #000;
    border-color: var(--amber);
    text-shadow: none;
}
html.theme-amber .post-like-btn[disabled].post-like-btn--liked {
    background: var(--amber-bg);
    border-color: var(--amber);
}
html.theme-amber .select-theme option { background: #000; color: var(--amber); }
html.theme-amber .post-actions button.post-delete-btn { background: #000; color: #ff6a3d; border-color: #a03d1e; }
html.theme-amber .post-actions button.post-delete-btn:hover:not([disabled]) { background: #ff6a3d; color: #000; }

/* Posts */
html.theme-amber .post.card {
    background: #000;
    border-color: var(--amber-faint);
    box-shadow: 0 0 8px rgba(255, 176, 0, .12);
}
html.theme-amber .post .card-header {
    background: var(--amber-bg);
    color: var(--amber);
    border-bottom: 1px solid var(--amber-faint);
}
html.theme-amber .post .card-header a,
html.theme-amber .post-author,
html.theme-amber .post-title,
html.theme-amber .post-date,
html.theme-amber .post-link,
html.theme-amber .post-latest-link,
html.theme-amber .post-collapse-toggle { color: var(--amber); }
html.theme-amber article.post.card.post-new { border-color: var(--amber); box-shadow: 0 0 14px rgba(255, 176, 0, .45); }
html.theme-amber article.post.card.post-new .card-header { background: var(--amber-faint); }
html.theme-amber .post .card-body.post-body { background: #000; color: var(--amber); }
html.theme-amber .post-actions,
html.theme-amber .post-attachments { background: #000; border-top-color: var(--amber-faint); }
html.theme-amber .post-signature {
    background: var(--amber-bg2);
    border-top-color: var(--amber-faint);
    color: var(--amber-dim);
}
html.theme-amber .post-body hr { border-top-color: var(--amber-faint); }
html.theme-amber .post-body img { filter: sepia(1) saturate(2.5) hue-rotate(-12deg) brightness(.9) contrast(1.1); }
html.theme-amber .post-body img:hover { filter: none; }
html.theme-amber .post-author-avatar,
html.theme-amber .user-avatar,
html.theme-amber .user-login-bar-avatar { filter: sepia(1) saturate(3) hue-rotate(-12deg); border-color: var(--amber-faint); }

/* Code */
html.theme-amber .post-body pre {
    background: var(--amber-bg2);
    border-color: var(--amber-faint);
    color: var(--amber);
}
html.theme-amber .post-body code { background: var(--amber-bg); color: var(--amber); }
html.theme-amber .post-body pre code { background: transparent; }

/* Blockquotes: darker amber steps, text stays readable */
html.theme-amber .post-body blockquote,
html.theme-amber #preview-content blockquote {
    border-left-color: var(--amber-dim);
    background: var(--amber-bg2);
    color: var(--amber-dim);
}
html.theme-amber .post-body blockquote blockquote,
html.theme-amber #preview-content blockquote blockquote { background: #170f00; color: #d99100; }
html.theme-amber .post-body blockquote blockquote blockquote { background: #1c1300; color: #e69b00; }
html.theme-amber .post-body blockquote blockquote blockquote blockquote { background: #221700; color: #f0a200; }
html.theme-amber .post-body blockquote blockquote blockquote blockquote blockquote { background: #281b00; color: var(--amber); }

/* Tables inside posts */
html.theme-amber .post-body table,
html.theme-amber .post-body th,
html.theme-amber .post-body td { border-color: var(--amber-faint); color: var(--amber); }

/* User profile, login bar, recent posts */
html.theme-amber .user-profile-fields { background: var(--amber-bg2); border-color: var(--amber-faint); }
html.theme-amber .user-login-bar { background: var(--amber-bg2); border-color: var(--amber-faint); }
html.theme-amber .recent-posts-day { border-bottom-color: var(--amber-faint); }

/* Search */
html.theme-amber .forum-search-results { background: #000; border-color: var(--amber-faint); }
html.theme-amber .forum-search-hit { border-top-color: var(--amber-faint); }
html.theme-amber .forum-search-input { background: #000; color: var(--amber); border-color: var(--amber-dim); }
html.theme-amber .forum-search-toggle { color: var(--amber); }
html.theme-amber .forum-search-toggle:hover,
html.theme-amber .forum-search.is-open .forum-search-toggle { background: var(--amber-bg); }

/* Editor */
html.theme-amber #body-textarea,
html.theme-amber .form-control {
    background: #000;
    color: var(--amber);
    border-color: var(--amber-dim);
    caret-color: var(--amber);
}
html.theme-amber #body-textarea:focus,
html.theme-amber .form-control:focus { border-color: var(--amber); box-shadow: 0 0 8px rgba(255, 176, 0, .4); }
html.theme-amber .md-toolbar { background: var(--amber-bg2); border-color: var(--amber-faint); }
html.theme-amber .md-btn { color: var(--amber); }
html.theme-amber .md-btn:hover { background: var(--amber-bg); border-color: var(--amber-dim); }
html.theme-amber .preview-card { background: #000; border-color: var(--amber-faint); }
html.theme-amber .preview-card-header { background: var(--amber-bg); color: var(--amber); }
html.theme-amber #saved-modal { background: #000; border: 1px solid var(--amber); box-shadow: 0 0 20px rgba(255,176,0,.5); }
html.theme-amber #saved-modal p { color: var(--amber-dim); }
html.theme-amber .mention-list { background: #000; border-color: var(--amber-dim); }
html.theme-amber .mention-item.active,
html.theme-amber .mention-item:hover { background: var(--amber-bg); color: var(--amber); }

/* Text selection + scrollbars */
html.theme-amber ::selection { background: var(--amber); color: #000; text-shadow: none; }
html.theme-amber { scrollbar-color: var(--amber-dim) #000; }
