/* ============================================================================
   Everything but Oldgames - admin & form styles
   Complements style.css. Keep the vintage palette consistent.
   ============================================================================ */

/* --- Generic content typography for rendered markdown ------------------ */
#content h1, #content h2, #content h3, #content h4 {
    color: #FFCF28;
    font-family: arial;
    margin: 10px 0 5px 0;
    padding: 0;
}
#content h2 { font-size: 18px; }
#content h3 { font-size: 15px; }
#content h4 { font-size: 13px; }
#content p.meta,
#content p.comment-meta {
    color: #B8D0EE;
    font-style: italic;
    font-size: 11px;
    margin: 0 0 10px 0;
}
#content hr {
    border: 0;
    border-top: 1px solid #FFF;
    margin: 15px 0;
}
#content ul.content-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
#content ul.content-list li {
    padding: 4px 0;
    border-bottom: 1px dotted #1a4a85;
}
#content code {
    background: #001a33;
    color: #FFCF28;
    padding: 1px 4px;
    border-radius: 2px;
    font-family: monospace;
}
#content pre {
    background: #001a33;
    color: #FFCF28;
    padding: 8px;
    overflow-x: auto;
    font-family: monospace;
}
#content blockquote {
    margin: 8px 0;
    padding: 4px 10px;
    border-left: 3px solid #FFCF28;
    color: #B8D0EE;
    font-style: italic;
}

/* --- News body and single-page content areas --------------------------- */
.news-body, .review-body, .interview-body, .article-body, .about-body {
    line-height: 1.6;
}
.news-title {
    text-decoration: none;
}

/* --- Comments (public) ------------------------------------------------- */
.comment {
    background: #002851;
    border: 1px solid #1a4a85;
    padding: 8px 10px;
    margin: 8px 0;
}
.comment .comment-meta {
    margin: 0 0 5px 0;
    font-size: 11px;
    color: #B8D0EE;
}
.comment p { margin: 0; padding: 0; }

/* --- Forms (admin + public comment) ------------------------------------ */
.admin-form p,
.comment-form p,
.login-form p {
    margin: 8px 0;
}
.admin-form label,
.comment-form label,
.login-form label {
    display: block;
    font-weight: bold;
    color: #FFCF28;
}
.admin-form input[type=text],
.admin-form input[type=email],
.admin-form input[type=password],
.admin-form select,
.admin-form textarea,
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form textarea,
.login-form input[type=text],
.login-form input[type=password] {
    background: #001a33;
    color: #FFF;
    border: 1px solid #4a7ab8;
    padding: 4px 6px;
    font-family: arial;
    font-size: 12px;
    margin-top: 2px;
}
.admin-form input[type=text]:focus,
.admin-form input[type=email]:focus,
.admin-form textarea:focus,
.comment-form input[type=text]:focus,
.comment-form textarea:focus {
    outline: 1px solid #FFCF28;
    background: #002851;
}
.admin-form input[type=checkbox] {
    vertical-align: middle;
    margin-right: 4px;
}

button, .btn {
    background: #004B97;
    color: #FFF;
    border: 1px solid #FFF;
    padding: 4px 10px;
    font-family: arial;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}
button:hover, .btn:hover {
    background: #FFCF28;
    color: #000;
}
button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.hint {
    color: #B8D0EE;
    font-style: italic;
    font-size: 11px;
}

/* --- Inline / link-styled buttons -------------------------------------- */
.inline-form {
    display: inline;
    margin: 0;
    padding: 0;
}
.link-button {
    background: none;
    border: 0;
    color: #FFCF28;
    text-decoration: none;
    padding: 0 4px;
    font-size: 12px;
    font-weight: normal;
    cursor: pointer;
    font-family: arial;
}
.link-button:hover {
    background: #004B97;
    color: #FFCF28;
    text-decoration: none;
}
.link-button.danger { color: #ff8870; }
.link-button.danger:hover { background: #6b1f0f; }
.link-button.ok { color: #88ff88; }
.right { float: right; }

/* --- Flash messages ---------------------------------------------------- */
.flash {
    padding: 6px 10px;
    margin: 0 0 10px 0;
    border: 1px solid #FFF;
    background: #002851;
    color: #FFF;
    font-weight: bold;
}
.flash-ok    { background: #1f4d1f; border-color: #88ff88; }
.flash-error { background: #4d1f1f; border-color: #ff8870; color: #fff; }
.dim         { color: #888; }
.ok          { color: #88ff88; }

/* --- Admin tables ------------------------------------------------------ */
.admin-table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    font-size: 12px;
}
.admin-table th,
.admin-table td {
    border: 1px solid #4a7ab8;
    padding: 5px 8px;
    text-align: left;
    vertical-align: top;
}
.admin-table thead th {
    background: #002851;
    color: #FFCF28;
    font-weight: bold;
}
.admin-table tbody tr:nth-child(even) {
    background: rgba(0, 40, 81, 0.4);
}
.admin-table details {
    cursor: pointer;
}
.admin-table details summary {
    color: #FFCF28;
    list-style: none;
}
.admin-table details summary::-webkit-details-marker { display: none; }
.admin-table details summary::before {
    content: "▶ ";
    color: #FFCF28;
    font-size: 10px;
}
.admin-table details[open] summary::before {
    content: "▼ ";
}

/* --- Markdown editor (Write / Preview tabs) ---------------------------- */
.editor {
    margin: 10px 0;
    border: 1px solid #4a7ab8;
    background: #001a33;
}
.editor-tabs {
    display: flex;
    background: #002851;
    border-bottom: 1px solid #4a7ab8;
}
.editor-tab {
    background: #002851;
    color: #B8D0EE;
    border: 0;
    border-right: 1px solid #4a7ab8;
    border-radius: 0;
    padding: 5px 14px;
    font-weight: normal;
    font-size: 12px;
    cursor: pointer;
}
.editor-tab:hover {
    background: #003f7a;
    color: #FFF;
}
.editor-tab.active {
    background: #001a33;
    color: #FFCF28;
    border-bottom: 2px solid #FFCF28;
    margin-bottom: -1px;
}
.editor-pane {
    padding: 0;
    background: #001a33;
}
.editor-pane textarea {
    border: 0 !important;
    background: #001a33 !important;
    color: #FFF !important;
    width: 100% !important;
    box-sizing: border-box;
    resize: vertical;
    min-height: 300px;
    padding: 10px !important;
}
.editor-pane .preview-render {
    padding: 10px 14px;
    min-height: 300px;
    color: #D3E5FA;
    line-height: 1.6;
}
.editor-pane .preview-render h1,
.editor-pane .preview-render h2,
.editor-pane .preview-render h3 {
    color: #FFCF28;
}
.editor-pane .preview-render a {
    color: #FFCF28;
}
.editor-pane .preview-render code {
    background: #002851;
    color: #FFCF28;
}
.editor-pane .preview-render blockquote {
    border-left: 3px solid #FFCF28;
    color: #B8D0EE;
    font-style: italic;
    margin: 8px 0;
    padding: 0 12px;
}

/* --- Comment moderation list ------------------------------------------ */
.comment-mod {
    background: #002851;
    border: 1px solid #4a7ab8;
    padding: 8px 10px;
    margin: 8px 0;
}
.comment-mod .comment-meta { color: #B8D0EE; }
