* {
    font-family: "Inter", sans-serif;
    font-weight: 300;
}

/* =====================================================
   WIRELAB — TYPOGRAPHY
===================================================== */
h1 {
    font-size: 32px;
    font-weight: 300;}
h2 {
    font-size: 25px;
    font-weight: 300;}
h3 {
    font-size: 20px;
    font-weight: 300;}
body {
    font-size: 14px;
    font-weight: 300;}




/* =====================================================
   1 WIRELAB — LIGHT MINT
   Graphite / Slate / Electric Teal
===================================================== */
:root,
[data-theme="light-mint"] {
    /* BACKGROUNDS */
    --wire-bg: rgb(18, 18, 18);
    --wire-surface: rgb(22, 27, 32);
    --wire-card: rgb(28, 34, 40);
    --wire-popup-window-bg: rgba(25, 31, 37, 0.98);

    /* TEXT */
    --wire-text: rgb(205, 214, 220);
    --wire-text2: rgb(66, 199, 181);
    --wire-text3: rgb(139, 151, 160);
   
    /* BORDERS */
    --wire-border:  rgb(66, 199, 181);
    --wire-border2: rgb(28, 95, 86);
    --wire-border3: rgb(49, 59, 67);

    /* INTERACTIONS */
    --wire-hover-surface: rgb(37, 48, 54);
    --wire-hover: rgba(66, 199, 181, 0.09);
    --wire-hover2: rgba(66, 199, 181, 0.09);
    --wire-active: rgba(66, 199, 181, 0.15);

    /* ACCENT */
    --wire-accent: rgb(66, 199, 181);
    --wire-accent2: rgb(111, 224, 207);

    /* SHADOWS */
    --wire-shadow: rgba(0, 0, 0, 0.35);
    --wire-shadow2: rgba(0, 0, 0, 0.55);

    /* STATUS COLORS */
    --wire-success: rgb(104, 190, 143);
    --wire-warning: rgb(224, 178, 94);
    --wire-danger: rgb(220, 105, 111);
}






/* =====================================================
   2 LIGHT THEME — WARM ALLOY
===================================================== */
[data-theme="light"] {

    /* BACKGROUNDS — layered depth */
    --wire-bg: rgb(183, 176, 167);
    --wire-surface: rgb(215, 209, 200);
    --wire-card: rgb(220, 217, 211);
    --wire-popup-window-bg: rgba(207, 198, 181, 0.98);

    /* TEXT */
    --wire-text: rgb(0, 0, 0);
    --wire-text2: rgb(136, 101, 30);
    --wire-text3: rgb(31, 29, 29);
    
    /* BORDERS */
    --wire-border: rgb(163, 136, 80);
    --wire-border2: rgb(151, 118, 51);

    /* INTERACTIONS */
    --wire-hover-surface: rgba(146, 94, 57, 0.09);
    --wire-hover: rgb(207, 197, 179);
    --wire-hover2: rgb(207, 197, 179);
    --wire-active: rgba(146, 94, 57, 0.15);

    /* ACCENT */
    --wire-accent: rgb(146, 94, 57);
    --wire-accent2: rgb(117, 72, 43);

    /* DEPTH */
    --wire-shadow: rgba(43, 37, 28, 0.16);
    --wire-shadow2: rgba(43, 37, 28, 0.28);

    /* STATUS COLORS */
    --wire-success: rgb(57, 111, 75);
    --wire-warning: rgb(143, 94, 38);
    --wire-danger: rgb(160, 64, 58);
}







/* =====================================================
   3 WIRELAB — NEON ROYAL
   Graphite / Purple / Blue / Magenta
===================================================== */

