* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --bg: #0f1115;
    --text: #d9dce0;
    --card: #171a21;
    --card_shadow: rgba(255, 255, 255, 0.075);

    --arrow: white;
    --arrow_bg: #171a21;
    --toggle: white;
    --toggle_bg: #171a21;
    --header_1: white;
    --header_2: white;
    --header_3: white;
    --tools_txt: #d9dce0;
    --tools_bg: white;
    --interests_txt: white;
    
    --contact_input: #d9dce0;
    --contact_txt_area: #d9dce0;
    --contact_input_ph: black;
    --contact_txt_area_ph: black;
    --contact_btn_txt: rgb(0, 0, 0);
    --contact_btn: rgb(137, 255, 196);

    --exp_year: #d9dce0;
    --exp_exp: rgb(94, 244, 169);
    --exp_company: #d9dce0;

    --invert_flag: 1;
}

html {
    overflow-x: hidden;
}

body {
    font-family: Georgia, serif;
    background: var(--bg);
    color: var(--text);
    line-height: 1.7;
    overflow-x: hidden;
}

body.light {
    --bg: #f5f7fb;
    --text: #1a1d21;
    --card: #ffffff;
    --card_shadow: rgba(0, 0, 0, 0.2);
    
    --arrow: black;
    --arrow_bg: white;
    --toggle: #171a21;
    --toggle_bg: white;
    --header_1: white;
    --header_2: white;
    --header_3: black;
    --tools_txt: black;
    --tools_bg: transparent;
    --interests_txt: black;

    --contact_input: #d8e5fe;
    --contact_txt_area: #d8e5fe;
    --contact_input_ph: black;
    --contact_txt_area_ph: black;
    --contact_btn_txt: black;
    --contact_btn: rgb(106, 255, 180);

    --exp_year: #262728;
    --exp_exp: rgb(24, 185, 105);
    --exp_company: #262728;

    --invert_flag: 0;
}

ul {
    margin-top: 0px;
}

/* TOGGLE */
.toggle {
    position: fixed;
    top: 22px;
    right: 22px;
    color: var(--toggle);
    background: var(--toggle_bg);
    padding: 8px 14px;
    border-radius: 20px;
    cursor: pointer;
    z-index: 40;
    font-size: 0.9rem;
    box-shadow: 0 8px 14px var(--card_shadow);
    transition: all 0.25s ease;
}

.toggle:hover {
    transform: translateY(3px);
    cursor: pointer;
    box-shadow: 0 10px 12px var(--card_shadow);
}

/* SCROLL TO TOP */
.scroll-top {
    position: fixed;
    bottom: 24px;
    right: 28px;
    /* increased offset */
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--arrow_bg);
    color: var(--arrow);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.25s ease;
    box-shadow: 0 6px 18px var(--card_shadow);
    z-index: 50;
}

.scroll-top.visible {
    opacity: 0.95;
    transform: translateY(0);
}

.scroll-top:hover {
    box-shadow: 0 12px 20px var(--card_shadow);
    transform: translateY(-3px);
}

#inverted {
    filter: invert(var(--invert_flag));
}

/* MOBILE POLISH */
@media (max-width:600px) {
    .scroll-top {
        right: 20px;
        bottom: 20px;
    }
}
