:root{--paper:#f7f2e9;--ink:#1f1c17;--gold:#9d752d;--muted:#6a645c;--red:#a52027}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;padding:18px;background:#171614;color:var(--ink);font-family:Georgia,"Times New Roman",serif}.shell{width:min(100%,440px)}.panel{min-height:min(680px,calc(100vh - 36px));padding:42px 27px;border-radius:24px;display:flex;flex-direction:column;justify-content:center;text-align:center;background:var(--paper);border:1px solid rgba(157,117,45,.30);box-shadow:0 18px 45px rgba(0,0,0,.18)}.eyebrow{margin:0 0 22px;font:.74rem Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}h1{margin:0 0 24px;font-size:clamp(1.72rem,6vw,2.18rem);line-height:1.27;font-weight:normal}.description{margin:0 0 34px;color:var(--muted);line-height:1.58;font-size:1.02rem}button{border:0;border-radius:999px;padding:18px 22px;font:1.02rem Arial,sans-serif;background:var(--ink);color:var(--paper);cursor:pointer}button:disabled{opacity:.56}.wait{min-height:46px;margin:21px 0 0;line-height:1.45;color:var(--muted)}.symbol{font-size:6.7rem;line-height:1;margin:10px 0 18px}.answer{margin:0 0 26px;font-weight:normal;font-size:clamp(2.3rem,10vw,3.1rem)}.red{color:var(--red)}.hidden{display:none}
.oracle-text{margin:0 0 26px;text-align:left;color:var(--muted);font-size:1.03rem;line-height:1.68}.reveal-text{margin:8px 0 28px;color:var(--gold);font-size:1.08rem;line-height:1.5;font-style:italic}
.card-image{width:min(78vw,260px);max-height:58vh;height:auto;display:block;margin:8px auto 24px;border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.22);}

/* Zweite Seite: dunkle Testseiten-Ausführung */
body.dark-result{
    display:block;
    place-items:initial;
    padding:0;
    min-height:100vh;
    background:
        radial-gradient(circle at top left, rgba(217,164,65,0.12), transparent 32rem),
        radial-gradient(circle at bottom right, rgba(255,255,255,0.07), transparent 28rem),
        #15110d;
    color:#f7efe4;
}
.dark-shell{
    width:min(100%,980px);
    margin:0 auto;
}
.dark-panel{
    min-height:100vh;
    padding:28px 18px 42px;
    background:linear-gradient(145deg,#2b1f18,#33251d);
    color:#f7efe4;
    box-shadow:0 24px 70px rgba(0,0,0,0.35);
}
.dark-eyebrow{
    margin:0 0 8px;
    color:#d9a441;
    font-family:Arial,Helvetica,sans-serif;
    font-size:.78rem;
    letter-spacing:.15em;
    text-transform:uppercase;
}
.dark-title{
    margin:0 0 24px;
    font-size:clamp(2.3rem,6vw,4.2rem);
    line-height:1.08;
    font-weight:700;
    letter-spacing:-.035em;
    color:#f7efe4;
}
.dark-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(220px,300px);
    gap:clamp(24px,5vw,52px);
    align-items:start;
}
.dark-section{
    margin:0 0 28px;
    text-align:left;
}
.dark-section h2{
    margin:0 0 10px;
    color:#d9a441;
    font-family:Arial,Helvetica,sans-serif;
    font-size:1.05rem;
    line-height:1.3;
}
.dark-section p{
    margin:0;
    color:#f7efe4;
    font-size:clamp(1.02rem,2.2vw,1.18rem);
    line-height:1.55;
}
.dark-image-wrap{
    display:flex;
    justify-content:center;
}
.dark-card-image{max-width:300px;
    width:min(100%,300px);
    height:auto;
    display:block;
    border-radius:12px;
    box-shadow:0 14px 38px rgba(0,0,0,0.38);
    background:#fff;
}
.dark-actions{
    margin-top:34px;
    display:flex;
    justify-content:center;
}
.dark-actions button{
    border:1px solid rgba(255,255,255,0.18);
    background:#17130f;
    color:#fff;
    box-shadow:0 10px 25px rgba(0,0,0,0.26);
}
@media (max-width:760px){
    .dark-panel{
        padding:22px 18px 34px;
    }
    .dark-layout{
        grid-template-columns:1fr;
    }
    .dark-image-wrap{
        order:2;
    }
    .dark-text{
        order:1;
    }
    .dark-card-image{max-width:300px;
        width:min(78vw,260px);
        margin-top:6px;
    }
    .dark-actions button{
        width:100%;
    }
}

