@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('/fonts/inter-latin.woff2') format('woff2');
}

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

html {
    height: 100%;
    overflow: hidden;
}

body {
    height: 100%;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    overflow-y: auto;
    overflow-x: hidden;
    font-weight: 400;
}

::selection {
    background-color: #33006e;
    color: white;
}

:root[data-theme='dark'] {
    --bg-page: #1a1a1a;
    --bg-topbar: #212121;
    --bg-sidebar: #212121;
    --bg-feed: #1a1a1a;
    --bg-card: #232323;
    --bg-card-hover: #2a2a2a;
    --bg-detail: #1a1a1a;
    --bg-detail-card: #232323;
    --bg-detail-card-hover: #2a2a2a;
    --bg-input: #232323;
    --bg-badge: #2d2d2d;
    --bg-resume: #1e1e2a;
    --bg-row-hover: #444444;
    --bg-row-selected: #2a2535;
    --bg-empty: #1e1e1e;
    --bg-primary: #1a1a1a;
    --bg-secondary: #232323;
    --bg-tertiary: #000000;
    --bg-accent: #2d2d2d;
    --bg-hover: #353535;

    --border-primary: #2e2e2e;
    --border-secondary: #3e3e3e;
    --border-color: #2e2e2e;
    --border-active: #4a4a4a;
    --border-selected: #9575cd;
    --border-resume: #2e2e40;

    --text-primary: #ffffff;
    --text-secondary: #b7b7b7;
    --text-tertiary: #878787;
    --text-muted: #5f5f5f;
    --text-link: #9575cd;
    --text-owner: #707070;

    --accent-purple: #9575cd;
    --accent-purple-hover: #7e57c2;
    --accent-purple-subtle: rgba(149, 117, 205, 0.08);
    --accent-green: #007500;
    --accent-green-hover: #00a000;
    --accent-blue: #0066cc;
    --accent-blue-hover: #3399ff;
    --color-error: #e53935;
    --color-accent: #9575cd;

    --commit-add: #2ea043;
    --commit-del: #da3633;
    --commit-mod: #3399ff;

    --tag-owned-bg: rgba(149, 117, 205, 0.10);
    --tag-owned-text: #9575cd;
    --tag-shared-bg: rgba(0, 102, 204, 0.10);
    --tag-shared-text: #5599dd;

    --scrollbar-thumb: #3a3a3a;
    --scrollbar-thumb-hover: #525252;

    --notif-warning-bg: #f9a825;
    --notif-warning-text: #1a1a1a;
    --notif-critical-bg: #d32f2f;
    --notif-critical-text: #fff;
    --notif-alert-bg: #ef6c00;
    --notif-alert-text: #fff;
    --notif-account-bg: #26534e;
    --notif-account-text: #80cbc4;
    --notif-auth-bg: #3d2e5c;
    --notif-auth-text: #b39ddb;
}

:root[data-theme='light'] {
    --bg-page: #f7f7f7;
    --bg-topbar: #fff;
    --bg-sidebar: #fff;
    --bg-feed: #f3f3f3;
    --bg-card: #fff;
    --bg-card-hover: #fafafa;
    --bg-detail: #fff;
    --bg-detail-card: #f8f8f8;
    --bg-detail-card-hover: #f2f2f2;
    --bg-input: #eee;
    --bg-badge: #eee;
    --bg-resume: #f0f0ff;
    --bg-row-hover: #e7e7e7;
    --bg-row-selected: #f3f0ff;
    --bg-empty: #fafafa;
    --bg-primary: #ffffff;
    --bg-secondary: #e8e8e8;
    --bg-tertiary: #ffffff;
    --bg-accent: #cfcfcf;
    --bg-hover: #c8c8c8;

    --border-primary: #dddddd;
    --border-secondary: #c0c0c0;
    --border-color: #c7c7c7;
    --border-active: #ccc;
    --border-selected: #7e57c2;
    --border-resume: #d8d8f0;

    --text-primary: #3c3c3c;
    --text-secondary: #4c4c4c;
    --text-tertiary: #6c6c6c;
    --text-muted: #999;
    --text-link: #7e57c2;
    --text-owner: #888;

    --accent-purple: #7e57c2;
    --accent-purple-hover: #6a3fb5;
    --accent-purple-subtle: rgba(126, 87, 194, 0.06);
    --accent-green: #007500;
    --accent-green-hover: #00a000;
    --accent-blue: #0066cc;
    --accent-blue-hover: #0055aa;
    --color-error: #cf222e;
    --color-accent: #7e57c2;

    --commit-add: #1a7f37;
    --commit-del: #cf222e;
    --commit-mod: #0066cc;

    --tag-owned-bg: rgba(126, 87, 194, 0.08);
    --tag-owned-text: #7e57c2;
    --tag-shared-bg: rgba(0, 102, 204, 0.08);
    --tag-shared-text: #0066cc;

    --scrollbar-thumb: #d0d0d0;
    --scrollbar-thumb-hover: #aaa;

    --notif-warning-bg: #fff3e0;
    --notif-warning-text: #e65100;
    --notif-critical-bg: #ffebee;
    --notif-critical-text: #c62828;
    --notif-alert-bg: #fff3e0;
    --notif-alert-text: #e65100;
    --notif-account-bg: #e0f2f1;
    --notif-account-text: #00695c;
    --notif-auth-bg: #ede7f6;
    --notif-auth-text: #5e35b1;
}

/*
   Responsive breakpoints (convention — keep all @media queries on these values):
     900px  – "tablet":       list-pane hides, bottom-sheet appears, card
                              grids reflow, layouts go single-column
     700px  – "mobile":       search collapses to icon, remaining tweaks
     500px  – "small mobile": card grids collapse to single column
*/

:root {
    --detail-content-max-width: 960px;
    --detail-sidebar-width: 280px;
}

::-webkit-scrollbar {
    width: 10px;
    height: 5px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: var(--scrollbar-thumb);
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--scrollbar-thumb-hover);
}

body {
    background: var(--bg-page);
    color: var(--text-primary);
    display: flex;
    flex-direction: column;
}

a {
    color: inherit;
    text-decoration: none;
}

/* Embed mode — hide chrome when page is loaded inside an iframe */
[data-embed] .topbar { display: none; }
[data-embed] .site-banner { display: none; }
[data-embed] .breadcrumb { display: none; }
