/* ============================================================================
   reset.css — base reset + element defaults.
   Mirrors the dankstocks reset so the two apps render baseline elements
   identically.
   ============================================================================ */

*, *::before, *::after { box-sizing: border-box; text-rendering: optimizeLegibility; margin: 0; padding: 0; }

html {
    height: 100%;
    font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-size: 14px;
}
body {
    font-size: 14px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Vertical alignment */
progress, sub, sup { vertical-align: baseline; }
audio, canvas, iframe, img, picture, svg, video { vertical-align: middle; }
img, picture, video, canvas, svg { display: block; max-width: 100%; }

/* Typography */
b, strong { font-weight: bold; }
code, kbd, samp { font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace; font-size: 1em; }
pre { white-space: pre-wrap; word-wrap: break-word; font-size: 12px; font-family: Consolas, sans-serif; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; }
sub { bottom: -.25em; }
sup { top: -.5em; }
p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }

/* Forms & controls */
button, input, optgroup, select, textarea { font: inherit; border: none; line-height: 1.15; }
[type=button], [type=reset], [type=submit], button { -webkit-appearance: button; }
[type=search] { -webkit-appearance: textfield; outline-offset: -2px; }
input[type=number] { -moz-appearance: textfield; }
::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }
input::-webkit-inner-spin-button, input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
input:focus::-webkit-input-placeholder,
input:focus::-moz-placeholder,
[placeholder]:focus::-webkit-input-placeholder { color: transparent !important; }

/* Interactive */
a { text-decoration: none; outline: none; color: inherit; }
a[href], input[type='submit'], input[type='image'], label[for], select, button, .pointer { cursor: pointer; }
button { background: none; }

/* Structural elements */
article, aside, details, figcaption, figure, footer, hgroup, menu, nav, section { display: block; }
ol, ul { list-style: none; }
summary { display: list-item; }
fieldset { border: 0; }
legend { padding: 0; }
textarea { resize: vertical; }

/* Tables */
table { border-collapse: collapse; border-spacing: 0; border-color: currentcolor; }

/* Scrollbars */
::-webkit-scrollbar-track { background-color: #fff; }
::-webkit-scrollbar-thumb { background-color: #888; }
::-webkit-scrollbar-thumb:hover { background-color: #666; }