body.dark-result img.dark-card-image{
    width:min(100%,300px) !important;
    max-width:300px !important;
    height:auto !important;
}
@media (max-width:760px){
    body.dark-result img.dark-card-image{
        width:min(78vw,260px) !important;
        max-width:260px !important;
    }
}

.dark-transition{
    margin:18px 0 0;
    color:#d8c8b6;
    font-size:1.01rem;
    line-height:1.55;
    text-align:center;
}
.dreier-panel .dark-section strong{
    color:#f7efe4;
}
.card-back-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:12px;
    margin:26px 0 18px;
}
.card-back-button{
    aspect-ratio:5/7;
    min-height:0;
    padding:0;
    border-radius:14px;
    border:1px solid rgba(217,164,65,.55);
    background:
        radial-gradient(circle at center, rgba(217,164,65,.22), transparent 46%),
        linear-gradient(145deg,#231812,#120d09);
    color:#d9a441;
    box-shadow:0 10px 25px rgba(0,0,0,.28);
    display:flex;
    align-items:center;
    justify-content:center;
}
.card-back-button.selected{
    outline:2px solid #d9a441;
    transform:translateY(-2px);
}
.card-back-inner{
    width:56%;
    aspect-ratio:5/7;
    border:1px solid rgba(217,164,65,.55);
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.8rem;
}
.dreier-status{
    margin:0 0 18px;
    color:#d8c8b6;
    text-align:center;
    font-family:Arial,Helvetica,sans-serif;
    font-size:.95rem;
}
.dreier-result-list{
    display:grid;
    gap:24px;
}
.dreier-result-card{
    padding:18px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:rgba(0,0,0,.12);
}
.dreier-position{
    margin:0 0 10px;
    color:#d9a441;
    font-family:Arial,Helvetica,sans-serif;
    font-size:.92rem;
    font-weight:700;
}
.dreier-result-card h2{
    margin:8px 0 10px;
    color:#f7efe4;
    font-size:clamp(1.55rem,5vw,2.15rem);
    line-height:1.12;
}
.dreier-result-card p{
    color:#f7efe4;
    line-height:1.58;
}
.dreier-card-image{
    width:min(54vw,170px);
    height:auto;
    display:block;
    border-radius:10px;
    background:#fff;
    box-shadow:0 10px 24px rgba(0,0,0,.25);
    margin:0 0 12px;
}
@media (max-width:520px){
    .card-back-grid{
        grid-template-columns:repeat(3, minmax(0,1fr));
        gap:10px;
    }
}

/* Dreierlegung Ergebnis: auf breiten Bildschirmen Karte und Text nebeneinander */
@media (min-width: 761px){
    .dreier-result-card{
        display:grid;
        grid-template-columns:minmax(140px,190px) minmax(0,1fr);
        grid-template-areas:
            "position position"
            "image title"
            "image text";
        column-gap:24px;
        align-items:start;
    }

    .dreier-result-card .dreier-position{
        grid-area:position;
    }

    .dreier-result-card .dreier-card-image{
        grid-area:image;
        width:min(100%,180px);
        margin:0;
    }

    .dreier-result-card h2{
        grid-area:title;
        margin-top:0;
    }

    .dreier-result-card p:not(.dreier-position){
        grid-area:text;
    }
}


/* SEO-Infoseiten */
.info-link{
    margin:18px 0 0;
    font:0.95rem Arial,Helvetica,sans-serif;
}
.info-link a{
    color:var(--gold);
    text-decoration:none;
    border-bottom:1px solid rgba(157,117,45,.45);
}
.info-link a:hover,
.info-link a:focus{
    border-bottom-color:var(--gold);
}

.info-panel{
    min-height:100vh;
    padding:28px 18px 42px;
}
.info-article{
    width:min(100%,760px);
    margin:0 auto;
    text-align:left;
}
.info-article .dark-eyebrow{
    text-align:left;
}
.info-article h1{
    margin:0 0 18px;
    color:#f7efe4;
    font-size:clamp(2.15rem,6vw,3.7rem);
    line-height:1.1;
    font-weight:700;
    letter-spacing:-.035em;
}
.info-lead{
    margin:0 0 28px;
    color:#f7efe4;
    font-size:clamp(1.12rem,2.6vw,1.35rem);
    line-height:1.55;
}
.info-article h2{
    margin:32px 0 10px;
    color:#d9a441;
    font-family:Arial,Helvetica,sans-serif;
    font-size:1.05rem;
    line-height:1.3;
}
.info-article p{
    margin:0 0 16px;
    color:#f7efe4;
    font-size:1.06rem;
    line-height:1.68;
}
.info-article ul{
    margin:0 0 18px 1.2rem;
    padding:0;
    color:#f7efe4;
    font-size:1.06rem;
    line-height:1.68;
}
.info-article li{
    margin:0 0 6px;
}
.info-actions{
    margin-top:34px;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.info-button,
.info-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:15px 20px;
    font:1rem Arial,Helvetica,sans-serif;
    text-decoration:none;
}
.info-button{
    background:#f7efe4;
    color:#17130f;
}
.info-secondary{
    border:1px solid rgba(247,239,228,.28);
    color:#f7efe4;
}
.info-note{
    margin-top:30px;
    padding:18px;
    border:1px solid rgba(217,164,65,.25);
    border-radius:18px;
    background:rgba(0,0,0,.12);
}
@media (max-width:520px){
    .info-actions{
        display:grid;
    }
    .info-button,
    .info-secondary{
        width:100%;
    }
}


/* Freiwilliger Kaffee-Button */
.coffee-support{
    margin:30px auto 0;
    padding:18px;
    max-width:680px;
    border:1px solid rgba(217,164,65,.28);
    border-radius:18px;
    background:rgba(0,0,0,.14);
    text-align:center;
}
.coffee-support p{
    margin:0 0 14px;
    color:#f7efe4;
    font-size:1.02rem;
    line-height:1.55;
}
.coffee-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:14px 20px;
    background:#d9a441;
    color:#17130f;
    font:1rem Arial,Helvetica,sans-serif;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 10px 25px rgba(0,0,0,.22);
}
.coffee-button:hover,
.coffee-button:focus{
    text-decoration:none;
    filter:brightness(1.06);
}
@media (max-width:520px){
    .coffee-button{
        width:100%;
    }
}


/* Rechtlicher Footer */
.site-footer{
    width:min(100%,980px);
    margin:0 auto;
    padding:18px 18px 28px;
    text-align:center;
    font:0.9rem Arial,Helvetica,sans-serif;
}
.site-footer a{
    color:#d9a441;
    text-decoration:none;
}
.site-footer a:hover,
.site-footer a:focus{
    text-decoration:underline;
}
body:not(.dark-result) .site-footer{
    width:min(100%,440px);
    color:var(--muted);
}
body:not(.dark-result) .site-footer a{
    color:var(--gold);
}
.legal-page a{
    color:#f1c66d;
}
.legal-page h2{
    margin-top:28px;
}
