
/* =========================================================
   TRASHOVNA V40 — TEST OSOBNOSTI
   Celostránkový sebereflexivní zážitek s generovanou sadou
   otázek, charakterovým profilem a velmi pomalými světly.
   Referenční obraz dodaný uživatelem je použit pouze jako
   pozadí; žádný nový obraz nebyl generován.
   ========================================================= */
body.personality-modal-open-v40 {
    overflow: hidden !important;
}
body.personality-modal-open-v40 .modal-overlay {
    padding: 8px !important;
    background: rgba(2, 7, 20, .88) !important;
    backdrop-filter: blur(16px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(112%) !important;
}
.modal-card.modal-personality-v40 {
    width: min(1440px, calc(100vw - 16px)) !important;
    max-width: none !important;
    height: min(880px, calc(100dvh - 16px)) !important;
    min-height: 650px;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 30px !important;
    color: #fffaf0;
    border: 1px solid rgba(241, 213, 159, .72) !important;
    background: #10162d !important;
    box-shadow:
        0 32px 90px rgba(0, 0, 0, .62),
        0 0 0 1px rgba(167, 196, 255, .12),
        0 0 72px rgba(142, 174, 255, .16) !important;
}
.modal-card.modal-personality-v40 > .modal-title,
.modal-card.modal-personality-v40 > #modalActions {
    display: none !important;
}
.modal-card.modal-personality-v40 > .modal-body {
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    color: inherit;
}
.modal-card.modal-personality-v40 > .modal-close {
    z-index: 60;
    top: 18px;
    right: 18px;
    width: 42px;
    height: 42px;
    color: rgba(255, 250, 238, .9);
    border: 1px solid rgba(255, 255, 255, .24);
    background: rgba(8, 15, 35, .46);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .2);
}
.modal-card.modal-personality-v40 > .modal-close:hover {
    background: rgba(255, 255, 255, .16);
}

.personality-shell-v40 {
    --p-cream: #fff3d4;
    --p-gold: #f3cf8a;
    --p-lilac: #c9c0ff;
    --p-blue: #8bd7ff;
    --p-ink: #10172f;
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1.07fr) minmax(440px, .93fr);
    width: 100%;
    height: 100%;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(17, 22, 52, .18) 0%, rgba(17, 23, 51, .05) 45%, rgba(7, 15, 39, .58) 100%),
        linear-gradient(180deg, rgba(8, 14, 34, .02), rgba(7, 12, 31, .35)),
        linear-gradient(transparent,transparent) center center / cover no-repeat;
}
.personality-shell-v40::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 235, 184, .22), transparent 28%),
        radial-gradient(circle at 79% 26%, rgba(118, 203, 255, .12), transparent 31%),
        linear-gradient(90deg, rgba(16, 20, 52, .08), rgba(11, 17, 42, .18) 56%, rgba(8, 14, 35, .72));
}
.personality-shell-v40::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 45;
    pointer-events: none;
    border-radius: inherit;
    box-shadow: inset 0 0 100px rgba(4, 8, 25, .44);
}

.personality-visual-v40 {
    position: relative;
    z-index: 8;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-width: 0;
    padding: clamp(36px, 5vw, 74px);
    pointer-events: none;
}
.personality-brand-v40 {
    position: absolute;
    top: 28px;
    left: clamp(28px, 4vw, 58px);
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 249, 232, .92);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
    text-shadow: 0 2px 18px rgba(15, 18, 46, .7);
}
.personality-brand-mark-v40 {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 235, 190, .76);
    border-radius: 50%;
    color: #fff1bf;
    background: rgba(18, 24, 57, .22);
    box-shadow: 0 0 24px rgba(255, 225, 167, .2);
    font-family: var(--font-title);
    font-size: 18px;
}
.personality-visual-copy-v40 {
    width: min(650px, 92%);
    padding: 26px 28px 24px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 24px;
    color: #fffaf0;
    background: linear-gradient(135deg, rgba(25, 27, 66, .36), rgba(15, 27, 55, .18));
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    box-shadow: 0 18px 50px rgba(5, 10, 30, .18);
}
.personality-visual-kicker-v40 {
    display: block;
    margin-bottom: 10px;
    color: #ffe2a2;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .21em;
    text-transform: uppercase;
}
.personality-visual-copy-v40 h2 {
    margin: 0 0 12px;
    max-width: 620px;
    color: #fff9ec;
    font-family: var(--font-title);
    font-size: clamp(31px, 3.3vw, 55px);
    line-height: 1.04;
    text-shadow: 0 8px 28px rgba(28, 28, 65, .48);
}
.personality-visual-copy-v40 p {
    margin: 0;
    max-width: 560px;
    color: rgba(255, 250, 240, .82);
    font-size: 14px;
    line-height: 1.7;
}

