:root {
    --body-background-color: #e0e0e0;
    --body-text-color: #030303;
    --top-nav-background-color: #fafafa;
    --nav-item-background-color: transparent;
    --nav-item-text-color: #333;
    --nav-item-hover-background-color: #404040;
    --nav-item-hover-text-color: #f0f0f0;
    --nav-link-text-color: #333;
    --left-side-menu-background-color: #f5f5f5;
    --page-content-background-color: #fdfdfd;
    --note-background-color: #fff9Bf;
    --hr-border-color: rgba(0, 0, 0, .25);
    --article-card-background: #fff;
    --tip-box-background: #eee;
    --subcat-excerpt-text-color: #555;
    --scrollbar-background-color: #f0f0f0;

    --cb-bg: rgba(255,255,255,.96);
    --cb-border: rgba(17,24,39,.12);
    --cb-text: rgba(17,24,39,.92);
    --cb-muted: rgba(17,24,39,.65);
    --cb-shadow: 0 12px 32px rgba(0,0,0,.15);
    --cb-radius: 14px;

    --btn-primary-bg: #111827;
    --btn-primary-text: #ffffff;
    --btn-ghost-bg: rgba(17,24,39,.06);
    --btn-ghost-bd: rgba(17,24,39,.18);
    --btn-ghost-text: rgba(17,24,39,.92);
    --btn-focus: rgba(17,24,39,.24);

    --cm-backdrop: rgba(17,24,39,.45);

    --cm-bg: #ffffff;
    --cm-text: rgba(17,24,39,.92);
    --cm-border: rgba(17,24,39,.14);
    --cm-radius: 16px;
    --cm-shadow: 0 18px 40px rgba(0,0,0,.18);
    --cm-divider: rgba(17,24,39,.10);

    --cm-icon-btn-bg: transparent;
    --cm-icon-btn-border: rgba(17,24,39,.18);
    --cm-icon-btn-text: rgba(17,24,39,.92);

    --cm-item-bg: rgba(17,24,39,.04);
    --cm-item-border: rgba(17,24,39,.14);
    --cm-item-muted: rgba(17,24,39,.70);

    --sw-track-bg: rgba(17,24,39,.10);
    --sw-track-border: rgba(17,24,39,.16);
    --sw-thumb-bg: rgba(17,24,39,.90);
    --sw-track-checked-bg: rgba(17,24,39,.18);

    --left-side-menu-item-selected-background-color: rgba(0, 0, 0, .2);
    --thin-transparent-filter-background-color: rgba(0, 0, 0, .1);

    --top-nav-height: 40px;
    --top-nav-height-2times: calc(var(--top-nav-height) + var(--top-nav-height));
    --top-nav-height-3times: calc(var(--top-nav-height) + var(--top-nav-height-2times));
    --side-menu-width: 240px;
    --page-content-width: calc(100vw - 480px);
    --page-content-min-height: 2000px;
    --page-content-margin-left: var(--side-menu-width);
    --footer-menu-margin-horizontal: 256px;

    --h1-font-size: 2rem;
    --h2-font-size: 1.7rem;
    --h3-font-size: 1.5rem;
    --h4-font-size: 1.4rem;
    --h5-font-size: 1.25rem;
    --h6-font-size: 1.1rem;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: 13px;
}

@media (max-width: 1600px) {
    :root {
        --side-menu-width: 200px;
        --page-content-width: calc(100vw - 400px);
    }
}

@media (max-width: 1440px) {
    :root {
        --side-menu-width: 180px;
        --page-content-width: calc(100vw - 360px);
        --footer-menu-margin-horizontal: 128px;
    }
}

@media (max-width: 1200px) {
    :root {
        --side-menu-width: 165px;
        --page-content-width: calc(100vw - 330px);
        --footer-menu-margin-horizontal: 64px;
    }
}

@media (max-width: 1080px) {
    :root {
        --side-menu-width: 135px;
        --page-content-width: calc(100vw - 270px);
    }
}

@media (max-width: 960px) {
    :root {
        --side-menu-width: 180px;
        --page-content-margin-left: 0;
        --page-content-width: 100%;
        --footer-menu-margin-horizontal: 8px;
    }
}

body {
    font-family: "Roboto", sans-serif;
    background-color: var(--body-background-color);
    color: var(--body-text-color);
    margin: 0;
}

    body.dark {
        --body-background-color: #1f1f1f;
        --body-text-color: #fcfcfc;
        --top-nav-background-color: #050505;
        --nav-item-background-color: transparent;
        --nav-item-text-color: #ccc;
        --nav-item-hover-background-color: #bfbfbf;
        --nav-item-hover-text-color: #f0f0f0;
        --nav-link-text-color: #ccc;
        --left-side-menu-background-color: #0a0a0a;
        --page-content-background-color: #020202;
        --note-background-color: #fff9Bf;
        --hr-border-color: rgba(255, 255, 255, .25);
        --article-card-background: #000;
        --tip-box-background: #111;
        --subcat-excerpt-text-color: #aaa;
        --scrollbar-background-color: #0f0f0f;

        --cb-bg: rgba(18,18,18,.92);
        --cb-border: rgba(255,255,255,.10);
        --cb-text: rgba(255,255,255,.92);
        --cb-muted: rgba(255,255,255,.70);
        --cb-shadow: 0 12px 40px rgba(0,0,0,.35);
        --cb-radius: 14px;

        --btn-primary-bg: #e5e7eb;
        --btn-primary-text: #111827;
        --btn-ghost-bg: rgba(255,255,255,.06);
        --btn-ghost-bd: rgba(255,255,255,.14);
        --btn-ghost-text: rgba(255,255,255,.92);
        --btn-focus: rgba(229,231,235,.45);

        --cm-backdrop: rgba(0,0,0,.55);

        --cm-bg: #0b0b0b;
        --cm-text: rgba(255,255,255,.92);
        --cm-border: rgba(255,255,255,.10);
        --cm-radius: 16px;
        --cm-shadow: 0 20px 50px rgba(0,0,0,.55);
        --cm-divider: rgba(255,255,255,.08);

        --cm-icon-btn-bg: transparent;
        --cm-icon-btn-border: rgba(255,255,255,.14);
        --cm-icon-btn-text: rgba(255,255,255,.92);

        --cm-item-bg: rgba(255,255,255,.03);
        --cm-item-border: rgba(255,255,255,.10);
        --cm-item-muted: rgba(255,255,255,.72);

        --sw-track-bg: rgba(255,255,255,.12);
        --sw-track-border: rgba(255,255,255,.18);
        --sw-thumb-bg: rgba(255,255,255,.90);
        --sw-track-checked-bg: rgba(255,255,255,.22);

        --left-side-menu-item-selected-background-color: rgba(255, 255, 255, .2);
        --thin-transparent-filter-background-color: rgba(255, 255, 255, .1);
    }

