/* Quiet image cards shared by the private and mentor reflection views. */
#mirror-preview .reflection-world .mirror-grid{gap:18px}
#mirror-preview .reflection-world button.mirror-door{
 overflow:hidden!important;border:1px solid #c4a66d55!important;border-radius:14px!important;
 min-height:320px!important;padding:22px!important;box-shadow:none!important;
 display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;
 text-align:left;transition:border-color .18s ease,transform .18s ease;
}
#mirror-preview .reflection-world button.mirror-door:hover{
 transform:translateY(-2px);border-color:#ddc18b!important;box-shadow:none!important;
}
#mirror-preview .reflection-world button.mirror-door:focus-visible{
 outline:2px solid #efd6a1;outline-offset:4px;box-shadow:none!important;
}
#mirror-preview .mirror-door .ornate-mirror-frame,
#mirror-preview .mirror-door .mirror-lightning{display:none!important}
#mirror-preview .reflection-world button.mirror-door::before{display:none!important}
#mirror-preview .reflection-world button.mirror-door::after{
 content:"";position:absolute;inset:0!important;border-radius:inherit;z-index:-1;
 background:linear-gradient(180deg,transparent 38%,#09090935 58%,#090909ee 100%)!important;
 box-shadow:none!important;pointer-events:none;
}
#mirror-preview .reflection-world .mirror-door .mirror-art,
#mirror-preview .reflection-world .mirror-door [class$="diagnosis-art"]{
 inset:0!important;border-radius:0!important;filter:none!important;
}
#mirror-preview .reflection-world .mirror-door .mirror-art-space{
 flex:1;min-height:155px;height:auto;background:none;margin:0;width:100%;
}
#mirror-preview .reflection-world .mirror-door>div{width:100%;position:relative;z-index:4}
#mirror-preview .reflection-world .mirror-door h2{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 margin:0;font:400 22px/1.25 Georgia,serif;color:#f5ead5!important;
 text-shadow:0 2px 8px #0008;
}
#mirror-preview .reflection-world .mirror-door h2::after{
 content:'↗';font:400 18px/1 system-ui;color:#d9c59c;flex:none;
}
#mirror-preview .reflection-world .mirror-door small,
#mirror-preview .reflection-world .mirror-door .mirror-label,
#mirror-preview .reflection-world .mirror-door[data-mirror] .mirror-meta{display:none}
#mirror-preview .reflection-world .mirror-door[data-assessment] .mirror-meta{
 margin:10px 0 0;font-size:11px;color:#d8ceba!important;text-shadow:none;
}
@media(max-width:600px){
 #mirror-preview .reflection-world .mirror-grid{gap:12px}
 #mirror-preview .reflection-world button.mirror-door{min-height:260px!important;padding:16px!important}
 #mirror-preview .reflection-world .mirror-door h2{font-size:19px}
 #mirror-preview .reflection-world .mirror-door .mirror-art-space{min-height:145px}
}
@media(prefers-reduced-motion:reduce){#mirror-preview .reflection-world button.mirror-door{transition:none}#mirror-preview .reflection-world button.mirror-door:hover{transform:none}}

#mirror-preview .reflection-world .community-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#mirror-preview .reflection-world button.community-cover{aspect-ratio:16/9;min-height:0!important;height:auto;padding:0!important;border-radius:12px!important}
#mirror-preview .reflection-world button.community-cover::after{display:none!important}
#mirror-preview .reflection-world button.community-cover .mirror-art{background-position:center;background-size:cover;z-index:0;filter:none!important}
#mirror-preview .reflection-world button.community-cover[data-cover="beliefs"] .mirror-art{background-image:url('/mirror-images/community-beliefs.png');background-size:102% 102%}
#mirror-preview .reflection-world button.community-cover[data-cover="power"] .mirror-art{background-image:url('/mirror-images/power-ups.png')}
#mirror-preview .reflection-world button.community-cover[data-cover="drainer"] .mirror-art{background-image:url('/mirror-images/drainers.png')}
#mirror-preview .reflection-world button.community-cover[data-cover="strengths"] .mirror-art{background-image:url('/mirror-images/community-strengths-clean.png');background-size:cover}
#mirror-preview .reflection-world button.community-cover[data-cover="conscious"] .mirror-art{background-image:url('/mirror-images/community-consciousness.png')}
@media(max-width:600px){#mirror-preview .reflection-world .community-cover-grid{grid-template-columns:1fr;gap:16px}}
#mirror-preview .reflection-world button.community-cover .diagnosis-lock{position:absolute;z-index:5;right:12px;top:12px;display:flex;align-items:center;justify-content:center;min-width:30px;min-height:30px;padding:7px 9px;border:1px solid #ead29b77;border-radius:30px;background:#12110cbb;color:#f5dfa9;font:11px/1.2 system-ui;backdrop-filter:blur(5px)}
#mirror-preview .reflection-world button.community-cover.diagnosis-complete{border-color:#d5b777!important}
.diagnosis-choice-dialog{max-width:460px;width:calc(100% - 32px);padding:32px;border:1px solid #a78953;border-radius:18px;background:linear-gradient(145deg,#282015,#100e0b);color:#eadfc9;box-shadow:0 24px 80px #000a}
.diagnosis-choice-dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}
.diagnosis-choice-dialog h2{font:28px/1.3 Georgia,serif;color:#edca87;margin:4px 20px 18px 0}
.diagnosis-choice-dialog p{font:14px/1.7 system-ui;color:#d3c8b4}
.diagnosis-choice-dialog button{font:14px system-ui;border-radius:8px;padding:12px 16px;cursor:pointer}
.diagnosis-choice-dialog button:focus-visible{outline:2px solid #f5d891;outline-offset:3px}
.diagnosis-choice-actions{display:grid;gap:12px}.diagnosis-choice-actions[hidden],#diagnosis-restart-confirm[hidden]{display:none}
.diagnosis-dialog-close{position:absolute;right:12px;top:12px;padding:5px 10px!important;background:none;border:0;color:#e4c68e;font-size:24px!important}
#diagnosis-restart-confirm button{margin:5px 8px 5px 0}
#mirror-preview .reflection-world button.community-cover .mirror-art{position:absolute;display:block;inset:0!important;pointer-events:none}
/* The modal is mounted outside #mirror-preview, so give it its own sizing rules. */
.diagnosis-choice-dialog,.diagnosis-choice-dialog *{box-sizing:border-box}
.diagnosis-choice-dialog{width:min(460px,calc(100vw - 32px));max-width:calc(100vw - 32px);min-width:0;max-height:calc(100dvh - 32px);margin:auto;padding:32px;overflow:auto;overscroll-behavior:contain}
.diagnosis-choice-dialog h2{padding-right:12px;overflow-wrap:anywhere}
.diagnosis-choice-dialog p,.diagnosis-choice-dialog button{overflow-wrap:anywhere}
.diagnosis-choice-actions{grid-template-columns:minmax(0,1fr);min-width:0}
.diagnosis-choice-actions button{width:100%;min-width:0;white-space:normal}
.diagnosis-choice-dialog .diagnosis-dialog-close{width:40px;height:40px;display:grid;place-items:center;right:8px;top:8px;line-height:1}
@media(max-width:480px){.diagnosis-choice-dialog{padding:28px 20px 24px}.diagnosis-choice-dialog h2{font-size:25px;margin-right:20px}.diagnosis-choice-dialog button{min-height:44px}#diagnosis-restart-confirm button{width:100%;margin:6px 0}}

#mirror-preview .reflection-world .checkin-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;aspect-ratio:16/9;min-width:0;align-self:start}
#mirror-preview .reflection-world .checkin-pair button.mirror-door{min-height:0!important;height:100%;padding:20px 16px!important;justify-content:center;text-align:left;border-radius:12px!important;background:linear-gradient(145deg,#302719,#110f0a)!important}
#mirror-preview .reflection-world .checkin-pair .mirror-art-space,#mirror-preview .reflection-world .checkin-pair .mirror-label,#mirror-preview .reflection-world .checkin-pair .mirror-meta{display:none!important}
#mirror-preview .reflection-world .checkin-pair h2{display:block;font-size:clamp(18px,2vw,24px);line-height:1.3;overflow-wrap:anywhere}
#mirror-preview .reflection-world .checkin-pair h2::after{content:none}
#mirror-preview .reflection-world .checkin-pair small{display:block;margin-top:10px;color:#c7baa5!important;font:12px/1.5 system-ui}
@media(max-width:600px){#mirror-preview .reflection-world .checkin-pair{gap:12px}#mirror-preview .reflection-world .checkin-pair button.mirror-door{padding:18px 14px!important}}

#mirror-preview .mirror-intro .reflection-tagline{font-family:Georgia,serif;font-size:clamp(20px,2.4vw,28px);margin:12px 0;color:#e9d2a4}

/* Portrait check-in artwork shared by the diagnosis and reflection rooms. */
#mirror-preview .reflection-world .checkin-pair{aspect-ratio:auto;align-items:start}
#mirror-preview .reflection-world .checkin-pair button.mirror-door{position:relative;isolation:isolate;aspect-ratio:2/3;height:auto;min-height:0;padding:0!important;overflow:hidden!important;background:#110f0a!important}
.checkin-cover-art{display:block;position:absolute;inset:0;background-size:cover;background-position:center;pointer-events:none}
.emotion-door .checkin-cover-art{background-image:url('/mirror-images/emotions-portrait.png')}
.fear-door .checkin-cover-art{background-image:url('/mirror-images/core-fears-portrait.png')}
#mirror-preview button[data-cover=beliefs] .mirror-art{background-size:cover!important}

/* Two check-ins occupy exactly one standard landscape card. */
#mirror-preview .reflection-world .checkin-pair{aspect-ratio:16/9;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid #a48a56;border-radius:14px;box-sizing:border-box;align-items:stretch}
#mirror-preview .reflection-world .checkin-pair button.mirror-door{aspect-ratio:auto!important;width:100%;height:100%;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none}
#mirror-preview .reflection-world .checkin-pair button.mirror-door+button.mirror-door{border-left:1px solid #b2945c!important}
#mirror-preview .checkin-pair .checkin-cover-art{background-size:cover;background-position:center 68%}
#mirror-preview .checkin-pair button.mirror-door:focus-visible{outline:2px solid #f3d89f;outline-offset:-4px}

#mirror-preview .reflection-lock{position:absolute;top:12px;right:12px;z-index:3;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #b69b63;background:#17120de6;color:#ead096;border-radius:50%;box-sizing:border-box}
#mirror-preview .reflection-pending .mirror-art,#mirror-preview .reflection-pending .checkin-cover-art{filter:brightness(.76)}

#mirror-preview .reflection-world .checkin-pair{gap:10px;border:0;border-radius:0;overflow:visible}
#mirror-preview .reflection-world .checkin-pair button.mirror-door,
#mirror-preview .reflection-world .checkin-pair button.mirror-door+button.mirror-door{border:1px solid #a48a56!important;border-radius:12px!important}

/* Give both room headings the same prominent, responsive hierarchy. */
#mirror-preview .mirror-intro h1{font-size:clamp(42px,5.5vw,72px);line-height:1.12;margin:12px 0 20px;text-wrap:balance}

/* Match the other mirror cards while keeping each half independently interactive. */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 #mirror-preview .reflection-world .checkin-pair button.mirror-door:hover{transform:translateY(-2px)}
}

/* Assessments feel quiet; saved reflections feel illuminated. */
#mirror-preview .assessment-room .mirror-art,#mirror-preview .assessment-room .checkin-cover-art{filter:brightness(.72) saturate(.82)}
#mirror-preview .assessment-status{position:absolute;right:12px;top:12px;z-index:4;padding:7px 12px;border:1px solid #d3b77b88;border-radius:30px;background:#100d08e8;color:#f0dab0;font:600 13px/1.2 system-ui}
#mirror-preview .assessment-status.is-complete{width:30px;height:30px;padding:0;display:grid;place-items:center;color:#ecd29a}
#mirror-preview .results-room button.mirror-door[data-completed="true"]{border-color:#e4c583aa!important;box-shadow:0 0 20px #d5a43b25,inset 0 0 0 1px #efd48b22!important}
#mirror-preview .results-room button.mirror-door[data-completed="true"] .mirror-art,#mirror-preview .results-room button.mirror-door[data-completed="true"] .checkin-cover-art{filter:brightness(1.08) saturate(1.06)}
#mirror-preview .results-room button.reflection-pending .mirror-art,#mirror-preview .results-room button.reflection-pending .checkin-cover-art{filter:brightness(.58) saturate(.65)}

/* A quiet glass surface reveals the reflection on hover or keyboard focus. */
#mirror-preview .results-room .mirror-door .mirror-art,
#mirror-preview .results-room .mirror-door .checkin-cover-art{opacity:1;transition:opacity .35s ease}
#mirror-preview .results-room button.mirror-door::after{display:block!important;content:"";position:absolute;inset:0!important;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 15%,#fff2 35%,#fff5 43%,transparent 62%)!important;opacity:.28;transform:translateX(-45%);transition:transform .65s ease,opacity .4s ease}
@media(hover:hover){
 #mirror-preview .results-room .mirror-door:hover .mirror-art,
 #mirror-preview .results-room .mirror-door:hover .checkin-cover-art{opacity:1}
 #mirror-preview .results-room button.mirror-door:hover::after{transform:translateX(45%);opacity:0}
}
#mirror-preview .results-room .mirror-door:focus-visible .mirror-art,
#mirror-preview .results-room .mirror-door:focus-visible .checkin-cover-art{opacity:1}
#mirror-preview .results-room button.mirror-door:focus-visible::after{transform:translateX(45%);opacity:0}
@media(prefers-reduced-motion:reduce){
 #mirror-preview .results-room .mirror-door .mirror-art,
 #mirror-preview .results-room .mirror-door .checkin-cover-art,
 #mirror-preview .results-room button.mirror-door::after{transition:none}
}

/* The assessment room is a gallery of quiet reflective glass. */
#mirror-preview .assessment-room button.mirror-door,
#mirror-preview .assessment-room .checkin-pair button.mirror-door{background:linear-gradient(125deg,#171a1b 0%,#49504f 23%,#9a9f952e 25%,#242b2c 43%,#535956 63%,#171b1d 100%)!important;border:1px solid #a69774!important;box-shadow:none!important;justify-content:center;align-items:center;padding:28px!important}
#mirror-preview .assessment-room button.mirror-door::after{display:block!important;position:absolute;inset:6px!important;z-index:0;content:"";pointer-events:none;background:linear-gradient(115deg,transparent 20%,#f1e9d015 40%,transparent 43%,#fff1 65%,transparent 67%)!important;border:1px solid #ded7bf30;border-radius:9px;box-shadow:none!important}
#mirror-preview .assessment-room .mirror-card-title{display:block;position:relative;z-index:1;text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:clamp(24px,3vw,40px);line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:#ead7ac;text-shadow:none;max-width:95%;overflow-wrap:normal}
#mirror-preview .assessment-room .checkin-pair .mirror-card-title{font-size:clamp(18px,2.2vw,28px)}
#mirror-preview .assessment-room button.mirror-door:hover{box-shadow:none!important;border-color:#e1cfaa!important}
#mirror-preview .assessment-room .assessment-status{box-shadow:none;text-shadow:none}
