/* Parus wiki theme — mcwiki.parus.cloud (BookStack v26.05.1)
   Light + dark, both derived from the Parus major (great tit): slate / gold / ink /
   brown / cream. Implemented from the Claude Design "Parus Wiki Theme" handoff.
   Served from BookStack public/ at /parus.css; loaded by a slim app-custom-head that
   also drives the light/dark toggle client-side (localStorage, default dark).

   Token model: :root = LIGHT (BookStack's default, no class). html.dark-mode = DARK
   override (BookStack adds .dark-mode when dark). Component rules are NOT scoped to a
   mode — they read var(--pa-*), which flips per mode. */
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;0,8..60,700;1,8..60,400;1,8..60,500&family=Source+Sans+3:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500&display=swap');

/* ===== LIGHT (default) — same brand, daylight ===== */
:root{
  --pa-bg:#f4efe2; --pa-surface:#fbf8ef; --pa-elevated:#ffffff;
  --pa-text:#23262d; --pa-text2:#515763; --pa-muted:#7d818a;
  --pa-border:#e4dcca; --pa-border2:#d3c9b2;
  --pa-accent:#35597f; --pa-accent-h:#274866; --pa-accent-soft:rgba(53,89,127,.09); --pa-on-accent:#fbf8ef;
  --pa-gold:#9c6b22; --pa-gold-soft:rgba(156,107,34,.12); --pa-on-gold:#ffffff;
  --pa-link:#35597f;
  --pa-success:#2f7d4f; --pa-success-soft:rgba(47,125,79,.10);
  --pa-warning:#8f6414; --pa-warning-soft:rgba(143,100,20,.12);
  --pa-danger:#b23d29; --pa-danger-soft:rgba(178,61,41,.10);
  --pa-info:#35597f; --pa-info-soft:rgba(53,89,127,.09);
  --pa-code-bg:#efe9db; --pa-code-text:#3a3f49;
  --pa-medallion:#f0ead9;
  --pa-shadow:0 1px 2px rgba(60,50,30,.08),0 10px 24px rgba(60,50,30,.10);
  --pa-shadow-sm:0 1px 2px rgba(60,50,30,.07);
  /* BookStack's own entity/link colours retinted to the palette */
  --color-primary:#35597f !important; --color-primary-light:rgba(53,89,127,.14) !important;
  --color-link:#35597f !important;
  --color-bookshelf:#46688f !important; --color-book:#35597f !important;
  --color-chapter:#9c6b22 !important; --color-page:#35597f !important; --color-page-draft:#7d818a !important;
}
/* ===== DARK (default identity) — the bird's ink cap ===== */
html.dark-mode{
  --pa-bg:#15171e; --pa-surface:#1e2129; --pa-elevated:#282c37;
  --pa-text:#ece7da; --pa-text2:#b4b0a4; --pa-muted:#85837b;
  --pa-border:#2f333e; --pa-border2:#3a3f4c;
  --pa-accent:#7aa7d4; --pa-accent-h:#9ac0e6; --pa-accent-soft:rgba(122,167,212,.14); --pa-on-accent:#14181f;
  --pa-gold:#e0a860; --pa-gold-soft:rgba(224,168,96,.15); --pa-on-gold:#20190e;
  --pa-link:#8bb2da;
  --pa-success:#74c295; --pa-success-soft:rgba(116,194,149,.14);
  --pa-warning:#e0a860; --pa-warning-soft:rgba(224,168,96,.14);
  --pa-danger:#e2887a; --pa-danger-soft:rgba(226,136,122,.15);
  --pa-info:#7aa7d4; --pa-info-soft:rgba(122,167,212,.14);
  --pa-code-bg:#191c23; --pa-code-text:#dcd6c8;
  --pa-medallion:#f0ead9;
  --pa-shadow:0 1px 3px rgba(0,0,0,.45),0 10px 28px rgba(0,0,0,.30);
  --pa-shadow-sm:0 1px 2px rgba(0,0,0,.35);
  --color-primary:#7aa7d4 !important; --color-primary-light:rgba(122,167,212,.16) !important;
  --color-link:#8bb2da !important;
  --color-bookshelf:#8fb0d6 !important; --color-book:#7aa7d4 !important;
  --color-chapter:#e0a860 !important; --color-page:#7aa7d4 !important; --color-page-draft:#85837b !important;
}

/* ===== Base / page background (both modes; bg on html, wrappers transparent) ===== */
html{ background:var(--pa-bg) !important; }
body{ font-family:'Source Sans 3',system-ui,-apple-system,sans-serif !important; color:var(--pa-text); background:transparent !important; -webkit-font-smoothing:antialiased; }
#content,.tri-layout-container,.tri-layout-left,.tri-layout-right,.tri-layout-left-contents,.tri-layout-right-contents,main,.content-wrap.card{ background:transparent !important; }
h1,h2,h3,h4,h5,h6{ font-family:'Source Serif 4',Georgia,serif !important; font-weight:600; letter-spacing:-.012em; }
a{ color:var(--pa-link); }
a:hover{ color:var(--pa-accent-h); }
::selection{ background:var(--pa-gold-soft); }
hr{ border:none !important; border-top:1px solid var(--pa-border) !important; }