.personality-panel-v40 {
    position: relative;
    z-index: 20;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    margin: 26px 26px 26px 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 27px;
    background:
        radial-gradient(circle at 15% 0%, rgba(255, 235, 191, .12), transparent 30%),
        linear-gradient(155deg, rgba(16, 24, 55, .79), rgba(9, 18, 43, .88));
    backdrop-filter: blur(22px) saturate(120%);
    -webkit-backdrop-filter: blur(22px) saturate(120%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .1),
        0 26px 60px rgba(4, 8, 25, .32);
}
.personality-panel-head-v40 {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    padding: 28px 32px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.personality-panel-kicker-v40 {
    display: block;
    margin-bottom: 6px;
    color: var(--p-gold);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .2em;
    text-transform: uppercase;
}
.personality-panel-title-v40 {
    margin: 0;
    color: #fff8e7;
    font-family: var(--font-title);
    font-size: 24px;
    line-height: 1.15;
}
.personality-security-v40 {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    margin-right: 40px;
    padding: 8px 11px;
    border: 1px solid rgba(170, 220, 255, .2);
    border-radius: 999px;
    color: rgba(219, 242, 255, .78);
    background: rgba(102, 183, 230, .07);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
}
.personality-security-v40::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #9ce7d2;
    box-shadow: 0 0 12px rgba(156, 231, 210, .65);
}
.personality-progress-track-v40 {
    position: relative;
    z-index: 2;
    height: 3px;
    background: rgba(255, 255, 255, .07);
}
.personality-progress-fill-v40 {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #c7bcff, #f5d398, #9bddff);
    box-shadow: 0 0 16px rgba(224, 211, 255, .38);
    transition: width 1.1s cubic-bezier(.22, .8, .23, 1);
}
.personality-stage-v40 {
    position: relative;
    z-index: 2;
    flex: 1;
    min-height: 0;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(238, 215, 172, .38) transparent;
}
.personality-stage-v40::-webkit-scrollbar { width: 7px; }
.personality-stage-v40::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(238, 215, 172, .32);
}
.personality-screen-v40 {
    min-height: 100%;
    padding: 30px 32px 32px;
    animation: personalityScreenInV40 .85s cubic-bezier(.22, .76, .23, 1) both;
}
.personality-screen-v40 h3 {
    margin: 0 0 10px;
    color: #fff9ea;
    font-family: var(--font-title);
    font-size: clamp(27px, 3vw, 38px);
    line-height: 1.16;
}
.personality-lead-v40 {
    margin: 0 0 24px;
    color: rgba(244, 244, 255, .72);
    font-size: 14px;
    line-height: 1.68;
}
.personality-intro-grid-v40 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 13px;
}
.personality-field-v40 {
    display: grid;
    gap: 7px;
}
.personality-field-v40.is-wide { grid-column: 1 / -1; }
.personality-field-v40 label {
    color: rgba(255, 250, 236, .86);
    font-size: 12px;
    font-weight: 750;
}
.personality-input-v40,
.personality-select-v40 {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 14px;
    color: #fff9eb;
    background: rgba(255, 255, 255, .055);
    font-family: inherit;
    font-size: 13px;
    outline: none;
    transition: border-color .4s ease, box-shadow .4s ease, background .4s ease;
}
.personality-select-v40 option { color: #10172f; }
.personality-input-v40:focus,
.personality-select-v40:focus {
    border-color: rgba(212, 203, 255, .72);
    background: rgba(255, 255, 255, .085);
    box-shadow: 0 0 0 4px rgba(178, 163, 255, .08), 0 0 22px rgba(154, 187, 255, .08);
}
.personality-note-v40 {
    display: flex;
    gap: 10px;
    margin: 18px 0 0;
    padding: 13px 14px;
    border: 1px solid rgba(174, 209, 255, .13);
    border-radius: 14px;
    color: rgba(225, 235, 255, .67);
    background: rgba(94, 141, 210, .055);
    font-size: 11px;
    line-height: 1.55;
}
.personality-note-v40 strong { color: rgba(255, 240, 204, .88); }
.personality-actions-v40 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 25px;
}
.personality-btn-v40 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 0 20px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 999px;
    color: rgba(255, 250, 238, .86);
    background: rgba(255, 255, 255, .055);
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .35s ease, border-color .35s ease, background .35s ease, box-shadow .35s ease;
}
.personality-btn-v40:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 238, 196, .34);
    background: rgba(255, 255, 255, .09);
}
.personality-btn-v40.is-primary {
    color: #18203b;
    border-color: rgba(255, 245, 218, .76);
    background: linear-gradient(135deg, #fff0c8, #d7d0ff 54%, #aee0f8);
    box-shadow: 0 11px 30px rgba(163, 179, 255, .18), 0 0 24px rgba(255, 226, 169, .12);
}
.personality-btn-v40:disabled {
    opacity: .38;
    cursor: default;
    transform: none;
}

.personality-question-meta-v40 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}
.personality-question-number-v40,
.personality-question-area-v40 {
    color: rgba(214, 224, 255, .66);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.personality-question-area-v40 { color: #f2d79e; }
.personality-question-v40 {
    margin: 0 0 25px;
    color: #fff9eb;
    font-family: var(--font-title);
    font-size: clamp(26px, 2.8vw, 38px);
    line-height: 1.23;
}
.personality-scale-v40 {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}
.personality-answer-v40 {
    position: relative;
    display: grid;
    place-items: center;
    gap: 6px;
    min-height: 92px;
    padding: 12px 7px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 16px;
    color: rgba(245, 245, 255, .72);
    background: rgba(255, 255, 255, .045);
    cursor: pointer;
    transition: transform .38s ease, border-color .38s ease, background .38s ease, box-shadow .38s ease;
}
.personality-answer-v40:hover {
    transform: translateY(-2px);
    border-color: rgba(217, 208, 255, .34);
    background: rgba(255, 255, 255, .075);
}
.personality-answer-v40.is-selected {
    color: #fff9e9;
    border-color: rgba(245, 217, 160, .76);
    background: linear-gradient(145deg, rgba(221, 203, 255, .16), rgba(255, 225, 168, .1));
    box-shadow: inset 0 0 24px rgba(220, 205, 255, .07), 0 0 24px rgba(237, 211, 157, .09);
}
.personality-answer-dot-v40 {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
    color: #f7ddb0;
    background: rgba(255, 255, 255, .04);
    font-family: var(--font-title);
    font-size: 15px;
}
.personality-answer-v40.is-selected .personality-answer-dot-v40 {
    color: #18203b;
    border-color: transparent;
    background: linear-gradient(135deg, #ffe3a7, #c8c3ff);
}
.personality-answer-label-v40 {
    font-size: 10px;
    font-weight: 720;
    line-height: 1.25;
    text-align: center;
}
.personality-scale-legend-v40 {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-top: 9px;
    color: rgba(224, 230, 252, .46);
    font-size: 10px;
}

.personality-result-top-v40 {
    display: grid;
    grid-template-columns: 86px 1fr;
    gap: 17px;
    align-items: center;
    margin-bottom: 22px;
}
.personality-result-sigil-v40 {
    position: relative;
    display: grid;
    place-items: center;
    width: 82px;
    height: 82px;
    border: 1px solid rgba(255, 231, 180, .62);
    border-radius: 50%;
    color: #fff0c5;
    background:
        radial-gradient(circle, rgba(255, 226, 163, .16), transparent 60%),
        rgba(202, 194, 255, .07);
    box-shadow: inset 0 0 28px rgba(255, 227, 171, .08), 0 0 30px rgba(185, 199, 255, .1);
    font-family: var(--font-title);
    font-size: 31px;
}
.personality-result-sigil-v40::before,
.personality-result-sigil-v40::after {
    content: '';
    position: absolute;
    inset: -7px;
    border: 1px solid rgba(202, 195, 255, .19);
    border-radius: 50%;
    animation: personalitySigilOrbitV40 46s linear infinite;
}
.personality-result-sigil-v40::after {
    inset: -13px;
    border-style: dashed;
    animation-duration: 72s;
    animation-direction: reverse;
}
.personality-result-title-v40 {
    margin: 0 0 5px !important;
    font-size: clamp(27px, 3vw, 38px) !important;
}
.personality-result-sub-v40 {
    margin: 0;
    color: rgba(242, 242, 255, .67);
    font-size: 12px;
    line-height: 1.55;
}
.personality-summary-v40 {
    margin: 0 0 20px;
    padding: 16px 17px;
    border: 1px solid rgba(255, 239, 204, .14);
    border-radius: 16px;
    color: rgba(255, 250, 239, .86);
    background: rgba(255, 230, 183, .045);
    font-family: var(--font-serif);
    font-size: 15px;
    line-height: 1.68;
}
.personality-traits-v40 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
    margin-bottom: 20px;
}
.personality-trait-v40 {
    min-width: 0;
    padding: 12px 10px;
    border: 1px solid rgba(197, 205, 255, .13);
    border-radius: 14px;
    background: rgba(152, 169, 255, .045);
    text-align: center;
}
.personality-trait-v40 strong {
    display: block;
    margin-bottom: 4px;
    color: #ffe0a6;
    font-size: 12px;
}
.personality-trait-v40 span {
    color: rgba(230, 234, 255, .58);
    font-size: 10px;
    line-height: 1.35;
}
.personality-bars-v40 {
    display: grid;
    gap: 10px;
}
.personality-bar-row-v40 {
    display: grid;
    grid-template-columns: 128px 1fr 38px;
    gap: 10px;
    align-items: center;
}
.personality-bar-name-v40 {
    color: rgba(250, 247, 255, .76);
    font-size: 11px;
    font-weight: 720;
}
.personality-bar-track-v40 {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, .075);
}
.personality-bar-fill-v40 {
    width: var(--score);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(190, 187, 255, .9), rgba(255, 221, 159, .96), rgba(142, 217, 255, .92));
    box-shadow: 0 0 13px rgba(215, 207, 255, .2);
    transform-origin: left center;
    animation: personalityBarGrowV40 1.55s cubic-bezier(.2, .82, .22, 1) both;
}
.personality-bar-value-v40 {
    color: rgba(255, 237, 199, .78);
    font-size: 10px;
    text-align: right;
}
.personality-result-notes-v40 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 18px;
}
.personality-result-note-v40 {
    padding: 13px 14px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 14px;
    background: rgba(255, 255, 255, .035);
}
.personality-result-note-v40 strong {
    display: block;
    margin-bottom: 5px;
    color: #f2d89f;
    font-size: 11px;
}
.personality-result-note-v40 p {
    margin: 0;
    color: rgba(232, 237, 255, .65);
    font-size: 11px;
    line-height: 1.5;
}
.personality-copy-status-v40 {
    min-height: 17px;
    margin-top: 8px;
    color: #a7eadb;
    font-size: 10px;
    text-align: right;
}