body.green {
    --nav-item-hover-background-color: #108c00;
}

body.red {
    --nav-item-hover-background-color: #bf2a2a;
}

body.blue {
    --nav-item-hover-background-color: #0a5ac4;
}

body.orange {
    --nav-item-hover-background-color: #d46a00;
}

body.purple {
    --nav-item-hover-background-color: #7e57c2;
}

body.mobile-show {
    overflow: hidden;
}

i.logo {
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><defs><linearGradient gradientUnits="userSpaceOnUse" x1="268.866" y1="186.649" x2="268.866" y2="230.971" id="gradient-0"><stop offset="0" style="stop-color: rgb(0% 0% 0%)"></stop><stop offset="1" style="stop-color: rgb(0% 0% 0%)"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" x1="268.866" y1="186.649" x2="268.866" y2="230.971" id="gradient-1"><stop offset="0" style="stop-color: rgb(0% 0% 0%)"></stop><stop offset="1" style="stop-color: rgb(0% 0% 0%)"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" x1="350.105" y1="352.209" x2="350.105" y2="396.531" id="gradient-2"><stop offset="0" style="stop-color: rgb(0% 0% 0%)"></stop><stop offset="1" style="stop-color: rgb(0% 0% 0%)"></stop></linearGradient></defs><rect x="161.811" y="186.649" width="214.11" height="44.322" style="transform-box: fill-box; transform-origin: 50% 50%; stroke: rgb(0, 0, 0);" transform="matrix(0.707107, -0.707107, 0.707107, 0.707107, -143.366826, 98.715143)" rx="11.361" ry="11.361"></rect><rect x="161.811" y="186.649" width="214.11" height="44.322" style="stroke-width: 1; transform-origin: 268.865px 208.811px; stroke: rgb(0, 0, 0);" transform="matrix(0.707107, 0.707107, -0.707107, 0.707107, -143.132388, -21.33389)" rx="11.361" ry="11.361"></rect><rect x="243.05" y="352.209" width="214.11" height="44.322" style="stroke-width: 1; transform-origin: 350.104px 374.37px; stroke: rgb(0, 0, 0);" rx="11.361" ry="11.361"></rect></svg>');
}

i.menu {
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><rect x="50" y="99.174" width="401.479" height="66.116" style="stroke: rgb(0, 0, 0);" rx="17.834" ry="17.834"></rect><rect x="50" y="226.04" width="401.479" height="66.116" style="stroke: rgb(0, 0, 0); stroke-width: 1;" rx="17.834" ry="17.834"></rect><rect x="50" y="346.092" width="401.479" height="66.116" style="stroke: rgb(0, 0, 0); stroke-width: 1;" rx="17.834" ry="17.834"></rect></svg>');
}

.top-nav {
    position: fixed;
    top: 0;
    left: 0;
    height: var(--top-nav-height);
    width: 100%;
    background-color: var(--top-nav-background-color);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    z-index: 100;
}

.top-nav .logo {
    float: left;
    height: 100%;
}

.top-nav .logo i {
    display: inline-block;
    width: 32px;
    height: 32px;
    margin: 4px 8px;
    vertical-align: middle;
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;
    background-color: var(--nav-item-hover-background-color);
}

.top-nav .logo span {
    float: left;
    display: block;
    margin-top: 8px;
    font-size: 18px;
    font-weight: bold;
    user-select: none;
    color: var(--nav-item-hover-background-color);
}

.top-nav .logo img {
    height: 100%;
}

.top-nav .mobile-button {
    float: left;
    visibility: collapse;
    width: 0;
}

.top-nav i.menu {
    display: inline-block;
    width: 0;
    height: 32px;
    margin: 4px 0;
    vertical-align: middle;
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;
    background-color: var(--nav-item-hover-background-color);
    cursor: pointer;
}

.top-nav .nav-menu {
    float: left;
    height: 100%;
    margin-left: 16px;
}

.top-nav .nav-menu>.nav-item {
    position: relative;
    float: left;
    height: 100%;
}

.top-nav .nav-menu>.nav-item a.nav-link {
    display: block;
    padding: 0 16px;
    height: 100%;
    text-decoration: none;
    line-height: 36px;
    color: var(--nav-link-text-color);
}

.top-nav .nav-menu>.nav-item a.nav-link:hover {
    background-color: var(--nav-item-hover-background-color);
    color: var(--nav-item-hover-text-color);
}

.top-nav .nav-menu>.nav-item .dropdown-menu a.nav-link {
    padding: 0 8px;
}

.top-nav .nav-item>.dropdown-menu {
    position: absolute;
    width: 192px;
    left: 50%;
    border-left: 2px solid var(--nav-item-hover-background-color);
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    transform: translateX(-50%);
    background-color: var(--top-nav-background-color);
    z-index: 1000;
    opacity: 0;
    transform: translateX(-50%) translateY(10px);
    visibility: hidden;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.15);
}

.top-nav .nav-item>.dropdown-menu.menu-xs {
    width: 64px;
}

.top-nav .nav-item>.dropdown-menu.menu-sm {
    width: 128px;
}

.top-nav .nav-item>.dropdown-menu.menu-md {
    width: 192px;
}

.top-nav .nav-item>.dropdown-menu.menu-lg {
    width: 320px;
}

.top-nav .nav-item>.dropdown-menu.menu-xl {
    width: 512px;
}

