:root {
    --background: #fefefe;
    --foreground: #444;

    --dark: #666;
    --light: #ddd;

    --accent-1: #cc56ed;
    --accent-2: #cced56;
    --accent-3: #ed56cc;
    --accent-4: #edcc56;
    --accent-5: #56cced;
    --accent-6: #56edcc;

    --transparent: rgba(0, 0, 0, 0);

    --on: green;
    --off: var(--light);
    --error: red;

    --shadow: rgba(0, 0, 0, .25);

    --tooltip-color: var(--dark);

    --switch-color: #29DABA;
    --switch-pattern: repeating-linear-gradient(45deg,
            var(--switch-color) 0,
            var(--switch-color) 1px,
            var(--background) 0,
            var(--background) 50%);

    --ap-color: #6398AC;
    --ap-pattern: repeating-linear-gradient(90deg,
            var(--ap-color) 0,
            var(--ap-color) 1px,
            var(--background) 0,
            var(--background) 50%);

    --wlc-color: #FFB742;
    --wlc-pattern: repeating-linear-gradient(135deg,
            var(--wlc-color) 0,
            var(--wlc-color) 1px,
            var(--background) 0,
            var(--background) 50%);

    --router-color: #9FB18E;
    --router-pattern: repeating-linear-gradient(45deg,
            var(--router-color) 0,
            var(--router-color) 1px,
            var(--background) 0,
            var(--background) 50%);

    --client-color: #B0BBFF;
    --client-pattern: repeating-linear-gradient(45deg,
            var(--client-color) 0,
            var(--client-color) 1px,
            var(--background) 0,
            var(--background) 50%);

    --sans-font: "IBM Plex Sans", sans-serif;
    --mono-font: "IBM Plex Mono", monospace;
    --barcode-font: "Libre Barcode 128 Text", system-ui;

    --body-font-family: var(--sans-font);

    --page-title-color: var(--foreground);
    --page-title-font-family: var(--sans-font);
    --page-title-font-size: 24px;
    --page-title-font-weight: 500;
    --page-title-letter-spacing: .02rem;

    --page-title-detail-color: var(--dark);
    --page-title-detail-font-family: var(--mono-font);
    --page-title-detail-font-size: 12px;
    --page-title-detail-font-weight: 200;
    --page-title-detail-letter-spacing: .02rem;

    --page-title-2-color: var(--foreground);
    --page-title-2-font-family: var(--sans-font);
    --page-title-2-font-size: 16px;
    --page-title-2-font-weight: 200;
    --page-title-2-letter-spacing: .02rem;
}

* {
    box-sizing: border-box;
}

html,
body {
    border: 0;
    margin: 0;
    min-height: 100vh;
    padding: 0;
}

body {
    background: var(--background);
    color: var(--foreground);
    font-family: var(--body-font-family);
    font-size: 16px;
    line-height: 1.5;
}

a {
    color: var(--accent-1);
}

code {
    font-family: var(--mono-font);
    font-size: 14px;
}

dl,
dt,
dd {
    overflow-wrap: break-word;
    word-break: break-word;
}

dt {
    font-weight: 500;
}