body {
    margin-top: 3.25rem;
}

p {
    margin: 15px 0px;
}

a {
    color: #5603AD;
    font-weight: bold;
}

a:hover {
    color: #cb46f4;
}

.sticky {
    position: sticky;
    top: 4em;
}

.weight-normal {
    font-weight: normal;
}

.list-square {
  list-style: square inside!important;
}

.is-fullheight {
    height: 100%;
}


/*
 * Blog
 */

.image-overlay {
    position: relative;
    overflow: hidden;
}

.image-overlay img {
    transition: transform 0.5s ease;
}

.image-overlay:hover img {
    transform: scale(1.2);
}

.overlay-text {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    text-align: center;
}

.is-max-height-350 {
    max-height: 350px;
}

/* The fixed header must fit the viewport, including after translation loads. */
.navbar.is-fixed-top .navbar-burger {
    flex: 0 0 3.25rem;
    border: 0;
    background: transparent;
    color: inherit;
}

@media screen and (max-width: 1215px) {
    .navbar.is-fixed-top > .container,
    .navbar.is-fixed-top .navbar-burger {
        display: block;
    }

    .navbar.is-fixed-top .navbar-menu {
        display: none;
    }

    .navbar.is-fixed-top .navbar-menu.is-active {
        display: block;
    }

    .navbar.is-fixed-top .navbar-start,
    .navbar.is-fixed-top .navbar-menu .navbar-item {
        display: block;
    }
    .navbar.is-fixed-top > .container,
    .navbar.is-fixed-top .navbar-brand {
        width: 100%;
        min-width: 0;
    }

    .navbar.is-fixed-top .navbar-menu {
        max-height: calc(100dvh - 3.25rem);
        overflow-y: auto;
    }

    .navbar.is-fixed-top .navbar-item {
        white-space: normal;
        overflow-wrap: anywhere;
    }
}

/* Footer links must wrap without pushing narrow viewports sideways. */
footer .control {
    max-width: 100%;
}

footer .tag {
    max-width: 100%;
    height: auto;
    min-height: 2em;
    white-space: normal;
    overflow-wrap: anywhere;
}

