
/* ===== gk THEME VARIABLES (injected) ===== */
:root{
  --gk-body-bg: radial-gradient(circle at top,#0f172a 0,#020617 46%,#020617 100%);
  --gk-surface-bg: #0b1220;
  --gk-header-bg: #020617;
  --gk-footer-bg: #020617;
  --gk-text-color: #e5e7eb;
  --gk-text-soft: #9ca3af;
  --gk-border: rgba(148,163,184,0.08);
  --gk-link-color: #22d3ee;
  --gk-link-hover: #a855f7;
}
/* make article content inherit colors */
.gk-article, .gk-article-content { background: transparent; color: var(--gk-text-color); }
.gk-article-content * { color: inherit !important; }


/* Theme variables & dynamic themes */
:root {
    --gk-body-bg: radial-gradient(circle at top, #0f172a 0, #020617 46%, #020617 100%);
    --gk-text-color: #e5e7eb;
    --gk-link-color: #22d3ee;
    --gk-link-hover: #a855f7;
    --gk-header-bg: #020617;
    --gk-footer-bg: #020617;
    --gk-surface-bg: #020617;
    --gk-border-soft: rgba(148,163,184,0.4);
}

/* Base defaults (if no theme attr found) */
body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    margin: 0;
    background: var(--gk-body-bg);
    color: var(--gk-text-color);
    -webkit-font-smoothing: antialiased;
}
a {
    text-decoration: none;
    color: var(--gk-link-color);
}
a:hover {
    text-decoration: none;
    color: var(--gk-link-hover);
}

/* ---- Theme variants (10 themes) ---- */
body[data-theme="neo-dark"],
body.gk-theme-neo-dark {
    --gk-body-bg: radial-gradient(circle at top, #020617 0, #020617 40%, #000000 100%);
    --gk-text-color: #e5e7eb;
    --gk-link-color: #22d3ee;
    --gk-link-hover: #a855f7;

    --gk-header-bg: #020617;
    --gk-footer-bg: #020617;
    --gk-surface-bg: #020617;
    --gk-text-color: #e5e7eb;
    --gk-text-soft: #9ca3af;}

body[data-theme="midnight"],
body.gk-theme-midnight {
    --gk-body-bg: radial-gradient(circle at top, #020617 0, #020617 40%, #1d2433 100%);
    --gk-text-color: #e5e7eb;
    --gk-link-color: #38bdf8;
    --gk-link-hover: #f97316;

    --gk-header-bg: #020617;
    --gk-footer-bg: #020617;
    --gk-surface-bg: #020617;
    --gk-text-color: #e5e7eb;
    --gk-text-soft: #9ca3af;}

body[data-theme="aurora"],
body.gk-theme-aurora {
    --gk-body-bg: radial-gradient(circle at top, #022c22 0, #020617 40%, #020617 100%);
    --gk-text-color: #e5f9f0;
    --gk-link-color: #4ade80;
    --gk-link-hover: #22c55e;

    --gk-header-bg: #022c22;
    --gk-footer-bg: #022c22;
    --gk-surface-bg: #022c22;
    --gk-text-color: #e5f9f0;
    --gk-text-soft: #a7f3d0;}

body[data-theme="sunset"],
body.gk-theme-sunset {
    --gk-body-bg: radial-gradient(circle at top, #7c2d12 0, #111827 40%, #020617 100%);
    --gk-text-color: #fee2e2;
    --gk-link-color: #fb923c;
    --gk-link-hover: #f97316;

    --gk-header-bg: #7c2d12;
    --gk-footer-bg: #7c2d12;
    --gk-surface-bg: #111827;
    --gk-text-color: #fee2e2;
    --gk-text-soft: #fecaca;}

body[data-theme="ocean"],
body.gk-theme-ocean {
    --gk-body-bg: radial-gradient(circle at top, #0f172a 0, #0e7490 40%, #020617 100%);
    --gk-text-color: #e0f2fe;
    --gk-link-color: #38bdf8;
    --gk-link-hover: #0ea5e9;

    --gk-header-bg: #020617;
    --gk-footer-bg: #020617;
    --gk-surface-bg: #020617;
    --gk-text-color: #e0f2fe;
    --gk-text-soft: #9ca3af;}

body[data-theme="royal"],
body.gk-theme-royal {
    --gk-body-bg: radial-gradient(circle at top, #111827 0, #1d4ed8 40%, #020617 100%);
    --gk-text-color: #e5e7eb;
    --gk-link-color: #60a5fa;
    --gk-link-hover: #c4b5fd;

    --gk-header-bg: #111827;
    --gk-footer-bg: #111827;
    --gk-surface-bg: #020617;
    --gk-text-color: #e5e7eb;
    --gk-text-soft: #9ca3af;}

body[data-theme="terminal"],
body.gk-theme-terminal {
    --gk-body-bg: #020617;
    --gk-text-color: #c7f9cc;
    --gk-link-color: #4ade80;
    --gk-link-hover: #a3e635;

    --gk-header-bg: #020617;
    --gk-footer-bg: #020617;
    --gk-surface-bg: #020617;
    --gk-text-color: #c7f9cc;
    --gk-text-soft: #a7f3d0;}

body[data-theme="paper"],
body.gk-theme-paper {
    --gk-body-bg: #f3f4f6;
    --gk-text-color: #111827;
    --gk-link-color: #2563eb;
    --gk-link-hover: #7c3aed;

    --gk-header-bg: #111827;
    --gk-footer-bg: #111827;
    --gk-surface-bg: #ffffff;
    --gk-text-color: #111827;
    --gk-text-soft: #6b7280;}

body[data-theme="classic"],
body.gk-theme-classic {
    --gk-body-bg: #ffffff;
    --gk-text-color: #111827;
    --gk-link-color: #dc2626;
    --gk-link-hover: #b91c1c;

    --gk-header-bg: #ffffff;
    --gk-footer-bg: #ffffff;
    --gk-surface-bg: #ffffff;
    --gk-text-color: #111827;
    --gk-text-soft: #6b7280;}

body[data-theme="matrix"],
body.gk-theme-matrix {
    --gk-body-bg: radial-gradient(circle at top, #020617 0, #020617 40%, #000000 100%);
    --gk-text-color: #bbf7d0;
    --gk-link-color: #22c55e;
    --gk-link-hover: #4ade80;

    --gk-header-bg: #020617;
    --gk-footer-bg: #020617;
    --gk-surface-bg: #020617;
    --gk-text-color: #bbf7d0;
    --gk-text-soft: #4ade80;}

/* end theme variants */

.gk-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

/* Topbar */
.gk-topbar {
    background: #065f46;
    color: #ecfdf5;
    padding: 6px 0;
    font-size: 14px;
}
.gk-topbar-inner {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
}
.gk-topbar-right {
    display:flex;
    align-items:center;
    gap:10px;
}
.gk-topbar-social a {
    margin-left:6px;
    font-size:16px;
}
.gk-topbar-social a:first-child {
    margin-left:0;
}
.gk-theme-select {
    padding:2px 6px;
    border-radius:4px;
    border:1px solid #d1d5db;
    font-size:13px;
}

/* Header & logo */
.gk-main-header {
    background: var(--gk-header-bg);
    border-bottom: 1px solid var(--gk-border-soft);
}
.gk-header-inner {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:8px 0;
}
.gk-header-actions {
    display:flex;
    align-items:center;
    gap:8px;
}
.gk-icon-btn {
    border:none;
    background:transparent;
    font-size:20px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:4px 6px;
}
.gk-notify-btn {
    background:#f97316;
    color:#ffffff;
    border-radius:999px;
    font-size:16px;
}
.gk-notify-btn:hover {
    opacity:0.9;
}
.gk-nav-toggle {
    color:#111827;
    border:none;
    background:transparent;
    font-size:24px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:4px 8px;
    color:#0f172a;
}

/* Search overlay */
.gk-search-overlay {
    display:none;
    background:rgba(0,0,0,0.65);
    position:fixed;
    left:0;
    right:0;
    top:0;
    bottom:0;
    z-index:999;
    padding-top:70px;
    padding-bottom:10px;
}
.gk-search-overlay.open {
    display:block;
}
.gk-search-form-popup {
    display:flex;
    align-items:center;
    gap:8px;
    background:var(--gk-surface-bg);
    padding:8px 10px;
    border-radius:999px;
    max-width:500px;
    margin:0 auto;
}
.gk-search-input-popup {
    flex:1;
    border:1px solid #d1d5db;
    border-radius:999px;
    padding:4px 10px;
    font-size:14px;
}
.gk-search-input-popup:focus {
    outline:none;
    border-color:#16a34a;
}

/* Ticker */
.gk-ticker {
    background:#b91c1c;
    color:#fee2e2;
    padding:4px 0;
    overflow:hidden;
}
.gk-ticker-inner {
    display:flex;
    align-items:center;
    gap:10px;
}
.gk-ticker-label {
    font-weight:700;
    font-size:14px;
    padding:2px 8px;
    background:#7f1d1d;
    border-radius:999px;
}
.gk-ticker-items {
    overflow:hidden;
    white-space:nowrap;
    flex:1;
}
.gk-ticker-item {
    display:inline-block;
    margin-right:50px;
    animation:gk-scroll 15s linear infinite;
}
.gk-ticker-item:hover {
    animation-play-state:paused;
}
@keyframes gk-scroll {
    0% { transform:translateX(0); }
    100% { transform:translateX(-100%); }
}

    100% { transform:translateX(-50%); }
}

/* Nav bar */
.gk-nav-bar {
    background:#022c22;
}
.gk-nav-bar .gk-container {
    padding-top:4px;
    padding-bottom:4px;
}
.gk-nav-wrap {
    overflow:hidden;
}
.gk-main-nav {
    display:flex;
    align-items:center;
}
.gk-main-nav-scroll {
    display:flex;
    gap:16px;
    font-size:15px;
    flex-wrap:nowrap;
    animation:gk-scroll 18s linear infinite;
}
.gk-main-nav-scroll:hover {
    animation-play-state:paused;
}
.gk-main-nav-scroll a {
    white-space:nowrap;
    color:#2563eb;      /* bright blue for light theme */
    font-weight:600;
}
.gk-admin-link {
    font-size:13px;
    margin-left:10px;
}

/* Mobile menu */
.gk-mobile-menu {
    display:none;
    background:#022c22;
}
.gk-mobile-menu.open {
    display:block;
}
.gk-mobile-nav {
    display:flex;
    flex-direction:column;
    padding:8px 0;
    gap:6px;
    font-size:15px;
}
.gk-mobile-nav a {
    padding:4px 0;
    white-space:nowrap;
    color:#fefce8;
}

/* Main layout */
.gk-main {
    display:grid;
    grid-template-columns:minmax(0, 2fr) minmax(0, 1fr);
    gap:16px;
    padding:16px 0 24px 0;
}
.gk-main section {
    min-width:0;
}
.gk-main aside {
    min-width:0;
}

/* Cards & posts */
.gk-card {
    color: var(--gk-text-color);
    background: var(--gk-surface-bg);
    border: 1px solid var(--gk-border);
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 12px;
    box-shadow: 0 6px 18px rgba(2,6,23,0.6);
}
.gk-badge {
    display:inline-block;
    padding:2px 8px;
    border-radius:999px;
    background:#065f46;
    color:#ecfdf5;
    font-size:12px;
    margin-bottom:6px;
}
.gk-post-title {
    font-size: 20px;
    margin: 0 0 8px 0;
    color: var(--gk-text-color);
}
.gk-post-title a {
    color: inherit;
    text-decoration: none;
}
.gk-post-title a:hover {
    color: var(--gk-link-hover);
}
.gk-post-meta {
    font-size: 12px;
    color: var(--gk-text-soft);
    margin-bottom: 8px;
}

/* Footer */
.gk-footer {
    background: var(--gk-footer-bg);
    color: var(--gk-text-soft);
    padding:12px 0;
    font-size:13px;
    margin-top:8px;
}
.gk-footer a {
    color:#e5e7eb;
}

/* Article & list images (2x2 inch approx) */
.gk-article-image {
    width:100%;
    height:auto;
    max-height:420px;
    border-radius:8px;
    display:block;
    margin:0 auto 12px auto;
    object-fit:cover;
    box-shadow: 0 8px 28px rgba(2,6,23,0.6);
}
.gk-list-thumb {
    width:192px;
    height:192px;
    max-width:100%;
    border-radius:8px;
    display:block;
    margin:0 auto 8px auto;
    object-fit:cover;
}

/* Admin area basic */
.admin-wrap {
    max-width:900px;
    margin:0 auto;
}

/* Dark theme */
.gk-theme-dark body,
.gk-theme-dark .gk-main {
    background: var(--gk-body-bg);
    color: var(--gk-text-color);
}
.gk-theme-dark .gk-card {
    color: var(--gk-text-color);
    background: var(--gk-surface-bg);
    border: 1px solid var(--gk-border);
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 12px;
    box-shadow: 0 6px 18px rgba(2,6,23,0.6);
}
.gk-theme-dark .gk-topbar {
    background:#0f172a;
    color:#e5e7eb;
}
.gk-theme-dark .gk-main-header,
.gk-theme-dark .gk-nav-bar {
    background:#020617;
}
.gk-theme-dark .gk-footer {
    background:#020617;
    color:#9ca3af;
}
.gk-theme-dark a {
    color:#38bdf8;
}
.gk-theme-dark .gk-badge {
    background:#059669;
    color:#ecfdf5;
}
.gk-theme-dark .gk-ticker {
    background:#7f1d1d;
}

/* Responsive tweaks */
@media (max-width: 900px) {
    .gk-main {
        grid-template-columns:1fr;
    }
    .gk-header-inner {
        padding:6px 0;
    }
}


@media (min-width: 901px) {
    .gk-mobile-menu {
        display:none !important;
    }
}


.gk-theme-dark .gk-nav-toggle {
    color:#60a5fa !important;
}


.gk-article-content {
    color: var(--gk-text-color);
}
.gk-article-content * {
    color: inherit;
}



/* Make sure cards/surfaces follow theme */
.gk-card, .gk-card * {
  background: var(--gk-surface-bg) !important;
  color: var(--gk-text-color) !important;
  border-color: var(--gk-surface-border) !important;
}

/* Force header/footer color usage of variables */
.gk-topbar, .gk-main-header, header, .gk-footer, footer {
  background: var(--gk-header-bg) !important;
  color: var(--gk-text-color) !important;
}

/* Article content readable */
.gk-article, .gk-article-content, .gk-article-content * {
  background: transparent !important;
  color: var(--gk-text-color) !important;
}

/* Links inside article */
.gk-article-content a { color: var(--gk-link-color) !important; }
.gk-article-content a:hover { color: var(--gk-link-hover) !important; }

/* Inputs/buttons */
button, input, select, textarea {
  color: var(--gk-text-color) !important;
  background: rgba(255,255,255,0.03) !important;
  border-color: var(--gk-surface-border) !important;
}

/* small helpers */
img.gk-article-image { max-width:100%; height:auto; display:block; margin:auto; }

/* End overrides */


/* ===== v93: Fix form & admin contrast ===== */
.gk-main article h1,
.gk-main article h2,
.gk-main article h3,
.gk-main article label {
    color: var(--gk-text-color);
}

.gk-main article input,
.gk-main article textarea,
.gk-main article select {
    background: var(--gk-surface-bg);
    border: 1px solid var(--gk-border);
    color: var(--gk-text-color);
}

.gk-main article input::placeholder,
.gk-main article textarea::placeholder {
    color: var(--gk-text-soft);
}

/* Make article buttons readable */
.gk-main article button,
.gk-main article .btn {
    color:#ffffff;
}

/* Admin tables (owner tools, visitor list, etc.) */
.admin-table,
.admin-table th,
.admin-table td {
    color:#111827;
}



/* ===== v96: Admin panel & users page theme fixes ===== */
.admin-panel, .admin-panel .card, .admin-panel form, .admin-panel table {
    background: var(--gk-surface-bg);
    color: var(--gk-text-color);
}

/* Ensure forms in admin use readable colors */
.admin-panel input, .admin-panel textarea, .admin-panel select {
    background: var(--gk-body-bg);
    color: var(--gk-text-color);
    border: 1px solid var(--gk-border);
}

/* Users table styles */
.admin-panel table {
    width: 100%;
    border-collapse: collapse;
}
.admin-panel table th, .admin-panel table td {
    padding: 10px;
    border: 1px solid var(--gk-border);
    color: var(--gk-text-color);
    background: transparent;
}

/* Buttons visibility */
.admin-panel .btn, .admin-panel button {
    background: linear-gradient(90deg,#2563eb,#7c3aed);
    color: #fff;
    border: none;
    padding: 8px 12px;
    border-radius: 6px;
}

/* Make details summary readable */
.admin-panel details summary {
    color: var(--gk-text-color);
}

/* Specific: owner-users card */
.admin-users-card {
    background: var(--gk-surface-bg);
    border: 1px solid var(--gk-border);
    border-radius: 8px;
    padding: 12px;
}

/* Ensure table scroll area has visible text on mobile */
.admin-table-scroll {
    overflow:auto;
    -webkit-overflow-scrolling: touch;
}



/* ===== v97: Fix admin white controls (buttons, badges, details) ===== */

/* Ensure permission badges (styled as pill/buttons) are theme-aware */
.admin-panel .pill,
.admin-panel .badge,
.admin-panel .perm-pill,
.admin-panel .btn-small {
    background: linear-gradient(90deg,var(--gk-accent), var(--gk-accent-2, #7c3aed));
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.06);
    box-shadow: none;
    display:inline-block;
    padding:6px 10px;
    border-radius:6px;
    font-size:13px;
}

/* If buttons were using plain white backgrounds, override them */
.admin-panel .btn,
.admin-panel button,
.admin-panel input[type="submit"],
.admin-panel .details button {
    background: linear-gradient(90deg,var(--gk-accent), var(--gk-accent-2, #7c3aed));
    color: #fff;
    border: none;
    box-shadow: none;
    padding:8px 10px;
    border-radius:6px;
}

/* Make summary toggles (details > summary) visible */
.admin-panel details summary {
    background: transparent;
    color: var(--gk-text-color);
    padding:6px 8px;
    border-radius:6px;
}

/* Make collapsed details content use theme */
.admin-panel details[open] summary {
    background: rgba(255,255,255,0.02);
}

/* Inputs inside edit panels: ensure dark bg not white */
.admin-panel details form input[type="text"],
.admin-panel details form input[type="password"],
.admin-panel details form select,
.admin-panel details form textarea {
    background: var(--gk-body-bg) !important;
    color: var(--gk-text-color) !important;
    border: 1px solid var(--gk-border) !important;
}

/* Table header contrast */
.admin-panel table thead th {
    background: rgba(255,255,255,0.02);
    color: var(--gk-text-soft);
    font-weight:700;
}

/* Ensure small action links are visible */
.admin-panel .actions a,
.admin-panel .actions summary {
    color: var(--gk-text-color);
}

/* Make checkboxes labels readable */
.admin-panel input[type="checkbox"] + label {
    color: var(--gk-text-color);
}

/* Ensure the admin table rows have distinct background on hover */
.admin-panel table tbody tr:hover {
    background: rgba(255,255,255,0.02);
}

/* Force any inline white background on admin cards to be theme surface */
.admin-panel [style*="background:#fff"] {
    background: var(--gk-surface-bg) !important;
    color: var(--gk-text-color) !important;
    border: 1px solid var(--gk-border) !important;
}

