﻿:root {
    --ink: #141726;
    --ink-soft: #1f2438;
    --accent: #f25f4c;
    --accent-2: #4fb0ff;
    --sun: #f7b500;
    --paper: #ffffff;
    --canvas: #f8f8fb;
    --muted: #5c6073;
    --border: rgba(20,23,38,0.08);
    --shadow-soft: 0 20px 55px rgba(17,23,41,0.1);
}

body {
    margin: 0;
    font-family: 'Inter','Open Sans','Segoe UI','Helvetica Neue',Arial,sans-serif;
    font-size: 18px;
    line-height: 1.85;
    background:
        radial-gradient(circle at 12% 18%, rgba(79,176,255,0.08), transparent 45%),
        radial-gradient(circle at 78% -5%, rgba(242,95,76,0.08), transparent 40%),
        var(--canvas);
    color: var(--ink);
}

#mdbook-sidebar,
#mdbook-sidebar-resize-handle,
#mdbook-sidebar-toggle-anchor,
#mdbook-sidebar-toggle,
#mdbook-theme-toggle,
#mdbook-theme-list,
.right-buttons a[title="Print this book"],
#print-button {
    display: none !important;
}

html.sidebar-visible #mdbook-page-wrapper,
#mdbook-page-wrapper {
    margin-left: 0 !important;
}

#mdbook-menu-bar {
    max-width: min(1500px, 96vw);
    margin: 0 auto;
    background: rgba(255,255,255,0.94);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255,255,255,0.6);
    box-shadow: 0 8px 24px rgba(15,17,30,0.12);
    border-radius: 0 0 30px 30px;
    padding: 1.1rem clamp(1.2rem,3vw,3rem);
    position: sticky;
    top: 0;
    z-index: 10;
}

#mdbook-menu-bar .menu-title {
    font-size: 1.05rem;
    letter-spacing: 0.45em;
    text-transform: uppercase;
    color: rgba(20,23,38,0.55);
}

.page,
main {
    max-width: min(1550px, 96vw);
    margin: 0 auto;
    padding: clamp(1.6rem, 3vw, 4rem);
}

main {
    background: var(--paper);
    border-radius: 38px;
    border: 1px solid rgba(255,255,255,0.7);
    box-shadow: var(--shadow-soft);
    padding: clamp(2rem,3vw,4rem);
}

main > * + * { margin-top: 1.4rem; }

main h1:first-of-type {
    font-size: clamp(3.4rem, 5.2vw, 5rem);
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
    color: var(--ink);
}

main h1:first-of-type::after {
    content: "";
    display: block;
    width: 130px;
    height: 5px;
    background: linear-gradient(120deg, var(--accent), var(--accent-2));
    margin-top: 0.9rem;
}

main h2 {
    margin-top: 3rem;
    margin-bottom: 0.7rem;
    font-size: clamp(2.1rem, 3.6vw, 2.9rem);
    position: relative;
}

main h2::before {
    content: "";
    position: absolute;
    top: -0.9rem;
    left: 0;
    width: 55px;
    height: 4px;
    background: var(--sun);
}

.content main > p:first-of-type {
    font-size: 1.12em;
    color: var(--ink-soft);
}

.content main > p:first-of-type::first-letter {
    font-size: 3rem;
    font-weight: 700;
    line-height: 0.85;
    padding-right: 0.35rem;
    float: left;
    color: var(--accent);
}

p { color: var(--muted); margin: 1rem 0; }

blockquote {
    border-left: 8px solid var(--accent);
    background: rgba(242,95,76,0.08);
    border-radius: 28px;
    padding: 1.6rem 2.2rem;
    box-shadow: 0 10px 30px rgba(15,17,30,0.08);
}

pre,
code {
    background: #0b1120;
    color: #aef8be;
    border-radius: 20px;
    border: 1px solid rgba(174,248,190,0.35);
    font-family: 'JetBrains Mono','Fira Code','Source Code Pro',monospace;
}