/* ===== Scrollbar ===== */
::-webkit-scrollbar{ width:12px; height:12px; }
::-webkit-scrollbar-track{ background:var(--pa-bg); }
::-webkit-scrollbar-thumb{ background:var(--pa-border2); border-radius:8px; border:3px solid var(--pa-bg); }
::-webkit-scrollbar-thumb:hover{ background:var(--pa-muted); }

/* ===== Header / nav ===== */
#header,header.primary-background{ background:var(--pa-surface) !important; border-bottom:1px solid var(--pa-border) !important; box-shadow:none !important; color:var(--pa-text) !important; }
#header a,.header-links a,#header .links a{ color:var(--pa-text2) !important; }
#header a:hover,.header-links a:hover,#header .links a:hover{ color:var(--pa-accent) !important; }
.logo-image{ width:42px !important; height:42px !important; border-radius:50%; background:var(--pa-medallion); border:1px solid var(--pa-border2); box-shadow:var(--pa-shadow-sm); padding:5px; object-fit:contain; box-sizing:border-box; }
.logo-text{ display:inline-flex !important; flex-direction:column; line-height:1; font-family:'Source Serif 4',serif !important; font-weight:600 !important; font-size:22px !important; letter-spacing:-.01em; color:var(--pa-text) !important; }
.logo-text::after{ content:'Community Wiki'; font-family:'Source Sans 3',sans-serif; font-weight:600; font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--pa-muted); margin-top:3px; }

/* ===== Inputs / search ===== */
input[type=text],input[type=search],input[type=email],input[type=password],textarea,select,.search-box input,#header input{
  background:var(--pa-elevated) !important; border:1px solid var(--pa-border) !important; color:var(--pa-text) !important;
  border-radius:9px !important; font-family:inherit !important; }
input:focus,textarea:focus,select:focus,.search-box input:focus{ border-color:var(--pa-accent) !important; box-shadow:0 0 0 3px var(--pa-accent-soft) !important; outline:none !important; }
input::placeholder,textarea::placeholder{ color:var(--pa-muted) !important; }
.search-box button,.search-box .svg-icon,#header .search-box .svg-icon{ color:var(--pa-muted); fill:var(--pa-muted); }

/* ===== Cards / entity grid ===== */
.card,.content-wrap{ background-color:var(--pa-surface) !important; border:1px solid var(--pa-border) !important; border-radius:13px !important; color:var(--pa-text) !important; }
.grid-card{ background:var(--pa-surface) !important; border:1px solid var(--pa-border) !important; border-radius:13px !important; overflow:hidden; box-shadow:var(--pa-shadow-sm); transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease; }
.grid-card:hover{ transform:translateY(-3px); box-shadow:var(--pa-shadow) !important; border-color:var(--pa-border2) !important; }
.grid-card .grid-card-content,.grid-card p{ color:var(--pa-text2) !important; }
.grid-card h2,.grid-card .name,.entity-list-item-name,.grid-card-content h2{ font-family:'Source Serif 4',serif !important; color:var(--pa-text) !important; font-weight:600 !important; }
.entity-list-item:hover,.entity-list-item.selected{ background:var(--pa-accent-soft) !important; }
.entity-list-item .entity-list-item-name:hover{ color:var(--pa-accent) !important; }

/* ===== Page content ===== */
.page-content{ color:var(--pa-text); }
.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6{ color:var(--pa-text) !important; font-family:'Source Serif 4',serif !important; }
.page-content h2{ border-bottom:1px solid var(--pa-border); padding-bottom:.3em; }
.page-content a{ color:var(--pa-link) !important; text-decoration:underline; text-underline-offset:2px; text-decoration-color:color-mix(in srgb,var(--pa-link) 45%,transparent); }
.page-content a:hover{ color:var(--pa-accent-h) !important; }
.page-content strong,.page-content b{ color:var(--pa-text); }
.page-content blockquote{ margin:22px 0; padding:4px 0 4px 18px; border-left:3px solid var(--pa-gold); background:transparent; color:var(--pa-text2); font-family:'Source Serif 4',serif; font-style:italic; }
.page-content blockquote::before,.page-content blockquote::after{ content:none !important; }
.page-content code{ font-family:'IBM Plex Mono',monospace !important; font-size:.86em; background:var(--pa-code-bg) !important; border:1px solid var(--pa-border) !important; border-radius:5px; padding:1.5px 6px; color:var(--pa-code-text) !important; }
.page-content pre{ background:var(--pa-code-bg) !important; border:1px solid var(--pa-border) !important; border-radius:10px; color:var(--pa-code-text) !important; }
.page-content pre code{ background:transparent !important; border:none !important; padding:0; color:var(--pa-code-text) !important; }
.page-content hr{ border-top:1px solid var(--pa-border) !important; }
.page-content ul>li::marker,.page-content ol>li::marker{ color:var(--pa-gold); }