.top-nav .nav-item:hover>.dropdown-menu {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.top-nav .nav-item>.dropdown-menu>a.nav-link:first-child {
    border-top-left-radius: 8px;
}

.top-nav .nav-item>.dropdown-menu>a.nav-link:last-child {
    border-bottom-left-radius: 8px;
}

.top-nav .nav-item>.dropdown-menu>.div-2:first-child>a.nav-link:first-child,
.top-nav .nav-item>.dropdown-menu>.div-3:first-child>a.nav-link:first-child,
.top-nav .nav-item>.dropdown-menu>.div-4:first-child>a.nav-link:first-child {
    border-top-left-radius: 8px;
}

.top-nav .nav-item>.dropdown-menu>.div-2:first-child>a.nav-link:last-child,
.top-nav .nav-item>.dropdown-menu>.div-3:first-child>a.nav-link:last-child,
.top-nav .nav-item>.dropdown-menu>.div-4:first-child>a.nav-link:last-child {
    border-bottom-left-radius: 8px;
}

.top-nav .nav-item>.dropdown-menu>a.nav-link:hover {
    background-color: var(--nav-item-hover-background-color);
    color: var(--nav-item-hover-text-color);
}

.top-nav .nav-item>.dropdown-menu .div-2+.div-2,
.top-nav .nav-item>.dropdown-menu .div-3+.div-3,
.top-nav .nav-item>.dropdown-menu .div-4+.div-4 {
    border-left: 1px solid var(--nav-item-hover-background-color);
}

.top-nav .nav-search-container {
    float: left;
    height: 100%;
    margin-left: 16px;
}

.top-nav .nav-search-container input[type="search"] {
    height: 32px;
    width: 160px;
    margin-top: 4px;
    border: 0 none;
    border-radius: 8px;
    outline: none;
    padding: 0 8px;
    border: 2px solid var(--nav-link-text-color);
}

    .top-nav .nav-search-container input[type="search"]:focus {
        border: 2px solid var(--nav-item-hover-background-color);
    }

.top-nav .nav-menu.right {
    float: right;
    height: 100%;
    margin-right: 32px;
}

.top-nav .nav-menu.right>.nav-lang-item {
    position: relative;
    float: right;
    height: 100%;
}

.top-nav .nav-menu.right>.nav-lang-item>a.nav-link {
    display: block;
    padding: 0 12px;
    height: 100%;
    text-decoration: none;
    line-height: 36px;
    color: var(--nav-link-text-color);
}

.nav-link[data-scheme="light"], .nav-link[data-scheme="dark"] {
    line-height: 90px !important;
}

.top-nav .nav-menu.right>.nav-lang-item>a.nav-link:hover {
    background-color: var(--nav-item-hover-background-color);
    color: var(--nav-item-hover-text-color);
}

.atc-scroll::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.atc-scroll::-webkit-scrollbar-track {
    background: var(--scrollbar-background-color);
    border-radius: 8px;
}

.atc-scroll::-webkit-scrollbar-thumb {
    background-color: var(--nav-item-hover-background-color);
    border-radius: 8px;
    border: 2px solid transparent;
    background-clip: content-box;
}

.atc-scroll::-webkit-scrollbar-thumb:hover {
    background-color: #555;
}

* {
    scrollbar-width: thin;
    scrollbar-color: var(--nav-item-hover-background-color) var(--scrollbar-background-color);
}

.left-side-menu {
    position: fixed;
    top: var(--top-nav-height);
    left: 0;
    height: calc(100vh - var(--top-nav-height));
    width: var(--side-menu-width);
    background-color: var(--left-side-menu-background-color);
    z-index: 50;
    transition: left ease .4s;
}

    .left-side-menu button.left-side-menu-toggle {
        border: 0 none;
        background-color: var(--nav-item-hover-background-color);
        color: white;
        padding: 4px;
        position: fixed;
        top: var(--top-nav-height);
        visibility: collapse;
        left: 0;
        margin-left: 0;
        margin-top: 16px;
        width: 64px;
        height: 32px;
        border-radius: 0 8px 8px 0;
        transition: left ease .4s;
    }

.left-side-menu .tree {
    height: 100%;
    max-width: var(--side-menu-width);
    overflow-y: auto;
}

.left-side-menu .tree ul {
    list-style-type: none;
}

.left-side-menu .tree li {
    margin: 0;
}

    .left-side-menu .tree .item {
        display: block;
        cursor: pointer;
        background-color: var(--nav-item-background-color);
        color: var(--nav-item-text-color);
        width: 100%;
        line-height: 18px;
        padding-left: 8px;
        text-decoration: none;
        border-bottom: 1px solid rgba(0, 0, 0, .2);
        font-size: 12px;
        padding-top: 3px;
        padding-bottom: 3px;
    }

        .left-side-menu .tree .item.selected {
            background-color: var(--left-side-menu-item-selected-background-color);
        }

.left-side-menu .tree .nested .item {
    padding-left: 24px;
}

.left-side-menu .tree .nested .nested .item {
    padding-left: 40px;
}

.left-side-menu .tree .nested .nested .nested .item {
    padding-left: 56px;
}

.left-side-menu .tree .item:hover {
    background-color: var(--nav-item-hover-background-color);
    color: var(--nav-item-hover-text-color);
}

.caret {
    user-select: none;
}

.caret::before {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-right: 4px;
    margin-bottom: 4px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    vertical-align: middle;
    transition: transform 0.3s ease;
    transform: rotate(0deg);
}

body.light .caret::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'><path fill='black' d='M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z'/></svg>");
}

body.dark .caret::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'><path fill='white' d='M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z'/></svg>");
}

.caret.active::before {
    transform: rotate(90deg);
}

.nested {
    display: none;
}

.active+.nested {
    display: block;
}



.page-content {
    display: flex;
    flex-direction: column;
    margin-top: var(--top-nav-height);
    margin-left: var(--page-content-margin-left);
    width: var(--page-content-width);
    min-height: var(--page-content-min-height);
    background-color: var(--page-content-background-color);
}

.page-content h1.main-title {
    text-align: center;
    font-size: 40px;
    padding: 24px 0;
}

.page-content h3.main-text {
    text-align: center;
    color: var(--nav-item-hover-background-color);
}

.page-content .main-search-container {
    height: 40px;
    width: 100%;
    text-align: center;
}

.page-content input[type="search"].main-search {
    height: 40px;
    width: 300px;
    margin-top: 4px;
    border: 0 none;
    border-radius: 8px;
    font-size: 16px;
    outline: none;
    padding: 0 8px;
    border: 2px solid var(--nav-link-text-color);
}

    .page-content input[type="search"].main-search:focus {
        border: 2px solid var(--nav-item-hover-background-color);
    }

.div-2 {
    float: left;
    flex: 0 0 50%;
    max-width: 50%;
    width: 50%;
}

.div-3 {
    float: left;
    flex: 0 0 33%;
    max-width: 33%;
    width: 33%;
}

.div-4 {
    float: left;
    flex: 0 0 25%;
    max-width: 25%;
    width: 25%;
}

.row {
    padding: 1rem 2.5rem;
}

.row>.div-2,
.row>.div-3,
.row>.div-4,
.row>.div-5,
.row>.div-6 {
    padding-right: 2em;
}

h1 {
    font-size: var(--h1-font-size);
    padding: 1em 0;
}

h2 {
    font-size: var(--h2-font-size);
    padding: .5em 0;
}

h3 {
    font-size: var(--h3-font-size);
    padding: .3em 0;
}

h4 {
    font-size: var(--h4-font-size);
    padding: .2em 0;
}

h5 {
    font-size: var(--h5-font-size);
    padding: .2em 0;
}

h6 {
    font-size: var(--h6-font-size);
    padding: .1em 0;
}

.page-content .row h2 {
    margin-top: 1.5rem;
}

.page-content .row h3 {
    margin-top: 1.5rem;
}

.page-content .article-card h3 {
    margin-top: 0;
}

p {
    margin: 1em 0;
}

code {
    padding: .2rem .4rem;
    color: var(--nav-item-hover-background-color);
}

hr {
    border: 1px solid var(--hr-border-color);
}

.header {
    padding: 1em 0;
}

.sub-header {
    padding: .5em 0;
}

.page-content a.article-link {
    font-weight: bold;
    background-color: var(--nav-item-hover-background-color);
    color: white;
    text-decoration: none;
    border-radius: 6px;
    padding: 3px 4px;
    margin: 0 3px;
}