/* Velmi pomalé a měkké orbitální prvky. */
.personality-cosmos-v40,
.personality-dust-v40 {
    position: absolute;
    inset: 0;
    z-index: 3;
    overflow: hidden;
    pointer-events: none;
}
.personality-orbit-v40 {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--size);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 238, 205, var(--alpha));
    border-radius: 50%;
    transform: translate(-50%, -50%) rotate(var(--tilt));
    box-shadow: 0 0 30px rgba(200, 211, 255, .035);
    animation: personalityOrbitV40 var(--duration) linear infinite;
}
.personality-orbit-v40::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -3px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 239, 196, .8);
    box-shadow: 0 0 17px rgba(255, 232, 181, .55);
}
.personality-orb-v40 {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    opacity: var(--alpha);
    filter: blur(var(--blur));
    background: radial-gradient(circle, rgba(var(--rgb), .9) 0%, rgba(var(--rgb), .28) 30%, rgba(var(--rgb), 0) 72%);
    animation: personalityOrbDriftV40 var(--duration) ease-in-out var(--delay) infinite alternate;
}
.personality-dust-v40 span {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    opacity: 0;
    background: rgba(var(--rgb), .94);
    box-shadow: 0 0 12px rgba(var(--rgb), .48);
    animation:
        personalityDustDriftV40 var(--move) ease-in-out var(--delay) infinite,
        personalityDustPulseV40 var(--pulse) ease-in-out var(--delay) infinite;
}

