.confessional-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:146px 24px 74px;
}

.confessional-panel{
    position:relative;
    width:min(780px, 100%);
    overflow:hidden;
    border:1px solid rgba(139, 233, 255, .22);
    border-radius:var(--radius-large);
    background:linear-gradient(145deg, rgba(4, 18, 34, .93), rgba(8, 35, 60, .82));
    box-shadow:0 30px 90px rgba(0, 0, 0, .48), 0 0 44px rgba(75, 163, 255, .14);
    backdrop-filter:blur(15px);
}

.confessional-panel [hidden]{
    display:none;
}

.confessional-panel::before,
.confessional-panel::after{
    content:"";
    position:absolute;
    pointer-events:none;
}

.confessional-panel::before{
    inset:12px;
    border:1px solid rgba(255, 255, 255, .055);
    border-radius:calc(var(--radius-large) - 8px);
}

.confessional-panel::after{
    top:0;
    left:18%;
    right:18%;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(139, 233, 255, .85), transparent);
    box-shadow:0 0 18px rgba(139, 233, 255, .55);
}

.confessional-water-glow{
    position:absolute;
    left:50%;
    bottom:-260px;
    width:660px;
    aspect-ratio:1;
    border-radius:50%;
    background:radial-gradient(circle, rgba(81, 196, 255, .22), rgba(75, 163, 255, .06) 42%, transparent 70%);
    transform:translateX(-50%);
    filter:blur(8px);
    pointer-events:none;
}

.confessional-content{
    position:relative;
    z-index:1;
    padding:clamp(38px, 7vw, 68px);
    text-align:center;
}

