/* 뇌졸중닷컴 — 최면 재활 · AI 재활 */
.hypno-lead{max-width:62ch;margin:0 0 16px;color:var(--muted)}
.hypno-use{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px}
.hypno-use li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.hypno-steps{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.hypno-card{position:relative;display:grid;gap:14px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;cursor:pointer}
.hypno-card.is-on{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.18)}
.hypno-badge{position:absolute;top:22px;left:22px;z-index:1;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#5b21b6;color:#fff;font-weight:800}
.hypno-art{border-radius:16px;overflow:hidden;background:#f5f3ff}
.hypno-art[data-viz="relax"] .ring{transform-origin:86px 112px}
.hypno-copy h3{margin:8px 0 10px}
.hypno-kicker{display:inline-flex;background:#f5f3ff;color:#5b21b6;font-weight:800;font-size:.78rem;padding:4px 10px;border-radius:999px}
.hypno-copy blockquote{margin:0;padding:16px 18px;background:#f5f3ff;border-left:4px solid #7c3aed;border-radius:0 16px 16px 0;font-weight:700;line-height:1.75}
.hypno-session-grid{display:grid;gap:18px}
.session-stage{background:#071520;color:#ecfeff;border-radius:24px;padding:22px 20px 24px;min-height:480px;position:relative;overflow:hidden}
.session-stage h2{color:#fff;margin:0 0 8px}
.session-program{margin:8px 0 0;color:#67e8f9;font-weight:800;font-size:.92rem}
.guide-line{min-height:4.6em;font-size:clamp(1.1rem,3.4vw,1.45rem);line-height:1.55;font-weight:800;margin:12px 0 18px}
.breathe-orb{width:120px;height:120px;margin:8px auto 18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ccfbf1,#0e7490 58%,#5b21b6);box-shadow:0 0 40px rgba(34,211,238,.45)}
.session-stage.is-breathe .breathe-orb{animation:hypnoBreathe 4.8s ease-in-out infinite}
@keyframes hypnoBreathe{0%,100%{transform:scale(.82)}50%{transform:scale(1.12)}}
.count-board{display:flex;justify-content:center;gap:12px;margin:10px 0 16px}
.count-board span{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-size:1.6rem;font-weight:800;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.count-board span.is-on{background:#f59e0b;color:#111;transform:scale(1.08)}
.eyes-veil{position:absolute;inset:0;pointer-events:none;transition:background .6s ease}
.session-stage.is-eyes .eyes-veil{background:rgba(2,8,14,.72)}
.session-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.session-stage .btn.primary{background:#f59e0b;color:#111}
.session-stage .btn.ghost{background:transparent;color:#ecfeff;border:1px solid rgba(255,255,255,.28)}
.session-stage .note{background:rgba(255,247,237,.12);color:#fde68a;padding:10px 12px;border-radius:12px}
.finger-live{width:min(100%,280px);margin:0 auto}
.script-grid,.program-grid,.quiz-grid{display:grid;gap:14px}
.script-card,.program-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}
.program-card{text-align:left;width:100%;cursor:pointer}
.program-card.is-on{border-color:#c45c26;box-shadow:0 0 0 3px rgba(196,92,38,.18)}
.ai-quote{background:#fff7ef;border-left:4px solid var(--accent);padding:16px 18px;border-radius:0 16px 16px 0;font-weight:700}
.ai-suggest{background:#e8f3ee;padding:12px 14px;border-radius:12px;margin-top:12px}
.legal-banner{background:#fff4ea;border:1px solid #f0d0b0;border-radius:14px;padding:14px 16px;margin:0 0 18px}
[data-viz] svg{width:100%;height:auto;display:block}
[data-viz="hand"] .pose{opacity:0;transition:opacity .45s ease}
[data-viz="hand"][data-stage="0"] .pose-0,
[data-viz="hand"][data-stage="1"] .pose-1,
[data-viz="hand"][data-stage="2"] .pose-2,
[data-viz="hand"][data-stage="3"] .pose-3{opacity:1}
[data-viz="hand"] .hs{display:none}
[data-viz="hand"][data-stage="0"] .hs0,
[data-viz="hand"][data-stage="1"] .hs1,
[data-viz="hand"][data-stage="2"] .hs2,
[data-viz="hand"][data-stage="3"] .hs3{display:block}
.tx-svg .ring{transform-origin:160px 118px;animation:ringSpin 8s linear infinite}
.tx-svg .ring-b{animation-duration:5.5s;animation-direction:reverse}
@keyframes ringSpin{to{transform:rotate(360deg)}}
.brain-svg .spark{stroke-dasharray:180;animation:sparkDraw 3.6s ease-in-out infinite}
.brain-svg .scan-halo{animation:haloBreath 4s ease-in-out infinite}
@keyframes sparkDraw{0%{stroke-dashoffset:180;opacity:.2}40%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-40;opacity:.15}}
@keyframes haloBreath{0%,100%{opacity:.55}50%{opacity:1}}
.btn[hidden]{display:none!important}
@media (min-width:760px){
  .hypno-use{grid-template-columns:repeat(3,1fr)}
  .hypno-card{grid-template-columns:220px 1fr;align-items:center}
  .hypno-session-grid{grid-template-columns:1.05fr .95fr}
  .script-grid,.program-grid{grid-template-columns:repeat(3,1fr)}
  .quiz-grid{grid-template-columns:repeat(3,1fr)}
}

.session-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 auto 28px}
.pick-card{display:flex;flex-direction:column;gap:6px;min-height:76px;padding:14px 14px;border-radius:16px;background:#fff;border:1px solid var(--line);font-size:1.05rem;line-height:1.4}
.pick-card strong{color:#5b21b6;font-size:1.05rem}
.pick-card span{color:#3d3228;font-weight:700}
.pick-card.is-on{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.18);background:#f5f3ff}
.ai-picker .pick-card strong,.ai-kicker{color:#0f766e}
.ai-picker .pick-card.is-on{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.16);background:#f0fdfa}
.session-figure{margin:0 0 22px;border-radius:20px;overflow:hidden;background:#f5f3ff}
.session-figure img{display:block;width:100%;height:auto;max-width:100%}
#hypno-video,#session{scroll-margin-top:96px}
.hypno-video-card{background:#fff;border:2px solid #7c3aed;border-radius:22px;padding:18px 18px 16px;margin:0 auto 28px}
.hypno-video-card h2{margin:8px 0 8px;font-size:clamp(1.35rem,3.5vw,1.85rem)}
.hypno-video-card .lead{margin:0 0 10px;font-size:1.08rem;line-height:1.7}
.hypno-video-note{margin:0 0 14px;padding:12px 14px;background:#f5f3ff;border-radius:12px;font-size:.98rem;line-height:1.65;color:#3d3228}
.hypno-video-frame{background:#111;border-radius:16px;overflow:hidden}
.hypno-video-frame video{display:block;width:100%;height:auto;max-height:min(70vh,640px);background:#111}
.hypno-video-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
.hypno-video-actions .btn{min-height:48px}
.hypno-loop-status{margin:0;font-size:.95rem;color:var(--muted)}
.hypno-playlist{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.hypno-playlist-item{
  width:100%;display:flex;align-items:center;gap:12px;text-align:left;
  min-height:52px;padding:12px 14px;border-radius:14px;
  border:1.5px solid var(--line);background:#fff;color:var(--ink);font-weight:800;
  cursor:pointer;
}
.hypno-playlist-item:hover{border-color:#7c3aed;background:#faf8ff}
.hypno-playlist-item.is-on{border-color:#7c3aed;background:#f5f3ff;box-shadow:0 0 0 3px rgba(124,58,237,.16)}
.hypno-playlist-item:disabled{opacity:.45;cursor:not-allowed}
.hypno-playlist-num{
  flex:0 0 auto;min-width:42px;height:32px;border-radius:10px;
  display:grid;place-items:center;background:#5b21b6;color:#fff;font-size:.92rem;
}
.hypno-playlist-title{font-size:1.02rem;line-height:1.45}
@media (min-width:760px){
  .hypno-playlist{grid-template-columns:1fr 1fr}
}
.hypno-video-callout{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:16px;padding:14px 16px;margin:0 0 16px}
.hypno-video-callout p{margin:8px 0 0;line-height:1.65}
.hypno-video-callout .btn{margin-top:12px}
.session-read-head{margin:0 0 12px}
.session-read-head h2{margin:8px 0 0;font-size:clamp(1.6rem,4vw,2.1rem)}
.copy-hypno{min-height:48px;padding:12px 18px;font-size:1.08rem}
.hypno-copy-row{margin:0 0 16px}
.hypno-letter{font-size:clamp(1.12rem,3.2vw,1.28rem);line-height:2;padding:22px 20px 20px;white-space:pre-wrap}
.read-block{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 18px 8px;margin:0 0 14px}
.read-block h3{margin:8px 0 10px;font-size:1.25rem}
.read-block p{font-size:1.12rem;line-height:1.85;margin:0 0 14px;white-space:pre-wrap}
.session-nav{margin-top:18px}
.ai-head .kicker{background:#ccfbf1;color:#115e59}
.ai-banner{background:#ecfeff;border-color:#99f6e4}
.ai-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin:0 0 14px}
.ai-panel h3{margin:0 0 8px;font-size:1.2rem}
.ai-panel p,.ai-steps{font-size:1.12rem;line-height:1.8;margin:0}
.ai-steps{padding-left:1.2em;display:grid;gap:8px}
.ai-panel.reps{background:#fff7ed;border-color:#fdba74}
.stop-banner{background:#fff1f2;border:1px solid #fda4af;border-radius:16px;padding:16px 18px;margin:8px 0 16px;font-size:1.12rem;line-height:1.7}
.stop-banner strong{display:block;margin-bottom:6px;font-size:1.2rem}
.ai-kicker{display:inline-flex;background:#ccfbf1;color:#115e59;font-weight:800;font-size:.85rem;padding:4px 10px;border-radius:999px}
@media (min-width:760px){
  .session-picker{grid-template-columns:repeat(5,1fr)}
  .pick-card{min-height:88px;font-size:1.08rem}
  .read-block p,.ai-panel p,.ai-steps,.stop-banner{font-size:1.18rem}
}
@media (max-width:560px){
  .pick-card{min-height:72px;padding:12px}
  .session-nav{display:grid}
}