@keyframes personalityScreenInV40 {
    from { opacity: 0; transform: translateY(10px); filter: blur(3px); }
    to { opacity: 1; transform: translateY(0); filter: blur(0); }
}
@keyframes personalityOrbitV40 {
    to { transform: translate(-50%, -50%) rotate(calc(var(--tilt, 0deg) + 360deg)); }
}
@keyframes personalitySigilOrbitV40 {
    to { transform: rotate(360deg); }
}
@keyframes personalityOrbDriftV40 {
    0% { transform: translate3d(-10px, 4px, 0) scale(.88); opacity: .055; }
    52% { transform: translate3d(12px, -15px, 0) scale(1.08); opacity: var(--alpha); }
    100% { transform: translate3d(-5px, 11px, 0) scale(.95); opacity: .085; }
}
@keyframes personalityDustDriftV40 {
    0%, 100% { transform: translate3d(0, 12px, 0); }
    45% { transform: translate3d(var(--dx), -18px, 0); }
    72% { transform: translate3d(var(--dx2), -8px, 0); }
}
@keyframes personalityDustPulseV40 {
    0%, 100% { opacity: .08; filter: blur(.35px); }
    35% { opacity: var(--alpha); filter: blur(0); }
    68% { opacity: .1; filter: blur(.5px); }
}
@keyframes personalityBarGrowV40 {
    from { transform: scaleX(0); opacity: .35; }
    to { transform: scaleX(1); opacity: 1; }
}

