/* ========================================
   ATK Builder - Base Styles
   ======================================== */

/* Global reset */
body, html {
    max-width: 100%;
    margin: 0;
    scroll-behavior: smooth;
    line-height: inherit;
}

.atk {
    box-sizing: border-box;
}


/* Universal reset */
:where(.atk) * {
    box-sizing: inherit;
    font-family: inherit;
    margin: 0;
    padding: 0;
}

:where(.atk) *:focus-visible {
    outline: none;
    outline-offset: 0;
}

/* Typography elements */
:where(.atk) h1, :where(.atk) h2, :where(.atk) h3, :where(.atk) h4, :where(.atk) h5, :where(.atk) h6,
:where(.atk) p, :where(.atk) blockquote, :where(.atk) dd, :where(.atk) dl, 
:where(.atk) figure, :where(.atk) hr, :where(.atk) pre {
    color: inherit;
    vertical-align: baseline;
    white-space: pre-wrap;
    font-weight: inherit;
    font-size: inherit;
    font-style: inherit;
    line-height: inherit;
    font-family: inherit;
    letter-spacing: inherit;
}

/* List elements */
:where(.atk) ul, :where(.atk) ol, :where(.atk) li {
    margin: 0;
    padding: 0;
    list-style: none;
    margin-block-start: 0;
    margin-block-end: 0;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    vertical-align: baseline;
}

/* Links */
:where(.atk) a {
    color: inherit;
    text-decoration: inherit;
}

/* Form elements */
:where(.atk) button,
:where(.atk) input,
:where(.atk) textarea,
:where(.atk) select,
:where(.atk) optgroup {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    text-transform: none;
}

/* Button Resets */
:where(.atk) [type="button"],
:where(.atk) [type="reset"],
:where(.atk) [type="submit"],
:where(.atk) button {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none;
    cursor: pointer;
}

:where(.atk) [role="button"] {
    cursor: pointer;
}

:where(.atk) :disabled {
    cursor: default;
}

:where(.atk) textarea {
    resize: vertical;
}

:where(.atk) fieldset {
    margin: 0;
    padding: 0;
}

:where(.atk) legend {
    padding: 0;
}

/* Placeholder styles */
:where(.atk) input::placeholder,
:where(.atk) textarea::placeholder {
    color: #9ca3af;
    opacity: 1;
}

/* Media elements */
:where(.atk) img,
:where(.atk) video,
:where(.atk) audio,
:where(.atk) canvas,
:where(.atk) embed,
:where(.atk) iframe,
:where(.atk) object,
:where(.atk) svg {
    display: block;
    vertical-align: middle;
    max-width: 100%;
    height: auto;
    border: none;
}

/* Table elements */
:where(.atk) table {
    border-collapse: collapse;
    border-color: inherit;
    text-indent: 0;
}

/* Browser-specific resets */
:where(.atk) :-moz-focusring { outline: auto; }
:where(.atk) :-moz-ui-invalid { box-shadow: none; }
:where(.atk) progress { vertical-align: baseline; }
:where(.atk) ::-webkit-inner-spin-button, 
:where(.atk) ::-webkit-outer-spin-button { height: auto; }
:where(.atk) [type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
:where(.atk) ::-webkit-search-decoration { -webkit-appearance: none; }
:where(.atk) ::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
:where(.atk) summary { display: list-item; }
:where(.atk) [hidden] { display: none; }