/* Bosigo Omega Stage 8 — interaction and responsive layer */
:root{
  --omega-fast:150ms;
  --omega-standard:260ms;
  --omega-slow:440ms;
  --omega-ease:cubic-bezier(.2,.75,.18,1);
  --omega-spring:cubic-bezier(.16,1,.3,1);
  --omega-progress:0%;
  --omega-safe-bottom:max(12px,env(safe-area-inset-bottom));
}
html{scroll-padding-top:clamp(5rem,9vw,7rem)}
body{min-width:0}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--focus,#176BDB);
  outline-offset:3px;
}
body.world-innovation :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
.route-page :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline-color:var(--cyan,#70E5F2);
}
.omega-scroll-progress{
  position:fixed;z-index:2200;inset:0 0 auto;height:3px;pointer-events:none;background:transparent;
}
.omega-scroll-progress::after{
  content:"";display:block;width:var(--omega-progress);height:100%;transform-origin:left;
  background:linear-gradient(90deg,var(--gold,#F5C400),var(--cyan,#70E5F2),var(--violet,#9B82FF));
  transition:width 80ms linear;
}
body.world-innovation .omega-scroll-progress::after,.route-page .omega-scroll-progress::after{
  background:linear-gradient(90deg,var(--cyan,#70E5F2),var(--blue,#5A8FFF),var(--violet,#9B82FF));
}
.omega-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Clear, restrained tactile feedback */
.omega-action-pressed{transform:translateY(1px) scale(.985)!important}
:where(.button,.text-action,.world-card,.engine-panel,.journey-list button,.ecosystem-node,.paper-card,.role-choice,.pathway-band,.risk-button,.sector-button,.tab-button,.signal-card,.route-step,.decision-card,.field-node,.signal-list-item,.system-link,.choice-chip,.primary-action,.compose-action,.route-primary,.route-secondary,.route-related a){
  transition-property:transform,translate,box-shadow,border-color,background-color,color,opacity;
  transition-duration:var(--omega-standard);
  transition-timing-function:var(--omega-ease);
}
@media (hover:hover) and (pointer:fine){
  :where(.button,.text-action,.route-primary,.route-secondary,.route-related a,.primary-action,.compose-action):not(:disabled):hover{transform:translateY(-2px)}
  :where(.paper-card,.engine-panel,.role-choice,.pathway-band,.signal-card,.route-step,.decision-card):hover{transform:translateY(-3px)}
  :where(.paper-card,.engine-panel,.role-choice,.pathway-band,.signal-card,.route-step,.decision-card):hover,
  :where(.paper-card,.engine-panel,.role-choice,.pathway-band,.signal-card,.route-step,.decision-card):focus-within{
    box-shadow:0 18px 52px color-mix(in srgb,currentColor 8%,transparent);
  }
}
:where(button,[role="button"],a).omega-link-intent{opacity:.72}

/* Long-page orientation */
.omega-section-current{position:relative}
.omega-section-current::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:999px;
  background:var(--gold,#F5C400);opacity:.85;
}
body.world-innovation .omega-section-current::before,.route-page .omega-section-current::before{background:var(--cyan,#70E5F2)}

/* Native disclosure polish without hiding semantics */
details{scroll-margin-top:7rem}
details>summary{cursor:pointer}
details[open]>summary{font-weight:750}
.accordion details,.decision-card,.paper-card{overflow:clip}

/* Horizontal navigation and rails remain discoverable on touch */
.route-nav,.role-rail,[role="tablist"],.choice-row,.journey-list{
  -webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;
}
.route-nav a[aria-current="page"]{scroll-margin-inline:2rem}

/* Work Readiness interaction states */
.question-card{transform-origin:center}
.question-card.omega-question-entering{animation:omega-question-enter var(--omega-slow) var(--omega-ease) both}
.answer-option label{transition:transform var(--omega-fast),border-color var(--omega-fast),background var(--omega-fast),box-shadow var(--omega-fast)}
.answer-option input:checked+label{box-shadow:0 0 0 3px color-mix(in srgb,var(--gold,#F5C400) 20%,transparent)}
.answer-option input:focus-visible+label{outline:3px solid var(--focus,#176BDB);outline-offset:3px}
.assessment-actions button:disabled{cursor:not-allowed;opacity:.48;transform:none!important}
.assessment-actions [data-assessment-next]:not(:disabled){box-shadow:0 8px 24px color-mix(in srgb,var(--gold,#F5C400) 20%,transparent)}
.assessment-result.is-visible{animation:omega-result-enter 520ms var(--omega-ease) both}
.result-dimension{animation:omega-result-row 380ms var(--omega-ease) both}
.result-dimension:nth-child(2){animation-delay:50ms}.result-dimension:nth-child(3){animation-delay:100ms}.result-dimension:nth-child(4){animation-delay:150ms}.result-dimension:nth-child(5){animation-delay:200ms}
@keyframes omega-question-enter{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes omega-result-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes omega-result-row{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Innovation Hub loading and focus feedback */
.hub-loading-state{
  position:absolute;z-index:30;inset:0;display:grid;place-items:center;padding:24px;
  background:color-mix(in srgb,var(--canvas,#06080C) 91%,transparent);backdrop-filter:blur(8px);
  opacity:1;transition:opacity var(--omega-slow),visibility var(--omega-slow);
}
.hub-loading-state.is-complete{opacity:0;visibility:hidden}
.hub-loading-state__content{max-width:400px;display:flex;gap:16px;align-items:center;padding:18px 20px;border:1px solid var(--line,#27364C);border-radius:20px;background:rgba(12,18,29,.9);box-shadow:0 22px 70px rgba(0,0,0,.32)}
.hub-loading-state__content strong{display:block;color:var(--ink,#F5F8FC)}
.hub-loading-state__content p{margin:4px 0 0;color:var(--muted,#A7B2C4);font-size:.74rem;line-height:1.45}
.hub-loading-state__constellation{position:relative;flex:0 0 46px;width:46px;height:46px}
.hub-loading-state__constellation::before,.hub-loading-state__constellation::after{content:"";position:absolute;inset:8px;border:1px solid rgba(114,230,244,.28);border-radius:50%}
.hub-loading-state__constellation::after{inset:2px;border-color:rgba(154,125,255,.18);animation:omega-spin 4s linear infinite}
.hub-loading-state__constellation i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--cyan,#70E5F2);box-shadow:0 0 14px rgba(114,230,244,.55)}
.hub-loading-state__constellation i:nth-child(1){left:2px;top:20px}.hub-loading-state__constellation i:nth-child(2){right:5px;top:8px;background:var(--violet,#9B82FF)}.hub-loading-state__constellation i:nth-child(3){right:8px;bottom:5px;background:var(--gold,#F5C400)}
@keyframes omega-spin{to{transform:rotate(360deg)}}
.field-node.is-interaction-pulse{animation:omega-node-pulse 650ms var(--omega-ease)}
@keyframes omega-node-pulse{45%{box-shadow:0 0 0 10px color-mix(in srgb,var(--node-color,var(--cyan,#70E5F2)) 15%,transparent),0 0 32px color-mix(in srgb,var(--node-color,var(--cyan,#70E5F2)) 32%,transparent)}}
.connection-line.is-tracing{stroke-width:2.4!important;filter:drop-shadow(0 0 5px rgba(114,230,244,.65));animation:omega-trace 760ms var(--omega-ease)}
@keyframes omega-trace{from{stroke-dasharray:2 12;stroke-dashoffset:30}to{stroke-dasharray:28 4;stroke-dashoffset:0}}
.field-node[aria-pressed="true"]{z-index:12}

.command-empty{display:grid;place-items:center;text-align:center;gap:8px;padding:32px 20px;color:var(--muted,#A7B2C4)}
.command-empty__mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line,#27364C);border-radius:50%;color:var(--cyan,#70E5F2);font-size:1.4rem}
.command-empty strong{color:var(--ink,#F5F8FC)}
.command-empty button{min-height:42px;margin-top:5px;padding:8px 13px;border:1px solid var(--line,#27364C);border-radius:999px;background:transparent;color:var(--ink,#F5F8FC);font-weight:750;cursor:pointer}
.command-result[role="option"][aria-selected="true"]{border-color:rgba(114,230,244,.38);background:rgba(114,230,244,.07)}
.mobile-sheet.is-dragging{transition:none!important;touch-action:none}
.mobile-sheet__bar{touch-action:none}

/* Responsive safety */
@media (max-width:1100px){
  .hero-layout{gap:clamp(2rem,4vw,4rem)}
  .route-hero__grid,.route-section__head{gap:clamp(2rem,5vw,4rem)}
}
@media (max-width:940px){
  .site-header:focus-within{transform:none!important}
  .mobile-menu.is-open{max-height:calc(100dvh - 5rem);overflow:auto;overscroll-behavior:contain}
  .route-nav{scroll-snap-type:x proximity}
  .route-nav a{scroll-snap-align:center}
  .mobile-sheet{max-height:min(78dvh,680px);padding-bottom:var(--omega-safe-bottom)}
  .command-dialog{max-width:calc(100vw - 20px)}
}
@media (max-width:680px){
  :where(.button,.route-primary,.route-secondary,.primary-action,.compose-action){min-height:46px}
  .route-step,.signal-card,.decision-card{border-radius:22px}
  .route-hero__instrument{border-radius:26px}
  .assessment-main{min-width:0}
  .answer-option label{min-height:52px}
}
@media (max-width:390px){
  .route-shell,.container,.shell{max-width:100%}
  .world-context__inner,.intent-context__inner{min-width:0}
  .mobile-dock{padding-bottom:var(--omega-safe-bottom)}
}
@media (hover:none),(pointer:coarse){
  :where(.button,.text-action,.world-card,.engine-panel,.paper-card,.role-choice,.pathway-band,.signal-card,.route-step,.decision-card):hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{scroll-behavior:auto!important}
  .question-card.omega-question-entering,.assessment-result.is-visible,.result-dimension,.field-node.is-interaction-pulse,.connection-line.is-tracing,.hub-loading-state__constellation::after{animation:none!important}
  .omega-scroll-progress::after{transition:none}
}
