/* 페이지는 밝은 브랜드 표면을 쓰되, 데모 안의 창과 터미널은 제품의 실제 색이다.
   공통 시계가 가시성과 타이핑을 맡고 CSS는 창 이동·누름·진행률만 같은 16초로 재생한다.
   JS가 없거나 모션을 줄이면 검색 가능한 허브와 완료된 터미널을 읽을 수 있다. */
@layer components {
  .utility-story { --utility-native:#15181d; --utility-chrome:#1b1f26; --utility-panel:#1e232a; --utility-terminal:#0d1116; --utility-line:#ffffff1a; --utility-text:#e8ebef; --utility-muted:#9aa3ae; --utility-green:#56d69a; margin:0; min-width:0; font-family:'Segoe UI Variable','Segoe UI',system-ui,sans-serif; }
  .utility-story *, .utility-story *::before,.utility-story *::after { box-sizing:border-box; }
  .utility-story:not(.is-product-ready) [data-product-at] { display:none; }
  .utility-story.is-product-ready .utility-static,.utility-story.is-product-ready .utility-finished { display:none; }
  .utility-story-heading { display:flex; position:relative; align-items:center; min-height:27px; margin-bottom:15px; color:#315a43; font-size:13px; font-weight:600; line-height:1.5; }
  .utility-story-heading>[data-product-at] { position:absolute; inset:0; display:flex; align-items:center; gap:9px; }
  .utility-story-heading i { width:7px; height:7px; background:#1c8d5e; border-radius:50%; }
  .utility-story .utility-story-caption { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:15px 0 0; color:#61746a; font-size:12px; line-height:1.7; }
  .utility-story-caption>span { min-width:0; }
  .utility-story-caption button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px; padding:5px 10px; background:#fff; border:1px solid #c8dccc; border-radius:7px; color:#356149; font:500 12px/1.5 'Segoe UI Variable','Segoe UI',system-ui,sans-serif; white-space:nowrap; cursor:pointer; }
  .utility-story-caption button[hidden] { display:none; }
  .utility-story-caption button:hover { background:#f0f8f3; border-color:#6eab83; }
  .utility-story-caption button:focus-visible { outline:2px solid #1c8d5e; outline-offset:3px; }
  .utility-cursor { position:absolute; z-index:12; width:26px; height:30px; pointer-events:none; filter:drop-shadow(0 3px 3px #0005); }
  .utility-cursor>svg { display:block; width:26px; height:30px; }
  .utility-click { position:absolute; width:35px; height:35px; pointer-events:none; border:2px solid #56d69a; border-radius:50%; opacity:0; z-index:11; }

  /* 실제 데스크톱 메뉴 띠와 세션 허브. 글자를 화면 비율에 맞춰 축소하지 않는다. */
  .light-home .utility-story .sp-stage { padding:0; background:var(--utility-native); border:1px solid #ffffff26; border-radius:13px; overflow:hidden; color:var(--utility-text); box-shadow:0 18px 45px #142b2326; min-height:0; }
  .sp-workspace-bar { display:flex; align-items:center; gap:17px; height:38px; padding:0 16px; background:var(--utility-chrome); border-bottom:1px solid var(--utility-line); color:#a9b2bd; font-size:12px; }
  .sp-workspace-bar img { object-fit:contain; }
  .sp-workspace-bar strong { color:var(--utility-text); font-size:12px; font-weight:600; margin-right:3px; }
  .sp-workspace-time { margin-left:auto; font-variant-numeric:tabular-nums; }
  .utility-story .sp-desktop { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; padding:20px; min-height:422px; }
  .light-home .utility-story .sp-terminal { position:relative; width:100%; min-width:0; margin:0; border:1px solid #ffffff26; border-radius:9px; background:var(--utility-terminal); box-shadow:0 15px 35px #0005; align-self:start; overflow:hidden; }
  .utility-story .sp-caption { height:35px; gap:8px; padding:0 12px; background:var(--utility-chrome); color:var(--utility-text); border-color:var(--utility-line); font-size:12px; }
  .utility-story .sp-caption>i { width:8px; height:8px; border-color:#56d69a; }
  .utility-story .sp-close { display:flex; align-items:center; justify-content:center; position:relative; width:20px; height:24px; color:var(--utility-muted); }
  .utility-story .sp-chatgpt { background:#eff2ed; padding:2px; }
  .utility-story .sp-terminal-body { position:relative; min-height:310px; padding:21px 19px 26px; color:#e8ebef; font:13px/1.8 'Cascadia Mono',Consolas,'IBM Plex Sans KR',monospace; overflow:hidden; }
  .utility-story .sp-terminal-body p { margin-bottom:0; }
  .utility-story .sp-codex { color:#f1f3f7; font-size:16px; }
  .utility-story .sp-path { color:#919dac; margin-top:3px; font-size:12px; overflow-wrap:anywhere; }
  .utility-story .sp-request { color:#e1e8f1; margin-top:20px; white-space:normal; font-size:13px; line-height:1.85; }
  .utility-story .sp-output { margin-top:12px; color:#a9b5c5; font-size:12px; }
  .utility-story .sp-success { color:#9fcfaf; margin-top:19px; font-size:12px; line-height:1.85; }
  .utility-story .sp-prompt { display:flex; align-items:center; gap:8px; margin-top:17px; color:#a4afbd; font-size:12px; }
  .utility-story .sp-prompt>span { display:inline-block; width:7px; height:14px; background:#bac2cc; }
  .light-home .utility-story .sp-hub { position:relative; inset:auto; width:100%; min-width:0; align-self:start; border:1px solid #ffffff29; border-radius:10px; background:var(--utility-panel); color:var(--utility-text); box-shadow:0 14px 35px #0005; overflow:hidden; }
  .utility-story .sp-hub-head { height:49px; padding:0 16px; gap:11px; border-color:var(--utility-line); }
  .utility-story .sp-hub-head strong { font-size:16px; font-weight:600; }
  .light-home .utility-story .sp-hub-head>span { font-size:12px; color:#8e9aab; }
  .utility-story .sp-hub-head>.sp-hub-close { font-size:18px; }
  .light-home .utility-story .sp-search { position:relative; gap:9px; min-height:36px; margin:13px 12px 9px; padding:8px 10px; background:var(--utility-terminal); border:1px solid #ffffff20; border-radius:6px; color:#99a7b8; font-size:12px; overflow:hidden; }
  .utility-story .sp-search>small { font-size:12px; color:#7d8a9b; }
  .utility-story .sp-search-typed { color:#e8ebef; min-height:18px; }
  .utility-story .sp-search-caret { display:none; width:1px; height:15px; background:#d1d8e3; }
  .light-home .utility-story .sp-group { padding:9px 15px 6px; color:#96a4b7; font-size:12px; }
  .utility-story .sp-group>small { font-size:12px; }
  .light-home .utility-story .sp-row { gap:10px; margin:0 9px 8px; padding:11px 9px; border:1px solid #ffffff11; border-radius:7px; background:#191e25; }
  .utility-story .sp-row strong { color:#e8ebef; font-size:13px; font-weight:500; }
  .light-home .utility-story .sp-row>div>span { color:#a2afbe; font-size:12px; }
  .light-home .utility-story .sp-row small { color:#8e9bad; font-size:12px; }
  .light-home .utility-story .sp-row>em { position:relative; padding:5px 9px; border:1px solid #ffffff1a; border-radius:5px; color:#bfccdb; font-style:normal; font-size:12px; background:#ffffff05; }
  .light-home .utility-story .sp-selected { background:#27303b; border-color:#73819755; }
  .light-home .utility-story .sp-working { background:#56d69a; }
  .utility-story .sp-working-label,.utility-story .sp-count-search,.utility-story .sp-search-match,.utility-story .sp-idle-other>.sp-group { display:none; }
  .utility-story .sp-idle-label { display:block; }
  .utility-story .sp-working { background:#788898; }
  .utility-story .sp-search-match { border-top:1px solid var(--utility-line); margin-top:9px; padding:16px; color:#96a4b7; font-size:12px; }
  .utility-story .sp-return-notice { position:absolute; z-index:5; left:38px; bottom:22px; display:flex; align-items:center; gap:12px; padding:13px 16px; max-width:calc(100% - 76px); border:1px solid #56d69a50; border-radius:9px; background:#1d3429; box-shadow:0 12px 22px #0004; }
  .sp-return-notice>span { display:grid; flex:none; place-items:center; width:25px; height:25px; background:#56d69a; border-radius:50%; color:#0d2116; font-size:14px; }
  .sp-return-notice>div { display:flex; flex-direction:column; gap:4px; min-width:0; }
  .sp-return-notice strong { font-size:12px; color:#dceee3; font-weight:600; }
  .sp-return-notice>div>span { font-size:12px; color:#94b8a2; }
  .sp-close-cursor { left:6px; top:8px; }
  .sp-close-click { left:-7px; top:-5px; }
  .sp-open-cursor { right:1px; top:12px; }
  .sp-open-click { right:-2px; top:-2px; }
  .utility-story.is-product-ready .sp-desktop { display:block; height:445px; padding:0; }
  .light-home .utility-story.is-product-ready .sp-terminal { position:absolute; left:24px; right:24px; top:26px; width:auto; animation:utility-session-window 16s infinite both; animation-play-state:var(--product-play-state,paused); }
  .utility-story.is-product-ready .sp-terminal-body { min-height:347px; }
  .utility-story.is-product-ready .sp-working-output,.utility-story.is-product-ready .sp-completed-output { position:absolute; left:19px; right:19px; top:196px; }
  .light-home .utility-story.is-product-ready .sp-hub { position:absolute; left:16%; right:16%; top:22px; width:auto; z-index:4; animation:utility-session-hub 16s infinite both; animation-play-state:var(--product-play-state,paused); }
  .utility-story.is-product-ready .sp-working-label,.utility-story.is-product-ready .sp-idle-other>.sp-group { display:block; }
  .utility-story.is-product-ready .sp-idle-label { display:none; }
  .utility-story.is-product-ready[data-product-phase="1"] .sp-count-all,.utility-story.is-product-ready[data-product-phase="1"] .sp-unmatched,.utility-story.is-product-ready[data-product-phase="1"] .sp-search-placeholder,.utility-story.is-product-ready[data-product-phase="1"] .sp-working-group { display:none; }
  .utility-story.is-product-ready[data-product-phase="1"] .sp-search { border-color:#94a9be; box-shadow:0 0 0 2px #94a9be18; }
  .utility-story.is-product-ready[data-product-phase="1"] .sp-search>small { display:none; }
  .utility-story.is-product-ready[data-product-phase="1"] .sp-count-search,.utility-story.is-product-ready[data-product-phase="1"] .sp-search-match,.utility-story.is-product-ready[data-product-phase="1"] .sp-search-caret { display:block; }
  .utility-story.is-product-ready[data-product-phase="1"] .sp-selected { margin-top:15px; border-color:#7a9a85; background:#26362e; box-shadow:0 0 0 1px #56d69a15; }
  .utility-story.is-product-ready[data-product-phase="2"] .sp-working-label,.utility-story.is-product-ready[data-product-phase="2"] .sp-idle-other>.sp-group { display:none; }
  .utility-story.is-product-ready[data-product-phase="2"] .sp-idle-label { display:block; }
  .utility-story.is-product-ready .sp-close-cursor { animation:utility-close-cursor 16s infinite both; animation-play-state:var(--product-play-state,paused); }
  .utility-story.is-product-ready .sp-open-cursor { animation:utility-open-cursor 16s infinite both; animation-play-state:var(--product-play-state,paused); }
  .utility-story.is-product-ready .sp-close-click { animation:utility-close-click 16s infinite both; animation-play-state:var(--product-play-state,paused); }
  .utility-story.is-product-ready .sp-open-click { animation:utility-open-click 16s infinite both; animation-play-state:var(--product-play-state,paused); }

  /* 실행 환경의 네이티브 설정 구조. 준비 후의 터미널은 설정 위로 실제 창처럼 열린다. */
  .light-home .utility-story .rp-window { --rp-chrome:#1b1f26; --rp-overlay:#1e232a; --rp-terminal:#0d1116; --rp-border:#ffffff1a; --rp-text:#e8ebef; --rp-muted:#9aa3ae; --rp-dim:#838c99; --rp-live:#56d69a; --rp-low:#ffb4ab; background:#1e232a; box-shadow:0 18px 45px #142b2326; border-color:#ffffff26; }
  .utility-story .rp-pane { position:relative; min-height:570px; }
  .utility-story .rp-flow { position:relative; }
  .utility-story .rp-status-text { position:relative; }
  .utility-story .rp-status-text>strong { min-height:20px; }
  .utility-story .rp-status-text>strong[data-product-at] { position:absolute; left:0; right:0; top:0; }
  .utility-story.is-product-ready .rp-status-text { padding-top:24px; }
  .utility-story .rp-choice { transition:background .25s,border-color .25s; }
  .utility-story .rp-choice-label { position:relative; }
  .utility-story .rp-choice-isolated { background:#ffffff05; border-color:#e8ebef8c; }
  .utility-story .rp-choice-isolated .rp-radio { border-color:#e8ebef; background:#e8ebef; box-shadow:inset 0 0 0 4px #0d1116; }
  .utility-story.is-product-ready[data-product-phase="0"] .rp-choice-host,.utility-story.is-product-ready[data-product-phase="1"] .rp-choice-host { background:#ffffff05; border-color:#e8ebef8c; }
  .utility-story.is-product-ready[data-product-phase="0"] .rp-choice-host .rp-radio,.utility-story.is-product-ready[data-product-phase="1"] .rp-choice-host .rp-radio { border-color:#e8ebef; background:#e8ebef; box-shadow:inset 0 0 0 4px #0d1116; }
  .utility-story.is-product-ready[data-product-phase="0"] .rp-choice-isolated,.utility-story.is-product-ready[data-product-phase="1"] .rp-choice-isolated { background:transparent; border-color:#ffffff1a; }
  .utility-story.is-product-ready[data-product-phase="0"] .rp-choice-isolated .rp-radio,.utility-story.is-product-ready[data-product-phase="1"] .rp-choice-isolated .rp-radio { border-color:#838c99; background:transparent; box-shadow:none; }
  .utility-story .rp-choice-status { position:relative; min-height:32px; padding-left:26px; }
  .utility-story.is-product-ready .rp-choice-status>span:not(.rp-action) { position:absolute; top:6px; left:26px; right:0; }
  .utility-story .rp-choice-status>span:not(.rp-action)::before { content:''; display:inline-block; flex:none; margin-right:6px; width:6px; height:6px; border-radius:50%; background:#ffb4ab; }
  .utility-story .rp-choice-status>.rp-isolation-ready::before { background:#56d69a; }
  .utility-story .rp-isolation-ready { color:#a6ceb3; }
  .utility-story .rp-install-action { position:relative; margin-left:auto; }
  .rp-install-cursor { right:2px; top:15px; }
  .rp-install-click { right:-1px; top:0; }
  .rp-select-cursor { left:9px; top:12px; }
  .rp-select-click { left:-8px; top:-7px; }
  .utility-story .rp-progress { position:relative; height:5px; margin:2px 0 4px 26px; background:#ffffff14; border-radius:4px; overflow:hidden; }
  .rp-progress>span { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left; background:#56d69a; border-radius:4px; }
  .utility-story .rp-isolated-session { position:absolute; z-index:3; top:75px; right:18px; left:18px; border:1px solid #ffffff2c; border-radius:9px; background:#0d1116; overflow:hidden; box-shadow:0 20px 35px #0006; }
  .rp-session-caption { display:flex; align-items:center; gap:9px; height:35px; padding:0 12px; border-bottom:1px solid #ffffff1a; background:#1b1f26; color:#e8ebef; font-size:12px; }
  .rp-session-caption>img { flex:none; object-fit:contain; }
  .rp-session-caption>span:last-child { margin-left:auto; color:#9aa3ae; font-size:17px; }
  .rp-session-tag { padding:1px 5px; border:1px solid #ffffff25; border-radius:4px; color:#a7b5c6; font-size:12px; }
  .rp-session-body { padding:24px 18px 30px; min-height:322px; color:#dce4ee; font:13px/1.9 'Cascadia Mono',Consolas,'IBM Plex Sans KR',monospace; overflow-wrap:anywhere; }
  .utility-story .rp-session-body p { margin:0; min-height:24px; }
  .rp-session-body .rp-session-path { color:#8f9caf; font-size:12px; margin-bottom:20px; }
  .rp-session-body .rp-session-command { margin-top:14px; color:#dce4ee; }
  .rp-session-body .rp-session-result { color:#9fcfaf; }
  .rp-session-caret { display:inline-block; width:7px; height:14px; background:#bac2cc; vertical-align:middle; }
  .rp-volume-note { display:flex; align-items:center; gap:12px; margin:0 13px 13px; padding:13px 14px; border:1px solid #56d69a38; border-radius:7px; background:#1c2b23; }
  .rp-volume-note>svg { flex:none; width:21px; height:21px; color:#89ba9a; }
  .rp-volume-note>div { display:flex; flex-direction:column; gap:3px; min-width:0; }
  .rp-volume-note strong { color:#c8e6d3; font-size:12px; font-weight:600; }
  .rp-volume-note>div>span { color:#a3bdac; font-size:12px; }
  .rp-volume-note>span { margin-left:auto; color:#56d69a; font-size:16px; }
  .utility-story:not(.is-product-ready) .rp-flow { opacity:.20; }
  .utility-story.is-product-ready .rp-isolated-session { animation:utility-isolated-window 16s infinite both; animation-play-state:var(--product-play-state,paused); }
  .utility-story.is-product-ready .rp-flow { animation:utility-settings-flow 16s infinite both; animation-play-state:var(--product-play-state,paused); }
  .utility-story.is-product-ready .rp-progress>span { animation:utility-runtime-progress 16s linear infinite both; animation-play-state:var(--product-play-state,paused); }
  .utility-story.is-product-ready .rp-install-cursor { animation:utility-install-cursor 16s infinite both; animation-play-state:var(--product-play-state,paused); }
  .utility-story.is-product-ready .rp-select-cursor { animation:utility-select-cursor 16s infinite both; animation-play-state:var(--product-play-state,paused); }
  .utility-story.is-product-ready .rp-install-click { animation:utility-install-click 16s infinite both; animation-play-state:var(--product-play-state,paused); }
  .utility-story.is-product-ready .rp-select-click { animation:utility-select-click 16s infinite both; animation-play-state:var(--product-play-state,paused); }
  /* 준비 클래스를 붙이기 전에 공통 시계의 저장 시각을 음수 지연으로 싣는다.
     DOM이 다시 붙어도 창 이동과 타이핑이 같은 지점에서 이어진다. */
  .light-home .utility-story.is-product-ready .sp-terminal,
  .light-home .utility-story.is-product-ready .sp-hub,
  .utility-story.is-product-ready .sp-close-cursor,
  .utility-story.is-product-ready .sp-open-cursor,
  .utility-story.is-product-ready .sp-close-click,
  .utility-story.is-product-ready .sp-open-click,
  .utility-story.is-product-ready .rp-isolated-session,
  .utility-story.is-product-ready .rp-flow,
  .utility-story.is-product-ready .rp-progress>span,
  .utility-story.is-product-ready .rp-install-cursor,
  .utility-story.is-product-ready .rp-select-cursor,
  .utility-story.is-product-ready .rp-install-click,
  .utility-story.is-product-ready .rp-select-click { animation-delay:var(--product-time-offset,0ms); }

  @keyframes utility-session-window { 0%,24% { opacity:1; transform:translateY(0) scale(1); } 27%,64% { opacity:0; transform:translateY(18px) scale(.96); } 68%,96% { opacity:1; transform:translateY(0) scale(1); } 100% { opacity:1; transform:translateY(0) scale(1); } }
  @keyframes utility-session-hub { 0%,24% { opacity:0; transform:translateY(18px) scale(.97); } 30%,61% { opacity:1; transform:translateY(0) scale(1); } 67%,100% { opacity:0; transform:translateY(-10px) scale(.97); } }
  @keyframes utility-close-cursor { 0%,16% { transform:translate(30px,24px); } 21%,22% { transform:translate(0,0); } 23% { transform:translate(0,0) scale(.86); } 24%,100% { transform:translate(0,0); } }
  @keyframes utility-open-cursor { 0%,54% { transform:translate(20px,20px); } 59%,60% { transform:translate(0,0); } 61% { transform:translate(0,0) scale(.86); } 62%,100% { transform:translate(0,0); } }
  @keyframes utility-close-click { 0%,22%,27%,100% { opacity:0; transform:scale(.6); } 23% { opacity:.8; transform:scale(.6); } 26% { opacity:0; transform:scale(1.5); } }
  @keyframes utility-open-click { 0%,59%,65%,100% { opacity:0; transform:scale(.6); } 61% { opacity:.8; transform:scale(.6); } 64% { opacity:0; transform:scale(1.5); } }
  @keyframes utility-isolated-window { 0%,64% { opacity:0; transform:translateY(24px) scale(.97); } 69%,100% { opacity:1; transform:translateY(0) scale(1); } }
  @keyframes utility-settings-flow { 0%,64% { opacity:1; } 69%,100% { opacity:.20; } }
  @keyframes utility-runtime-progress { 0%,25.5% { transform:scaleX(.02); } 59.5%,100% { transform:scaleX(1); } }
  @keyframes utility-install-cursor { 0%,16% { transform:translate(25px,19px); } 21%,22% { transform:translate(0,0); } 23% { transform:translate(0,0) scale(.86); } 24%,100% { transform:translate(0,0); } }
  @keyframes utility-select-cursor { 0%,54% { transform:translate(26px,20px); } 58%,59% { transform:translate(0,0); } 60% { transform:translate(0,0) scale(.86); } 61%,100% { transform:translate(0,0); } }
  @keyframes utility-install-click { 0%,22%,27%,100% { opacity:0; transform:scale(.6); } 23% { opacity:.8; transform:scale(.6); } 26% { opacity:0; transform:scale(1.5); } }
  @keyframes utility-select-click { 0%,58%,64%,100% { opacity:0; transform:scale(.6); } 60% { opacity:.8; transform:scale(.6); } 63% { opacity:0; transform:scale(1.5); } }

  @container session-preview (max-width:680px) {
    .utility-story:not(.is-product-ready) .sp-desktop { grid-template-columns:1fr; padding:16px; }
    .utility-story:not(.is-product-ready) .sp-terminal { order:2; }
    .utility-story:not(.is-product-ready) .sp-hub { order:1; }
    .utility-story .sp-search>small { display:none; }
    .light-home .utility-story.is-product-ready .sp-hub { left:9%; right:9%; }
    .utility-story .sp-terminal-body { font-size:13px; }
  }
  @container session-preview (max-width:430px) {
    .sp-workspace-bar { gap:12px; padding:0 11px; }
    .light-home .utility-story.is-product-ready .sp-terminal { left:12px; right:12px; top:20px; }
    .light-home .utility-story.is-product-ready .sp-hub { left:4%; right:4%; top:19px; }
    .utility-story.is-product-ready .sp-desktop { height:490px; }
    .utility-story.is-product-ready .sp-terminal-body { min-height:420px; padding:21px 15px; }
    .utility-story.is-product-ready .sp-working-output,.utility-story.is-product-ready .sp-completed-output { left:15px; right:15px; top:225px; }
    .utility-story .sp-hub-head { padding-inline:13px; }
    .utility-story .sp-return-notice { left:22px; bottom:17px; max-width:calc(100% - 44px); padding:11px 12px; }
    .utility-story .utility-story-caption { align-items:flex-start; }
  }
  @container runtime-preview (max-width:620px) {
    .utility-story .rp-pane { min-height:590px; }
    .utility-story .rp-side { background:#1b1f26; }
    .utility-story .rp-nav { gap:2px 4px; }
    .utility-story .rp-nav-item { font-size:12px; }
    .utility-story .rp-isolated-session { top:70px; left:16px; right:16px; }
  }
  @container runtime-preview (max-width:420px) {
    .utility-story .rp-pane { min-height:650px; }
    .utility-story .rp-isolated-session { left:12px; right:12px; top:69px; }
    .utility-story .rp-session-body { min-height:340px; padding-inline:14px; font-size:12px; }
    .utility-story .rp-volume-note { gap:9px; margin:0 9px 9px; padding:11px 10px; }
    .utility-story .rp-volume-note>svg { width:18px; height:18px; }
    .utility-story .rp-choice-status { padding-left:0; }
    .utility-story.is-product-ready .rp-choice-status>span:not(.rp-action) { left:0; }
    .utility-story .rp-progress { margin-left:0; }
    .utility-story .rp-status-text>strong { font-size:12px; }
  }
  @media (prefers-reduced-motion:reduce) {
    .utility-story .utility-cursor,.utility-story .utility-click { animation:none!important; display:none!important; }
    .utility-story .sp-terminal,.utility-story .sp-hub,.utility-story .rp-isolated-session,.utility-story .rp-flow,.utility-story .rp-progress>span { animation:none!important; }
    .utility-story .rp-choice { transition:none; }
  }
}