/* Keep long technical names readable while code blocks retain scrolling. */
@media screen and (max-width: 1215px) {
    .section .column {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .section .tag {
        max-width: 100%;
        height: auto;
        min-height: 2em;
        white-space: normal;
        overflow-wrap: anywhere;
    }
}

/* NicolauRoca.dev: preserve the violet identity and existing Bulma layout. */
:root,[data-theme="light"] {
  --bulma-primary-h:269deg; --bulma-primary-s:97%; --bulma-primary-l:35%;
  --bulma-link-h:269deg; --bulma-link-s:85%; --bulma-link-l:36%;
  --bulma-info-h:258deg; --bulma-info-s:46%; --bulma-info-l:48%;
  --bulma-family-primary:ui-monospace,"Cascadia Code","SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --bulma-body-color:#383442; --bulma-body-background-color:#faf9fc;
  --bulma-radius:8px; --bulma-radius-large:14px;
  --bulma-scheme-h:265; --bulma-scheme-s:18%;
  color-scheme:light;
}
html { scroll-padding-top:5rem; }
body { font-family:var(--bulma-family-primary); line-height:1.7; background:#faf9fc; color:#383442; }
a { color:#5603ad; font-weight:600; }
a:hover { color:#7426c4; }
:focus-visible { outline:3px solid #9362cf; outline-offset:4px; }
.skip-link { position:fixed; top:-6rem; left:1rem; z-index:100; padding:.7rem 1rem; background:white; border-radius:8px; }
.skip-link:focus { top:.5rem; }
.title { letter-spacing:-.035em; line-height:1.2; color:#292333; }
.subtitle { line-height:1.5; }
.navbar.is-fixed-top { box-shadow:0 2px 14px #29134224; }
.navbar.is-fixed-top,.navbar.is-fixed-top.has-background-primary { background:#5603ad!important; }
.navbar.is-fixed-top .navbar-brand strong,.navbar.is-fixed-top .navbar-item { color:white; }
.navbar.is-fixed-top a.navbar-item:hover,.navbar.is-fixed-top a.navbar-item[aria-current="page"] { background:#ffffff18; color:white; }
.navbar.is-fixed-top .navbar-brand strong { font-size:1.1rem; letter-spacing:-.03em; }
.navbar-item { font-size:.9rem; }
.discovery-nav { border-bottom:1px solid #e8e2ef; padding:.45rem 0; background:#fff; }
.discovery-nav .navbar-brand > a:first-child { gap:.6rem; }
.discovery-nav .navbar-brand .navbar-item .navbar-item { padding:0; color:#696172; font-weight:500; }
.discovery-nav .navbar-link { border:0; font:inherit; background:transparent; color:#4c405b; cursor:pointer; }
.discovery-nav .navbar-dropdown { border:1px solid #e9e2f1; border-radius:12px; box-shadow:0 16px 40px #2410321a; max-width:26rem; }
.discovery-nav .navbar-dropdown .navbar-item { white-space:normal; }
.discovery-nav .navbar-dropdown p { margin:.3rem 0; }
.discovery-nav .navbar-dropdown .has-text-info { color:#62516f!important; }
.discovery-nav .navbar-item.has-dropdown:focus-within .navbar-dropdown,
.discovery-nav .navbar-item.has-dropdown.is-active .navbar-dropdown { display:block; }
.discovery-nav .control img { width:22px; height:22px; }
.discovery-nav .field { gap:.85rem; }
main > .hero { border-bottom:1px solid #4e315f; background:linear-gradient(115deg,#241b30,#392249)!important; }
main > .hero .hero-body { padding:3.5rem 1.5rem; }
main > .hero .title { font-size:clamp(2rem,3.4vw,3.5rem); max-width:1050px; color:#fff; font-weight:750; }
main > .hero .subtitle { color:#dfd4e9; margin-top:1rem; font-size:1.15rem; }
.section { padding-top:2.5rem; padding-bottom:2.5rem; }
main > .section + .section { padding-top:.5rem; }
.card,.panel,.box { border:1px solid #e8e2ed; box-shadow:0 5px 22px #29143d08; border-radius:14px; overflow:hidden; }
.card { background:white; }
.card-content { padding:1.5rem; }
.card .title.is-4 { font-size:1.3rem; line-height:1.35; }
.card .subtitle { color:#74697e; }
.card-image img { object-fit:cover; }
.card:has(> .card-image):hover { box-shadow:0 9px 28px #29143d14; }
.panel-heading { background:#f0ebf7; color:#3b2452; font-size:1.1rem; padding:1.1rem 1.25rem; }
.panel-block { padding:1rem 1.25rem; border-color:#eee8f3; }
.panel .panel-block .item-title span { white-space:normal!important; overflow:visible!important; line-height:1.5; }
.panel .panel-block { gap:.8rem; }
.panel .item-tags { flex-shrink:0; max-width:40%; }
.tag { border-radius:6px; font-size:.8rem; }
.tag.is-primary.is-light,.tag.is-info.is-light { background:#eee6f7; color:#552b7a; }
.button { font-weight:650; box-shadow:none; }
.button.is-link.is-light,.notification.is-link.is-light { background:#eee8f8; color:#452267; }
.notification { border:1px solid #ded1ef; border-radius:12px; }
.notification p { margin:.65rem 0; }
.post-info { padding:1.25rem 0; margin-bottom:1rem; border-bottom:1px solid #e4ddeb; }
.image-overlay { border-radius:12px; background:#eee9f4; }
.image-overlay img { object-fit:cover; max-height:350px; }
.image-overlay:hover img { transform:none; }
.overlay-text { background:linear-gradient(transparent,#20112de6); padding:3rem 1.5rem 1.5rem; text-align:left; }
.overlay-text .title { font-size:1.5rem!important; }
.overlay-text .subtitle { font-size:1rem!important; }
.content { line-height:1.8; }
.content h2 { margin-top:2em; }
.content a:not(.button):not(.tag) { text-decoration:underline; text-underline-offset:3px; }
pre { max-width:100%; overflow:auto; border-radius:10px; font-size:.875rem; }
code { overflow-wrap:anywhere; }
pre code { overflow-wrap:normal; }
.section .column { min-width:0; }
.table-container { border-radius:10px; }
.footer { border-top:1px solid #e1d9e8; padding:3rem 1.5rem; background:#f1edf5!important; }
.footer .title { font-size:1rem; color:#42324f; }
.footer .menu-list a { padding:.35rem 0; }
.footer .menu-list a:hover { background:transparent; }
.footer .content { font-size:.875rem; color:#716779; }
@media(min-width:1216px) { .navbar.is-fixed-top .navbar-item { padding-left:.65rem; padding-right:.65rem; font-size:.85rem; } }
@media(max-width:1215px) { .navbar.is-fixed-top .navbar-menu { background:#5603ad; } }
@media(max-width:1023px) {
  .discovery-nav .navbar-dropdown { display:none; max-width:none; box-shadow:none; border:0; }
  .discovery-nav .navbar-burger { border:0; background:transparent; }
  .discovery-nav .navbar-brand { align-items:center; }
  .discovery-nav .navbar-brand .is-hidden-desktop { display:none!important; }
  .discovery-nav .navbar-link { width:100%; text-align:left; }
}
@media(max-width:768px) {
  main > .hero .hero-body { padding:2.25rem 1.25rem; }
  .section { padding:1.75rem 1rem; }
  .sticky { position:static; }
  .panel .panel-block { flex-wrap:wrap; }
  .panel .item-tags { max-width:100%; }
  .navbar-brand { min-width:0; }
  .discovery-nav .navbar-brand .navbar-item { font-size:.85rem; }
  .content h2 { font-size:1.5rem; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }

.navbar.is-fixed-top .navbar-burger { color:#fff; }
#google_translate_element:empty { display:none; }
.footer .menu-list a { background:transparent; }

.image-overlay.is-diagram figure { max-height:none; }
.image-overlay.is-diagram img { height:auto; max-height:none; object-fit:contain; }
.image-overlay.is-diagram .overlay-text { display:none; }

/* Owner correction 697010184: developer typography and usable navigation. */
:root,[data-theme="light"] {
 --bulma-family-secondary:var(--bulma-family-primary);
 --bulma-radius:3px; --bulma-radius-large:3px;
 --bulma-body-background-color:#fff;
}
body { background:#fff; line-height:1.6; }
button,input,select,textarea { font-family:inherit; }
.title,.navbar.is-fixed-top .navbar-brand strong { letter-spacing:normal; }
.title { font-weight:700; }
main > .hero { background:#29252e!important; }
main > .hero .hero-body { padding:2.5rem 1.5rem; }
main > .hero .title { font-size:clamp(1.8rem,3vw,2.75rem); font-weight:700; }
main > .hero .subtitle { font-size:1rem; }
.card,.panel,.box,.notification,.image-overlay,.table-container,pre,
.discovery-nav .navbar-dropdown { border-radius:3px; box-shadow:none; }
.card:has(> .card-image):hover { box-shadow:none; border-color:#9567bd; }
.card-content { padding:1.25rem; }
.tag { border-radius:2px; }
.navbar.is-fixed-top { box-shadow:none; }
.overlay-text { background:rgba(25,20,30,.85); padding:1rem 1.25rem; }
.footer { background:#f5f4f6!important; }
.discovery-nav .navbar-dropdown { width:32rem; min-width:32rem; max-width:calc(100vw - 2rem); padding:.5rem; }
.discovery-nav .navbar-dropdown > .container.is-fluid { padding:0; width:100%; }
.discovery-nav .navbar-dropdown .columns { margin:0; }
.discovery-nav .navbar-dropdown .column { padding:0; min-width:0; }
.discovery-nav .navbar-dropdown .navbar-item { display:block; padding:.75rem 1rem; }
.discovery-nav .navbar-content { width:100%; min-width:0; }
.discovery-nav .navbar-dropdown .navbar-item + .navbar-item { border-top:1px solid #e8e2ed; }
.discovery-nav .navbar-dropdown p { overflow-wrap:break-word; }
.discovery-nav .navbar-link { white-space:nowrap; }
@media(min-width:1024px) {
 .discovery-nav .navbar-brand { flex-shrink:0; }
 .discovery-nav .navbar-menu { min-width:0; }
 .discovery-nav .navbar-end > a { display:none; }
 .discovery-nav .navbar-end .navbar-item { margin-right:0!important; }
}
@media(max-width:1023px) {
 .discovery-nav .navbar-dropdown { width:100%; min-width:0; max-width:100%; padding:0; }
 .discovery-nav .navbar-dropdown .navbar-item { padding:.75rem; }
}
@media(min-width:1024px) { .discovery-nav .has-dropdown:last-child .navbar-dropdown { left:auto; right:0; } }
