.ci-wrap{max-width:620px;margin:0 auto;padding:0}.ci-screen{display:none}.ci-screen.active{display:block;animation:ci-appear .4s ease}@keyframes ci-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ci-kicker{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-warm);margin-bottom:.5rem}.ci-progress-bar{position:sticky;top:var(--header-height, 0);z-index:90;background:#faf9f7eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);padding:.75rem 1.5rem;margin:-3rem -1.5rem 0}@media(max-width:640px){.ci-progress-bar{margin:-1.5rem -1rem 0;padding:.75rem 1rem}}.ci-progress-inner{max-width:620px;margin:0 auto}.ci-progress-dots{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.ci-progress-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border);transition:all .3s}.ci-progress-dot.done{background:var(--color-warm)}.ci-progress-dot.current{background:var(--color-warm);width:24px;border-radius:4px}.ci-progress-label{text-align:center;font-size:.75rem;font-weight:500;color:var(--color-text-tertiary);letter-spacing:.05em}.ci-step-heading{text-align:center;padding:2rem 0 1.5rem}.ci-opening{font-family:var(--font-display);font-size:1.5rem;font-weight:500;line-height:1.35;letter-spacing:-.01em;color:var(--color-text);margin-bottom:.25rem}.ci-submeta{font-family:var(--font-body);font-size:.8rem;color:var(--color-text-tertiary);letter-spacing:.02em}.ci-stem{text-align:center;font-family:var(--font-display);font-size:1rem;font-style:italic;color:var(--color-warm);margin-bottom:1.75rem}.ci-sliders{display:flex;flex-direction:column;gap:1.5rem}.ci-slider{opacity:1;transition:opacity .3s ease}.ci-slider.skipped{opacity:.4}.ci-slider-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}.ci-slider-label{font-family:var(--font-display);font-size:1.05rem;color:var(--color-text);line-height:1.4;flex:1}.ci-slider-value{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-tertiary);min-width:32px;text-align:right;padding-left:.75rem}.ci-slider-row{display:flex;align-items:center;gap:.9rem}.ci-slider-input{-webkit-appearance:none;appearance:none;flex:1;height:6px;background:linear-gradient(to right,var(--color-border-light),var(--color-border));border-radius:3px;outline:none;cursor:pointer}.ci-slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--color-warm);box-shadow:0 1px 4px #0000001f;cursor:pointer;transition:transform .15s}.ci-slider-input::-webkit-slider-thumb:active{transform:scale(1.15)}.ci-slider-input::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--color-warm);border:none;cursor:pointer}.ci-skip-btn{font-family:var(--font-body);font-size:.78rem;color:var(--color-text-tertiary);background:none;border:none;cursor:pointer;padding:0;white-space:nowrap}.ci-skip-btn:hover{color:var(--color-warm)}.ci-unskip{font-family:var(--font-body);font-size:.82rem;color:var(--color-warm);background:none;border:none;cursor:pointer;padding:0;font-style:italic}.ci-narrative{width:100%;padding:1rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);font-family:var(--font-display);font-size:1.05rem;color:var(--color-text);resize:none;line-height:1.6;outline:none;box-sizing:border-box;transition:border-color .15s}.ci-narrative:focus{border-color:var(--color-warm)}.ci-narrative-count{text-align:right;font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-tertiary);margin-top:.35rem}.ci-narrative-count.warn{color:#b45309}.ci-actions{display:flex;gap:.75rem;margin-top:2rem;align-items:stretch}.ci-btn-primary{flex:1;padding:.9rem 1.5rem;background:var(--color-warm);color:#fff;border:none;border-radius:12px;font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s}.ci-btn-primary:hover{opacity:.9}.ci-btn-primary:disabled{opacity:.5;cursor:not-allowed}.ci-btn-secondary{flex:0 0 auto;padding:.9rem 1.25rem;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:12px;font-family:var(--font-body);font-size:.9rem;cursor:pointer;transition:border-color .15s,color .15s}.ci-btn-secondary:hover{border-color:var(--color-warm);color:var(--color-warm)}.ci-triad-prompt{text-align:center;font-family:var(--font-display);font-size:1.2rem;font-weight:500;color:var(--color-text);line-height:1.4;margin:.5rem auto;max-width:520px}.ci-triad-hint{text-align:center;font-size:.8rem;color:var(--color-text-tertiary);margin-bottom:1.5rem}.ci-triad-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem 1rem 1.25rem;margin:0 auto;max-width:420px}.ci-triad-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;width:100%;justify-items:center;row-gap:6px}.ci-triad-label{font-family:var(--font-body);font-size:.82rem;font-weight:500;line-height:1.3;opacity:.9}.ci-triad-label.top{grid-column:1 / 3;text-align:center}.ci-triad-label.bottom-left{justify-self:start;padding-left:.5rem;text-align:left}.ci-triad-label.bottom-right{justify-self:end;padding-right:.5rem;text-align:right}.ci-triad-svg-wrap{grid-column:1 / 3;width:100%;display:flex;justify-content:center;padding:4px 0}.ci-triad-svg{width:100%;max-width:280px;height:auto;cursor:crosshair;touch-action:none}.ci-triad-svg.confirmed{cursor:default;filter:saturate(.6);transition:filter .4s ease}.ci-triad-feedback{height:1.2rem;margin-top:.75rem;text-align:center;font-family:var(--font-body);font-size:.78rem;font-weight:500;transition:color .3s}.ci-triad-confirmed-badge{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-top:.35rem;font-family:var(--font-body);font-size:.78rem;font-weight:500}.ci-status-card{text-align:center;padding:3rem 2rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.ci-status-card h1{font-family:var(--font-display);font-size:1.8rem;font-weight:600;line-height:1.2;letter-spacing:-.02em;margin-bottom:.5rem}.ci-status-card p{font-size:.95rem;color:var(--color-text-secondary);line-height:1.65;max-width:460px;margin:0 auto}.ci-spinner{width:28px;height:28px;border:2.5px solid var(--color-border);border-top-color:var(--color-warm);border-radius:50%;margin:0 auto 1.25rem;animation:ci-spin .72s linear infinite}@keyframes ci-spin{to{transform:rotate(360deg)}}.ci-error-code{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-tertiary);margin-top:.75rem}