@media (max-width: 980px) {
    .modal-card.modal-personality-v40 { min-height: 600px; }
    .personality-shell-v40 { grid-template-columns: .82fr 1.18fr; }
    .personality-visual-v40 { padding: 32px; }
    .personality-visual-copy-v40 { padding: 20px; }
    .personality-visual-copy-v40 h2 { font-size: 32px; }
    .personality-panel-v40 { margin: 18px 18px 18px 0; }
    .personality-panel-head-v40 { padding: 24px 26px 18px; }
    .personality-screen-v40 { padding: 26px; }
}
@media (max-width: 760px) {
    body.personality-modal-open-v40 .modal-overlay { padding: 0 !important; }
    .modal-card.modal-personality-v40 {
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
    }
    .personality-shell-v40 {
        display: block;
        background-position: 52% center;
    }
    .personality-visual-v40 {
        position: absolute;
        inset: 0;
        padding: 22px;
    }
    .personality-brand-v40 { top: 18px; left: 20px; }
    .personality-visual-copy-v40 { display: none; }
    .personality-panel-v40 {
        position: absolute;
        inset: 70px 10px 10px;
        margin: 0;
        border-radius: 23px;
        background: linear-gradient(155deg, rgba(14, 22, 52, .86), rgba(7, 16, 40, .94));
    }
    .personality-panel-head-v40 { padding: 20px 20px 15px; }
    .personality-security-v40 { display: none; }
    .personality-screen-v40 { padding: 23px 20px 25px; }
    .personality-intro-grid-v40 { grid-template-columns: 1fr; }
    .personality-field-v40.is-wide { grid-column: auto; }
    .personality-scale-v40 { gap: 5px; }
    .personality-answer-v40 { min-height: 82px; padding: 9px 3px; }
    .personality-answer-label-v40 { font-size: 8px; }
    .personality-result-notes-v40 { grid-template-columns: 1fr; }
}
@media (max-width: 440px) {
    .personality-panel-v40 { inset: 62px 6px 6px; }
    .personality-panel-head-v40 { padding: 16px 16px 13px; }
    .personality-panel-title-v40 { font-size: 20px; }
    .personality-screen-v40 { padding: 20px 15px 22px; }
    .personality-question-v40 { font-size: 24px; }
    .personality-answer-dot-v40 { width: 29px; height: 29px; }
    .personality-actions-v40 { align-items: stretch; }
    .personality-btn-v40 { padding: 0 14px; font-size: 11px; }
    .personality-result-top-v40 { grid-template-columns: 66px 1fr; }
    .personality-result-sigil-v40 { width: 62px; height: 62px; font-size: 24px; }
    .personality-traits-v40 { grid-template-columns: 1fr; }
    .personality-bar-row-v40 { grid-template-columns: 103px 1fr 34px; }
}
@media (prefers-reduced-motion: reduce) {
    .personality-shell-v40 *,
    .personality-shell-v40 *::before,
    .personality-shell-v40 *::after {
        animation: none !important;
        transition-duration: .01ms !important;
    }
    .personality-dust-v40 { display: none; }
}


