/* ==================================================
   FONTS
================================================== */

@font-face {

    font-family: "Coolvetica";

    src:
    local("Coolvetica Rg"),
    url("../fonts/Coolvetica Rg Cond.otf")
    format("opentype");

    font-weight: normal;
    font-style: normal;
}

@font-face {

    font-family: "CoolveticaItalic";

    src:
    local("Coolvetica Rg It"),
    url("../fonts/Coolvetica Rg It.otf")
    format("opentype");

    font-weight: normal;
    font-style: italic;
}

/* ==================================================
   ROOT
================================================== */

:root {

    --bg: #0d1016;

    --glass: rgba(255,255,255,0.08);

    --border: rgba(255,255,255,0.12);

    --text: #f4f6fb;

    --soft: #b5bcc8;

    --shadow: 0 10px 40px rgba(0,0,0,0.28);

    --radius: 38px;
}

/* ==================================================
   RESET
================================================== */

* {

    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {

    background:
    radial-gradient(circle at top left, #1b2233, transparent 35%),
    radial-gradient(circle at bottom right, #222b40, transparent 30%),
    var(--bg);

    min-height: 100vh;

    overflow-x: hidden;

    color: var(--text);

    font-family: "Coolvetica", sans-serif;
}

/* ==================================================
   BACKGROUND BLURS
================================================== */

.bg {

    position: fixed;
    border-radius: 50%;
    filter: blur(120px);
    opacity: 0.35;
    z-index: -1;
}

.blur-one {

    width: 350px;
    height: 350px;
    background: #7182aa;

    top: -120px;
    left: -100px;
}

.blur-two {

    width: 320px;
    height: 320px;
    background: #9aa7c5;

    bottom: -120px;
    right: -100px;
}

/* ==================================================
   LAYOUT WRAPPER
================================================== */

.dashboard,
.about-page {

    width: min(92%, 1180px);

    margin: auto;

    padding: 36px 0 60px;
}

/* ==================================================
   GLASS EFFECT
================================================== */

.liquid {

    background: linear-gradient(
        135deg,
        rgba(255,255,255,0.14),
        rgba(255,255,255,0.05)
    );

    border: 1px solid var(--border);

    backdrop-filter: blur(24px);

    -webkit-backdrop-filter: blur(24px);

    box-shadow: var(--shadow),
    inset 0 1px 0 rgba(255,255,255,0.10);
}

/* ==================================================
   TOPBAR
================================================== */

.topbar {

    border-radius: var(--radius);

    padding: 30px 34px;

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 28px;
}

.logo {

    font-size: 3.2rem;

    font-weight: 400;

    letter-spacing: 2px;
}

.subtitle {

    color: var(--soft);

    margin-top: 10px;

    line-height: 1.5;

    max-width: 520px;
}

/* ==================================================
   GRID (HOME)
================================================== */

.grid-layout {

    display: grid;

   grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 34px;
row-gap: 42px;

    align-items: start;
}

/* ==================================================
   WIDGETS
================================================== */

.widget {

    border-radius: var(--radius);

    padding: 30px;

    display: flex;

    flex-direction: column;

    gap: 18px;

    transition: 0.35s ease;
}

.widget:hover {

    transform: translateY(-4px);
}

/* FULL WIDTH */
.widget.large {

    grid-column: 1 / -1;
}

/* ==================================================
   TEXT
================================================== */

.widget-title {

    font-size: 2rem;

    font-weight: 400;
}

.widget-text {

    color: var(--soft);

    line-height: 1.8;
}

/* ==================================================
   BUTTONS
================================================== */

.main-button,
.back-button {

    width: fit-content;

    padding: 13px 22px;

    border-radius: 999px;

    text-decoration: none;

    background: #eef2fb;

    color: #10131a;

    transition: 0.25s ease;
}

.main-button:hover,
.back-button:hover {

    transform: scale(1.03);

    opacity: 0.92;
}

/* ==================================================
   TAGS
================================================== */

.tag-group,
.music-tags {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;
}

.tag {

    padding: 10px 16px;

    border-radius: 999px;

    background: rgba(255,255,255,0.08);

    border: 1px solid rgba(255,255,255,0.08);

    color: var(--soft);

    font-size: 0.9rem;
}

/* ==================================================
   ABOUT SPECIFIC
================================================== */

.about-content {

    display: flex;

    align-items: center;

    gap: 34px;
}

.profile-circle {

    width: 150px;

    height: 150px;

    border-radius: 50%;

    background: rgba(255,255,255,0.08);

    border: 1px solid rgba(255,255,255,0.12);

    flex-shrink: 0;
}

/* ==================================================
   BOOKS
================================================== */

.book-list {

    display: flex;

    flex-direction: column;

    gap: 14px;
}

.book-item {

    padding: 16px 18px;

    border-radius: 22px;

    background: rgba(255,255,255,0.06);

    border: 1px solid rgba(255,255,255,0.08);

    color: var(--soft);
}

/* ==================================================
   QUOTE
================================================== */

.quote {

    font-family: "CoolveticaItalic", sans-serif;

    color: var(--soft);

    line-height: 1.8;
}

.big-quote {

    font-size: 2rem;
}

/* ==================================================
   RESPONSIVE
================================================== */

@media (max-width: 900px) {

    .grid-layout {

        grid-template-columns: 1fr;
    }

    .widget.large {

        grid-column: auto;
    }
}

@media (max-width: 700px) {

    .logo {

        font-size: 2.3rem;
    }

    .widget-title {

        font-size: 1.6rem;
    }

    .about-content {

        flex-direction: column;

        align-items: flex-start;
    }

    .profile-circle {

        width: 120px;

        height: 120px;
    }

    .big-quote {

        font-size: 1.5rem;
    }
}