/* SONOFPOLLUX V10.3 — shared accessibility / resilience layer */
:root{--sop-focus:#d9d4ff;--sop-safe-top:env(safe-area-inset-top,0px);--sop-safe-right:env(safe-area-inset-right,0px);--sop-safe-bottom:env(safe-area-inset-bottom,0px);--sop-safe-left:env(safe-area-inset-left,0px)}
html{scroll-padding-top:84px}
:where([id]){scroll-margin-top:84px}
:where(img,video,canvas){max-width:100%}
:where(pre){max-width:100%;overflow:auto}
:where(code,pre,.breakable){overflow-wrap:anywhere}
:where(a,button,input,select,textarea,[role="button"]):focus-visible{outline:2px solid var(--sop-focus);outline-offset:3px}
.sopSkipLink{position:fixed;z-index:2147483647;top:max(8px,var(--sop-safe-top));left:max(8px,var(--sop-safe-left));transform:translateY(-180%);padding:10px 13px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:#fff;color:#08080d!important;text-decoration:none!important;font:800 12px/1 system-ui;letter-spacing:.04em;transition:transform .15s ease}
.sopSkipLink:focus{transform:translateY(0)}
.sopNetworkNotice{position:fixed;z-index:2147483646;left:50%;bottom:max(12px,var(--sop-safe-bottom));transform:translate(-50%,160%);max-width:min(520px,calc(100vw - 24px));border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(8,8,13,.94);backdrop-filter:blur(18px);color:#f8f6ff;padding:10px 13px;font:700 10px/1.4 system-ui;letter-spacing:.04em;box-shadow:0 16px 50px rgba(0,0,0,.35);transition:transform .22s ease}
.sopNetworkNotice.is-visible{transform:translate(-50%,0)}
.sopNetworkNotice[data-state="offline"]{border-color:rgba(255,112,143,.3)}
.sopNetworkNotice[data-state="online"]{border-color:rgba(121,255,184,.28)}
html[data-sop-offline="1"]{--sop-network-state:0}
@media(pointer:coarse){
  :where(button,[role="button"],.btn,.shopButton,.menuBtn){min-height:44px}
}
@media(max-width:640px){
  :where(h1,h2,h3,p,a,button,label,small,span){overflow-wrap:break-word}
}
@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto!important}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
@media(prefers-contrast:more){
  :where(a,button,input,select,textarea){outline-color:currentColor}
}


/* V10.4 universal launcher for surfaces that do not load Portal V37 quick-jump. */
.sopLauncherTrigger{appearance:none;display:inline-flex;align-items:center;gap:7px;min-height:36px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.025);color:inherit;padding:0 10px;font:800 8px/1 system-ui;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.sopLauncherTrigger kbd{border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:3px 5px;color:rgba(255,255,255,.54);font:700 7px/1 system-ui}
.sopLauncher{position:fixed;z-index:2147483645;inset:0;background:rgba(2,2,5,.72);backdrop-filter:blur(15px);display:grid;place-items:start center;padding:max(8vh,calc(var(--sop-safe-top) + 18px)) 12px max(18px,var(--sop-safe-bottom));box-sizing:border-box}
.sopLauncher[hidden]{display:none!important}
.sopLauncher__panel{width:min(690px,100%);max-height:min(780px,84dvh);overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:23px;background:#09090f;color:#f8f6ff;box-shadow:0 35px 100px rgba(0,0,0,.55);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}
.sopLauncher__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 18px 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.sopLauncher__head small{display:block;color:#8e8a98;font:800 7px/1.2 system-ui;letter-spacing:.14em}.sopLauncher__head strong{display:block;margin-top:5px;font:850 18px/1.1 system-ui;letter-spacing:-.025em}
.sopLauncher__close{appearance:none;border:1px solid rgba(255,255,255,.11);border-radius:9px;background:transparent;color:#aaa6b2;min-width:42px;min-height:36px;font:800 8px/1 system-ui;cursor:pointer}
.sopLauncher__search{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.sopLauncher__search input{width:100%;box-sizing:border-box;min-height:48px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#050509;color:#fff;padding:0 13px;font:700 13px/1 system-ui;outline:none}.sopLauncher__search input:focus{border-color:rgba(214,205,255,.42)}
.sopLauncher__results{overflow:auto;padding:7px;overscroll-behavior:contain}.sopLauncher__result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid transparent;border-radius:13px;padding:11px 12px;color:#f8f6ff;text-decoration:none}.sopLauncher__result:hover,.sopLauncher__result.is-active{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.08)}.sopLauncher__result strong{display:block;font:800 11px/1.2 system-ui}.sopLauncher__result small{display:block;margin-top:4px;color:#8e8a98;font:700 7px/1.35 system-ui;letter-spacing:.055em;text-transform:uppercase}.sopLauncher__result b{font:800 10px/1 system-ui;color:#918ba0}.sopLauncher__empty{padding:30px 16px;text-align:center;color:#8e8a98;font:700 10px/1.5 system-ui}.sopLauncher__hint{display:flex;gap:13px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid rgba(255,255,255,.08);color:#777282;font:700 7px/1.3 system-ui;letter-spacing:.06em;text-transform:uppercase}
html.sop-launcher-open,html.sop-launcher-open body{overflow:hidden!important}
@media(max-width:700px){.sopLauncher{padding:calc(var(--sop-safe-top) + 8px) 8px calc(var(--sop-safe-bottom) + 8px);place-items:stretch}.sopLauncher__panel{width:100%;max-height:none;height:100%;border-radius:18px}.sopLauncherTrigger kbd{display:none}}


/* V10.5 submit-state / recovery affordances */
.sopSubmitting{position:relative}
.sopSubmitting [type="submit"][data-sop-submit-disabled="1"]{cursor:wait;opacity:.62}
.sopFormStatus{margin-top:8px;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px 10px;background:rgba(255,255,255,.025);color:rgba(255,255,255,.68);font:700 8px/1.45 system-ui;letter-spacing:.04em}
.sopFormStatus[data-state="offline"]{border-color:rgba(255,105,136,.28);color:#ffb1c2}


/* V10.6 metadata/accessibility polish */
:where([aria-current="page"]){text-decoration-thickness:2px;text-underline-offset:4px}
.sopExternalFormNotice{margin-top:8px;color:rgba(255,255,255,.52);font:700 8px/1.45 system-ui}
