/* assets/css/style.css */

:root{
    --font-ui: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    --font-hand: "Kalam", var(--font-ui);

    --font-display: "DM Serif Display", ui-serif, Georgia, serif;

    --text: rgba(92, 44, 44, .86);
    --muted: rgba(55, 30, 30,.70);
    --muted2: rgba(55, 30, 30,.58);
    --ink: rgba(92, 44, 44, .82);
    --ink-soft: rgba(92, 44, 44, .60);

    --bg-veil: rgba(255, 245, 235, .10);
    --card: rgba(255, 235, 220, .14);

    --stroke: rgba(255, 255, 255, .22);
    --stroke-soft: rgba(255, 255, 255, .12);

    --glow: rgba(255, 235, 210, .75);
    --glow-strong: rgba(255, 240, 220, .95);

    --accent: rgba(255, 115, 105, .95);
    --accent-soft: rgba(255, 115, 105, .55);

    --shadow: 0 24px 80px rgba(0,0,0,.35);
    --radius: 26px;
    --radius-sm: 18px;

    --maxw: 620px;
    --topbar-height: 56px;
    --topbar-gap: 36px;
}

*{ box-sizing: border-box; }
html, body{ height: 100%; }
body{
    margin: 0;
    font-family: var(--font-ui);
    color: var(--text);
    background: #f3e1d2;
    overflow-x: hidden;
}

/* Background layers (image is configured here) */
.bg{
    position: fixed;
    pointer-events: none;
    inset: 0;
    background:
            linear-gradient(rgba(255, 205, 170, .10), rgba(255, 170, 140, .12)),
            url("../images/bg.jpg") center/cover no-repeat;

    filter: blur(3px) brightness(1.12) saturate(1.05);
    transform: scale(1.02);
}

.vignette{
    position: fixed;
    pointer-events: none;
    inset: 0;
    background: radial-gradient(1200px 900px at 50% 35%, rgba(0,0,0,.04), rgba(0,0,0,.22));
}

/* Layout */
.wrap{
    min-height: 100%;
    display: grid;
    place-items: center;
    padding: calc(var(--topbar-height) + var(--topbar-gap)) 16px 40px;
}
.shell{
    width: min(var(--maxw), 100%);
    display: grid;
    gap: 14px;
}

/* Top navigation */
.topbar{
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;

    width: min(var(--maxw), calc(100% - 32px));

    display: flex;
    justify-content: center;
    padding: 10px 12px;
    border-radius: 999px;

    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
    border: 1px solid var(--stroke-soft);

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.nav{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.nav__link{
    text-decoration: none;
    color: var(--muted);
    font-weight: 600;
    font-size: 14px;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid transparent;
    transition: transform .12s ease, background .12s ease, border-color .12s ease, color .12s ease;
}
.nav__link:hover{
    transform: translateY(-1px);
    color: var(--text);
    background: rgba(255,255,255,.10);
    border-color: var(--stroke-soft);
}
.nav__link.is-active{
    color: var(--accent);
    background: rgba(255,255,255,.14);
    border-color: var(--stroke);
    box-shadow: 0 0 0 1px rgba(255,255,255,.06) inset;
}

/* Card container */
.card{
    position: relative;
    border-radius: var(--radius);
    background: linear-gradient(
            180deg,
            rgba(255, 210, 185, .18),
            rgba(255, 180, 150, .22)
    );
    box-shadow: none;
    padding: 0;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    overflow: visible;
}

.card::after{
    content: none;
}

.card::before{
    content: "";
    position: absolute;
    inset: -8px;
    border-radius: calc(var(--radius) + 8px);

    border: 6px solid rgba(255, 205, 120, .95);
    box-shadow:
            0 0 18px rgba(255, 200, 140, .95),
            0 0 45px rgba(255, 170, 110, .75),
            0 0 90px rgba(255, 150, 90, .55);
    pointer-events: none;
}
#app .card > *{
    position: relative;
    z-index: 2;
}

.section{
    position: relative;
    z-index: 1;
    padding: 18px 14px;
}

.hr{
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.26), transparent);
    margin: 14px 0 12px;
}

