/* =================================
   TCDEVHUB — TERMOS E PRIVACIDADE
================================= */

* {
    box-sizing: border-box;
}

:root {
    --bg: #0f172a;
    --bg-soft: #111c31;

    --surface: rgba(15, 23, 42, 0.88);
    --surface-soft: rgba(30, 41, 59, 0.38);

    --border: rgba(148, 163, 184, 0.12);
    --border-blue: rgba(59, 130, 246, 0.24);

    --text: #f1f5f9;
    --text-secondary: #94a3b8;
    --text-muted: #64748b;

    --blue: #3b82f6;
    --blue-light: #60a5fa;
    --cyan: #38bdf8;

    --radius: 20px;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-height: 100vh;

    color: var(--text);

    background:
        radial-gradient(
            circle at 10% 0%,
            rgba(59, 130, 246, 0.14),
            transparent 35%
        ),
        radial-gradient(
            circle at 90% 100%,
            rgba(56, 189, 248, 0.08),
            transparent 35%
        ),
        var(--bg);

    font-family:
        "Inter",
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    line-height: 1.75;
}


/* =================================
   LINKS
================================= */

a {
    color: var(--blue-light);

    text-decoration: none;

    transition:
        color 0.2s ease,
        opacity 0.2s ease;
}

a:hover {
    color: #93c5fd;
}


/* =================================
   HEADER
================================= */

header {
    width: min(1100px, calc(100% - 32px));

    margin: 0 auto;

    padding: 26px 0 20px;

    border-bottom:
        1px solid
        var(--border);
}

header::before {
    content: "TCDEVHUB / DOCUMENT";

    display: block;

    margin-bottom: 12px;

    color: var(--cyan);

    font-family:
        "IBM Plex Mono",
        monospace;

    font-size: 8px;
    font-weight: 500;

    letter-spacing: 1.4px;
}

header h1 {
    margin: 0;

    color: #f8fafc;

    font-size:
        clamp(2rem, 5vw, 3rem);

    font-weight: 700;

    line-height: 1.12;

    letter-spacing: -0.045em;
}

header p {
    margin: 12px 0 0;

    color: var(--text-muted);

    font-size: 11px;
}


/* =================================
   CONTEÚDO PRINCIPAL
================================= */

main {
    width: min(900px, calc(100% - 32px));

    margin: 34px auto 65px;
}


/* =================================
   DOCUMENTO
================================= */

main section {
    position: relative;

    overflow: hidden;

    padding: 28px 30px;

    border:
        1px solid
        var(--border);

    border-radius: 17px;

    background:
        linear-gradient(
            145deg,
            rgba(23, 37, 84, 0.72),
            rgba(15, 23, 42, 0.92)
        );

    box-shadow:
        0 18px 50px
        rgba(0, 0, 0, 0.14);
}

main section + section {
    margin-top: 14px;
}


/* Linha azul discreta no topo */

main section::before {
    content: "";

    position: absolute;

    top: 0;
    left: 24px;

    width: 90px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(96, 165, 250, 0.45),
            transparent
        );
}


/* =================================
   TÍTULOS
================================= */

main h2 {
    display: flex;
    align-items: center;

    gap: 11px;

    margin: 0 0 14px;

    color: #f1f5f9;

    font-size: 17px;
    font-weight: 650;

    line-height: 1.35;

    letter-spacing: -0.02em;
}

main h2::before {
    content: "";

    flex-shrink: 0;

    width: 3px;
    height: 20px;

    border-radius: 999px;

    background:
        linear-gradient(
            180deg,
            var(--cyan),
            var(--blue)
        );

    box-shadow:
        0 0 12px
        rgba(59, 130, 246, 0.3);
}


/* =================================
   TEXTOS
================================= */

main p {
    margin: 0;

    color: var(--text-secondary);

    font-size: 12px;

    line-height: 1.85;
}

main p + p {
    margin-top: 12px;
}


/* =================================
   LISTAS
================================= */

main ul,
main ol {
    margin: 14px 0 0;

    padding-left: 22px;

    color: var(--text-secondary);

    font-size: 12px;
}

main li {
    margin-bottom: 8px;

    line-height: 1.75;
}

main li::marker {
    color: var(--blue-light);
}


/* =================================
   DESTAQUES
================================= */

main strong {
    color: #e2e8f0;

    font-weight: 650;
}

main em {
    color: #cbd5e1;
}


/* =================================
   LINKS DENTRO DO DOCUMENTO
================================= */

main a {
    color: var(--blue-light);

    text-decoration: underline;

    text-decoration-color:
        rgba(96, 165, 250, 0.28);

    text-underline-offset: 3px;
}

main a:hover {
    color: #bae6fd;

    text-decoration-color:
        rgba(186, 230, 253, 0.7);
}


/* =================================
   FOOTER
================================= */

footer {
    width: min(900px, calc(100% - 32px));

    margin: 0 auto;

    padding: 24px 0 42px;

    border-top:
        1px solid
        rgba(148, 163, 184, 0.08);

    color: var(--text-muted);

    text-align: center;
}

footer p {
    margin: 0;

    font-size: 9px;

    line-height: 1.7;
}

footer p + p {
    max-width: 650px;

    margin:
        8px auto 0;

    color: #475569;
}


/* =================================
   SELEÇÃO
================================= */

::selection {
    color: #fff;

    background:
        rgba(37, 99, 235, 0.55);
}


/* =================================
   SCROLLBAR
================================= */

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg);
}

::-webkit-scrollbar-thumb {
    background:
        rgba(96, 165, 250, 0.25);

    border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
    background:
        rgba(96, 165, 250, 0.42);
}


/* =================================
   TABLET
================================= */

@media (max-width: 700px) {

    header {
        width: calc(100% - 24px);

        padding-top: 22px;
    }

    main {
        width: calc(100% - 24px);

        margin-top: 25px;
    }

    main section {
        padding: 25px 23px;
    }
}


/* =================================
   MOBILE
================================= */

@media (max-width: 500px) {

    header {
        width: calc(100% - 18px);

        padding-top: 18px;
    }

    header::before {
        font-size: 7px;
    }

    header h1 {
        font-size: 27px;
    }

    header p {
        font-size: 10px;
    }

    main {
        width: calc(100% - 18px);

        margin-top: 18px;
        margin-bottom: 45px;
    }

    main section {
        padding: 23px 18px;

        border-radius: 15px;
    }

    main section + section {
        margin-top: 10px;
    }

    main section::before {
        left: 18px;

        width: 70px;
    }

    main h2 {
        font-size: 15px;

        gap: 9px;
    }

    main h2::before {
        width: 3px;
        height: 18px;
    }

    main p,
    main ul,
    main ol {
        font-size: 11px;
    }

    main ul,
    main ol {
        padding-left: 20px;
    }

    main li {
        margin-bottom: 7px;
    }

    footer {
        width: calc(100% - 24px);

        padding-bottom: 30px;
    }
}