.confessional-eyebrow,
.confessional-verdict{
    margin:0 0 9px;
    color:var(--secondary);
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.confessional-content h1{
    margin:0;
    font-size:clamp(2.65rem, 8vw, 4.7rem);
    text-shadow:0 0 28px rgba(75, 163, 255, .3);
}

.confessional-introduction{
    max-width:590px;
    margin:13px auto 28px;
    color:var(--text-muted);
    font-size:1.02rem;
    line-height:1.7;
}

.confessional-ai-disclaimer{
    max-width:640px;
    margin:0 auto 22px;
    color:rgba(246, 251, 255, .68);
    font-size:.82rem;
    line-height:1.55;
}

.confessional-ai-disclaimer strong{
    color:rgba(246, 251, 255, .9);
}

.confessional-quota{
    width:max-content;
    max-width:100%;
    margin:0 auto 28px;
    padding:7px 13px;
    border:1px solid rgba(139, 233, 255, .17);
    border-radius:999px;
    background:rgba(75, 163, 255, .08);
    color:var(--secondary);
    font-size:.76rem;
    letter-spacing:.035em;
}

.confessional-form{
    text-align:left;
}

.confessional-form label{
    display:block;
    margin-bottom:9px;
    color:rgba(246, 251, 255, .88);
    font-size:.88rem;
    font-weight:700;
    letter-spacing:.05em;
}

.confessional-form textarea{
    width:100%;
    min-height:156px;
    resize:vertical;
    padding:18px;
    border:1px solid rgba(139, 233, 255, .2);
    border-radius:var(--radius-medium);
    outline:none;
    background:rgba(1, 10, 21, .72);
    color:var(--text);
    font:inherit;
    line-height:1.65;
    box-shadow:inset 0 1px 18px rgba(0, 0, 0, .22);
    transition:border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.confessional-form textarea::placeholder{
    color:rgba(246, 251, 255, .36);
}

.confessional-form textarea:focus{
    border-color:rgba(139, 233, 255, .65);
    box-shadow:0 0 0 3px rgba(75, 163, 255, .11), inset 0 1px 18px rgba(0, 0, 0, .22);
}

.confessional-form-meta{
    display:flex;
    justify-content:space-between;
    gap:18px;
    margin-top:9px;
    color:rgba(246, 251, 255, .52);
    font-size:.76rem;
}

.confessional-form-disclaimer{
    margin:7px 0 0;
    color:rgba(246, 251, 255, .48);
    font-size:.74rem;
    line-height:1.45;
}

.confessional-submit,
.confessional-again{
    display:block;
    margin:28px auto 0;
    padding:13px 30px;
    border:1px solid rgba(139, 233, 255, .45);
    border-radius:999px;
    background:linear-gradient(135deg, #267ec8, #4ba3ff);
    color:var(--text);
    font:700 .92rem/1 Arial, Helvetica, sans-serif;
    cursor:pointer;
    box-shadow:var(--shadow-button);
    transition:transform var(--transition-fast), filter var(--transition-fast), box-shadow var(--transition-fast);
}

.confessional-submit:hover:not(:disabled),
.confessional-again:hover{
    transform:translateY(-2px);
    filter:brightness(1.12);
    box-shadow:0 13px 40px rgba(0, 130, 255, .42);
}

.confessional-submit:focus-visible,
.confessional-again:focus-visible{
    outline:2px solid var(--secondary);
    outline-offset:3px;
}

.confessional-submit:disabled{
    cursor:wait;
    opacity:.62;
}

.confessional-limit-message{
    margin:18px 0 0;
    color:var(--secondary);
    font-size:.88rem;
    line-height:1.55;
    text-align:center;
}

.confessional-form textarea:disabled{
    cursor:not-allowed;
    opacity:.62;
}

.confessional-again:disabled{
    cursor:default;
    opacity:.64;
}

.confessional-ritual{
    min-height:254px;
    display:grid;
    place-content:center;
    gap:25px;
    color:var(--text-muted);
}

.confessional-ripple{
    position:relative;
    width:100px;
    height:100px;
    margin:auto;
}

.confessional-ripple span{
    position:absolute;
    inset:50%;
    border:1px solid rgba(139, 233, 255, .75);
    border-radius:50%;
    box-shadow:0 0 18px rgba(75, 163, 255, .25);
    animation:confessional-ripple 2.1s ease-out infinite;
}

.confessional-ripple span:nth-child(2){ animation-delay:.7s; }
.confessional-ripple span:nth-child(3){ animation-delay:1.4s; }

.confessional-result{
    padding:18px 0 2px;
    animation:confessional-verdict-in .55s ease-out;
}

.confessional-result-disclaimer{
    max-width:560px;
    margin:16px auto 0;
    color:rgba(246, 251, 255, .48);
    font-size:.74rem;
    line-height:1.45;
}

.confessional-result blockquote{
    max-width:620px;
    margin:18px auto 0;
    padding:28px 24px;
    border-top:1px solid rgba(139, 233, 255, .2);
    border-bottom:1px solid rgba(139, 233, 255, .2);
}

.confessional-result blockquote p{
    margin:0;
    font-family:"Cinzel", Georgia, serif;
    font-size:clamp(1.12rem, 3vw, 1.45rem);
    line-height:1.75;
}

.confessional-result blockquote footer{
    margin-top:18px;
    color:var(--secondary);
    font-size:.82rem;
}

.confessional-again{
    border-color:rgba(139, 233, 255, .28);
    background:rgba(75, 163, 255, .14);
    box-shadow:none;
}

.confessional-error{
    min-height:1.35em;
    margin:17px 0 0;
    color:#ffb4bc;
    font-size:.88rem;
}

@keyframes confessional-ripple{
    0%{ inset:50%; opacity:1; }
    100%{ inset:0; opacity:0; }
}

@keyframes confessional-verdict-in{
    from{ opacity:0; transform:translateY(12px) scale(.985); }
    to{ opacity:1; transform:translateY(0) scale(1); }
}

@media (max-width:600px){
    .confessional-page{
        align-items:start;
        padding:110px 12px 42px;
    }

    .confessional-panel{
        border-radius:var(--radius-medium);
    }

    .confessional-panel::before{
        inset:7px;
        border-radius:calc(var(--radius-medium) - 4px);
    }

    .confessional-content{
        padding:34px 22px;
    }

    .confessional-introduction{
        margin-bottom:26px;
        font-size:.94rem;
    }

    .confessional-form textarea{
        min-height:168px;
        padding:15px;
    }

    .confessional-form-meta{
        display:grid;
        gap:5px;
    }

    .confessional-form-meta span:last-child{
        justify-self:end;
    }

    .confessional-submit,
    .confessional-again{
        width:100%;
    }
}

@media (prefers-reduced-motion:reduce){
    .confessional-ripple span,
    .confessional-result{
        animation:none;
    }

    .confessional-submit,
    .confessional-again{
        transition:none;
    }
}