.page-content img.img {
    height: auto;
    cursor: zoom-in;
    transition: opacity 0.2s;
    transform-origin: top left;
    display: inline-block;
    vertical-align: top;
}

.page-content img.img-150 {
    transform: scale(0.66666667);
}

.page-content img.img-125 {
    transform: scale(0.8);
}

.page-content img.img-100 {
    transform: scale(1.0);
}

.page-content img.img-200 {
    width: 200px;
}

.page-content img.img-240 {
    width: 240px;
}

.page-content img.img-280 {
    width: 280px;
}

.page-content img.img-320 {
    width: 320px;
}

.page-content img.img-360 {
    width: 360px;
}

.page-content img.img-400 {
    width: 400px;
}

.page-content img.img-440 {
    width: 440px;
}

.page-content img.img-480 {
    width: 480px;
}

.page-content img.img-520 {
    width: 520px;
}

.page-content img.img-560 {
    width: 560px;
}

.page-content img.img-600 {
    width: 600px;
}

.page-content img.img-full-w {
    width: 100%;
}

.page-content img.img-half-w {
    width: 50%;
}

.page-content .page-bottom {
    width: 100%;
    height: 600px;
}

.screenshot {
    width: 66.67%;
    height: auto;
    cursor: zoom-in;
    display: block;
    margin: 24px auto
}

.lightbox {
    position: fixed;
    inset: 0;
    display: none;
    z-index: 9999
}

.lightbox.show {
    display: block
}

.backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .85)
}

.lightbox-content {
    position: absolute;
    inset: 0;
    overflow: hidden;
    cursor: grab
}

.lightbox-content:active {
    cursor: grabbing
}

.zoom-layer {
    position: absolute;
    left: 0;
    top: 0;
    transform-origin: 0 0;
}

.zoom-layer img {
    display: block;
    max-width: none;
    max-height: none;
    user-select: none;
    pointer-events: none;
}

.close-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 18px;
    background: #fff;
    color: #111;
    font-size: 24px;
    line-height: 36px;
    text-align: center;
    cursor: pointer
}

.thin-bg {
    background: var(--thin-transparent-filter-background-color);
}

.note {
    margin: 1rem -2rem;
    padding: 1rem 2rem;
    background-color: var(--note-background-color);
    color: #030303;
}

.splash {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: var(--nav-item-hover-background-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 20px;
    z-index: 100000;
}

.hidden {
    display: none;
}

.footer {
    display: flex;
    flex-direction: column;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 360px;
    background: var(--top-nav-background-color);
    color: var(--nav-link-text-color);
    box-shadow: 0 -6px 16px rgba(0, 0, 0, .12);
    border-top: 1px solid rgba(0, 0, 0, .08);
    z-index: 200;
    transform: translateY(100%);
    transition: transform .2s linear;
    padding: 16px 16px;
}

.footer .footer-top {
    width: 100%;
    text-align: center;
    padding-bottom: 16px;
    font-size: 18px;
}

.footer .footer-top i {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin: 4px 8px;
    vertical-align: middle;
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;
    background-color: var(--nav-item-hover-background-color);
}

.footer .footer-top strong {
    font-size: 18px;
    color: var(--nav-item-hover-background-color);
}

.footer .footer-menu {
    margin: 0 var(--footer-menu-margin-horizontal);
    flex: 1 1 auto;
    overflow: auto;
}

.footer .footer-menu div {
    float: left;
    text-align: center;
    width: 25%;
}

.footer .footer-bottom {
    text-align: center;
    margin-top: auto;
    font-size: 12px;
    opacity: .85
}

.footer h5 {
    margin: 0 0 6px 0;
    font-size: 14px;
}

.footer a {
    color: var(--nav-link-text-color);
    text-decoration: none;
}

.footer a:hover {
    color: var(--nav-item-hover-background-color);
}

.loader {
    border: 5px solid rgba(255, 255, 255, 0.3);
    border-top: 5px solid white;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
    margin-bottom: 10px;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

a.act-link {
    color: var(--nav-item-hover-background-color);
    text-decoration: none;
    font-weight: 600;
}

.mb-1 {
    margin-bottom: 1rem;
}

.mb-2 {
    margin-bottom: 2rem;
}

.page-hero {
    padding: 2rem 2.5rem 1rem;
    border-bottom: 1px solid rgba(0,0,0,.08);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
    min-height: 260px; /* hero kısa olursa parallax anlaşılmaz */
}

.hero-parallax {
    position: absolute;
    inset: -55% 0 -55% 0;
    filter: brightness(.65) saturate(.85) contrast(.9);
    transform: translate3d(0,0,0);
    will-change: transform;
    z-index: 0;
}

    .hero-parallax.main-parallax {
        background: url('/images/parallax/main-parallax.png') center 25% / cover no-repeat;
    }

    .hero-parallax.csharp-category {
        background: url('/images/parallax/csharp-parallax-category.png') center 25% / cover no-repeat;
    }

    .hero-parallax.csharp-article {
        background: url('/images/parallax/csharp-parallax-article.png') center 25% / cover no-repeat;
    }

/* overlay onun üstünde */
.page-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom right, rgba(15,23,42,.55), rgba(2,6,23,.55));
    pointer-events: none;
    z-index: 1;
}

/* metin en üstte */
.page-hero > :not(.hero-parallax) {
    position: relative;
    z-index: 2;
}

/* Mobilde biraz daha az hareket */
@media (max-width: 768px) {
    .hero-parallax {
        inset: -12% 0 -12% 0;
    }
}

.row.grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 1rem 2.5rem;
}

.row.grid-sm {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    padding: 1rem 2.5rem;
}

.row.grid > .div-3 {
    float: none;
    width: auto;
    max-width: none;
    padding: 0;
}

.row.grid-sm > .div-4 {
    float: none;
    width: auto;
    max-width: none;
    padding: 0;
}

.article-card {
    border: 1px solid rgba(0, 0, 0, .08);
    border-left: 2px solid var(--nav-item-hover-background-color);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--article-card-background);
}

.article-card .thumb {
    width: 100%;
    height: 140px;
    background: linear-gradient(120deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .02));
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: var(--body-text-color);
    text-decoration: none;
}

.article-card .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.0);
    transition: transform .35s ease;
}

    .article-card:hover .thumb img {
        transform: scale(1.05);
        transition: transform .4s ease;
    }

.article-card .body {
    padding: 14px;
}

.article-card .body a {
    text-decoration: none;
    color: var(--nav-item-hover-background-color);
}

.article-card h3 {
    margin: 0 0 .4rem 0;
    font-size: 1.1rem;
}

.article-card .meta {
    font-size: 12px;
    opacity: .8;
    margin-bottom: .5rem;
}

