.cmd-root {
    --cmd-bg: rgba(8, 5, 15, 0.96);
    --cmd-panel: rgba(18, 13, 30, 0.98);
    --cmd-border: #8f87a7;
    --cmd-border-hot: #c8a6ff;
    --cmd-system: #ddb9ff;
    --cmd-command: #f8f4ff;
    --cmd-warning: #ffd36a;
    --cmd-error: #ff7d9c;
    --cmd-route: #83ffd8;
    --cmd-meta: #8dd7ff;
    --cmd-shadow: 8px 8px 0 rgba(0, 0, 0, 0.82), 0 0 22px rgba(138, 43, 226, 0.24);
    --cmd-font: "JetBrains Mono", "Cascadia Mono", "Cascadia Code", Consolas, "Lucida Console", var(--font-terminal, "VT323", monospace);
    font-family: var(--cmd-font);
    font-variant-ligatures: none;
    position: fixed;
    z-index: 9000;
    inset: auto max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) auto;
    text-align: left;
}

@font-face {
    font-family: "JetBrains Mono";
    src: url("../assets/fonts/jetbrains-mono/jetbrains-mono-latin-400-normal.woff2") format("woff2");
    font-display: swap;
    font-style: normal;
    font-weight: 400;
}

@font-face {
    font-family: "JetBrains Mono";
    src: url("../assets/fonts/jetbrains-mono/jetbrains-mono-latin-500-normal.woff2") format("woff2");
    font-display: swap;
    font-style: normal;
    font-weight: 500;
}

@font-face {
    font-family: "JetBrains Mono";
    src: url("../assets/fonts/jetbrains-mono/jetbrains-mono-latin-700-normal.woff2") format("woff2");
    font-display: swap;
    font-style: normal;
    font-weight: 700;
}

@font-face {
    font-family: "JetBrains Mono";
    src: url("../assets/fonts/jetbrains-mono/jetbrains-mono-latin-800-normal.woff2") format("woff2");
    font-display: swap;
    font-style: normal;
    font-weight: 800;
}


body.overlay-open .cmd-root:not(.is-open) {
    display: none;
}

.cmd-taskbar {
    min-width: 132px;
    min-height: 44px;
    border: 2px solid var(--cmd-border);
    border-color: #f3edff #555064 #555064 #f3edff;
    background: linear-gradient(180deg, #2a223a, #151120);
    color: var(--cmd-command);
    box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.75);
    cursor: pointer;
    font: 600 20px/1.1 var(--cmd-font);
    letter-spacing: 0;
    padding: 8px 14px;
    text-align: left;
}

.cmd-root.is-open {
    z-index: 100140;
}

body:has(.cmd-root.is-open) .mitsuki-trigger-container {
    z-index: 100150;
}

.cmd-taskbar {
    display: none !important;
}

.cmd-taskbar:hover,
.cmd-taskbar:focus-visible,
.cmd-window button:focus-visible,
.cmd-window a:focus-visible,
.cmd-input:focus-visible,
.cmd-output:focus-visible {
    outline: 3px solid var(--neon-cyan, #00ffff);
    outline-offset: 3px;
}

.cmd-window {
    position: fixed;
    right: max(14px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
    width: min(720px, calc(100dvw - 28px));
    height: min(520px, calc(100dvh - 28px));
    max-height: calc(100dvh - 28px);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto auto auto auto;
    background: var(--cmd-bg);
    border: 3px solid var(--cmd-border);
    box-shadow: var(--cmd-shadow);
    color: var(--cmd-system);
    text-align: left;
    text-shadow: 0 0 7px rgba(221, 185, 255, 0.36);
}

.cmd-window[hidden],
.cmd-taskbar[hidden] {
    display: none !important;
}

.cmd-titlebar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    background: linear-gradient(90deg, #4b1f73, #222035 58%, #583b75);
    border-bottom: 3px solid var(--cmd-border);
}

.cmd-titlebar h2 {
    margin: 0;
    color: #fff;
    font: 700 20px/1.1 var(--cmd-font);
    letter-spacing: 0;
}

.cmd-window-controls {
    display: flex;
    gap: 6px;
}

.cmd-window-control,
.cmd-history-btn {
    width: 36px;
    height: 32px;
    border: 2px solid #d9d0e8;
    background: #221b2d;
    color: #fff;
    cursor: pointer;
    font: 700 18px/1 var(--cmd-font);
}

.cmd-output {
    min-height: 0;
    overflow: auto;
    padding: 14px;
    background:
        linear-gradient(rgba(255, 255, 255, 0.028) 50%, rgba(0, 0, 0, 0.18) 50%),
        linear-gradient(90deg, rgba(0, 255, 255, 0.055), transparent 26%, rgba(255, 61, 242, 0.045)),
        #040207;
    background-size: 100% 4px, auto, auto;
    color: var(--cmd-system);
    font-size: 17px;
    line-height: 1.38;
    text-align: left;
}

.cmd-line {
    margin: 0 0 6px;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
    text-align: left;
}

.cmd-root.is-program-render-animated .cmd-line[data-manual-entry="true"] {
    animation: cmdManualLineIn 260ms ease-out both;
}

.cmd-root.is-command-render-animated .cmd-line[data-cmd-block="true"] {
    position: relative;
    animation: cmdBlockLineIn 220ms steps(5, end) both;
    animation-delay: min(calc(var(--cmd-block-order, 0) * 38ms), 340ms);
}

.cmd-root.is-command-render-animated .cmd-line[data-cmd-block="true"]::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(131, 255, 216, 0.16), transparent 70%);
    opacity: 0;
    animation: cmdBlockScan 220ms steps(4, end) both;
    animation-delay: min(calc(var(--cmd-block-order, 0) * 38ms), 340ms);
}

.cmd-root.is-program-render-animated .cmd-line[data-manual-entry="true"]:nth-child(2) { animation-delay: 18ms; }
.cmd-root.is-program-render-animated .cmd-line[data-manual-entry="true"]:nth-child(3) { animation-delay: 36ms; }
.cmd-root.is-program-render-animated .cmd-line[data-manual-entry="true"]:nth-child(4) { animation-delay: 54ms; }
.cmd-root.is-program-render-animated .cmd-line[data-manual-entry="true"]:nth-child(5) { animation-delay: 72ms; }
.cmd-root.is-program-render-animated .cmd-line[data-manual-entry="true"]:nth-child(6) { animation-delay: 90ms; }
.cmd-root.is-program-render-animated .cmd-line[data-manual-entry="true"]:nth-child(n+7) { animation-delay: 108ms; }

.cmd-line-command {
    color: var(--cmd-command);
    font-weight: 600;
}

