:root {
    --m-bg: #020502;
    --m-bg-soft: #061008;
    --m-panel: rgba(7, 19, 9, 0.92);
    --m-panel-2: rgba(11, 27, 14, 0.96);
    --m-border: #24512f;
    --m-border-bright: #39a653;
    --m-text: #a6f7a6;
    --m-text-bright: #caffca;
    --m-muted: #70ad75;
    --m-accent: #62ff7d;
    --m-accent-2: #31d85a;
    --m-danger: #ff7777;
    --m-warning: #d8c96b;
    --m-font: "Lucida Console", "Courier New", Courier, monospace;
}

html {
    min-height: 100%;
    background: #020502 !important;
}

body {
    min-height: 100vh;
    color: var(--m-text) !important;
    font-family: var(--m-font) !important;
    letter-spacing: 0.01em;
    text-shadow: 0 0 7px rgba(98, 255, 125, 0.10);
    background:
        radial-gradient(ellipse at 50% 35%, rgba(55, 145, 72, 0.15) 0%, rgba(17, 48, 23, 0.08) 38%, rgba(2, 5, 2, 0.88) 78%),
        linear-gradient(180deg, #030803 0%, #020502 100%) !important;
    background-attachment: fixed !important;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 2147483646;
    pointer-events: none;
    background:
        radial-gradient(ellipse at center, transparent 45%, rgba(0, 0, 0, 0.48) 100%),
        repeating-linear-gradient(
            90deg,
            rgba(70, 255, 105, 0.010) 0,
            rgba(70, 255, 105, 0.010) 1px,
            transparent 1px,
            transparent 3px
        );
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    pointer-events: none;
    opacity: 0.11;
    background: repeating-linear-gradient(
        to bottom,
        rgba(125, 255, 145, 0.25) 0,
        rgba(125, 255, 145, 0.25) 1px,
        transparent 1px,
        transparent 4px
    );
}

h1,
h2,
h3,
h4,
strong,
b,
label,
legend {
    color: var(--m-text-bright) !important;
    font-family: var(--m-font) !important;
    letter-spacing: 0.015em;
    text-shadow: 0 0 8px rgba(98, 255, 125, 0.16);
}

button,
input,
textarea,
select,
option,
.button,
.tab-btn,
code,
pre {
    font-family: var(--m-font) !important;
}

a,
a:visited {
    color: var(--m-accent) !important;
}

a:hover {
    color: var(--m-text-bright) !important;
    text-shadow: 0 0 8px rgba(98, 255, 125, 0.35);
}

.card,
.panel,
.box,
.admin-box,
.upload-box,
.profile-events-card,
.report-audio-player,
.skin-preview,
.tab-panel > .card,
[class*="card"],
[class*="panel"] {
    background: linear-gradient(180deg, rgba(9, 25, 12, 0.93), rgba(5, 16, 8, 0.95)) !important;
    border-color: var(--m-border) !important;
    border-radius: 0 !important;
    box-shadow: inset 0 0 24px rgba(45, 150, 65, 0.025), 0 0 16px rgba(20, 100, 40, 0.035);
}

input,
textarea,
select {
    background: var(--m-bg-soft) !important;
    color: var(--m-text-bright) !important;
    border-color: var(--m-border) !important;
    border-radius: 0 !important;
    caret-color: var(--m-accent) !important;
}

input::placeholder,
textarea::placeholder {
    color: var(--m-muted) !important;
    opacity: 1;
}

button,
.button,
input[type="submit"],
input[type="button"] {
    background: #123c1d !important;
    color: var(--m-text-bright) !important;
    border-color: var(--m-border-bright) !important;
    border-radius: 0 !important;
    box-shadow: 0 0 10px rgba(49, 216, 90, 0.10);
}

button:hover,
.button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    background: #1a5729 !important;
    color: #e1ffe1 !important;
    box-shadow: 0 0 15px rgba(98, 255, 125, 0.24);
}

.button-secondary,
button.button-secondary {
    background: #0d2814 !important;
    color: var(--m-text) !important;
    border: 1px solid var(--m-border) !important;
    border-radius: 0 !important;
}

.tab-btn {
    background: #0a190d !important;
    color: var(--m-muted) !important;
    border-color: var(--m-border) !important;
    border-radius: 0 !important;
}

.tab-btn:hover {
    background: #122c19 !important;
    color: var(--m-text-bright) !important;
    border-color: var(--m-border-bright) !important;
}

.tab-btn.active {
    background: #194e27 !important;
    color: #d2ffd2 !important;
    border-color: var(--m-accent-2) !important;
}

.hint,
.muted,
.selected-file,
small,
.skin-empty,
.profile-md-content,
.report-audio-time,
.report-audio-native figcaption,
.online-line,
.quote-block,
.quote-source {
    color: var(--m-muted) !important;
}

.quote-block {
    border-left-color: var(--m-border-bright) !important;
}

.message-success,
.success {
    color: var(--m-accent) !important;
}

.message-error,
.error,
.report-audio-error {
    color: var(--m-danger) !important;
}

.warning {
    color: var(--m-warning) !important;
}

hr {
    border-color: var(--m-border) !important;
}

code,
pre {
    background: #041007 !important;
    color: var(--m-text-bright) !important;
    border-color: var(--m-border) !important;
    border-radius: 0 !important;
}

fieldset,
table,
blockquote,
nav,
header,
footer {
    border-radius: 0 !important;
}

* {
    scrollbar-color: #1e5a2d #020502;
}

::-webkit-scrollbar {
    width: 11px;
    height: 11px;
}

::-webkit-scrollbar-track {
    background: #020502;
}

::-webkit-scrollbar-thumb {
    background: #1e5a2d;
    border: 2px solid #020502;
    border-radius: 0;
}

::-webkit-scrollbar-thumb:hover {
    background: #2c8040;
}

::selection {
    background: #2a6f38;
    color: #e1ffe1;
}