.article-card .tags a {
    font-size: 12px;
    text-decoration: none;
    margin-right: 8px;
    color: var(--nav-item-hover-background-color);
}

.article-card .more {
    margin-top: auto;
    padding: 12px 14px;
    border-top: 1px solid rgba(0, 0, 0, .06);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.article-card .more a {
    text-decoration: none;
    color: var(--nav-item-hover-background-color);
}

.category-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 2rem;
    margin-top: 2rem;
}

.category-main,
.category-side {
    min-width: 0;
}

@media (max-width: 1200px) {
    .category-layout {
        grid-template-columns: 1fr;
    }

    .page-hero {
        min-height: 220px;
    }
}

/* Ortak liste görünümü */
.article-list {
    display: block;
}

.article-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .5rem 1.5rem;
    border-bottom: 1px solid var(--hr-border-color);
}

.article-row:last-child {
    border-bottom: none;
}

.article-row .body {
    flex: 1 1 auto;
}

.article-row h3 {
    margin: 0 0 .35rem;
    font-size: 1.05rem;
}

    .article-row h3 a {
        text-decoration: none;
        color: var(--nav-item-hover-background-color);
    }

.article-row .meta {
    font-size: .85rem;
    opacity: .75;
    margin-bottom: .35rem;
}

    .article-row .meta .subcat {
        text-decoration: none;
        color: var(--nav-item-hover-background-color);
    }

.article-row p {
    margin: 0 0 .35rem;
}

.article-row .tags a {
    font-size: .8rem;
    margin-right: .4rem;
    background: var(--nav-item-hover-background-color);
    padding: 3px 6px;
    border-radius: 4px;
    color: #FFF;
    text-decoration: none;
}

    .article-row .cat-badge {
        min-width: 100px;
        flex: 0 0 110px;
        padding: 4px 6px;
        border-radius: 12px;
        text-align: center;
        position: sticky;
        top: 12px;
    }

        .article-row .cat-badge .cat-text {
            font-weight: 700;
            font-size: 32px;
            letter-spacing: .2px;
            display: inline-block;
            line-height: 1.1;
            text-decoration: none;
            color: var(--nav-item-hover-background-color);
        }

    .article-row .body {
        flex: 1 1 auto;
        min-width: 0;
    }

    .article-row .more-inline {
        flex: 0 0 auto;
        margin-left: auto;
    }

.more-inline {
    display: flex;
    align-items: center;
    white-space: nowrap;
    font-size: .9rem;
}

    .more-inline a {
        text-decoration: none;
        color: var(--nav-item-hover-background-color);
    }

@media (max-width: 600px) {
    .article-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .more-inline {
        margin-top: .25rem;
    }
}

/* Sidebar kutuları */
.category-side .tip-box {
    padding: 1rem 1.25rem;
    border-radius: 8px;
    border: 1px solid var(--hr-border-color);
    background: var(--tip-box-background);
    margin-bottom: 1rem;
    margin-right: 1rem;
}

    .category-side .tip-box a {
        text-decoration: none;
        color: var(--nav-item-hover-background-color);
    }

.breadcrumb {
    margin: .5rem 0 1rem 2rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--nav-item-text-color);
}

.breadcrumb-link {
    text-decoration: none;
    color: var(--nav-item-hover-background-color);
}

    .breadcrumb-link:hover {
        text-decoration: underline;
    }

.breadcrumb-sep {
    margin: 0 0.25rem;
}

.breadcrumb-current {
    font-weight: 600;
}


.pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 1rem 0 2rem;
}

.pagination a {
    padding: .4rem .7rem;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: 6px;
    text-decoration: none;
    color: var(--nav-item-text-color);
}

.pagination a.active,
.pagination a:hover {
    background: var(--nav-item-hover-background-color);
    color: var(--nav-item-hover-text-color);
    border-color: transparent;
}

@media (max-width: 960px) {
    .top-nav .mobile-button {
        visibility: visible;
        width: 58px;
    }

        .top-nav .mobile-button i.menu {
            width: 32px;
            margin: 4px 18px;
        }

    .mobile-show .top-nav {
        height: 100vh;
    }

    .top-nav .nav-menu {
        display: none;
        visibility: collapse;
        width: 100vw;
        height: var(--top-nav-height);
        background-color: var(--top-nav-background-color);
        margin: 0;
        overflow-y: auto;
    }

    .mobile-show .top-nav .nav-menu {
        display: block;
        position: absolute;
        visibility: visible;
        top: 120px;
        left: 0;
        height: calc(100vh - var(--top-nav-height-3times));
    }

        .mobile-show .top-nav .nav-menu.right {
            position: absolute;
            display: block;
            visibility: visible;
            width: 100%;
            height: 80px;
            top: var(--top-nav-height);
            left: 0;
        }

            .mobile-show .top-nav .nav-menu.right > .nav-item {
                height: 32px;
            }

                .mobile-show .top-nav .nav-menu.right > .nav-item .dropdown-menu {
                    height: 32px;
                }

                .mobile-show .top-nav .nav-menu.right > .nav-item > a.nav-link {
                    display: none;
                    visibility: collapse;
                }

                .mobile-show .top-nav .nav-menu.right > .nav-item a.nav-link {
                    float: left;
                }

    .top-nav .nav-search-container {
        display: block;
        visibility: visible;
        position: absolute;
        top: 0;
        right: 16px;
        width: 200px;
        height: 40px;
    }

        .top-nav .nav-search-container input[type="search"] {
            width: 200px;
        }

    .top-nav .nav-menu > .nav-item {
        float: none;
        position: relative;
        height: auto;
    }

        .top-nav .nav-menu > .nav-item > a.nav-link {
            border-bottom: 1px solid var(--nav-item-hover-background-color);
            background: var(--thin-transparent-filter-background-color);
            font-weight: bold;
        }

        .top-nav .nav-menu > .nav-item a.nav-link {
            position: relative;
            height: 36px;
        }

    .top-nav .nav-item > .dropdown-menu {
        position: relative;
        width: 100%;
        height: 36px;
        left: 0;
        visibility: visible;
        border-left: 0 none;
        opacity: 1;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        background-color: var(--top-nav-background-color);
        z-index: 1000;
        transform: none;
        transition: none;
        box-shadow: none;
    }

    .top-nav .nav-item:hover > .dropdown-menu {
        transform: none;
    }

    .top-nav .nav-item > .dropdown-menu.menu-xs,
    .top-nav .nav-item > .dropdown-menu.menu-sm,
    .top-nav .nav-item > .dropdown-menu.menu-md,
    .top-nav .nav-item > .dropdown-menu.menu-lg,
    .top-nav .nav-item > .dropdown-menu.menu-xl {
        width: 100%;
    }

    .top-nav .nav-item > .dropdown-menu.menu-rows-2 {
        height: 72px;
    }

    .top-nav .nav-item > .dropdown-menu.menu-rows-3 {
        height: 108px;
    }

    .top-nav .nav-item > .dropdown-menu.menu-rows-4 {
        height: 144px;
    }

    .top-nav .nav-item > .dropdown-menu.menu-rows-5 {
        height: 180px;
    }

    .top-nav .nav-item > .dropdown-menu.menu-rows-6 {
        height: 216px;
    }

    .top-nav .nav-item > .dropdown-menu > a.nav-link:first-child {
        border-top-left-radius: 0;
    }

    .top-nav .nav-item > .dropdown-menu > a.nav-link:last-child {
        border-bottom-left-radius: 0;
    }

    .top-nav .nav-item > .dropdown-menu > .div-2:first-child > a.nav-link:first-child,
    .top-nav .nav-item > .dropdown-menu > .div-3:first-child > a.nav-link:first-child,
    .top-nav .nav-item > .dropdown-menu > .div-4:first-child > a.nav-link:first-child {
        border-top-left-radius: 0;
    }

    .top-nav .nav-item > .dropdown-menu > .div-2:first-child > a.nav-link:last-child,
    .top-nav .nav-item > .dropdown-menu > .div-3:first-child > a.nav-link:last-child,
    .top-nav .nav-item > .dropdown-menu > .div-4:first-child > a.nav-link:last-child {
        border-bottom-left-radius: 0;
    }

    .left-side-menu {
        left: -180px;
    }

        .left-side-menu button.left-side-menu-toggle {
            visibility: visible;
        }

        .left-side-menu.show {
            left: 0;
        }

            .left-side-menu.show .left-side-menu-toggle {
                left: var(--side-menu-width);
            }

    .page-content h1.main-title {
        font-size: 32px;
        padding: 16px 0;
    }

    .nav-link[data-scheme="light"], .nav-link[data-scheme="dark"] {
        line-height: 36px;
    }
}