.cmd-line-command:not(:first-child) {
    margin-top: 14px;
}

.cmd-line-warning {
    color: var(--cmd-warning);
}

.cmd-line-error {
    color: var(--cmd-error);
}

.cmd-line-system {
    color: var(--cmd-system);
    font-weight: 500;
}

.cmd-line-route {
    color: var(--cmd-route);
    font-weight: 650;
}

.cmd-line-meta,
.cmd-line-label {
    color: var(--cmd-meta);
    font-weight: 700;
}

.cmd-line-manual {
    color: #f7f3ff;
    font-weight: 430;
    margin-bottom: 8px;
    padding-left: 10px;
    border-left: 1px solid rgba(247, 243, 255, 0.16);
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.16);
}

.cmd-line-manual-title {
    color: #efe7ff;
    font-size: 1.08em;
    font-weight: 800;
    margin: 0 0 10px;
    padding-bottom: 7px;
    border-bottom: 1px solid rgba(221, 185, 255, 0.32);
    text-shadow: 0 0 9px rgba(221, 185, 255, 0.48);
}

.cmd-line-manual-cover-brand,
.cmd-line-manual-cover-title,
.cmd-line-manual-cover-subtitle {
    margin: 0 0 8px;
    padding-left: 12px;
    color: #f8f4ff;
    border-left: 1px solid rgba(141, 215, 255, 0.34);
    text-shadow: 0 0 7px rgba(255, 255, 255, 0.2);
}

.cmd-line-manual-cover-brand {
    color: #bfeeff;
    font-weight: 800;
}

.cmd-line-manual-cover-title {
    color: #fff;
    font-weight: 800;
    letter-spacing: 0;
}

.cmd-line-manual-cover-subtitle {
    color: #f7f3ff;
    font-weight: 550;
    padding-bottom: 9px;
    border-bottom: 1px dashed rgba(141, 215, 255, 0.26);
}

.cmd-line-manual-section {
    color: #d9bdff;
    font-size: 1.04em;
    font-weight: 800;
    margin: 4px 0 12px;
    padding: 7px 9px;
    border: 1px solid rgba(217, 189, 255, 0.28);
    background: rgba(217, 189, 255, 0.07);
}

.cmd-line-manual-topic {
    color: #9ee9ff;
    font-weight: 750;
    margin: 6px 0 10px;
    padding: 0 0 6px 10px;
    border-bottom: 1px dashed rgba(158, 233, 255, 0.34);
}

.cmd-line-manual-subhead {
    color: #ffd36a;
    font-size: 0.92em;
    font-weight: 800;
    margin: 13px 0 7px;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 211, 106, 0.28);
    text-transform: uppercase;
    text-shadow: 0 0 8px rgba(255, 211, 106, 0.36);
}

.cmd-line-manual-entity,
.cmd-line-manual-key,
.cmd-line-manual-status,
.cmd-line-manual-explanation,
.cmd-line-manual-question,
.cmd-line-manual-answer,
.cmd-line-manual-schedule,
.cmd-line-manual-command {
    color: #f7f3ff;
    font-weight: 440;
    margin: 0 0 8px;
    padding: 5px 9px 6px 11px;
    border-left: 2px solid rgba(247, 243, 255, 0.18);
}

.cmd-line-manual-explanation {
    background: rgba(141, 215, 255, 0.035);
    border-left-color: rgba(141, 215, 255, 0.36);
}

.cmd-line-manual-entity {
    background: rgba(142, 255, 229, 0.055);
    border-left-color: rgba(142, 255, 229, 0.42);
}

.cmd-line-manual-key {
    background: rgba(255, 211, 106, 0.07);
    border-left-color: rgba(255, 211, 106, 0.62);
}

.cmd-line-manual-status {
    background: linear-gradient(90deg, rgba(255, 211, 106, 0.08), rgba(255, 125, 156, 0.035) 70%, transparent);
    border-left-color: rgba(255, 211, 106, 0.66);
}

.cmd-line-manual-question {
    background: rgba(141, 215, 255, 0.055);
    border-left-color: rgba(141, 215, 255, 0.58);
}

.cmd-line-manual-answer {
    background: rgba(199, 125, 255, 0.045);
    border-left-color: rgba(199, 125, 255, 0.5);
}

.cmd-line-manual-schedule {
    margin-bottom: 5px;
    padding-block: 3px;
    background: rgba(255, 255, 255, 0.025);
    border-left-color: rgba(141, 215, 255, 0.3);
}

.cmd-line-manual-command {
    color: #83ffd8;
    background: rgba(131, 255, 216, 0.055);
    border-left-color: rgba(131, 255, 216, 0.62);
    font-weight: 700;
}

.cmd-line-manual-final-clause {
    margin: 0 0 0;
    padding: 7px 10px;
    color: #fff;
    background: rgba(14, 8, 22, 0.92);
    border-left: 2px solid #9d63d9;
    text-shadow: none;
}

.cmd-line-manual-final-clause[data-final-clause="label"] {
    margin-top: 4px;
    padding: 4px 10px;
    color: #fff;
    background: #9d63d9;
    border-left: 0;
    font-weight: 800;
}

.cmd-line-manual-final-clause[data-final-clause="statement"] {
    font-weight: 700;
}

.cmd-line-manual-final-clause[data-final-clause="note"] {
    margin-bottom: 12px;
    padding-bottom: 11px;
    border-bottom: 1px solid rgba(157, 99, 217, 0.72);
    font-weight: 450;
}

.cmd-line-manual-alert {
    margin: 9px 0 10px;
    padding: 7px 9px;
    border-left: 3px solid var(--cmd-warning);
    background: rgba(255, 211, 106, 0.08);
    color: #ffe49a;
    font-weight: 700;
}

.cmd-manual-entity,
.cmd-manual-key,
.cmd-manual-status,
.cmd-manual-explanation,
.cmd-manual-question,
.cmd-manual-answer,
.cmd-manual-schedule {
    font-weight: 800;
}

.cmd-manual-entity {
    color: #8effe5;
    text-shadow: 0 0 8px rgba(142, 255, 229, 0.32);
}

.cmd-manual-key {
    color: #ffd36a;
    text-shadow: 0 0 8px rgba(255, 211, 106, 0.28);
}

.cmd-manual-status {
    color: #ffd36a;
    text-shadow: 0 0 8px rgba(255, 211, 106, 0.26);
}

.cmd-manual-explanation {
    color: #bfeeff;
    font-weight: 750;
}

.cmd-manual-question {
    color: #8dd7ff;
}

.cmd-manual-answer {
    color: #d9bdff;
}

.cmd-manual-schedule {
    color: #8dd7ff;
    font-weight: 800;
}

