/* monopole.one - Zen contemplative singularity */

*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
    color: #4a4640;
    background: #f7f3ec;
    overflow-x: hidden;
    line-height: 2.0;
    font-size: clamp(0.95rem, 1.5vw, 1.1rem);
    letter-spacing: 0.02em;
}

.ghost-numeral {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Cormorant Garamond', serif;
    font-weight: 300;
    font-size: 40vw;
    color: rgba(42, 38, 34, 0.04);
    pointer-events: none;
    z-index: 0;
    line-height: 1;
    opacity: 0;
    transition: opacity 1.5s ease;
}

.ghost-numeral.visible {
    opacity: 1;
}

.zone {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.zone-void {
    height: 100vh;
}

.horizon-line {
    width: 0;
    height: 1px;
    background: #2a2622;
    transition: width 1.5s ease-in-out;
}

.horizon-line.drawn {
    width: 10vw;
}

.zone-statement {
    height: 100vh;
}

.statement {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 300;
    font-size: clamp(1.5rem, 3vw, 2.5rem);
    color: #2a2622;
    letter-spacing: 0.06em;
    text-align: center;
    max-width: 35vw;
    line-height: 1.4;
}

.zone-field {
    height: 150vh;
    position: relative;
}

.field-container {
    position: sticky;
    top: 0;
    height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.field-svg {
    width: min(400px, 60vw);
    height: min(400px, 60vw);
}

.field-circle {
    stroke-dasharray: 210;
    stroke-dashoffset: 210;
    transition: stroke-dashoffset 2s ease;
}

.field-circle.drawn {
    stroke-dashoffset: 0;
}

.field-ray {
    stroke-dasharray: 600;
    stroke-dashoffset: 600;
    transition: stroke-dashoffset 1s ease;
}

.field-ray.drawn {
    stroke-dashoffset: 0;
}

.zone-text {
    min-height: 60vh;
    padding: 15vh 0;
}

.meditation {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
    font-size: clamp(0.95rem, 1.5vw, 1.1rem);
    color: #4a4640;
    text-align: center;
    max-width: 30vw;
    line-height: 2.0;
    letter-spacing: 0.02em;
}

.fade-element {
    opacity: 0;
    transition: opacity 1s ease;
}

.fade-element.visible {
    opacity: 1;
}

.zone-closing {
    height: 100vh;
}

.closing-word {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 300;
    font-size: 3vw;
    color: #2a2622;
    letter-spacing: 0.06em;
    text-align: center;
    transition: opacity 2s ease;
}

/* Hover hint using breath color #e8e2d8 */
body::selection {
    background: #e8e2d8;
}

@media (max-width: 768px) {
    .statement {
        max-width: 80vw;
    }
    .meditation {
        max-width: 80vw;
    }
}