/* ===== Tables ===== */
.page-content table{ border:1px solid var(--pa-border) !important; border-radius:10px; border-collapse:separate; border-spacing:0; overflow:hidden; }
.page-content table th{ background:var(--pa-surface) !important; color:var(--pa-muted) !important; font-family:'Source Sans 3',sans-serif !important; font-size:12px; text-transform:uppercase; letter-spacing:.05em; font-weight:600; border-bottom:1px solid var(--pa-border2) !important; }
.page-content table td,.page-content table th{ border-color:var(--pa-border) !important; }
.page-content table tbody tr:hover{ background:var(--pa-accent-soft) !important; }

/* ===== Buttons ===== */
.button,button.button,input[type=submit].button{ background:var(--pa-accent) !important; border:1px solid var(--pa-accent) !important; color:var(--pa-on-accent) !important; border-radius:9px !important; font-family:'Source Sans 3',sans-serif !important; font-weight:600 !important; }
.button:hover,button.button:hover{ background:var(--pa-accent-h) !important; border-color:var(--pa-accent-h) !important; box-shadow:none !important; }
.button.outline{ background:transparent !important; border:1px solid var(--pa-border2) !important; color:var(--pa-text) !important; }
.button.outline:hover{ border-color:var(--pa-accent) !important; color:var(--pa-accent) !important; background:transparent !important; }

/* ===== Breadcrumbs ===== */
.breadcrumbs a,.breadcrumb a{ color:var(--pa-text2) !important; }
.breadcrumbs a:hover,.breadcrumb a:hover{ color:var(--pa-accent) !important; }
.breadcrumbs .separator{ color:var(--pa-muted) !important; }

/* ===== Sidebars (tri-layout: book tree, page contents, details) ===== */
.tri-layout-left-contents,.tri-layout-right-contents{ font-size:14px; }
.sidebar h5,.tri-layout-right h5,.tri-layout-left h5,.sidebar-page-list .sidebar-page-list-title{ color:var(--pa-muted) !important; font-family:'Source Sans 3',sans-serif !important; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.book-tree .sidebar-page-list a,.sidebar-page-list a,.page-nav-list a{ color:var(--pa-text2) !important; border-radius:7px; }
.book-tree .sidebar-page-list a:hover,.sidebar-page-list a:hover,.page-nav-list a:hover{ background:var(--pa-accent-soft) !important; color:var(--pa-accent) !important; }
.sidebar-page-list a.selected,.book-tree a.selected,.sidebar-page-list .selected>a{ background:var(--pa-accent) !important; box-shadow:var(--pa-shadow-sm); }
.sidebar-page-list a.selected,.sidebar-page-list a.selected *,.book-tree a.selected,.book-tree a.selected *{ color:var(--pa-on-accent) !important; fill:var(--pa-on-accent) !important; }
.page-nav .current,.sidebar-page-nav a.current,.page-nav-list a.current{ color:var(--pa-accent) !important; font-weight:600; }

/* ===== Callouts / notices ===== */
.callout{ background:var(--pa-surface) !important; border:1px solid var(--pa-border) !important; border-left-width:3px !important; border-radius:10px !important; color:var(--pa-text) !important; }
.callout.info{ background:var(--pa-info-soft) !important; border-left-color:var(--pa-info) !important; }
.callout.success{ background:var(--pa-success-soft) !important; border-left-color:var(--pa-success) !important; }
.callout.warning{ background:var(--pa-warning-soft) !important; border-left-color:var(--pa-warning) !important; }
.callout.danger{ background:var(--pa-danger-soft) !important; border-left-color:var(--pa-danger) !important; }

/* ===== Tags (gold pills) ===== */
.tag-item,.tag-item .tag-value,.tag-name,.tag-value{ color:var(--pa-gold) !important; }
.tag-item{ background:var(--pa-gold-soft) !important; border:1px solid transparent !important; border-radius:999px !important; color:var(--pa-gold) !important; font-weight:600; font-size:12.5px; }

/* ===== Footer ===== */
footer,.footer{ border-top:1px solid var(--pa-border) !important; color:var(--pa-muted) !important; }

/* ===== Login page (bypassed but themed; renders light) ===== */
body:has(#social-login-discord) .card.content-wrap{ background:var(--pa-surface) !important; border:1px solid var(--pa-border); box-shadow:var(--pa-shadow); border-radius:13px; }
#social-login-discord{ background:var(--pa-accent) !important; border:1px solid var(--pa-accent) !important; color:var(--pa-on-accent) !important; font-family:'Source Sans 3',sans-serif !important; font-weight:600; border-radius:9px !important; }
#social-login-discord:hover{ background:var(--pa-accent-h) !important; }
#social-login-discord .svg-icon{ fill:var(--pa-on-accent) !important; }
