/* 
*
* ███╗   ██╗██████╗ ██████╗ ███████╗(███╗███╗ 
* ████╗  ██║██╔══██╗██╔══██╗██╔════╝ ══█╣█|)█|
* ██╔██╗ ██║██║  ██║██████╔╝███████╗(███╝███╝ 
* ██║╚██╗██║██║  ██║██╔══██╗╚════██║ 
* ██║ ╚████║██████╔╝██║  ██║███████║ 
* ╚═╝  ╚═══╝╚═════╝ ╚═╝  ╚═╝╚══════╝ 
*     KAMV v2.0.1 (https://ndrs3d.com)
*      2023|2026 © NDRS3D • MIT License
* 
*          ░▒▓ do it even tired ▓▒░
*                  ¯\_(ツ)_/¯
*
* last update: 08.04.2026 
* 
* ———————————
*  N3D RESET
* ——————————— */
                                  
/* =========
   1. RESET
============= */

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    line-height: 1.15;
}

body {
    min-height: 100vh;
    background: var(--n3d-clr-bg-bd);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--n3d-clr-txt-p);
    font-family: system-ui, sans-serif, -apple-system, BlinkMacSystemFont, Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue';
    font-size: inherit;
    line-height: 1.2;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    -webkit-tap-highlight-color: transparent;
}

/* Reset completo de elementos */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, menu, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, nav, output, ruby, section, summary,
time, mark, audio, video, progress, meter,
dialog, template, slot {
    margin: 0;
    padding: 0;
    border: 0;
    text-decoration: none;
}

/* HTML5 display reset */
article, aside, details, figcaption, figure, 
footer, header, hgroup, main, menu, nav, section {
    display: block;
}

html,
body,
.n3d-win-body {
  scrollbar-width: none;
}

/* Esconder Scrollbar */

html::-webkit-scrollbar,
body::-webkit-scrollbar,
.n3d-win-body::-webkit-scrollbar {
  display: none;
}

/* ── Cursor — inverted per theme ── */
[data-theme="skynight"] {
    color-scheme: dark;
}

[data-theme="sunrise"] {
    color-scheme: light;
}

/* ========
   2. TYPO
============ */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    color: var(--n3d-clr-txt-p);
    margin-bottom: 5px;
    text-decoration: none;
}

h1 { font-size: 40px; }
h2 { font-size: 32px; }
h3 { font-size: 28px; }
h4 { font-size: 24px; }
h5 { font-size: 20px; }
h6 { font-size: 16px; }

p {
    margin-bottom: 10px;
    cursor: default;
}

a {
    color: var(--lightstone, #0066cc);
    text-decoration: none;
    background-color: transparent;
}

a:hover, a:focus {
    text-decoration: none;
}

blockquote, q {
    quotes: none;
}

blockquote::before, blockquote::after,
q::before, q::after {
    content: '';
    content: none;
}

ol, ul {
    list-style: none;
}

/* =========
   3. FORMS
============ */

input, button, textarea, select, optgroup {
    font-family: inherit;
    font-size: 100%;
    line-height: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
    outline: none;
    border: none;
}

input, textarea, select {
    width: 100%;
    background-color: transparent;
}

button, [type="button"], [type="reset"], [type="submit"] {
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    font: inherit;
    color: inherit;
    line-height: normal;
}

button:disabled, [disabled] {
    cursor: not-allowed;
    opacity: 0.6;
}

/* Remove number input spinners */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

/* Remove search input styling */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance: none;
}

textarea {
    overflow: auto;
    resize: vertical;
}

fieldset {
    min-width: 0;
}

legend {
    display: table;
    max-width: 100%;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

/* =========
   4. MEDIA
============ */

img, picture, video, canvas, svg, iframe, embed, object {
    max-width: 100%;
    height: auto;
    display: block;
    vertical-align: middle;
}

img {
    border-style: none;
    -webkit-user-drag: none;
    user-drag: none;
}

svg {
    overflow: hidden;
}

audio, video {
    width: 100%;
}

/* ==========
   5. TABLES
============ */

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}

th {
    text-align: left;
    font-weight: normal;
}

/* =====================
   6. INTERACTIVE ELEM
====================== */

details {
    display: block;
}

summary {
    display: list-item;
    cursor: pointer;
}

summary::-webkit-details-marker {
    display: none;
}

dialog {
    background-color: white;
    border: solid;
    color: black;
    display: block;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: fit-content;
}

dialog:not([open]) {
    display: none;
}

template, [hidden] {
    display: none;
}

/* ================
   7. ACCESIBILITY
================== */

:focus-visible {
    outline: 2px solid var(--focus-color, #4A90E2);
    outline-offset: 2px;
}

:focus:not(:focus-visible) {
    outline: none;
}

[tabindex="-1"]:focus {
    outline: none;
}

/* Screen reader only */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ===============
   8. UTILITIES
================= */

/* Border Radius */
.border-radius-none { border-radius: 0; }
.border-radius-3 { border-radius: 3px; }
.border-radius-5 { border-radius: 5px; }
.border-radius-8 { border-radius: 8px; }
.border-radius-10 { border-radius: 10px; }
.border-radius-12 { border-radius: 12px; }
.border-radius-15 { border-radius: 15px; }
.border-radius-18 { border-radius: 18px; }
.border-radius-20 { border-radius: 20px; }
.border-radius-23 { border-radius: 23px; }
.border-radius-26 { border-radius: 26px; }
.border-radius-30 { border-radius: 30px; }
.border-radius-34 { border-radius: 34px; }
.border-radius-full { border-radius: 50%; }

/* Overflow */
.overflow-hidden { overflow: hidden !important; }
.overflow-x-hidden { overflow-x: hidden !important; }
.overflow-y-hidden { overflow-y: hidden !important; }
.overflow-auto { overflow: auto !important; }
.overflow-x-auto { overflow-x: auto !important; }
.overflow-y-auto { overflow-y: auto !important; }

/* User Select */
.no-select {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default;
}

.select-all {
    -webkit-user-select: all;
    -moz-user-select: all;
    -ms-user-select: all;
    user-select: all;
}

.select-text {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
}

/* no scrollbar */
no-scrollbar {
    scrollbar-width: none;
}

/* Cursor */
.cursor-pointer { cursor: pointer !important; }
.cursor-default { cursor: default !important; }
.cursor-not-allowed { cursor: not-allowed !important; }
.cursor-wait { cursor: wait !important; }
.cursor-move { cursor: move !important; }

/* =============
   9. SCROLLBAR 
================= */

::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

::-webkit-scrollbar-track {
    background: #0a0a0a;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background: #1c1c1e;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--scrollbar-thumb-hover, #38383c);
}

::-webkit-scrollbar-button {
    display: none;
}

::-webkit-scrollbar-corner {
    background: transparent;
}

/* Firefox scrollbar */
* {
    scrollbar-width: thin;
    scrollbar-color: #27272a #0a0a0a;
}

/* ==================
   10. PRINT STYLES
==================== */

@media print {
    *, *::before, *::after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    
    a, a:visited {
        text-decoration: underline;
    }
    
    img {
        max-width: 100% !important;
    }
    
    @page {
        margin: 0.5cm;
    }
}

/* ====================
   11. REDUCED MOTION
====================== */

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}