.clr-app{background:var(--surface-deep,var(--surface-default));height:100%;color:var(--text-primary);font-family:var(--font);flex-direction:column;display:flex;overflow:hidden}.clr-stage{flex:1;min-height:0;padding:clamp(18px,3vw,34px) clamp(16px,3vw,30px) 72px;overflow-y:auto}.clr-stage-center{justify-content:center;align-items:center;display:flex}.clr-col{width:100%;max-width:var(--canvas-col-max,1080px);margin-inline:auto}.clr-top{justify-content:flex-end;margin-bottom:8px;display:flex}.clr-canvas{margin-top:2px}.clr-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:clamp(40px,9dvh,96px) 24px;display:flex}.clr-state-head{font:700 var(--fs-lg)/1.3 var(--font);letter-spacing:-.01em;color:var(--text-primary)}.clr-state-sub{max-width:460px;font:500 var(--fs-md)/1.55 var(--font);color:var(--text-muted)}.clr-state-error{color:var(--danger)}.clr-lesson-outline{text-align:left;gap:8px;width:min(100%,560px);margin-top:6px;display:grid}.clr-lesson-outline-row{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-glass);grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.clr-lesson-outline-row>span{background:color-mix(in oklab, var(--presence) 13%, transparent);width:24px;height:24px;color:var(--presence);font:700 var(--fs-xs)/1 var(--font);border-radius:50%;place-items:center;display:grid}.clr-lesson-outline-row>strong{font:600 var(--fs-sm)/1.35 var(--font);color:var(--text-secondary)}.clr-state-icon{background:var(--surface-glass);width:44px;height:44px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.clr-state-icon svg{width:20px;height:20px}.clr-state-icon-warn{color:var(--warning);background:color-mix(in oklab, var(--warning) 14%, transparent)}.clr-lens{gap:7px;display:flex}.clr-lens span{background:var(--presence);opacity:.35;border-radius:50%;width:9px;height:9px;animation:1.1s ease-in-out infinite clr-pulse}.clr-lens span:nth-child(2){animation-delay:.16s}.clr-lens span:nth-child(3){animation-delay:.32s}@keyframes clr-pulse{0%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.clr-stream{border:1px solid color-mix(in oklab, var(--presence) 24%, var(--line-soft));border-radius:var(--r-md);background:color-mix(in oklab, var(--presence) 5%, var(--surface-glass));align-items:flex-start;gap:11px;margin:0 0 14px;padding:12px 14px;display:flex}.clr-stream-pulse{background:var(--presence);width:9px;height:9px;box-shadow:0 0 0 0 color-mix(in oklab, var(--presence) 35%, transparent);border-radius:50%;flex:none;margin-top:3px;animation:1.4s ease-out infinite clr-stream-pulse}.clr-stream-copy{min-width:0}.clr-stream-label{color:var(--presence);font:700 var(--fs-xs)/1.2 var(--font);letter-spacing:.055em;text-transform:uppercase}.clr-stream-copy p{max-width:760px;color:var(--text-secondary);font:500 var(--fs-md)/1.5 var(--font);margin:5px 0 0}@keyframes clr-stream-pulse{70%,to{box-shadow:0 0 0 8px #0000}}.clr-empty{text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:400px;padding:32px;display:flex}.clr-empty-icon{background:var(--surface-glass);width:44px;height:44px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.clr-empty-icon svg{width:20px;height:20px}.clr-empty-head{font:700 var(--fs-lg)/1.2 var(--font);color:var(--text-primary)}.clr-empty-sub{font:500 var(--fs-md)/1.55 var(--font);color:var(--text-muted)}.clr-btn{border:1px solid var(--line-mid);border-radius:var(--r-full);background:var(--surface-elevated);color:var(--text-primary);font:600 var(--fs-sm)/1 var(--font);cursor:pointer;transition:background var(--m-quick), border-color var(--m-quick);justify-content:center;align-items:center;gap:6px;margin-top:6px;padding:9px 16px;display:inline-flex}.clr-btn svg{width:14px;height:14px}.clr-btn:hover{background:var(--surface-glass);border-color:var(--line-strong)}.clr-btn-primary{background:var(--presence);border-color:var(--presence);color:#fff}.clr-btn-primary:hover{background:color-mix(in oklab, var(--presence) 88%, #000);border-color:color-mix(in oklab, var(--presence) 88%, #000)}@media (prefers-reduced-motion:reduce){.clr-lens span{opacity:.7;animation:none}.clr-stream-pulse{animation:none}}