/* TRASHOVNA V41 — rozšířené světlo a placené odemknutí výsledku. */
.personality-light-ring-v41,
.personality-light-beam-v41,
.personality-light-bloom-v41 {
    position: absolute;
    pointer-events: none;
    mix-blend-mode: screen;
}
.personality-light-ring-v41 {
    width: 34vw;
    min-width: 300px;
    max-width: 620px;
    aspect-ratio: 1;
    border: 1px solid rgba(255, 235, 190, .14);
    border-radius: 50%;
    filter: blur(.2px) drop-shadow(0 0 24px rgba(202, 212, 255, .08));
    animation: personalityLightRingV41 110s linear infinite;
}
.personality-light-ring-v41::before,
.personality-light-ring-v41::after {
    content: '';
    position: absolute;
    border-radius: 50%;
}
.personality-light-ring-v41::before {
    inset: 13%;
    border: 1px dashed rgba(218, 210, 255, .09);
}
.personality-light-ring-v41::after {
    left: 50%;
    top: -4px;
    width: 8px;
    height: 8px;
    background: rgba(255, 239, 198, .88);
    box-shadow: 0 0 20px rgba(255, 226, 164, .62), 0 0 48px rgba(189, 202, 255, .22);
}
.personality-light-ring-v41-a { left: 38%; top: 10%; transform: rotate(12deg); }
.personality-light-ring-v41-b {
    right: -8%; bottom: -18%;
    width: 27vw;
    opacity: .7;
    animation-duration: 146s;
    animation-direction: reverse;
}
.personality-light-beam-v41 {
    width: 46vw;
    height: 140px;
    border-radius: 50%;
    opacity: .16;
    filter: blur(36px);
    background: linear-gradient(90deg, transparent, rgba(255, 229, 170, .9), rgba(168, 207, 255, .55), transparent);
    animation: personalityLightSweepV41 48s ease-in-out infinite alternate;
}
.personality-light-beam-v41-a { left: 22%; top: 34%; transform: rotate(-14deg); }
.personality-light-beam-v41-b {
    right: -12%; top: 60%;
    opacity: .1;
    transform: rotate(17deg);
    animation-duration: 61s;
    animation-delay: -19s;
}
.personality-light-bloom-v41 {
    left: 46%;
    top: 43%;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    opacity: .24;
    filter: blur(18px);
    background: radial-gradient(circle, rgba(255, 244, 213, .72), rgba(255, 219, 154, .2) 34%, rgba(178, 199, 255, .08) 56%, transparent 72%);
    animation: personalityBloomV41 22s ease-in-out infinite alternate;
}
.personality-panel-v40::before {
    content: '';
    position: absolute;
    inset: -35% 18% auto;
    height: 220px;
    z-index: 0;
    pointer-events: none;
    opacity: .12;
    filter: blur(32px);
    background: radial-gradient(ellipse, rgba(255, 226, 167, .72), transparent 68%);
    animation: personalityPanelGlowV41 26s ease-in-out infinite alternate;
}