/* Typography helpers used in your fallback too */
.kicker{
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: 12px;
    color: var(--muted2);
    text-align: center;
    margin-bottom: 8px;
}

.title{
    font-family: var(--font-display);
    font-weight: 400;
    letter-spacing: .04em;
    text-align: center;
    margin: 0;
    line-height: 1.02;
}

.muted{
    color: var(--muted);
}
a{ color: inherit; }

/* Home-specific */
.home{
    display: grid;
    gap: 14px;
    justify-items: center;
    text-align: center;
    padding-top: 8px;
}

.brand{
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(34px, 4.6vw, 54px);
    letter-spacing: .10em;
    text-transform: uppercase;
    margin: 0;
    color: var(--accent);
    text-shadow:
            0 0 18px rgba(255, 180, 160, .35),
            0 0 2px rgba(255,255,255,.25);
}

.accent{
    color: var(--accent);
}

.tagline{
    margin-top: -4px;
    font-size: 14px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink);
}

.avatar{
    width: clamp(120px, 18vw, 165px);
    aspect-ratio: 1/1;
    border-radius: 999px;
    padding: 8px;
    background:
            radial-gradient(circle at 50% 50%, rgba(255,255,255,.28), rgba(255,255,255,.10));
    border: 1px solid rgba(255,255,255,.22);
    box-shadow:
            0 0 0 8px rgba(255,255,255,.06),
            0 18px 40px rgba(0,0,0,.25);
    display: grid;
    place-items: center;
}
.avatar img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 999px;
    display: block;
}

.status{
    margin-top: 4px;
    display: grid;
    gap: 6px;
    justify-items: center;
}

.status__label{
    font-size: 14px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ink-soft);
}

.status__value{
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(46px, 6.6vw, 72px);
    letter-spacing: .12em;
    text-transform: uppercase;
    margin: 0;
    color: rgba(255, 95, 90, .95);
    text-shadow:
            0 0 18px rgba(255, 170, 155, .38),
            0 0 2px rgba(255,255,255,.25);
}

/* Simple info block inside home */
.info{
    width: min(620px, 100%);
    padding: 14px 16px;
    border-radius: var(--radius-sm);
    background: rgba(255,255,255,.08);
    border: 1px solid var(--stroke-soft);
    text-align: left;
}
.info p{
    margin: 0 0 10px;
    line-height: 1.55;
    color: var(--muted);
}
.info p:last-child{ margin-bottom: 0; }
.info strong{ color: var(--text); font-weight: 600; }

.pills{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
.pill{
    font-size: 13px;
    padding: 8px 10px;
    border-radius: 999px;
    border: 1px solid var(--stroke-soft);
    background: rgba(255,255,255,.08);
    color: var(--muted);
}

/* Small screens */
@media (max-width: 520px){
    .card{ padding: 18px 12px; }
    .section{ padding: 14px 10px; }
    .topbar{ border-radius: 18px; }
}

.links{
    width: min(620px, 100%);
    display: grid;
    gap: 14px;
    margin-top: 10px;
}

.links__group{
    padding: 14px 16px;
    border-radius: var(--radius-sm);
    background: rgba(255,255,255,.08);
    border: 1px solid var(--stroke-soft);
}

.links__title{
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted2);
    margin-bottom: 10px;
    text-align: left;
}

.links__grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.iconbtn{
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: center;
    gap: 10px;

    text-decoration: none;
    color: var(--muted);
    font-weight: 600;
    font-size: 14px;

    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid var(--stroke-soft);
    background: rgba(255,255,255,.06);

    transition: transform .12s ease, background .12s ease, border-color .12s ease, color .12s ease;
}

.iconbtn:hover{
    transform: translateY(-1px);
    background: rgba(255,255,255,.10);
    border-color: var(--stroke);
    color: var(--text);
}

.iconbtn__icon{
    width: 18px;
    height: 18px;
    display: inline-grid;
    place-items: center;
}

.iconbtn__icon svg{
    width: 18px;
    height: 18px;
    fill: currentColor;
    opacity: .9;
}

.iconbtn__label{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 520px){
    .links__grid{
        grid-template-columns: 1fr;
    }
}



