/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-cmhglmmsgp] {
    max-width: 720px;
    margin: 0 auto;
    padding: 4rem 1.5rem 2rem;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

header[b-cmhglmmsgp] {
    margin-bottom: 2.5rem;
}

main[b-cmhglmmsgp] {
    flex: 1 0 auto;
}

@media (max-width: 600px) {
    .page[b-cmhglmmsgp] {
        padding: 2rem 1rem 1.5rem;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.nav[b-3b4bn9b28s] {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    gap: 0.75rem 1rem;
    font-size: 0.95rem;
}

.nav-link[b-3b4bn9b28s] {
    color: var(--link);
    text-decoration: none;
    white-space: nowrap;
}

.nav-link:hover[b-3b4bn9b28s],
.nav-link.active[b-3b4bn9b28s] {
    color: var(--link-hover);
}
/* /Components/Pages/About.razor.rz.scp.css */
ul[b-0kdjuac5nk] {
    list-style: none;
    padding-left: 0;
}

ul li[b-0kdjuac5nk] {
    margin-bottom: 0.4rem;
}
/* /Components/Pages/Blog.razor.rz.scp.css */
.post-list[b-t9wniqp4i7] {
    list-style: none;
    padding-left: 0;
    margin-top: 1.5rem;
}

.post-list li[b-t9wniqp4i7] {
    margin-bottom: 0.5rem;
}

.post-list .date[b-t9wniqp4i7] {
    color: var(--muted);
    margin-right: 0.3rem;
}

.note[b-t9wniqp4i7] {
    color: var(--muted);
    margin-top: 2rem;
    font-size: 0.9rem;
}
/* /Components/Pages/Contact.razor.rz.scp.css */
.contacts[b-724tkvyesd] {
    list-style: none;
    padding-left: 0;
    margin-top: 1.5rem;
}

.contacts li[b-724tkvyesd] {
    margin-bottom: 0.5rem;
}

.note[b-724tkvyesd] {
    color: var(--muted);
    margin-top: 2rem;
    font-size: 0.9rem;
}
/* /Components/Pages/Dump.razor.rz.scp.css */
.intro[b-sey97zwgsv] {
    color: var(--muted);
}

.dump-list[b-sey97zwgsv] {
    list-style: none;
    padding-left: 0;
    margin-top: 2rem;
}

.dump-list li[b-sey97zwgsv] {
    margin-bottom: 1.5rem;
    padding-left: 0;
    border-left: 2px solid var(--muted);
    padding: 0.2rem 0 0.2rem 0.9rem;
}

.dump-list .ts[b-sey97zwgsv] {
    color: var(--muted);
    font-size: 0.8rem;
    display: block;
    margin-bottom: 0.2rem;
}

.dump-list p[b-sey97zwgsv] {
    margin: 0;
}
/* /Components/Pages/Experience.razor.rz.scp.css */
.intro[b-kdo1853bcu] {
    color: var(--muted);
}

.timeline[b-kdo1853bcu] {
    list-style: none;
    padding-left: 0;
    margin-top: 1.5rem;
}

.timeline > li[b-kdo1853bcu] {
    margin-bottom: 1.75rem;
    border-left: 2px solid var(--muted);
    padding: 0.2rem 0 0.2rem 0.9rem;
}

.timeline .ts[b-kdo1853bcu] {
    color: var(--muted);
    font-size: 0.8rem;
    display: block;
    margin-bottom: 0.25rem;
}

.timeline .role[b-kdo1853bcu] {
    margin: 0 0 0.5rem;
}

.timeline .stack[b-kdo1853bcu] {
    color: var(--muted);
    font-size: 0.85rem;
    margin-top: 0.5rem;
}

.bullets[b-kdo1853bcu] {
    list-style: none;
    padding-left: 0;
    margin: 0.25rem 0 0;
}

.bullets li[b-kdo1853bcu] {
    margin-bottom: 0.2rem;
    font-size: 0.92rem;
}
/* /Components/Pages/Home.razor.rz.scp.css */
.greeting[b-aps01jc0rc] {
    font-size: 1.1rem;
    margin-top: 1rem;
}

.sub[b-aps01jc0rc] {
    color: var(--muted);
}

.links[b-aps01jc0rc] {
    list-style: none;
    padding-left: 0;
    margin-top: 1.5rem;
}

.links li[b-aps01jc0rc] {
    margin-bottom: 0.5rem;
}
/* /Components/Pages/Skills.razor.rz.scp.css */
.intro[b-3fjogkchbi] {
    color: var(--muted);
}

.tags[b-3fjogkchbi] {
    list-style: none;
    padding-left: 0;
    margin: 1rem 0 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.5rem;
}

.tags li[b-3fjogkchbi] {
    margin: 0;
    padding: 0.15rem 0.55rem 0.2rem;
    border: 1px solid var(--muted);
    color: var(--fg);
    font-size: 0.85rem;
    line-height: 1.4;
    white-space: nowrap;
}

.soft[b-3fjogkchbi] {
    list-style: none;
    padding-left: 0;
    margin-top: 1rem;
}

.soft li[b-3fjogkchbi] {
    margin-bottom: 0.35rem;
    font-size: 0.95rem;
}
/* /Components/Shared/AsciiArt.razor.rz.scp.css */
.ascii[b-8jm7tcyrhz] {
    color: var(--muted);
    font-family: var(--mono);
    white-space: pre;
    overflow-x: auto;
    font-size: 0.8rem;
    line-height: 1.15;
    margin: 1.5rem 0;
}
/* /Components/Shared/Footer.razor.rz.scp.css */
.footer[b-q6fs3wta4j] {
    margin-top: 3rem;
    font-size: 0.85rem;
    color: var(--muted);
}

.footer hr[b-q6fs3wta4j] {
    border: none;
    border-top: 1px solid var(--muted);
    opacity: 0.2;
    margin-bottom: 1rem;
}
/* /Components/Shared/RgbCube.razor.rz.scp.css */
.scene[b-jip433h45v] {
    width: 14rem;
    height: 14rem;
    perspective: 42rem;
    margin: 4rem auto 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
    touch-action: none;
}

.scene.is-dragging[b-jip433h45v] {
    cursor: grabbing;
}

.cube[b-jip433h45v] {
    position: relative;
    width: 10rem;
    height: 10rem;
    transform-style: preserve-3d;
    --rx: -22deg;
    --ry: 0deg;
    transform: rotateX(var(--rx)) rotateY(var(--ry));
}

.face[b-jip433h45v] {
    position: absolute;
    inset: 0;
    width: 10rem;
    height: 10rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.face[b-jip433h45v]::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

/* Layered gradients per face — same palette pairs as rgbcu.be */
.cube-face-front[b-jip433h45v]  { background: linear-gradient(to bottom, cyan,   blue);    }
.cube-face-front[b-jip433h45v]::after  { background: linear-gradient(to bottom, white,  magenta); -webkit-mask-image: linear-gradient(to left, magenta,    transparent); mask-image: linear-gradient(to left, magenta,    transparent); }

.cube-face-back[b-jip433h45v]   { background: linear-gradient(to bottom, yellow, red);     }
.cube-face-back[b-jip433h45v]::after   { background: linear-gradient(to bottom, lime,   black);   -webkit-mask-image: linear-gradient(to left, black,      transparent); mask-image: linear-gradient(to left, black,      transparent); }

.cube-face-left[b-jip433h45v]   { background: linear-gradient(to bottom, lime,   black);   }
.cube-face-left[b-jip433h45v]::after   { background: linear-gradient(to bottom, cyan,   blue);    -webkit-mask-image: linear-gradient(to left, blue,       transparent); mask-image: linear-gradient(to left, blue,       transparent); }

.cube-face-right[b-jip433h45v]  { background: linear-gradient(to bottom, white,  magenta); }
.cube-face-right[b-jip433h45v]::after  { background: linear-gradient(to bottom, yellow, red);     -webkit-mask-image: linear-gradient(to left, red,        transparent); mask-image: linear-gradient(to left, red,        transparent); }

.cube-face-top[b-jip433h45v]    { background: linear-gradient(to bottom, lime,   cyan);    }
.cube-face-top[b-jip433h45v]::after    { background: linear-gradient(to bottom, yellow, white);   -webkit-mask-image: linear-gradient(to left, white,      transparent); mask-image: linear-gradient(to left, white,      transparent); }

.cube-face-bottom[b-jip433h45v] { background: linear-gradient(to bottom, blue,   black);   }
.cube-face-bottom[b-jip433h45v]::after { background: linear-gradient(to bottom, magenta,red);     -webkit-mask-image: linear-gradient(to left, red,        transparent); mask-image: linear-gradient(to left, red,        transparent); }

/* 3D placement: half-edge (5rem) translateZ; tiny epsilon avoids Safari z-fighting */
.cube-face-front[b-jip433h45v]  { transform: rotateY(  0deg)            translateZ(calc(5rem - 1px)); }
.cube-face-back[b-jip433h45v]   { transform: rotateY(180deg)            translateZ(calc(5rem - 1px)); }
.cube-face-right[b-jip433h45v]  { transform: rotateY( 89.999deg)        translateZ(calc(5rem - 1px)); }
.cube-face-left[b-jip433h45v]   { transform: rotateY(-89.999deg)        translateZ(calc(5rem - 1px)); }
.cube-face-top[b-jip433h45v]    { transform: rotateX( 89.999deg)        translateZ(calc(5rem - 1px)); }
.cube-face-bottom[b-jip433h45v] { transform: rotateX(-89.999deg)        translateZ(calc(5rem - 1px)); }

/* Centered nav-link button on each face — white pill with black outline */
.face a[b-jip433h45v] {
    position: relative;
    z-index: 1;
    background: #fff;
    color: #000;
    font-family: var(--mono);
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: lowercase;
    text-decoration: none;
    padding: 0.15rem 0.55rem 0.2rem;
    outline: 2px solid #000;
    user-select: none;
    transition: background 60ms linear, color 60ms linear;
}

.face a:hover[b-jip433h45v] {
    background: #ff3355;
    color: #fff;
}

@media (prefers-reduced-motion: reduce) {
    .cube[b-jip433h45v] {
        --rx: -22deg;
        --ry: -32deg;
    }
}

@media (max-width: 480px) {
    .scene[b-jip433h45v] {
        width: 11rem;
        height: 11rem;
        perspective: 33rem;
    }
    .cube[b-jip433h45v],
    .face[b-jip433h45v] {
        width: 8rem;
        height: 8rem;
    }
    .cube-face-front[b-jip433h45v],
    .cube-face-back[b-jip433h45v],
    .cube-face-right[b-jip433h45v],
    .cube-face-left[b-jip433h45v],
    .cube-face-top[b-jip433h45v],
    .cube-face-bottom[b-jip433h45v] {
        transform-origin: center;
    }
    .cube-face-front[b-jip433h45v]  { transform: rotateY(  0deg)     translateZ(calc(4rem - 1px)); }
    .cube-face-back[b-jip433h45v]   { transform: rotateY(180deg)     translateZ(calc(4rem - 1px)); }
    .cube-face-right[b-jip433h45v]  { transform: rotateY( 89.999deg) translateZ(calc(4rem - 1px)); }
    .cube-face-left[b-jip433h45v]   { transform: rotateY(-89.999deg) translateZ(calc(4rem - 1px)); }
    .cube-face-top[b-jip433h45v]    { transform: rotateX( 89.999deg) translateZ(calc(4rem - 1px)); }
    .cube-face-bottom[b-jip433h45v] { transform: rotateX(-89.999deg) translateZ(calc(4rem - 1px)); }
}