.cmd-manual-punctuation {
    color: #c77dff;
    font-weight: 800;
}

.cmd-manual-signal {
    color: #ff8acb;
    font-weight: 800;
    text-shadow: 0 0 7px rgba(255, 138, 203, 0.28);
}

.cmd-manual-quote {
    color: #bfeeff;
    font-weight: 650;
}

.cmd-manual-code,
.cmd-inline-code,
.cmd-inline-tag,
.cmd-inline-label {
    display: inline;
    margin: 0 0.08em;
    padding: 0.02em 0.34em;
    border: 1px solid rgba(131, 255, 216, 0.32);
    background: rgba(131, 255, 216, 0.075);
    color: #83ffd8;
    font-weight: 800;
    text-shadow: 0 0 7px rgba(131, 255, 216, 0.28);
}

.cmd-inline-tag {
    border-color: rgba(255, 211, 106, 0.34);
    background: rgba(255, 211, 106, 0.075);
    color: #ffd36a;
    text-shadow: 0 0 7px rgba(255, 211, 106, 0.24);
}

.cmd-inline-label {
    border-color: rgba(141, 215, 255, 0.3);
    background: rgba(141, 215, 255, 0.06);
    color: #bfeeff;
    text-shadow: 0 0 7px rgba(141, 215, 255, 0.22);
}

.cmd-inline-body {
    color: inherit;
}

.cmd-line[data-manual-dialogue="true"] {
    margin-bottom: 7px;
    padding: 4px 9px 5px 11px;
    background: rgba(255, 255, 255, 0.026);
    border-left: 2px solid currentColor;
}

.cmd-manual-speaker {
    font-weight: 800;
}

.cmd-root.is-program-render-animated .cmd-line[data-manual-entry="true"] span {
    animation: cmdManualGlyphIn 180ms ease-out both;
}

