* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Libre Baskerville', serif; background: #0D0A1A; color: #3A3530; line-height: 1.8; font-size: 17px; overflow-x: hidden; }
h2 { font-family: 'Space Grotesk', sans-serif; font-weight: 700; color: #0D0A1A; letter-spacing: -0.02em; }

.split-screen { display: flex; min-height: 100vh; }

.questioner-panel { width: 35vw; position: fixed; top: 0; left: 0; height: 100vh; background: #0D0A1A; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px; overflow: hidden; }
.perspective-grid { position: absolute; inset: 0; background: repeating-linear-gradient(89deg, transparent, transparent 59px, rgba(26, 21, 48, 0.2) 59px, rgba(26, 21, 48, 0.2) 60px), repeating-linear-gradient(1deg, transparent, transparent 59px, rgba(26, 21, 48, 0.2) 59px, rgba(26, 21, 48, 0.2) 60px); }

.mirror-svg { margin-bottom: 40px; position: relative; z-index: 1; }
.mirror-inner { animation: mirrorShift 20s ease-in-out infinite alternate; }
@keyframes mirrorShift { 0% { transform: translate(0, 0) rotate(0deg); } 100% { transform: translate(3px, -2px) rotate(0.5deg); } }

.questions-container { position: relative; z-index: 1; text-align: center; min-height: 60px; }
.question { font-family: 'Cormorant Garamond', serif; font-weight: 300; font-style: italic; font-size: 28px; line-height: 1.4; letter-spacing: 0.02em; color: #C4B8A0; opacity: 0; position: absolute; width: 100%; transition: opacity 0.6s ease; }
.question.active { opacity: 1; position: relative; }

.subject-panel { width: 65vw; margin-left: 35vw; background: #F4F0E8; min-height: 100vh; }

.response-block { padding: 80px 60px 80px 80px; max-width: 620px; position: relative; clip-path: polygon(0 40px, 100% 0, 100% 100%, 0 100%); margin-top: -20px; opacity: 0.3; filter: blur(4px); transition: opacity 0.4s ease, filter 0.4s ease; }
.response-block.focused { opacity: 1; filter: blur(0); }
.response-block h2 { font-size: 36px; margin-bottom: 16px; }
.response-block p { margin-bottom: 16px; color: #3A3530; }

.rorschach { position: absolute; right: -40px; top: 20px; pointer-events: none; }

.stamp { font-family: 'IBM Plex Mono', monospace; font-weight: 300; font-size: 13px; color: #8B7E6A; display: inline-block; padding: 4px 12px; margin-bottom: 16px; border-left: 3px solid; transform: translateX(-20px); opacity: 0; transition: transform 0.3s ease 0.1s, opacity 0.3s ease 0.1s; }
.response-block.focused .stamp { transform: translateX(0); opacity: 1; }
.stamp.human { border-color: #2A6B4C; }
.stamp.machine { border-color: #D4432A; }
.stamp.undetermined { border-color: #8B7E6A; }

.final-block { clip-path: none; text-align: center; padding: 100px 60px; }
.final-question { font-family: 'Cormorant Garamond', serif; font-weight: 300; font-style: italic; font-size: 24px; color: #0D0A1A; margin-bottom: 16px; }
.final-question.emphasis { font-size: 28px; color: #6B4C8A; }

/* Palette: #0D0A1A #F4F0E8 #C4B8A0 #6B4C8A #D4432A #2A6B4C */
@media (max-width: 768px) {
    .split-screen { flex-direction: column; }
    .questioner-panel { width: 100%; position: relative; height: auto; min-height: 40vh; }
    .subject-panel { width: 100%; margin-left: 0; }
    .question { font-size: 22px; }
    .response-block { padding: 48px 24px; clip-path: none; margin-top: 0; }
}