[data-theme="neon-royal"] {

    /* BACKGROUNDS */
    --wire-bg: rgb(16, 16, 20);
    --wire-surface: rgba(27, 27, 36, 0.78);
    --wire-card: rgba(34, 33, 46, 0.68);
    --wire-popup-window-bg: rgba(24, 24, 34, 0.88);

    /* TEXT */
    --wire-text: rgb(223, 223, 232);
    --wire-text2: rgb(190, 103, 191);
    --wire-text3: rgb(235, 100, 125);

    /* BORDERS */
    --wire-border: rgba(160, 130, 190, 0.22);
    --wire-border2: rgba(190, 103, 191, 0.65);

    /* INTERACTIONS */
    --wire-hover-surface: rgba(91, 79, 130, 0.28);
    --wire-hover: rgba(85, 115, 205, 0.14);
    --wire-hover2: rgba(190, 103, 191, 0.10);
    --wire-active: rgba(190, 103, 191, 0.18);

    /* ACCENTS */
    --wire-accent: rgb(190, 103, 191);
    --wire-accent2: rgb(207, 132, 207);

    /* SHADOWS */
    --wire-shadow: rgba(0, 0, 0, 0.35);
    --wire-shadow2: rgba(0, 0, 0, 0.60);

    /* STATUS COLORS */
    --wire-success: rgb(104, 190, 143);
    --wire-warning: rgb(224, 178, 94);
    --wire-danger: rgb(220, 105, 111);
}


/* =====================================================
   4 WIRELAB — TESTING
===================================================== */
[data-theme="testing"] {
    
    /* BACKGROUNDS */
    --wire-bg: rgb(2, 5, 1);
    --wire-surface: rgb(22, 27, 32);
    --wire-card: rgb(28, 34, 40);
    --wire-popup-window-bg: rgba(25, 31, 37, 0.98);

    /* TEXT */
    --wire-text: rgb(205, 214, 220);
    --wire-text2: rgb(66, 199, 181);
    --wire-text3: rgb(225, 27, 27);
   

    /* BORDERS */
    --wire-border: rgb(17, 122, 45);
    --wire-border2: rgb(66, 199, 181);

    /* INTERACTIONS */
    --wire-hover-surface: rgb(37, 48, 54);
    --wire-hover: rgb(37, 48, 54);
    --wire-hover2: rgba(66, 199, 181, 0.09);
    --wire-active: rgba(66, 199, 181, 0.15);

    /* ACCENT */
    --wire-accent: rgb(66, 199, 181);
    --wire-accent2: rgb(111, 224, 207);

    /* SHADOWS */
    --wire-shadow: rgba(0, 0, 0, 0.35);
    --wire-shadow2: rgba(0, 0, 0, 0.55);

    /* STATUS COLORS */
    --wire-success: rgb(104, 190, 143);
    --wire-warning: rgb(224, 178, 94);
    --wire-danger: rgb(220, 105, 111);
}

























/* =====================================================
   WIRELAB — GLOBAL NAVIGATION
===================================================== */
*,
*::before,
*::after {
    box-sizing: border-box;
}

img {
    display: block;
    max-width: 100%;
}


/* =====================================================
   GLOBAL BODY
===================================================== */
body {
    margin: 0;
    padding-top: 50px;
    overflow-y: scroll; /* this fixed the shifting pages */
    background-color: var(--wire-bg);
    background-image: none;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    color: var(--wire-text);
}


/* =====================================================
   GLOBAL CONTENT CONTAINERS - consistent outer boundary?
===================================================== */
main,
.page-width {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
}

/* =====================================================
  SITE HEADER
===================================================== */
.site-header {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 0px 0;
    background: transparent;
    pointer-events: none;
    filter: drop-shadow(0 0 5px var(--wire-shadow));
}







/* =====================================================
   NAVBAR PROFILE AVATAR
===================================================== */
.nav-pro-avatar-frame {
    width: 29px;
    height: 29px;
    transform: translate(-1px, 1px);
    margin-left: 13px;
    margin-right: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
}

.nav-pro-avatar-frame:hover {
    background: var(--wire-hover-surface);
    border-color: var(--wire-accent);
    border-radius: 4px;
}