.personality-paywall-screen-v41,
.personality-checkout-screen-v41 { position: relative; isolation: isolate; }
.personality-paywall-aura-v41 {
    position: absolute;
    z-index: -1;
    left: 50%;
    top: 34%;
    width: min(520px, 90%);
    height: 310px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    opacity: .22;
    filter: blur(32px);
    background: radial-gradient(circle, rgba(255, 230, 172, .68), rgba(195, 187, 255, .22) 43%, transparent 72%);
    animation: personalityPayAuraV41 18s ease-in-out infinite alternate;
}
.personality-paywall-seal-v41 {
    position: relative;
    display: grid;
    place-items: center;
    width: 92px;
    height: 92px;
    margin: 2px auto 19px;
    border: 1px solid rgba(255, 230, 176, .66);
    border-radius: 50%;
    color: #ffe7ad;
    background: radial-gradient(circle, rgba(255, 224, 160, .14), rgba(189, 182, 255, .07) 58%, transparent 70%);
    box-shadow: inset 0 0 34px rgba(255, 227, 170, .1), 0 0 42px rgba(212, 202, 255, .12);
    font-family: var(--font-title);
    font-size: 30px;
}
.personality-paywall-seal-v41::before,
.personality-paywall-seal-v41::after {
    content: '';
    position: absolute;
    inset: -9px;
    border: 1px solid rgba(203, 197, 255, .18);
    border-radius: 50%;
    animation: personalitySigilOrbitV40 58s linear infinite;
}
.personality-paywall-seal-v41::after { inset: -16px; border-style: dashed; animation-duration: 83s; animation-direction: reverse; }
.personality-paywall-screen-v41 > h3,
.personality-paywall-screen-v41 > .personality-panel-kicker-v40 { text-align: center; display: block; }
.personality-paywall-screen-v41 > .personality-lead-v40 { max-width: 650px; margin-left: auto; margin-right: auto; text-align: center; }
.personality-pay-card-v41 {
    display: grid;
    grid-template-columns: minmax(150px, .66fr) minmax(0, 1.34fr);
    gap: 20px;
    align-items: center;
    margin: 21px 0 14px;
    padding: 18px;
    border: 1px solid rgba(255, 235, 192, .22);
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(255, 224, 166, .075), rgba(186, 188, 255, .075) 50%, rgba(118, 199, 241, .05));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 16px 40px rgba(3, 8, 25, .18);
}
.personality-pay-price-v41 { padding: 9px 17px; border-right: 1px solid rgba(255,255,255,.1); }
.personality-pay-price-v41 strong { display: block; color: #ffe6ad; font-family: var(--font-title); font-size: 38px; line-height: 1; }
.personality-pay-price-v41 span { display: block; margin-top: 8px; color: rgba(230,235,255,.56); font-size: 10px; line-height: 1.4; text-transform: uppercase; letter-spacing: .09em; }
.personality-pay-includes-v41 { display: grid; gap: 9px; color: rgba(247,247,255,.74); font-size: 11px; line-height: 1.4; }
.personality-pay-includes-v41 span { display: flex; align-items: center; gap: 9px; }
.personality-pay-includes-v41 b { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid rgba(255,236,196,.2); border-radius: 50%; color: #f5dba5; background: rgba(255,255,255,.04); }
.personality-pay-lock-v41 { display: flex; justify-content: center; margin: 12px 0 3px; color: rgba(183, 215, 255, .64); font-size: 10px; letter-spacing: .04em; }
.personality-pay-lock-v41::before { content: '🔒'; margin-right: 7px; filter: saturate(.7); }
.personality-pay-actions-v41 { margin-top: 20px; }
.personality-pay-button-v41 { position: relative; overflow: hidden; }
.personality-pay-button-v41::after {
    content: '';
    position: absolute;
    inset: -80% auto -80% -34%;
    width: 26%;
    transform: rotate(17deg);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
    animation: personalityPayShineV41 7.5s ease-in-out infinite;
}
.personality-checkout-orbit-v41 {
    position: absolute;
    z-index: -1;
    right: -64px;
    top: -74px;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(205, 200, 255, .12);
    border-radius: 50%;
    box-shadow: 0 0 70px rgba(167, 198, 255, .08);
    animation: personalitySigilOrbitV40 94s linear infinite;
}
.personality-checkout-summary-v41 {
    display: grid;
    gap: 1px;
    margin: 18px 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    background: rgba(255,255,255,.04);
}
.personality-checkout-summary-v41 > div { display: flex; justify-content: space-between; gap: 18px; padding: 13px 15px; background: rgba(6,13,34,.32); }
.personality-checkout-summary-v41 span { color: rgba(224,232,255,.56); font-size: 11px; }
.personality-checkout-summary-v41 strong { color: #fff0c9; font-size: 12px; }
.personality-payment-consent-v41 { display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; margin: 16px 0 14px; color: rgba(235,239,255,.68); font-size: 11px; line-height: 1.5; cursor: pointer; }
.personality-payment-consent-v41 input { margin-top: 2px; accent-color: #ead39e; }
.personality-payment-methods-v41 { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 10px; }
.personality-payment-methods-v41 span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: rgba(235,241,255,.6); background: rgba(255,255,255,.035); font-size: 9px; font-weight: 800; letter-spacing: .05em; }
.personality-payment-status-v41 { min-height: 18px; color: #acdfee; font-size: 10px; line-height: 1.5; }
.personality-payment-confirmed-v41 { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 13px; padding: 7px 10px; border: 1px solid rgba(156,231,210,.22); border-radius: 999px; color: #adebd9; background: rgba(80,180,150,.07); font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.personality-note-v40 code { color: #ffe1a6; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .92em; overflow-wrap: anywhere; }

@keyframes personalityLightRingV41 { to { transform: rotate(360deg); } }
@keyframes personalityLightSweepV41 {
    0% { transform: translate3d(-22px, 10px, 0) rotate(-14deg) scale(.92); opacity: .07; }
    52% { transform: translate3d(34px, -15px, 0) rotate(-10deg) scale(1.08); opacity: .2; }
    100% { transform: translate3d(8px, 16px, 0) rotate(-16deg) scale(.98); opacity: .1; }
}
@keyframes personalityBloomV41 { from { transform: scale(.9); opacity: .12; } to { transform: scale(1.12); opacity: .3; } }
@keyframes personalityPayAuraV41 { from { transform: translate(-50%, -50%) scale(.9); opacity: .12; } to { transform: translate(-50%, -50%) scale(1.12); opacity: .3; } }
@keyframes personalityPanelGlowV41 { from { transform: translateX(-8%) scale(.94); } to { transform: translateX(9%) scale(1.08); } }
@keyframes personalityPayShineV41 {
    0%, 62% { left: -34%; opacity: 0; }
    70% { opacity: .5; }
    88%, 100% { left: 116%; opacity: 0; }
}

@media (max-width: 760px) {
    .personality-pay-card-v41 { grid-template-columns: 1fr; gap: 10px; }
    .personality-pay-price-v41 { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); text-align: center; }
    .personality-pay-actions-v41 { flex-direction: column-reverse; }
    .personality-pay-actions-v41 .personality-btn-v40 { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .personality-pay-button-v41::after,
    .personality-light-ring-v41,
    .personality-light-beam-v41,
    .personality-light-bloom-v41,
    .personality-panel-v40::before,
    .personality-paywall-seal-v41::before,
    .personality-paywall-seal-v41::after,
    .personality-checkout-orbit-v41 { animation: none !important; }
}