@media (max-width: 720px) {
    .row.grid {
        grid-template-columns: 1fr;
    }

    .row.grid-sm {
        grid-template-columns: repeat(2, 1fr);
    }

    .top-nav .nav-menu > .nav-item a.nav-link {
        font-size: 12px;
    }
}

@media (max-width: 480px) {

    .top-nav .nav-search-container {
        right: 8px;
        width: 160px;
    }

        .top-nav .nav-search-container input[type="search"] {
            width: 160px;
        }

    .top-nav .nav-menu > .nav-item a.nav-link {
        font-size: 11px;
    }

    .top-nav .nav-menu > .nav-item .dropdown-menu a.nav-link {
        padding: 0 6px;
    }
}

@media (max-width: 420px) {
    .top-nav .logo i {
        margin: 4px;
    }

    .top-nav .logo span {
        margin-top: 9px;
        font-size: 16px;
    }

    .top-nav .mobile-button i.menu {
        margin: 4px;
    }

    .top-nav .nav-search-container {
        width: 160px;
    }

        .top-nav .nav-search-container input[type="search"] {
            width: 160px;
        }
}

@media (max-width: 1200px) {
    .row.grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .row.grid-sm {
        grid-template-columns: repeat(3, 1fr);
    }
}

.page-content :where(ul) {
    margin: .5rem 0 1rem;
    padding-inline-start: 1.25rem; /* sol iç boşluk */
}

.page-content :where(li) {
    margin-block: .25rem; /* madde aralığı */
    line-height: 1.6;
}

.page-content :where(ul ul) {
    list-style: circle;
    margin: .25rem 0 .75rem;
    padding-inline-start: 1.25rem;
}

.page-content :where(ul ul ul) {
    list-style: square;
}