.wirelab-stencil-logo img {
    width: 62px;
    height: 62px;
    object-fit: contain;
    margin-left: 7px;
    margin-bottom: 0;
    opacity: 0.5;
    transition: opacity 0.2s ease;
    transform: translate(-3px, 1px);
}

.wirelab-stencil-logo:hover img {
    opacity: 1;
}

@media (max-width: 600px) {
    .wirelab-stencil-logo img {
        width: 30px;
        height: 30px;
    }
}





/* =====================================================
   NAV BUTTONS
===================================================== */
.nav-button {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    min-width: 44px;
    height: 24px;

    padding: 0 8px;

    color: var(--wire-text-muted);
    text-decoration: none;

    font-size: 10px;
    letter-spacing: 0.8px;

    white-space: nowrap;
    text-align: center;

    background: transparent;

    border: 1px solid transparent;
    border-radius: 4px;

    cursor: pointer;

    transition:
        color 0.15s ease,
        background 0.15s ease,
        border-color 0.15s ease;
}


/* =====================================================
   NAV BUTTONS HOVER
===================================================== */
.nav-button:hover {
    color: var(--wire-text-dim);
    background: var(--wire-hover-surface);
    border-color: var(--wire-border-accent);
}

/* =====================================================
   NAV BUTTONS ACTIVE
===================================================== */
.nav-button.active {
    color: var(--wire-text-dim);
    background: var(--nav-button-active);
    border-color: var(--wire-accent);
}




/* =====================================================
   CENTER NAVIGATION ON THE PAGE
===================================================== */
.site-navigation {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
}





/* =====================================================
   NAV SEPARATOR
===================================================== */
.nav-button:not(:last-child)::before {
    display: none;
}



/* =====================================================
   NAVBAR
===================================================== */
.navbar {
    width: 100%;
    max-width: none;
    height: 34px;
    min-width: 0;

    margin: 0 auto;
    padding: 0 9px;

    display: flex;
    align-items: center;

    position: relative;
    

    border-bottom: 1px solid var(--wire-accent);
    background: var(--wire-bg);

    pointer-events: auto;
    overflow: visible;
}


/* =====================================================
   NAV MENU BUTTON
===================================================== */

.nav-menu-button {
    min-width: 20px;
    width: 20px;
    height: 20px;

    padding: 0;

    border: 1px solid var(--wire-border);
    border-radius: 4px;

    color: var(--wire-text-muted);

    font-size: 16px;
    line-height: 0;

    cursor: pointer;

    transform: translateX(-4px);
}




/* =====================================================
   NAV MENU CONTAINER
===================================================== */
.nav-menu-container {
    position: relative;
    display: flex;
    align-items: center;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
}


/* =====================================================
   NAV MENU PANEL
===================================================== */

.nav-menu-panel {
    position: absolute;

    top: calc(100% + 8px);
    left: 0;

    display: none;
    flex-direction: column;

    min-width: 180px;
    padding: 8px;

    background: var(--wire-popup-window-bg);

    border-radius: 5px;

    box-shadow: 0 2px 10px var(--wire-shadow-deep);

    z-index: 1000;
}

.nav-menu-panel.open {
    display: flex;
}

/* =====================================================
   NAV MENU PANEL LOCK
===================================================== */