.cmd-line-akane,
.cmd-line[data-character="akane"] { color: #c77dff; font-weight: 650; }
.cmd-line-rika,
.cmd-line[data-character="rika"] { color: #ff8a4b; font-weight: 650; }
.cmd-line-momo,
.cmd-line[data-character="momo"] { color: #ff8acb; font-weight: 650; }
.cmd-line-jun,
.cmd-line[data-character="jun"] { color: #63d8ff; font-weight: 650; }
.cmd-line-reiko,
.cmd-line[data-character="reiko"] { color: #b889ff; font-weight: 650; }
.cmd-line-mitsuki,
.cmd-line[data-character="mitsuki"] { color: #ff7a9e; font-weight: 650; }
.cmd-line-hoshi,
.cmd-line[data-character="hoshi"] { color: #ff5f79; font-weight: 650; }

.cmd-line-action {
    color: var(--cmd-route);
    margin: 5px 0;
}

.cmd-action-option {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    letter-spacing: 0;
    padding: 3px 6px;
    text-align: left;
    text-shadow: inherit;
}

.cmd-line-action.is-selected .cmd-action-option,
.cmd-action-option:hover {
    background: rgba(131, 255, 216, 0.16);
    color: #f8fffb;
    text-shadow: 0 0 8px rgba(131, 255, 216, 0.65);
}

.cmd-program-nav {
    display: none;
}

.cmd-program-nav-btn {
    width: 40px;
    height: 56px;
    border: 2px solid rgba(131, 255, 216, 0.76);
    background: rgba(5, 2, 10, 0.86);
    color: var(--cmd-route);
    cursor: pointer;
    font: 800 30px/1 var(--cmd-font);
    text-shadow: 0 0 8px rgba(131, 255, 216, 0.55);
}

.cmd-program-footer {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 9px;
    border-top: 1px solid rgba(200, 166, 255, 0.26);
    background: rgba(6, 3, 12, 0.96);
    color: rgba(248, 244, 255, 0.72);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.25;
}

.cmd-root.is-program-active .cmd-program-footer {
    display: flex;
}

.cmd-program-footer-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cmd-program-footer-actions {
    display: flex;
    flex: 0 0 auto;
    gap: 5px;
}

.cmd-program-footer-btn {
    min-width: 30px;
    min-height: 25px;
    border: 1px solid rgba(131, 255, 216, 0.45);
    background: rgba(131, 255, 216, 0.08);
    color: var(--cmd-route);
    cursor: pointer;
    font: 700 12px/1 var(--cmd-font);
}

.cmd-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 10px;
    border-top: 2px solid rgba(200, 166, 255, 0.34);
    background: rgba(18, 13, 30, 0.98);
}

.cmd-suggestions[hidden] {
    display: none;
}

.cmd-suggestion {
    border: 1px solid rgba(221, 185, 255, 0.55);
    background: rgba(255, 255, 255, 0.06);
    color: var(--cmd-system);
    cursor: pointer;
    font: 500 14px/1.25 var(--cmd-font);
    padding: 6px 8px;
    text-align: left;
}

.cmd-form {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 10px;
    border-top: 3px solid var(--cmd-border);
    background: var(--cmd-panel);
    text-align: left;
}

.cmd-prompt {
    color: #ffffff;
    font-size: 23px;
    white-space: nowrap;
}

.cmd-input {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    border: 2px solid rgba(221, 185, 255, 0.48);
    background: #05020a;
    color: #ffffff;
    caret-color: var(--neon-cyan, #00ffff);
    font: 500 18px/1.2 var(--cmd-font);
    padding: 7px 10px;
    text-align: left;
}

.cmd-touch-history {
    display: none;
    gap: 5px;
}

@media (max-width: 700px) {
    .cmd-root {
        inset: auto max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) auto;
    }

    .cmd-taskbar {
        width: auto;
        min-width: 0;
        max-width: min(46vw, 172px);
        min-height: 48px;
        padding-inline: 12px;
        white-space: nowrap;
    }

    .cmd-window {
        inset: 0;
        width: 100dvw;
        height: 100dvh;
        max-height: 100dvh;
        border-width: 0;
        box-shadow: none;
    }

    .cmd-output {
        font-size: 15px;
        padding: 12px;
    }

    .cmd-root.is-program-active .cmd-output {
        padding-inline: 12px;
    }

    .cmd-root.is-program-active .cmd-program-nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        padding: 7px 10px 4px;
        border-top: 1px solid rgba(131, 255, 216, 0.24);
        background: rgba(4, 2, 7, 0.98);
    }

    .cmd-program-nav-btn {
        flex: 1 1 0;
        width: auto;
        height: 38px;
        font-size: 22px;
    }

    .cmd-program-footer {
        align-items: stretch;
        flex-direction: column;
        gap: 6px;
        padding: 5px 10px 7px;
        font-size: 10px;
    }

    .cmd-program-footer-text {
        white-space: normal;
    }

    .cmd-program-footer-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cmd-program-footer-btn {
        min-height: 32px;
    }

    .cmd-form {
        grid-template-columns: 1fr auto;
        padding: 9px max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
    }

    .cmd-prompt {
        grid-column: 1 / -1;
        font-size: 20px;
    }

    .cmd-touch-history {
        display: flex;
    }

    .cmd-suggestion {
        font-size: 13px;
    }

    body:has(.cmd-root.is-open) #sidebarToggle {
        display: none !important;
    }

    body:has(.cmd-root.is-open) .mitsuki-trigger-container {
        display: none !important;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .cmd-taskbar,
    .cmd-window {
        transition: transform var(--cg-motion-fast, 180ms) var(--cg-ease-ui, ease),
            opacity var(--cg-motion-fast, 180ms) var(--cg-ease-ui, ease);
    }
}

@media (prefers-reduced-motion: reduce) {
    .cmd-taskbar,
    .cmd-window {
        transition: none;
    }

    .cmd-root.is-program-active .cmd-line {
        animation: none;
    }

    .cmd-root.is-program-render-animated .cmd-line[data-manual-entry="true"],
    .cmd-root.is-program-render-animated .cmd-line[data-manual-entry="true"] span,
    .cmd-root.is-command-render-animated .cmd-line[data-cmd-block="true"],
    .cmd-root.is-command-render-animated .cmd-line[data-cmd-block="true"]::after {
        animation: none;
    }
}

/* September CMD easter egg: a temporary tricolor intervention, reset on reload. */
body.cg-patriotic-mode {
    --cg-patria-green: #006847;
    --cg-patria-white: #f7f3e8;
    --cg-patria-red: #ce1126;
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) {
    --deck-cyan: var(--cg-patria-white);
    --deck-magenta: var(--cg-patria-red);
    --deck-violet: var(--cg-patria-green);
    --deck-mint: #85e2b1;
    --cg-radio-accent: var(--cg-patria-white);
    background-color: #050806;
    background-image:
        radial-gradient(circle at 12% 8%, rgba(0, 104, 71, 0.42), transparent 34rem),
        radial-gradient(circle at 88% 12%, rgba(206, 17, 38, 0.32), transparent 32rem),
        linear-gradient(rgba(247, 243, 232, 0.08) 2px, transparent 2px),
        linear-gradient(90deg, rgba(247, 243, 232, 0.07) 2px, transparent 2px),
        linear-gradient(115deg, #04140e 0 32%, #0b0b0b 49% 55%, #1e0509 72% 100%);
    background-size: auto, auto, 24px 24px, 24px 24px, 100% 100%;
    animation: none;
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page)::before {
    background-image:
        linear-gradient(90deg, rgba(0, 104, 71, 0.38), rgba(5, 8, 6, 0.44) 42% 58%, rgba(206, 17, 38, 0.34)),
        url('../assets/backgrounds/fondo-akane.webp');
    opacity: 0.2;
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page)::after {
    background:
        linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.2) 50%),
        linear-gradient(90deg, rgba(0, 104, 71, 0.16), transparent 24%, transparent 76%, rgba(206, 17, 38, 0.16));
    background-size: 100% 4px, auto;
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .profile-container {
    background:
        radial-gradient(circle at 10% 12%, rgba(0, 104, 71, 0.4), transparent 22rem),
        radial-gradient(circle at 90% 16%, rgba(206, 17, 38, 0.34), transparent 21rem),
        linear-gradient(rgba(247, 243, 232, 0.07) 2px, transparent 2px),
        linear-gradient(90deg, rgba(247, 243, 232, 0.055) 2px, transparent 2px),
        rgba(5, 8, 6, 0.9);
    background-size: auto, auto, 26px 26px, 26px 26px, auto;
    border-color: var(--cg-patria-white);
    box-shadow:
        14px 14px 0 rgba(0, 0, 0, 0.9),
        -6px 6px 0 rgba(0, 104, 71, 0.8),
        6px -2px 0 rgba(206, 17, 38, 0.68),
        inset 0 0 30px rgba(247, 243, 232, 0.08);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .profile-container::before {
    background: linear-gradient(90deg, var(--cg-patria-green) 0 31%, var(--cg-patria-white) 43% 57%, var(--cg-patria-red) 69% 100%);
    border-bottom-color: var(--cg-patria-white);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .profile-container::after {
    color: #120003;
    background: var(--cg-patria-white);
    border-color: var(--cg-patria-red);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .main-logo,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-brand-logo {
    filter:
        drop-shadow(7px 7px 0 rgba(0, 0, 0, 0.9))
        drop-shadow(-4px 0 0 rgba(0, 104, 71, 0.72))
        drop-shadow(4px 0 0 rgba(206, 17, 38, 0.66));
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .akane-os-statusbar span {
    border-color: rgba(247, 243, 232, 0.58);
    box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.72), inset 4px 0 0 rgba(0, 104, 71, 0.42), inset -4px 0 0 rgba(206, 17, 38, 0.38);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .home-hero-split {
    border-color: rgba(247, 243, 232, 0.62);
    background:
        linear-gradient(125deg, rgba(0, 104, 71, 0.25), transparent 39% 61%, rgba(206, 17, 38, 0.23)),
        rgba(0, 0, 0, 0.38);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .home-hero-split::before {
    border-color: rgba(247, 243, 232, 0.42);
    box-shadow: inset 8px 0 0 rgba(0, 104, 71, 0.22), inset -8px 0 0 rgba(206, 17, 38, 0.2);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .home-hero-split::after {
    background:
        linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.48), transparent),
        repeating-linear-gradient(90deg, var(--cg-patria-green) 0 9px, var(--cg-patria-white) 9px 18px, var(--cg-patria-red) 18px 27px);
    border-color: rgba(247, 243, 232, 0.68);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .bottom-art-container,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .intro-hook,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .character-arcade-frame,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .akane-terminal-card,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .links-note {
    border-color: var(--cg-patria-white);
    background-color: rgba(5, 8, 6, 0.9);
    background-image:
        linear-gradient(90deg, rgba(0, 104, 71, 0.18), transparent 31% 69%, rgba(206, 17, 38, 0.16)),
        linear-gradient(rgba(247, 243, 232, 0.045) 1px, transparent 1px);
    background-size: auto, 100% 18px;
    box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.84), -4px 4px 0 rgba(0, 104, 71, 0.64), 4px -2px 0 rgba(206, 17, 38, 0.56);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .intro-hook::after,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .akane-terminal-title,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .links-note span {
    color: #070807;
    background: var(--cg-patria-white);
    border-color: var(--cg-patria-red);
    box-shadow: -3px 3px 0 var(--cg-patria-green), 3px 3px 0 rgba(0, 0, 0, 0.84);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .character-arcade-frame::before {
    border-color: var(--cg-patria-green);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .character-arcade-frame::after {
    border-color: var(--cg-patria-red);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .arcade-frame-label,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .section-title {
    color: #050705;
    background: linear-gradient(90deg, var(--cg-patria-green), var(--cg-patria-white) 43% 57%, var(--cg-patria-red));
    border-color: var(--cg-patria-white);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .character-carousel-viewport {
    border-color: var(--cg-patria-white);
    background:
        linear-gradient(90deg, rgba(0, 104, 71, 0.2), transparent 22% 78%, rgba(206, 17, 38, 0.2)),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 7px),
        rgba(0, 0, 0, 0.66);
    box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.88), inset 5px 0 0 rgba(0, 104, 71, 0.3), inset -5px 0 0 rgba(206, 17, 38, 0.26);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .quick-scroll-btn {
    border-color: var(--cg-patria-white);
    background: linear-gradient(110deg, rgba(0, 104, 71, 0.42), rgba(0, 0, 0, 0.76) 46% 58%, rgba(206, 17, 38, 0.38));
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .quick-scroll-btn:hover,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .quick-scroll-btn:focus-visible {
    color: var(--cg-patria-white);
    border-color: var(--cg-patria-white);
    box-shadow: -3px 3px 0 var(--cg-patria-green), 3px -3px 0 var(--cg-patria-red);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .menu-box,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .music-card {
    border-right-color: rgba(206, 17, 38, 0.78);
    border-bottom-color: rgba(247, 243, 232, 0.78);
    border-left-color: rgba(0, 104, 71, 0.82);
    background-color: rgba(5, 8, 6, 0.92);
    background-image:
        linear-gradient(110deg, rgba(0, 104, 71, 0.18), transparent 36% 64%, rgba(206, 17, 38, 0.16)),
        linear-gradient(rgba(247, 243, 232, 0.04) 1px, transparent 1px);
    background-size: auto, 100% 20px;
    box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.82), -3px 3px 0 rgba(0, 104, 71, 0.5), 3px -2px 0 rgba(206, 17, 38, 0.42);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .link-btn {
    border-color: rgba(247, 243, 232, 0.66);
    background: linear-gradient(100deg, rgba(0, 104, 71, 0.2), #101010 36% 64%, rgba(206, 17, 38, 0.18));
    box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.78), inset 3px 0 0 rgba(0, 104, 71, 0.55), inset -3px 0 0 rgba(206, 17, 38, 0.5);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .footer {
    color: var(--cg-patria-white);
    background:
        linear-gradient(90deg, rgba(0, 104, 71, 0.34), transparent 36% 64%, rgba(206, 17, 38, 0.3)),
        rgba(0, 0, 0, 0.8);
    border-color: var(--cg-patria-white);
    box-shadow: 7px 7px 0 rgba(0, 0, 0, 0.75), -4px 3px 0 rgba(0, 104, 71, 0.58), 4px -2px 0 rgba(206, 17, 38, 0.5);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .footer::before {
    border-top-color: rgba(247, 243, 232, 0.54);
    background: linear-gradient(90deg, var(--cg-patria-green), rgba(247, 243, 232, 0.3), var(--cg-patria-red));
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar {
    background:
        linear-gradient(90deg, rgba(0, 104, 71, 0.3), transparent 38% 62%, rgba(206, 17, 38, 0.22)),
        linear-gradient(rgba(247, 243, 232, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(247, 243, 232, 0.055) 1px, transparent 1px),
        #070a08;
    background-size: auto, 20px 20px, 20px 20px, auto;
    border-right-color: var(--cg-patria-white);
    box-shadow: 10px 0 0 rgba(0, 0, 0, 0.72), 18px 0 34px rgba(0, 73, 49, 0.34);
    scrollbar-color: var(--cg-patria-red) #061009;
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar::before {
    background: linear-gradient(transparent, var(--cg-patria-red) 12%, var(--cg-patria-white) 48%, var(--cg-patria-green) 84%, transparent);
    box-shadow: 0 0 10px rgba(247, 243, 232, 0.32);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar::after {
    background: linear-gradient(var(--cg-patria-green), transparent 28%, transparent 72%, var(--cg-patria-red));
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-header {
    background: linear-gradient(125deg, rgba(0, 104, 71, 0.34), transparent 48%, rgba(206, 17, 38, 0.26));
    border-bottom-color: rgba(247, 243, 232, 0.54);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-header::before,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-section-title {
    color: #070807;
    background: var(--cg-patria-white);
    border-color: var(--cg-patria-green);
    box-shadow: 3px 3px 0 var(--cg-patria-red);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-header::after {
    color: #b0f5d4;
    border-color: rgba(247, 243, 232, 0.62);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-toggle {
    color: var(--cg-patria-white);
    background: linear-gradient(90deg, var(--cg-patria-green), #111 46% 54%, var(--cg-patria-red));
    border-color: var(--cg-patria-white);
    box-shadow: 5px 5px 0 #000, -2px 0 0 var(--cg-patria-green), 2px 0 0 var(--cg-patria-red);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-link {
    background: linear-gradient(105deg, rgba(0, 104, 71, 0.16), transparent 34% 66%, rgba(206, 17, 38, 0.13)), rgba(8, 10, 8, 0.9);
    border-color: rgba(247, 243, 232, 0.36);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-link::before {
    background: var(--cg-patria-green);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-link.active {
    background: linear-gradient(90deg, rgba(0, 104, 71, 0.46), rgba(247, 243, 232, 0.08) 50%, rgba(206, 17, 38, 0.36)), #0a0d0b;
    border-color: var(--cg-patria-white);
    box-shadow: 0 5px 0 var(--cg-patria-red), 5px 5px 0 rgba(0, 0, 0, 0.74);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-link.active::before {
    background: var(--cg-patria-red);
    box-shadow: 0 0 12px rgba(206, 17, 38, 0.68);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-link.active::after,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-link.active .cg-sidebar-icon {
    color: #050705;
    background: var(--cg-patria-white);
    border-color: var(--cg-patria-green);
    box-shadow: 3px 3px 0 var(--cg-patria-red);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-section-title::after {
    background: linear-gradient(90deg, var(--cg-patria-red), var(--cg-patria-white) 52%, transparent 86%);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-label::before,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-radio-panel-state,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-audio-engine-state {
    color: #85e2b1;
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-icon {
    color: var(--cg-patria-green);
    background: rgba(0, 104, 71, 0.2);
    border-color: rgba(247, 243, 232, 0.72);
    box-shadow: 3px 3px 0 rgba(206, 17, 38, 0.52);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-audio,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-sidebar-language {
    background:
        linear-gradient(110deg, rgba(0, 104, 71, 0.2), transparent 38% 62%, rgba(206, 17, 38, 0.18)),
        rgba(7, 10, 8, 0.94);
    border-color: var(--cg-patria-white);
    box-shadow: inset 4px 0 0 rgba(0, 104, 71, 0.5), inset -4px 0 0 rgba(206, 17, 38, 0.46), 4px 4px 0 rgba(0, 0, 0, 0.64);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-audio-toggle {
    color: var(--cg-patria-white);
    background: #07100b;
    border-color: rgba(247, 243, 232, 0.68);
    box-shadow: inset 4px 0 0 rgba(0, 104, 71, 0.46), inset -4px 0 0 rgba(206, 17, 38, 0.4);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-audio-toggle:hover,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-audio-toggle:focus-visible {
    color: #050705;
    background: var(--cg-patria-white);
    border-color: var(--cg-patria-green);
    box-shadow: 3px 3px 0 var(--cg-patria-red);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-audio-equalizer {
    background:
        linear-gradient(rgba(247, 243, 232, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 104, 71, 0.18), transparent 48%, rgba(206, 17, 38, 0.16)),
        #070a08;
    background-size: 100% 7px, auto, auto;
    border-color: rgba(247, 243, 232, 0.62);
    box-shadow: inset 3px 0 0 rgba(0, 104, 71, 0.55), inset -3px 0 0 rgba(206, 17, 38, 0.48);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-audio-equalizer i {
    background: linear-gradient(to top, var(--cg-patria-green), var(--cg-patria-white) 52%, var(--cg-patria-red));
    box-shadow: 0 0 6px rgba(247, 243, 232, 0.28);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-audio-channel-sfx {
    --audio-channel-color: var(--cg-patria-red);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-audio-channel-music {
    --audio-channel-color: var(--cg-patria-white);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-audio-channel-master {
    --audio-channel-color: var(--cg-patria-green);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-language-options button {
    color: rgba(247, 243, 232, 0.82);
    background: #080c09;
    border-color: rgba(247, 243, 232, 0.56);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-language-options button:nth-child(1) {
    border-color: var(--cg-patria-green);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-language-options button:nth-child(3) {
    border-color: var(--cg-patria-red);
}

body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-language-options button:hover,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-language-options button:focus-visible,
body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page) .cg-language-options button.is-active {
    color: #050705;
    background: var(--cg-patria-white);
    border-color: var(--cg-patria-green);
    box-shadow: 2px 2px 0 var(--cg-patria-red);
}

body.cg-patriotic-mode .akanebook-section {
    border-color: var(--cg-patria-white);
    background:
        linear-gradient(115deg, rgba(0, 104, 71, 0.3), transparent 38%),
        linear-gradient(245deg, rgba(206, 17, 38, 0.26), transparent 42%),
        #0b0b0b;
    box-shadow: -10px 10px 0 rgba(0, 74, 50, 0.82), 10px 10px 0 rgba(130, 8, 25, 0.76), 0 0 32px rgba(247, 243, 232, 0.16);
}

body.cg-patriotic-mode .akanebook-section::before {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 104, 71, 0.18), transparent 34% 66%, rgba(206, 17, 38, 0.18));
    background-size: 100% 5px, 100% 100%;
    opacity: 0.72;
}

body.cg-patriotic-mode .akanebook-kicker {
    color: #7fffc2;
}

body.cg-patriotic-mode .akanebook-intro h2 {
    text-shadow: -4px 4px 0 var(--cg-patria-green), 4px 4px 0 var(--cg-patria-red);
}

body.cg-patriotic-mode .profile-container,
body.cg-patriotic-mode .links-container,
body.cg-patriotic-mode .footer {
    filter: drop-shadow(-5px 0 0 rgba(0, 104, 71, 0.28)) drop-shadow(5px 0 0 rgba(206, 17, 38, 0.24));
}

body.cg-patriotic-mode .box-main,
body.cg-patriotic-mode .box-music {
    border-top-color: var(--cg-patria-green);
}

body.cg-patriotic-mode .box-stickers,
body.cg-patriotic-mode .box-contact {
    border-top-color: var(--cg-patria-white);
}

body.cg-patriotic-mode .box-support {
    border-top-color: var(--cg-patria-red);
}

body.cg-patriotic-mode .section-title {
    border-image: linear-gradient(90deg, var(--cg-patria-green), var(--cg-patria-white), var(--cg-patria-red)) 1;
}

body.cg-patriotic-mode .akanebook-device {
    filter: drop-shadow(-7px 0 0 rgba(0, 104, 71, 0.48)) drop-shadow(7px 0 0 rgba(206, 17, 38, 0.42));
}

body.cg-patriotic-mode .akanebook-screen {
    border-color: var(--cg-patria-white);
    box-shadow: inset 4px 0 0 var(--cg-patria-green), inset -4px 0 0 var(--cg-patria-red);
}

body.cg-patriotic-mode .akb-topbar,
body.cg-patriotic-mode .cmd-titlebar {
    background:
        linear-gradient(90deg, rgba(0, 104, 71, 0.78), rgba(247, 243, 232, 0.14) 48% 54%, rgba(206, 17, 38, 0.72)),
        #100d14;
}

body.cg-patriotic-mode .cmd-root {
    --cmd-border-hot: var(--cg-patria-white);
    --cmd-system: #f5eadf;
    --cmd-route: #62e1ae;
    --cmd-meta: #ff8090;
    --cmd-shadow: -8px 8px 0 rgba(0, 104, 71, 0.76), 8px 8px 0 rgba(206, 17, 38, 0.7), 0 0 24px rgba(247, 243, 232, 0.18);
}

.cg-patriotic-button {
    position: fixed;
    right: 10px;
    bottom: 30px;
    z-index: 99999;
    width: 78px;
    aspect-ratio: 1;
    box-sizing: border-box;
    padding: 0;
    color: #f7f3e8;
    background: rgba(4, 10, 7, 0.88);
    border: 3px solid #f7f3e8;
    border-radius: 12px;
    box-shadow: -6px 6px 0 #006847, 6px -3px 0 #ce1126, 9px 9px 0 rgba(0, 0, 0, 0.8);
    cursor: pointer;
    opacity: 0;
    transform: translate3d(130%, 0, 0) rotate(8deg) scale(0.84);
    isolation: isolate;
}

.cg-patriotic-button[hidden] {
    display: none;
}

.cg-patriotic-button::before {
    content: "";
    position: absolute;
    inset: -10px;
    z-index: -1;
    border: 2px dashed rgba(247, 243, 232, 0.64);
    border-radius: 16px;
    animation: cg-patriotic-button-signal 1.1s steps(2, end) infinite;
}

.cg-patriotic-button::after {
    content: attr(data-label);
    position: absolute;
    right: 0;
    bottom: -20px;
    width: 100%;
    padding: 4px 6px 3px;
    box-sizing: border-box;
    color: #050705;
    background: #f7f3e8;
    border: 2px solid #006847;
    box-shadow: 3px 3px 0 #ce1126;
    font: 700 11px/1 var(--font-terminal);
    overflow-wrap: anywhere;
    text-align: center;
}

.cg-patriotic-button img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, 0.58));
    image-rendering: auto;
}

.cg-patriotic-button.is-visible {
    animation: cg-patriotic-button-in 420ms steps(6, end) forwards, cg-patriotic-button-idle 1.5s steps(3, end) 520ms infinite;
}

.cg-patriotic-button.is-leaving {
    animation: cg-patriotic-button-out 260ms steps(4, end) forwards;
}

.cg-patriotic-button:hover,
.cg-patriotic-button:focus-visible {
    outline: 3px solid #f7f3e8;
    outline-offset: 8px;
    filter: brightness(1.12);
}

.cg-patriotic-button:active,
.cg-patriotic-button.is-pressed {
    box-shadow: -2px 2px 0 #006847, 2px -1px 0 #ce1126, 3px 3px 0 rgba(0, 0, 0, 0.8);
}

.loading-overlay[data-loader-context="patriotic"] {
    background:
        linear-gradient(rgba(255, 255, 255, 0.035) 50%, rgba(0, 0, 0, 0.2) 50%),
        linear-gradient(90deg, rgba(0, 104, 71, 0.42), transparent 38% 62%, rgba(206, 17, 38, 0.38)),
        linear-gradient(rgba(247, 243, 232, 0.07) 2px, transparent 2px),
        #050806;
    background-size: 100% 4px, auto, 28px 28px, auto;
}

.loading-overlay[data-loader-context="patriotic"] .loading-window {
    border-color: #f7f3e8;
    background:
        radial-gradient(circle at 50% 24%, rgba(247, 243, 232, 0.12), transparent 34%),
        linear-gradient(125deg, rgba(0, 104, 71, 0.34), rgba(0, 0, 0, 0.88) 48% 54%, rgba(206, 17, 38, 0.3)),
        #050806;
    box-shadow: 9px 9px 0 rgba(0, 0, 0, 0.86), -6px 5px 0 rgba(0, 104, 71, 0.76), 6px -3px 0 rgba(206, 17, 38, 0.68), inset 0 0 28px rgba(247, 243, 232, 0.08);
}

.loading-overlay[data-loader-context="patriotic"] .loading-titlebar {
    background: linear-gradient(90deg, #006847 0 32%, #f7f3e8 43% 57%, #ce1126 68% 100%);
    border-bottom-color: #f7f3e8;
}

.loading-overlay[data-loader-context="patriotic"] .loading-text {
    color: #f7f3e8;
    text-shadow: -4px 4px 0 #006847, 4px 4px 0 #ce1126;
}

.loading-overlay[data-loader-context="patriotic"] .loading-boot-log {
    color: #f7f3e8;
}

.loading-overlay[data-loader-context="patriotic"] .loading-boot-log span::before {
    color: #85e2b1;
}

.loading-overlay[data-loader-context="patriotic"] .loading-progress {
    border-color: #f7f3e8;
    box-shadow: inset 4px 0 0 rgba(0, 104, 71, 0.64), inset -4px 0 0 rgba(206, 17, 38, 0.58), 3px 3px 0 #000;
}

.loading-overlay[data-loader-context="patriotic"] .loading-progress span {
    background: repeating-linear-gradient(90deg, #006847 0 12px, #f7f3e8 12px 24px, #ce1126 24px 36px, transparent 36px 40px);
}

.loading-overlay[data-loader-context="patriotic"] .loading-icons-wrapper {
    width: 86px;
    height: 84px;
    background: url("../assets/branding/boton%20bandera.png") center / contain no-repeat;
    filter: drop-shadow(-3px 2px 0 rgba(0, 104, 71, 0.72)) drop-shadow(3px 2px 0 rgba(206, 17, 38, 0.64));
}

.loading-overlay[data-loader-context="patriotic"] .loading-icons-wrapper .load-dot {
    display: none;
}

.loading-overlay[data-loader-context="patriotic"] .loading-caption {
    color: #f7f3e8;
}

@keyframes cg-patriotic-button-in {
    0% { opacity: 0; transform: translate3d(130%, 0, 0) rotate(8deg) scale(0.84); }
    62% { opacity: 1; transform: translate3d(-8px, 0, 0) rotate(-3deg) scale(1.04); }
    100% { opacity: 1; transform: translate3d(0, 0, 0) rotate(0) scale(1); }
}

@keyframes cg-patriotic-button-idle {
    0%, 100% { opacity: 1; transform: translate3d(0, 0, 0) rotate(-1deg) scale(1); }
    50% { opacity: 1; transform: translate3d(0, -5px, 0) rotate(1deg) scale(1.035); }
}

@keyframes cg-patriotic-button-out {
    from { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
    to { opacity: 0; transform: translate3d(120%, 0, 0) scale(0.82); }
}

@keyframes cg-patriotic-button-signal {
    0%, 100% { opacity: 0.34; transform: scale(0.96); }
    50% { opacity: 0.78; transform: scale(1.04); }
}

.cg-patriotic-particles {
    position: fixed;
    z-index: 100410;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.cg-papel-picado-piece {
    position: absolute;
    top: -15vh;
    left: var(--cg-particle-left);
    width: 32px;
    height: 25px;
    color: var(--cg-particle-color);
    background: currentColor;
    border: 2px solid color-mix(in srgb, currentColor 58%, #fff);
    box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.68), inset 0 3px 0 rgba(255, 255, 255, 0.28);
    clip-path: polygon(0 0, 100% 0, 100% 82%, 91% 82%, 91% 96%, 81% 96%, 81% 85%, 70% 85%, 70% 100%, 58% 100%, 58% 86%, 46% 86%, 46% 100%, 34% 100%, 34% 84%, 22% 84%, 22% 97%, 11% 97%, 11% 84%, 0 84%);
    image-rendering: pixelated;
    opacity: 0;
    transform: rotate(var(--cg-particle-start-turn)) scale(var(--cg-particle-scale));
    transform-origin: 50% 8%;
    will-change: transform, opacity;
    animation: cg-papel-picado-fall var(--cg-particle-duration) cubic-bezier(0.2, 0.56, 0.36, 1) var(--cg-particle-delay) forwards;
}

.cg-papel-picado-piece::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 50%;
    width: 7px;
    height: 7px;
    background: rgba(3, 8, 5, 0.72);
    box-shadow: -10px 1px 0 rgba(3, 8, 5, 0.62), 10px 1px 0 rgba(3, 8, 5, 0.62);
    clip-path: polygon(50% 0, 63% 34%, 100% 50%, 63% 66%, 50% 100%, 37% 66%, 0 50%, 37% 34%);
    transform: translateX(-50%);
}

.cg-papel-picado-piece::after {
    content: "";
    position: absolute;
    top: 3px;
    right: 4px;
    left: 4px;
    height: 3px;
    background: repeating-linear-gradient(90deg, rgba(3, 8, 5, 0.68) 0 4px, transparent 4px 8px);
}

.cg-papel-picado-piece--2 {
    width: 27px;
    height: 31px;
    clip-path: polygon(0 0, 100% 0, 100% 86%, 86% 86%, 86% 100%, 68% 100%, 68% 87%, 50% 100%, 32% 87%, 32% 100%, 14% 100%, 14% 86%, 0 86%);
}

.cg-papel-picado-piece--2::before {
    top: 11px;
    box-shadow: 0 9px 0 rgba(3, 8, 5, 0.62);
}

.cg-papel-picado-piece--3 {
    width: 38px;
    height: 22px;
}

.cg-papel-picado-piece--3::before {
    top: 7px;
    box-shadow: -12px 0 0 rgba(3, 8, 5, 0.62), 12px 0 0 rgba(3, 8, 5, 0.62);
}

.cg-pixel-confetti-piece {
    position: absolute;
    top: var(--cg-confetti-y);
    left: var(--cg-confetti-x);
    width: 9px;
    height: 9px;
    background: var(--cg-particle-color);
    border: 1px solid rgba(255, 255, 255, 0.66);
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.64);
    opacity: 0;
    animation: cg-pixel-confetti-burst 1050ms steps(10, end) var(--cg-particle-delay) forwards;
}

.cg-pixel-confetti-piece:nth-child(4n + 2) {
    width: 13px;
    height: 6px;
}

.cg-pixel-confetti-piece:nth-child(4n + 3) {
    width: 6px;
    height: 13px;
}

@keyframes cg-papel-picado-fall {
    0% {
        opacity: 0;
        transform: translate3d(0, -12vh, 0) rotate(var(--cg-particle-start-turn)) rotateY(0deg) scale(var(--cg-particle-scale));
    }
    6% { opacity: 1; }
    22% {
        opacity: 1;
        transform: translate3d(var(--cg-particle-sway), 22vh, 0) rotate(12deg) rotateY(38deg) scale(var(--cg-particle-scale));
    }
    44% {
        opacity: 1;
        transform: translate3d(var(--cg-particle-sway-back), 48vh, 0) rotate(-10deg) rotateY(-42deg) scale(var(--cg-particle-scale));
    }
    67% {
        opacity: 1;
        transform: translate3d(var(--cg-particle-mid-drift), 76vh, 0) rotate(9deg) rotateY(34deg) scale(var(--cg-particle-scale));
    }
    88% { opacity: 1; }
    100% {
        opacity: 0;
        transform: translate3d(var(--cg-particle-drift), 118vh, 0) rotate(var(--cg-particle-turn)) rotateY(-28deg) scale(var(--cg-particle-scale));
    }
}

@keyframes cg-pixel-confetti-burst {
    0% {
        opacity: 1;
        transform: translate3d(-50%, -50%, 0) rotate(0);
    }
    72% { opacity: 1; }
    100% {
        opacity: 0;
        transform: translate3d(var(--cg-confetti-dx), var(--cg-confetti-dy), 0) rotate(var(--cg-confetti-turn));
    }
}

@media (max-width: 600px) {
    .cg-patriotic-button {
        right: 6px;
        bottom: 23px;
        width: 54px;
    }

    .cg-patriotic-button::after {
        bottom: -16px;
        padding-right: 2px;
        padding-left: 2px;
        font-size: 8px;
    }
}

@media (max-width: 520px) {
    body.cg-patriotic-mode:not(.cheatguys-info-page):not(.gallery-page)::before {
        background-image:
            linear-gradient(90deg, rgba(0, 104, 71, 0.4), rgba(5, 8, 6, 0.46) 42% 58%, rgba(206, 17, 38, 0.36)),
            url('../assets/backgrounds/mobile/fondo-akane.webp');
    }

    body.cg-patriotic-mode .profile-container,
    body.cg-patriotic-mode .links-container,
    body.cg-patriotic-mode .footer,
    body.cg-patriotic-mode .akanebook-device {
        filter: drop-shadow(-3px 0 0 rgba(0, 104, 71, 0.34)) drop-shadow(3px 0 0 rgba(206, 17, 38, 0.3));
    }

    .cg-papel-picado-piece {
        width: 25px;
        height: 20px;
    }

    .cg-papel-picado-piece--2 {
        width: 22px;
        height: 25px;
    }

    .cg-papel-picado-piece--3 {
        width: 30px;
        height: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cg-patriotic-button::before {
        animation: none;
    }

    .cg-patriotic-button.is-visible {
        opacity: 1;
        transform: none;
        animation: none;
    }

    .cg-patriotic-button.is-leaving {
        animation-duration: 80ms;
    }

    .cg-papel-picado-piece {
        top: 9vh;
        opacity: 0;
        animation: cg-patriotic-particle-reduced var(--cg-particle-duration) ease-out forwards;
    }

    .cg-pixel-confetti-piece {
        animation: cg-patriotic-particle-reduced 520ms ease-out forwards;
    }
}

@keyframes cg-patriotic-particle-reduced {
    0% { opacity: 0; }
    30% { opacity: 0.9; }
    100% { opacity: 0; }
}

@keyframes cmdBlockLineIn {
    0% {
        opacity: 0;
        clip-path: inset(0 100% 0 0);
        transform: translateX(-6px);
        filter: brightness(1.6);
    }

    62% {
        opacity: 1;
        clip-path: inset(0 14% 0 0);
    }

    100% {
        opacity: 1;
        clip-path: inset(0 0 0 0);
        transform: translateX(0);
        filter: none;
    }
}

@keyframes cmdBlockScan {
    0% { opacity: 0; transform: translateX(-18%); }
    42% { opacity: 1; }
    100% { opacity: 0; transform: translateX(18%); }
}

@keyframes cmdManualLineIn {
    from {
        clip-path: inset(0 100% 0 0);
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        clip-path: inset(0 0 0 0);
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes cmdManualGlyphIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
