*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #faf9f7;--text: #1c1c1a;--muted: #7a7570;--faint: #b0aca7;--border: #e0ddd9;--warm-white: rgba(255, 248, 235, .65);--font: system-ui, -apple-system, "Segoe UI", sans-serif;--font-reading: Georgia, "Times New Roman", serif}html,body,#root{height:100%;width:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}button{font-family:var(--font);font-size:14px;letter-spacing:.08em;text-transform:uppercase;background:none;border:1px solid var(--text);color:var(--text);padding:10px 28px;cursor:pointer;transition:background .2s,color .2s}button:hover{background:var(--text);color:var(--bg)}button:disabled{border-color:var(--border);color:var(--faint);cursor:not-allowed}button:disabled:hover{background:none;color:var(--faint)}textarea{font-family:var(--font-reading);font-size:18px;line-height:1.8;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);width:100%;resize:none;outline:none;padding:12px 0}textarea::placeholder{color:var(--faint)}.act-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto;transition:opacity .6s ease}.act-wrapper.fading{opacity:0;pointer-events:none}.act-inner{width:100%;max-width:680px;padding:80px 32px}.act-inner--wide{max-width:960px;padding:60px 32px}.prompt{font-size:clamp(20px,3vw,28px);line-height:1.5;font-weight:400;margin-bottom:48px;font-family:var(--font-reading)}.label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.body-text{font-size:17px;line-height:1.8;color:var(--text)}.muted{color:var(--muted);font-size:14px}.persistent-note{margin-top:40px;font-size:15px;color:var(--muted);font-style:italic;font-family:var(--font-reading)}.axis-slider{display:flex;align-items:center;gap:24px;margin:40px 0}.axis-pole{font-size:13px;letter-spacing:.06em;color:var(--muted);white-space:nowrap;min-width:80px}.axis-pole:last-child{text-align:right}.axis-track{flex:1;height:2px;background:var(--border);position:relative;cursor:pointer;padding:12px 0;margin:-12px 0}.axis-track-line{position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border);transform:translateY(-50%)}.axis-thumb{position:absolute;top:50%;width:14px;height:14px;background:var(--text);border-radius:50%;transform:translate(-50%,-50%);transition:left .05s;pointer-events:none}.axis-thumb--ghost{background:transparent;border:1px solid var(--muted)}.axis-thumb-label{position:absolute;top:calc(50% + 14px);transform:translate(-50%);font-size:11px;color:var(--muted);letter-spacing:.06em;white-space:nowrap;pointer-events:none}.placeholder-image{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.placeholder-image-wrap{width:100%;max-width:640px;margin:0 auto;position:relative}.act2-text-reveal{transition:opacity .8s ease;opacity:0}.act2-text-reveal.visible{opacity:1}.process-nav{position:relative;width:100%;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:none}.process-nav-image{width:480px;max-width:60vw;position:relative;z-index:2;pointer-events:none}.process-annotation{position:absolute;max-width:260px;transition:opacity .4s ease,transform .4s ease;pointer-events:none;z-index:3}.process-annotation p{font-size:15px;line-height:1.7;color:var(--text);font-family:var(--font-reading)}.process-annotation--left{left:40px;top:50%;transform:translateY(-50%)}.process-annotation--right{right:40px;top:50%;transform:translateY(-50%)}.process-annotation--up{top:40px;left:50%;transform:translate(-50%);text-align:center;max-width:320px}.process-annotation--down{bottom:40px;left:50%;transform:translate(-50%);text-align:center;max-width:320px}.process-continue{position:absolute;bottom:48px;right:48px;z-index:10}.process-hint{position:absolute;bottom:48px;left:50%;transform:translate(-50%);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);z-index:10;pointer-events:none;transition:opacity .5s}.mock-images-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0}.mock-image-option{aspect-ratio:4/3;cursor:pointer;border:2px solid transparent;transition:border-color .2s,opacity .2s;position:relative;overflow:hidden}.mock-image-option:hover{border-color:var(--faint)}.mock-image-option.selected{border-color:var(--text)}.mock-image-option-label{position:absolute;bottom:8px;right:10px;font-size:11px;color:#fff9;letter-spacing:.1em}.waveform-wrap{margin:32px 0}.waveform-caption{margin-top:12px;font-size:13px;color:var(--muted);font-style:italic}.drawing-stage{position:relative;width:100%;max-width:640px;margin:0 auto}.drawing-stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair;touch-action:none}.provenance-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:24px 0}.provenance-thumb{aspect-ratio:1;position:relative;cursor:pointer;border:1px solid transparent;transition:border-color .2s}.provenance-thumb:hover{border-color:var(--faint)}.provenance-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);font-size:11px;line-height:1.5;padding:8px 12px;white-space:nowrap;z-index:20;pointer-events:none}.provenance-tooltip .consent-status{color:var(--faint);display:block;margin-top:2px}.axis-comparison{position:relative;margin:40px 0}.act1-text-echo{font-family:var(--font-reading);font-size:16px;line-height:1.8;color:var(--text);white-space:pre-wrap;padding:24px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:24px 0}.surfaced-word{font-size:clamp(28px,4vw,48px);font-family:var(--font-reading);color:var(--text);margin:16px 0;font-weight:400}.rewrite-text{font-size:16px;line-height:1.8;color:var(--muted);font-style:italic;border-left:2px solid var(--border);padding-left:20px;margin:24px 0}.conditional-text{font-size:17px;line-height:1.8;font-family:var(--font-reading);margin:32px 0}.closing-text{font-size:16px;line-height:1.9;font-family:var(--font-reading);color:var(--text);margin-top:48px;padding-top:48px;border-top:1px solid var(--border)}.session-summary{font-size:13px;letter-spacing:.05em;color:var(--faint);margin-top:16px}.spacer{height:32px}.spacer--lg{height:64px}.fade-in{animation:fadeIn .6s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.image-breathe{animation:breathe 4s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.95}50%{opacity:1}}