pre {
    padding: 1.9rem;
    font-size: 0.95rem;
    line-height: 1.45;
    position: relative;
}

pre .buttons {
    opacity: 1 !important;
    visibility: visible !important;
    top: 0.5rem;
    right: 0.5rem;
}

pre .buttons button {
    border-color: rgba(174,248,190,0.6);
    color: #aef8be;
    background: rgba(11,17,32,0.85);
    font-size: 0.85rem;
    padding: 0.15rem 0.55rem;
}

#searchbar {
    border-radius: 999px;
    border: 1px solid rgba(20,23,38,0.12);
    padding: 0.55rem 1.4rem;
    background: rgba(255,255,255,0.92);
}

/* Magazine cards */
.landing-hero {
    background: #fff;
    border-radius: 46px;
    border: 1px solid rgba(20,23,38,0.06);
    box-shadow: var(--shadow-soft);
    padding: clamp(1.8rem,4vw,3.4rem);
}

.toc-section,
.chapter-index,
.toc-card {
    background: #fff;
    border-radius: 34px;
    border: 1px solid rgba(20,23,38,0.06);
    box-shadow: var(--shadow-soft);
    padding: 1.4rem 1.8rem;
}

.toc-grid,
.chapter-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(230px,1fr));
    gap: 1.4rem;
}

.chapter-columns a {
    text-transform: none;
    letter-spacing: 0.01em;
    font-weight: 600;
    color: var(--ink);
    text-decoration: none;
}

.chapter-columns a:hover { color: var(--accent); }

/* Navigation */
.nav-wrapper,\n.nav-wide-wrapper {\n    margin-top: 2.8rem;\n    border-top: 1px solid rgba(20,23,38,0.08);\n    padding-top: 1.2rem;\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.75rem;\n    justify-content: center;\n}\n

.nav-wide-wrapper { display: none !important; }

.nav-wrapper a,\n.nav-home-link {\n    flex: 1 1 200px;\n    max-width: 320px;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    padding: 0.65rem 1.4rem;\n    border-radius: 999px;\n    border: 1px solid rgba(20,23,38,0.12);\n    background: rgba(255,255,255,0.95);\n    color: var(--ink);\n    font-weight: 600;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    text-decoration: none;\n    transition: all 150ms ease;\n}


.nav-wrapper a:hover,
.nav-home-link:hover {
    background: var(--accent);
    color: #fff;
    border-color: transparent;
}

.nav-wrapper span.fa-svg,
.nav-wide-wrapper span.fa-svg,
.nav-chapters,
.mobile-nav-chapters { display: none !important; }

@media (max-width: 900px) {
    main,
    .page,
    #mdbook-menu-bar { padding: 1.2rem; }

    .nav-wrapper { flex-direction: column; }
    .nav-wrapper a,
    .nav-home-link { width: 100%; }
}

::-webkit-scrollbar { width: 12px; }
::-webkit-scrollbar-thumb { background: rgba(20,23,38,0.35); border-radius: 999px; }
::-webkit-scrollbar-track { background: rgba(20,23,38,0.08); }
\n.nav-wrapper a[rel='prev'] { order: 1; text-align: left; }\n.nav-wrapper .nav-home-link { order: 2; }\n.nav-wrapper a[rel*='next'] { order: 3; text-align: right; }\n.nav-wrapper a:hover, .nav-home-link:hover { background: var(--accent); color: #fff; border-color: transparent; }\n
\n.nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1.4rem;
  border-radius: 999px;
  border: 1px solid rgba(20,23,38,0.12);
  background: rgba(255,255,255,0.95);
  color: var(--ink);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 150ms ease;
  flex: 0 0 auto;
  min-width: auto;
  max-width: none;
  margin: 0 0.4rem;
}\n.nav-btn.nav-prev { text-align: left; }\n.nav-btn.nav-next { text-align: right; }\n.nav-btn.nav-home { flex: 0 0 auto; padding: 0.65rem 1.8rem; }\n.nav-btn:hover { background: var(--accent); color: #fff; border-color: transparent; }\n