.page-content :where(li)::marker {
    color: var(--nav-item-hover-background-color, #2c7be5);
    font-weight: 600;
}

.page-content :where(ul) > li:last-child {
    margin-bottom: 0;
}


.page-content :where(ul.list-compact) li {
    margin-block: .15rem;
}

.page-content :where(ul.list-spacious) li {
    margin-block: .5rem;
}

.page-content :where(ul.list-inline) {
    list-style: none;
    padding: 0;
    margin: .25rem 0 .75rem;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .6rem;
}

    .page-content :where(ul.list-inline) > li {
        margin: 0;
        padding: .15rem .5rem;
        border: 1px solid rgba(0,0,0,.12);
        border-radius: 999px;
        font-size: .9rem;
    }

.page-content :where(ul.list-check) {
    list-style: none;
    padding-inline-start: 0;
}

    .page-content :where(ul.list-check) > li {
        position: relative;
        padding-inline-start: 1.4rem;
    }

        .page-content :where(ul.list-check) > li::before {
            content: "✔";
            position: absolute;
            inset-inline-start: 0;
            top: .1rem;
            color: var(--nav-item-hover-background-color, #2c7be5);
            font-weight: 700;
        }

.page-content .table-wrap {
    width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 12px;
    box-shadow: 0 3px 12px rgba(0,0,0,.04);
    margin: .75rem 0 1.25rem;
}

.page-content table {
    width: 100%;
    border-collapse: collapse;
    background: var(--page-content-background-color,#fff);
    font-size: .95rem;
    min-width: 640px;
    margin: 0;
}

.page-content th,
.page-content td {
    padding: .6rem .8rem;
    border: 1px solid rgba(0,0,0,.08);
    text-align: left;
    vertical-align: top;
}

.page-content thead th {
    background: var(--table-head-bg,#f6f7f9);
    position: sticky;
    top: 0;
    z-index: 1;
}

.page-content tbody tr:nth-child(odd) {
    background: rgba(0,0,0,.02);
}

.page-content table.table-sm th,
.page-content table.table-sm td {
    padding: .45rem .6rem;
}

body.dark .page-content .table-wrap {
    border-color: rgba(255,255,255,.12);
    box-shadow: 0 3px 12px rgba(0,0,0,.35);
}

body.dark .page-content th,
body.dark .page-content td {
    border-color: rgba(255,255,255,.12);
}

body.dark .page-content thead th {
    background: #1f1f1f;
}

body.dark .page-content tbody tr:nth-child(odd) {
    background: rgba(255,255,255,.04);
}

@media (max-width:720px) {
    .page-content table {
        min-width: 100%;
        border: 0;
    }

        .page-content table.table-stacked thead {
            display: none;
        }

        .page-content table.table-stacked tbody tr {
            display: block;
            border-bottom: 1px solid rgba(0,0,0,.08);
            padding: .35rem .8rem;
        }

            .page-content table.table-stacked tbody tr:last-child {
                border-bottom: 0;
            }

        .page-content table.table-stacked td {
            display: grid;
            grid-template-columns: 40% 1fr;
            gap: .4rem .75rem;
            border: 0;
            padding: .35rem 0;
        }

            .page-content table.table-stacked td::before {
                content: attr(data-label);
                font-weight: 600;
                color: #555;
            }

    [data-scheme="dark"] .page-content table.table-stacked td::before {
        color: #cfcfcf;
    }
}


  .article-slider{position:relative;padding:0 52px;}
  .article-slider .track{display:grid;grid-auto-flow:column;grid-auto-columns:calc(33.333% - 12px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:12px;}
  .article-slider .track>*{scroll-snap-align:start;}
  .slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:20px;background:var(--top-nav-background-color);color:var(--nav-item-hover-background-color);box-shadow:0 2px 10px rgba(0,0,0,.15);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px;}
  .slider-btn:hover{background:var(--nav-item-hover-background-color);color:var(--nav-item-hover-text-color);}
  .slider-btn:disabled{opacity:.35;cursor:not-allowed;}
  .slider-btn.prev{left:8px;}
  .slider-btn.next{right:8px;}

  /* Küçük kart varyantı */
  .article-card.mini{min-width:220px;max-width:420px;}
  .article-card.mini .thumb{height:140px;}
  .article-card.mini .body{padding:10px;}
  .article-card.mini h3{font-size:1rem;margin:0 0 .25rem;}
  .article-card.mini .meta{font-size:11px;margin-bottom:.35rem;}
  .article-card.mini p{margin:.4rem 0;font-size:12px;}
  .article-card.mini .more{padding:8px 10px;}

  /* Responsive kolon genişlikleri */
  @media (max-width:1200px){.article-slider .track{grid-auto-columns:calc(50% - 12px)}}
  @media (max-width:720px){.article-slider .track{grid-auto-columns:85%} .article-slider{padding:0 36px}}

  .snippet{border:1px solid rgba(0,0,0,.08);border-left:3px solid var(--nav-item-hover-background-color);border-radius:10px;background:#fff;margin:1rem 2.5rem;padding:.6rem 0 .8rem}
  .snippet + .snippet{margin-top:1rem}
  .snippet-head{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem .25rem 1rem}
  .snippet-head .left{display:flex;align-items:center;gap:.6rem}
  .snippet-title{font-size:1.05rem;margin:0}
  .lang-badge{display:inline-block;min-width:28px;padding:.1rem .45rem;border-radius:6px;background:var(--nav-item-hover-background-color);color:var(--nav-item-hover-text-color);font-weight:600;text-align:center}
  .snippet-actions{display:flex;gap:.5rem}
  .snippet-btn{height:28px;padding:0 .6rem;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:var(--top-nav-background-color);color:var(--nav-item-text-color);cursor:pointer}
  .snippet-btn:hover{background:var(--nav-item-hover-background-color);color:var(--nav-item-hover-text-color);border-color:transparent}
  .snippet-btn.ghost{background:transparent}
  .snippet-desc{padding:0 1rem .3rem 1rem;color:#333}
  .snippet-code{margin:.3rem 0 0 0;padding:.5rem 1rem 1rem 1rem;overflow:auto}
  .snippet-code > code{font-size:12px}



.guides-grid {
    --max: 1200px;
    --gap: 16px;
    max-width: var(--max);
    margin: 2rem auto;
    padding: 0 1rem 2rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--gap);
}

.guide-card {
    --pad-b: 16px;
    --pad-i: 18px;
    background: var(--page-content-background-color, #fff);
    border-left: 2px solid var(--nav-item-hover-background-color);
    border-radius: 8px;
    padding: var(--pad-b) var(--pad-i);
    box-shadow: 0 6px 18px rgba(0,0,0,.04);
    position: relative;
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

    .guide-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 26px rgba(0,0,0,.08);
        border-color: rgba(0,0,0,.08);
    }

    .guide-card:focus-within {
        outline: 2px solid transparent;
        box-shadow: 0 0 0 3px rgba(80, 140, 255, .25);
    }

    .guide-card .thumb {
        display: block;
        margin: calc(-1 * var(--pad-b)) calc(-1 * var(--pad-i)) 12px;
        border-radius: 8px 8px 0 0;
        background: var(--card-thumb-bg, linear-gradient(135deg,#f5f5f7,#ececf1));
        aspect-ratio: 16 / 9;
        overflow: hidden;
        position: relative;
    }

        .guide-card .thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transform: scale(1.0);
            transition: transform .35s ease;
        }

    .guide-card:hover .thumb img {
        transform: scale(1.03);
    }

    /* Thumb üzerinde isteğe bağlı küçük etiket */
    .guide-card .thumb .badge {
        position: absolute;
        bottom: 10px;
        left: 12px;
        padding: 4px 8px;
        font-size: 12px;
        font-weight: 600;
        color: var(--nav-item-hover-text-color, #fff);
        background: rgba(0,0,0,.55);
        border-radius: 999px;
        backdrop-filter: saturate(1.3) blur(4px);
    }

    /* --- Başlık / Bağlantı --- */
    .guide-card .title {
        color: var(--nav-item-hover-background-color);
        font-size: 1.05rem;
        margin: 0 0 .5rem;
        line-height: 1.25;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

        .guide-card .title a {
            color: var(--nav-item-hover-background-color);
            text-decoration: none;
            color: inherit;
        }

            .guide-card .title a:hover {
                text-decoration: underline;
            }

    /* --- Kısa açıklama --- */
    .guide-card .excerpt {
        color: #555;
        font-size: .95rem;
        line-height: 1.5;
        margin: 0;
        display: -webkit-box;
        -webkit-line-clamp: 3; /* üç satırda kırp */
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* --- İsteğe bağlı meta / etiket satırı --- */
    .guide-card .meta {
        margin: .5rem 0 .35rem;
        font-size: .8rem;
        color: #777;
    }

    .guide-card .tags {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        margin-top: .5rem;
    }

        .guide-card .tags a {
            font-size: .75rem;
            text-decoration: none;
            color: #444;
            border: 1px solid rgba(0,0,0,.12);
            padding: 2px 8px;
            border-radius: 999px;
        }

            .guide-card .tags a:hover {
                background: rgba(0,0,0,.04);
            }

@media (max-width:1200px) {
    .guides-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)); /* 2 sütun */
        gap: 14px;
    }

    .guide-card {
        --pad-b: 14px;
        --pad-i: 16px;
    }
}

@media (max-width:720px) {
    .guides-grid {
        grid-template-columns: 1fr;
        padding: 0 36px 1.5rem; /* slider’daki gibi yan boşluk */
        gap: 12px;
    }
    .guide-card .thumb {
        margin: calc(-1 * var(--pad-b)) calc(-1 * var(--pad-i)) 10px;
        aspect-ratio: 16 / 9;
    }

    .guide-card .excerpt {
        -webkit-line-clamp: 2;
    }
}



.category-sections {
    margin-top: 1.5rem
}

.subcat-block .empty {
    margin-left: 2rem;
}

.subcat-header {
    margin-left: 2rem;
    margin-top: 2rem;
}
.subcat-header h3 {
    margin: 0 0 .25rem
}

.subcat-header h3 a {
    font-size: var(--h3-font-size);
    text-decoration: none;
    color: var(--nav-item-hover-background-color);
}

.subcat-excerpt {
    color: var(--subcat-excerpt-text-color);
    margin-left: 2rem;
}

.c-of-csharp {
    transform: translate(-30px, 24px) rotate(-40deg);
}

.sharp-of-csharp {
    transform: translate(20px, -30px) rotate(30deg);
}

.c-of-cplusplus {
    transform: translate(-10px, 0) rotate(-30deg);
}

.firstplus-of-cplusplus {
    transform: translate(10px, -40px) rotate(-45deg);
}

.secondplus-of-cplusplus {
    transform: translate(20px, 20px) rotate(45deg);
}

.j-of-javascript {
    transform: translate(-30px, 25px) rotate(70deg);
}

.s-of-javascript {
    transform: translate(30px, -25px) rotate(-40deg);
}

.p-of-python {
    transform: translate(-20px, 25px) rotate(-90deg);
}

.y-of-python {
    transform: translate(20px, -25px) rotate(45deg);
}

.guide-letters {
    font-size: 8rem;
    transition: transform ease .5s, color ease .5s;
}

.article-card .thumb:hover .guide-letters {
    transform: translate(0, 0) rotate(0);
    color: var(--nav-item-hover-background-color);
}

.form-field {
    margin: 10px 0;
}

    .form-field label {
        display: block;
        margin-bottom: 6px;
    }

    .form-field input, .form-field textarea {
        width: 100%;
        outline: none;
        border: 2px solid var(--nav-link-text-color);
        border-radius: 8px;
        padding: 8px 10px;
        background: #fff;
    }

    .form-field input {
        height: 38px;
    }

    .form-field textarea {
        resize: none;
    }

    .form-field input:focus {
        border: 2px solid var(--nav-item-hover-background-color);
    }

    .form-field textarea:focus {
        border: 2px solid var(--nav-item-hover-background-color);
    }

.consent {
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 10px 0;
}

.actions {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: 14px;
    flex-wrap: wrap;
}

.btn-primary {
    height: 38px;
    padding: 0 16px;
    border: 0;
    border-radius: 10px;
    background: var(--nav-item-hover-background-color);
    color: #fff;
    cursor: pointer;
}

.btn-link {
    text-decoration: none;
    color: var(--nav-item-hover-background-color);
}

.form-msg {
    margin: 8px 0 0;
    color: var(--nav-item-hover-background-color);
}

    .form-msg.ok {
        color: #167a2e;
    }

    .form-msg.err {
        color: #b00020;
    }

.field-error {
    margin: .25rem 0 0;
    font-size: .9rem;
    color: #b00020;
}


.cookie-banner {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 9999;
    display: none;
}

    .cookie-banner.is-visible {
        display: block;
    }

.cookie-banner__inner {
    max-width: 980px;
    margin: 0 auto;
    background: var(--cb-bg);
    border: 1px solid var(--cb-border);
    color: var(--cb-text);
    border-radius: var(--cb-radius);
    box-shadow: var(--cb-shadow);
    padding: 16px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.cookie-banner__text strong {
    display: block;
    font-size: 16px;
    letter-spacing: .2px;
    margin-bottom: 6px;
}

.cookie-banner__text p {
    margin: 6px 0;
    line-height: 1.45;
    color: var(--cb-text);
    font-size: 14px;
}

.cookie-banner__links {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    font-size: 13px;
}

    .cookie-banner__links .dot {
        color: var(--cb-muted);
    }

.muted {
    color: var(--cb-muted);
}

.cookie-banner__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

/* Buttons */
.btn {
    border: 0;
    border-radius: 10px;
    padding: 10px 14px;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    transition: transform .04s ease, opacity .15s ease;
    user-select: none;
}

    .btn:active {
        transform: translateY(1px);
    }

    .btn:focus {
        outline: 2px solid var(--btn-focus);
        outline-offset: 2px;
    }

.btn-primary {
    background: var(--btn-primary-bg);
    color: var(--btn-primary-text);
}

.btn-ghost {
    background: var(--btn-ghost-bg);
    border: 1px solid var(--btn-ghost-bd);
    color: var(--btn-ghost-text);
}

/* Modal */
.cookie-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none;
}

    .cookie-modal.is-open {
        display: block;
    }

.cookie-modal__backdrop {
    position: absolute;
    inset: 0;
    background: var(--cm-backdrop);
}

.cookie-modal__panel {
    position: relative;
    max-width: 640px;
    margin: 6vh auto 0 auto;
    background: var(--cm-bg);
    color: var(--cm-text);
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius);
    box-shadow: var(--cm-shadow);
    overflow: hidden;
}

.cookie-modal__header {
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--cm-divider);
}

    .cookie-modal__header h3 {
        margin: 0;
        font-size: 16px;
        letter-spacing: .2px;
    }

.icon-btn {
    background: var(--cm-icon-btn-bg);
    border: 1px solid var(--cm-icon-btn-border);
    color: var(--cm-icon-btn-text);
    border-radius: 10px;
    width: 34px;
    height: 34px;
    cursor: pointer;
}

.cookie-modal__body {
    padding: 14px 16px 6px 16px;
}

.cookie-item {
    padding: 12px;
    border: 1px solid var(--cm-item-border);
    border-radius: 14px;
    background: var(--cm-item-bg);
    margin-bottom: 10px;
}

.cookie-item__top {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.cookie-item__meta strong {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
}

.cookie-item__meta p {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
    color: var(--cm-item-muted);
}

.cookie-modal__note {
    margin-top: 10px;
    font-size: 12.8px;
    color: var(--cm-item-muted);
}

.cookie-modal__footer {
    padding: 12px 16px 14px 16px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid var(--cm-divider);
}

/* Switch */
.switch {
    position: relative;
    display: inline-block;
    width: 46px;
    height: 26px;
    flex: 0 0 auto;
    margin-top: 2px;
}

    .switch input {
        display: none;
    }

.slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: var(--sw-track-bg);
    border: 1px solid var(--sw-track-border);
    transition: .2s;
    border-radius: 999px;
}

    .slider:before {
        content: "";
        position: absolute;
        height: 20px;
        width: 20px;
        left: 3px;
        top: 50%;
        transform: translateY(-50%);
        background: var(--sw-thumb-bg);
        transition: .2s;
        border-radius: 50%;
    }

.switch input:checked + .slider {
    background: var(--sw-track-checked-bg);
}

    .switch input:checked + .slider:before {
        transform: translate(20px, -50%);
    }

.switch input:disabled + .slider {
    opacity: .7;
    cursor: not-allowed;
}

@media (min-width: 720px) {
    .cookie-banner__inner {
        grid-template-columns: 1fr auto;
        align-items: center;
    }

    .cookie-banner__actions {
        justify-content: flex-end;
        align-items: center;
    }
}