.nav-menu-lock {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    font-family: inherit;
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.nav-menu-lock:hover {
    color: var(--wire-text-dim);
    border-color: var(--wire-border-accent);
    background: var(--wire-hover-surface);
}

.nav-menu-lock.locked {
    color: var(--wire-text-dim);
    background: var(--wire-hover-surface);
    border-color: var(--wire-border-accent);
}


/* =====================================================
   NAV MENU PANEL ITEMS
===================================================== */

.nav-menu-item {
    display: block;

    padding: 10px 12px;

    color: var(--wire-text);
    text-decoration: none;

    font-size: 12px;
    font-weight: 300;

    border: 1px solid transparent;
    border-radius: 2px;

    white-space: nowrap;
}

.nav-menu-item:hover {
    color: var(--wire-text-dim);
    border-color: var(--wire-border-accent);
    background: var(--wire-hover-surface);
}












/* =====================================================
SETTINGS MENU BUTTON
===================================================== */
.settings-menu-button {
    width: 25px;
    height: 25px;
    margin-left: 2px;
    margin-right: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    color: var(--wire-text);
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
}

.settings-menu-button:hover {
     background-color: var(--wire-hover-surface);
}


/* - - SETTINGS MENU - - */
.settings-menu-button-container {
    position: absolute;
    right: 9px;
    display: flex;
    align-items: center;
}

.settings-menu-button-panel {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    display: none;
    flex-direction: column;
    min-width: 180px;
    padding: 8px;
    background: var(--wire-popup-window-bg);
    border-radius: 2px;
    box-shadow: 0 2px 10px var(--wire-shadow-deep);
    z-index: 1000;
}


/* =====================================================
   NAV SETTINGS MENU — THEME SELECTION BUTTONS
===================================================== */

.settings-theme-options {
    display: flex;
    flex-direction: row;
    gap: 6px;
    padding: 8px;
    border-bottom: 1px solid var(--wire-border);
}




/* THEME SELECTION SECTION */
.settings-theme-options {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px;
    border-bottom: 1px solid var(--wire-border);
}

/* THEME BUTTONS */
.settings-theme-options button {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 9px 10px;

    background: var(--wire-surface);
    color: var(--wire-text);
    border: 1px solid var(--wire-border);
    border-radius: 5px;

    font-family: inherit;
    font-size: 13px;
    font-weight: 300;
    text-align: left;
    cursor: pointer;
}

/* HOVER */
.settings-theme-options button:hover {
    background: var(--wire-hover-surface);
    border-color: var(--wire-border2);
    color: var(--wire-accent);
}

/* CLICK */
.settings-theme-options button:active {
    background: var(--wire-active);
}

/* KEYBOARD ACCESSIBILITY */
.settings-theme-options button:focus-visible {
    outline: 2px solid var(--wire-accent);
    outline-offset: 2px;
}


/* HOVER */
.settings-theme-options button:hover {
    background: var(--wire-hover-surface);
    border-color: var(--wire-border2);
    color: var(--wire-accent);
}

/* CLICK */
.settings-theme-options button:active {
    background: var(--wire-active);
}

/* KEYBOARD ACCESSIBILITY */
.settings-theme-options button:focus-visible {
    outline: 2px solid var(--wire-accent);
    outline-offset: 2px;
}








.settings-menu-button-panel.open {
    display: flex;
}

.settings-menu-button-item {
    display: block;
    padding: 10px 12px;
    color: var(--wire-text);
    text-decoration: none;
    font-size: 12px;
    font-weight: 300;
    border: 1px solid transparent;
    border-radius: 5px;
}

.settings-menu-button-item:hover {
    color: var(--wire-text-dim);
    border-color: var(--wire-border-accent);
    background: var(--wire-hover-surface);
}

/* =====================================================
   SETTINGS MENU LOCK
===================================================== */

.settings-menu-lock {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    font-family: inherit;
    font-weight: 300;
    text-align: left;
    background: transparent;
    cursor: pointer;
}

.settings-menu-lock.locked {
    color: var(--wire-text-dim);
    background: var(--wire-hover-surface);
    border-color: var(--wire-border-accent);
}


/* =====================================================
   THEME TOGGLE
===================================================== */
.theme-toggle-button {
    width: 20px;
    height: 20px;
    margin-left: 5px;
    margin-right: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: transparent;
    color: var(--wire-accent-bright);
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
    border: none;
    border-radius: 5px;
    position: absolute;
    right: 39px;
}

.theme-toggle-button:hover {
    background: var(--wire-hover-surface);
   
}









