*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;min-height:100dvh;font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:#f6f7fb;background:#080a0f}button,input,select{font:inherit}button{cursor:pointer;transition:background .18s,border-color .18s,transform .18s}button:active{transform:translateY(1px)}.aurora{position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 2% 0,#34195d88,transparent 45%),radial-gradient(ellipse at 100% 12%,#25379566,transparent 45%),radial-gradient(ellipse at 75% 100%,#30195d55,transparent 55%);pointer-events:none}header{max-width:1450px;margin:auto;display:flex;gap:24px;align-items:center;padding:36px 32px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-weight:750;font-size:30px;text-decoration:none;color:#f6f7fb}.brand img{width:50px;height:50px;border-radius:14px}.brand b{color:#9562ff}nav{display:flex;gap:7px;padding:6px;background:#171a2bbc;border:1px solid #ffffff0e;border-radius:28px;flex-wrap:wrap}nav button{font-size:13px;color:#b8bdd4;padding:10px 18px;border:1px solid #353b5966;border-radius:24px;background:transparent}nav button.active{background:linear-gradient(110deg,#514bd7,#5d4cff);color:white;box-shadow:0 0 18px #6656ff44}button:hover{border-color:#9680f8}.qa-tag{margin-left:auto;white-space:nowrap;background:#15182a;padding:10px 15px;border-radius:18px;color:#c9bafa;font-size:13px}main{padding:20px 24px 40px;max-width:1100px;margin:auto}.panel{max-width:520px;margin:auto;padding:30px;border:1px solid #535a856b;border-radius:22px;background:linear-gradient(145deg,#111626e8,#111222e8);box-shadow:0 25px 80px #0004;animation:appear .22s ease-out}.wide{max-width:740px}.steps{display:flex;align-items:start;justify-content:space-between;position:relative;margin:3px 5px 28px}.steps:before{content:"";height:2px;background:#353b56;position:absolute;left:12%;right:12%;top:15px}.step{position:relative;text-align:center;color:#8d95b6;font-size:12px;min-width:70px}.step i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:2px solid #434969;background:#111627;margin:0 auto 7px;font-style:normal}.step.current{color:#c6beff}.step.current i{border-color:#7964ff;color:white;background:#5034b5;box-shadow:0 0 18px #8055ff66}.step.done i{background:#4a37aa;color:white}.heading{text-align:center}h1{font-size:27px;line-height:1.25;margin:14px 0}h2{font-size:19px;margin:20px 0 10px}p{margin:12px 0}.muted,small{color:#a7adba}small{display:block;font-size:12px;margin-top:3px}.pair{display:flex;align-items:center;justify-content:center;gap:32px;margin:12px 0 22px}.pair span{text-align:center;font-weight:650}.pair em{font-style:normal;color:#7974b6;font-size:28px}.appmark{width:68px;height:68px;margin:auto auto 8px;display:grid;place-items:center;border:1px solid #6a64956b;border-radius:19px;background:#171c30;font-size:32px}.appmark img{width:46px;height:46px;border-radius:12px}.box,.permission{padding:15px;border:1px solid #4b526c55;border-radius:16px;background:#22263866;margin:13px 0}.permission{display:flex;gap:13px;align-items:center;margin:0;border:0}.permissions{border:1px solid #4b526c55;background:#22263866;border-radius:16px;overflow:hidden;margin:20px 0}.permission .symbol{background:#54468d44;border-radius:11px;width:40px;height:40px;display:grid;place-items:center;color:#be9dff;font-size:23px;flex-shrink:0}.permission input{margin-left:auto;accent-color:#8052ff;width:19px;height:19px}.permission .tick{margin-left:auto;color:#8c74ff;font-size:22px}label.field{display:block;margin:18px 0 14px;color:#b8bed2}.field input,.field select{display:block;width:100%;background:#202435aa;border:1px solid #545c7e77;color:#f6f7fb;border-radius:14px;padding:14px 16px;margin-top:8px;outline:none}.field input:focus{border-color:#9a7aff;box-shadow:0 0 0 3px #7457f526}button{color:#f6f7fb;background:#23283c;border:1px solid #4c5579;border-radius:14px;padding:12px 18px}button.primary{background:linear-gradient(105deg,#5368ff,#934cff);border:1px solid #a77cff66;font-weight:650;box-shadow:0 6px 22px #5637d929}.full{width:100%;margin-top:12px;padding:16px}.actions{display:flex;justify-content:center;gap:14px;margin-top:22px}.actions button{flex:1;min-height:50px}.danger{color:#ffb4c2;border-color:#be668666}button:focus-visible,a:focus-visible{outline:3px solid #baa3ff;outline-offset:3px}a{color:#8c9aff}.row{display:flex;gap:16px;justify-content:space-between;align-items:center}.success-ring{display:grid;place-items:center;width:120px;height:120px;margin:36px auto 28px;border:5px solid #7450ee;border-radius:50%;box-shadow:0 0 30px #6851ff44;color:#45b3ff;font-size:65px}.message{border:1px solid #a16e8c;padding:12px 15px;border-radius:14px;margin-top:18px;color:#ffd0da;background:#40223544}.hint{border:1px solid #4c557755;border-radius:14px;padding:14px;color:#aeb6d2;font-size:13px;margin-top:22px}.name{font-weight:650}footer{text-align:center;color:#7f879e;font-size:12px;padding:26px 12px}.checkline{display:flex;align-items:center;gap:10px;color:#b5bad0;font-size:14px;margin:16px 0}.checkline input{accent-color:#8052ff}pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#c9d2f9;font-size:12px}@keyframes appear{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:850px){header{padding:24px;flex-wrap:wrap;gap:16px}nav{order:3;width:100%;justify-content:center}.qa-tag{margin-left:auto}main{padding-top:0}}@media(max-width:500px){header{padding:20px 16px}.brand{font-size:26px}nav{gap:4px;padding:5px;border-radius:20px}nav button{font-size:11px;padding:8px 10px}main{padding:6px 12px 20px}.panel{padding:24px 20px;border-radius:20px}h1{font-size:24px}.row{flex-wrap:wrap}.pair{gap:24px}.actions{gap:10px}.actions button{padding:12px}}
/* Sova ID responsive navigation and motion, QA UI only. */
header{position:relative;z-index:10}.menu-toggle{display:none}.menu-lines{font-size:20px;line-height:1}.connected-app .row{align-items:center}.connected-app small{margin-top:4px;line-height:1.35}.connected-app{padding:13px 15px}.connected-app .row .danger{padding:9px 13px;font-size:13px}.field.client-picker{position:relative;display:block;margin:18px 0 14px;color:#b8bed2}.select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:8px;padding:14px 16px;background:#202435cc;border:1px solid #545c7e77;text-align:left}.chevron{transition:transform .22s ease;color:#bba9ff;font-size:22px;line-height:1}.select-trigger[aria-expanded=true]{border-color:#9d7cff;box-shadow:0 0 0 3px #7457f526}.select-trigger[aria-expanded=true] .chevron{transform:rotate(180deg)}.select-options{position:absolute;top:100%;left:0;right:0;z-index:30;margin-top:7px;padding:6px;background:#1a1e30f5;border:1px solid #7663b499;border-radius:16px;box-shadow:0 18px 48px #0009;backdrop-filter:blur(18px);animation:menu-in .2s ease-out}.select-options[hidden]{display:none}.select-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid transparent;border-radius:11px;background:transparent;text-align:left;padding:11px 12px;font-size:14px}.select-options button small{font-size:11px;margin-top:3px}.select-options button:hover,.select-options button:focus-visible{background:#6350b935;border-color:#8b73d577;outline:none}.select-options button[aria-selected=true]{background:linear-gradient(110deg,#5368ff33,#934cff33);border-color:#8864f566}.option-check{visibility:hidden;color:#ac8aff}.select-options [aria-selected=true] .option-check{visibility:visible}.aurora{animation:aurora-shift 18s ease-in-out infinite alternate;will-change:transform;transform-origin:50% 30%}.brand b{background:linear-gradient(110deg,#7c83ff,#c47cff,#7b83ff);background-size:200% 100%;color:transparent;background-clip:text;animation:color-flow 7s ease-in-out infinite}.primary{background-size:180% 180%!important;animation:color-flow 8s ease-in-out infinite}button{transition:background .22s,border-color .22s,box-shadow .22s,transform .22s}button:hover{box-shadow:0 0 18px #7a5aff22;transform:translateY(-1px)}button:active{transform:translateY(1px)}.panel{animation:panel-enter .32s cubic-bezier(.2,.8,.2,1)}.permissions .permission{animation:permission-enter .35s ease-out both}.permissions .permission:nth-child(2){animation-delay:.055s}.permissions .permission:nth-child(3){animation-delay:.11s}.step.current i{animation:step-glow 3.8s ease-in-out infinite}.success-ring{animation:success-enter .5s cubic-bezier(.2,.8,.2,1),step-glow 4s ease-in-out .5s infinite}.box{transition:border-color .25s,background .25s}.box:hover{border-color:#7667a777}.field input{transition:border-color .2s,box-shadow .2s}.message{animation:menu-in .22s ease-out}
@keyframes aurora-shift{0%{transform:scale(1) translate3d(0,0,0);opacity:.75}100%{transform:scale(1.08) translate3d(-1%,1%,0);opacity:1}}@keyframes color-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes panel-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes permission-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes step-glow{0%,100%{box-shadow:0 0 12px #8055ff33}50%{box-shadow:0 0 25px #8055ff77}}@keyframes success-enter{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
@media(max-width:1100px){header{display:flex;flex-wrap:nowrap;gap:12px;padding:24px}.menu-toggle{display:flex;align-items:center;gap:9px;margin-left:auto;max-width:240px;min-width:0;padding:10px 14px;border-radius:18px;background:#242039bb;border-color:#5e518a88}.menu-toggle #menuLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-tag{margin-left:0}#mainNav{display:none;position:absolute;top:calc(100% - 12px);right:24px;left:auto;order:unset;width:min(330px,calc(100vw - 48px));padding:8px;border-radius:20px;background:#171a2bf5;border:1px solid #69578c88;box-shadow:0 18px 55px #0009;backdrop-filter:blur(20px)}#mainNav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:5px;animation:menu-in .22s ease-out}#mainNav button{text-align:left;border-radius:13px;padding:12px 15px;font-size:14px}.menu-toggle[aria-expanded=true]{border-color:#a387ee;box-shadow:0 0 18px #7a5aff33}}
@media(max-width:500px){header{padding:18px 14px;gap:10px}.brand{font-size:23px;gap:7px}.brand img{width:39px;height:39px;border-radius:11px}.qa-tag{font-size:10px;padding:7px 9px}.menu-toggle{max-width:150px;padding:9px 11px;font-size:12px}.menu-toggle #menuLabel{max-width:94px}#mainNav{right:14px;top:calc(100% - 3px);width:min(315px,calc(100vw - 28px))}.connected-app .row{gap:8px}.connected-app .row .danger{padding:8px 10px;font-size:12px}.select-options button{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.aurora{will-change:auto;transform:none}}

/* Centered Unicode status and disclosure symbols. */
.chevron,.option-check,.permission .tick{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;line-height:1;font-family:"Segoe UI Symbol","Noto Sans Symbols 2",sans-serif;font-style:normal}.chevron{font-size:19px;transform-origin:center}.option-check,.permission .tick{font-size:19px}.step i{line-height:1;font-family:"Segoe UI Symbol",system-ui,sans-serif}.success-ring{line-height:1;font-family:"Segoe UI Symbol",system-ui,sans-serif}.pair em{display:flex;align-items:center;justify-content:center;line-height:1;font-style:normal}.permission input[type=checkbox],.checkline input[type=checkbox]{appearance:none;display:inline-grid;place-content:center;flex-shrink:0;width:19px;height:19px;border:1px solid #82739f;border-radius:5px;background:#171b2d;vertical-align:middle}.permission input[type=checkbox]:checked,.checkline input[type=checkbox]:checked{background:linear-gradient(130deg,#5368ff,#934cff);border-color:#a993ff}.permission input[type=checkbox]:checked:after,.checkline input[type=checkbox]:checked:after{content:"✔︎";font:14px/1 "Segoe UI Symbol",sans-serif;color:white}.permission input[type=checkbox]:focus-visible,.checkline input[type=checkbox]:focus-visible{outline:2px solid #c2aaff;outline-offset:3px}

/* Reference-matched vector icons, independent of Unicode font rendering. */
.ui-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle;overflow:visible}.primary .ui-icon{margin-left:7px;width:17px;height:17px}.primary.full,.access-link{display:flex;align-items:center;justify-content:center;gap:7px}.permission .symbol .ui-icon{width:25px;height:25px}.permission .symbol{color:#bc8df0;background:linear-gradient(145deg,#5a4a884d,#292d474d)}.permission .tick,.option-check{color:#8063ff}.tick .ui-icon,.option-check .ui-icon{width:20px;height:20px;stroke-width:2.2}.chevron .ui-icon{width:16px;height:16px;stroke-width:1.8}.step i .ui-icon{width:16px;height:16px;stroke-width:2.2}.success-ring .ui-icon{width:65px;height:65px;stroke-width:2.1}.access-link{background:transparent;border-color:transparent;color:#6285ff;box-shadow:none;text-decoration:underline}.access-link .ui-icon{color:#6e79ff}.security-hint{display:flex;align-items:flex-start;gap:13px}.security-hint .symbol{display:grid;place-items:center;width:37px;height:40px;flex-shrink:0;border-radius:11px;background:#6150a329;color:#6e69ff}.security-hint .ui-icon{width:23px;height:23px}.permission input[type=checkbox]{appearance:none;background:transparent!important;border:0!important;border-radius:0!important;width:22px;height:22px}.permission input[type=checkbox]:checked:after,.checkline input[type=checkbox]:checked:after{content:"";display:block;width:14px;height:14px;background:currentColor;clip-path:polygon(8% 48%,37% 76%,94% 15%,100% 23%,38% 92%,0 57%);color:#8063ff}.permission input[type=checkbox]:not(:checked){border:1px solid #6b6382!important;border-radius:5px!important}.checkline input[type=checkbox]:checked:after{width:12px;height:12px;color:white}

.password-wrap{display:block;position:relative}.password-wrap input{padding-left:16px;padding-right:48px}.password-lock,.password-eye{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;width:42px;color:#a99edb}.password-lock{left:4px;pointer-events:none}.password-eye{right:4px;background:transparent;border:0;padding:0;box-shadow:none}.password-eye:hover{background:transparent;box-shadow:none;transform:none;color:#d6c7ff}.password-eye[aria-pressed=true]{color:#c1a2ff}

.field-error{display:block;margin:7px 2px 0;color:#efa7bd;font-size:12px;line-height:1.4;animation:menu-in .18s ease-out}.field input[aria-invalid=true]{border-color:#c979a1;box-shadow:0 0 0 3px #b74d8220}.password-wrap:has(.field-error) .password-lock,.password-wrap:has(.field-error) .password-eye{bottom:auto;height:53px}.field-error:before{content:"!";display:inline-grid;place-items:center;width:14px;height:14px;margin-right:6px;border:1px solid currentColor;border-radius:50%;font-size:10px;font-weight:700;vertical-align:middle}

/* One-shot expressive field feedback, with no perpetual error flashing. */
.field-error{position:relative;display:flex;align-items:center;gap:8px;margin:8px 0 0;padding:9px 12px;border-radius:11px;background:linear-gradient(105deg,#a35af51c,#d86b9820);border:1px solid #b58bf12b;color:#e9b6de;transform-origin:18px 0;overflow:hidden;animation:none}.field-error:before{content:"!";display:grid;place-items:center;flex-shrink:0;margin:0;width:17px;height:17px;border:1px solid #c9a3ff;border-radius:6px;color:#dfc3ff;background:#a36bff18;font-size:11px}.field-error:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 25%,#d9b9ff15 48%,transparent 70%);transform:translateX(-120%)}.error-reveal{animation:error-unfold .48s cubic-bezier(.18,.86,.22,1) both}.error-reveal:before{animation:error-mark .5s cubic-bezier(.2,.9,.2,1) both}.error-reveal:after{animation:error-sheen .85s ease-out .12s both}.field-attention{animation:field-nudge .42s cubic-bezier(.25,.8,.3,1),field-halo .85s ease-out}.error-resolved{pointer-events:none;animation:error-dismiss .2s ease-in both}@keyframes error-unfold{0%{opacity:0;transform:translateY(-7px) scaleY(.72);clip-path:inset(0 0 100% 0 round 11px)}60%{opacity:1;transform:translateY(1px) scaleY(1.02);clip-path:inset(0 round 11px)}100%{opacity:1;transform:none;clip-path:inset(0 round 11px)}}@keyframes error-mark{0%{transform:scale(.65) rotate(-18deg)}65%{transform:scale(1.1) rotate(4deg)}100%{transform:none}}@keyframes error-sheen{from{transform:translateX(-120%)}to{transform:translateX(120%)}}@keyframes field-nudge{0%,100%{transform:translateX(0)}22%{transform:translateX(-3px)}47%{transform:translateX(3px)}72%{transform:translateX(-1px)}}@keyframes field-halo{0%,100%{box-shadow:0 0 0 3px #b74d8220}40%{box-shadow:0 0 0 4px #a676ff30,0 0 22px #a46bff25}}@keyframes error-dismiss{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-4px) scale(.98)}}@media(prefers-reduced-motion:reduce){.error-reveal,.error-reveal:before,.error-reveal:after,.field-attention,.error-resolved{animation:none!important}.error-resolved{opacity:0}}

.password-emoji{display:flex;align-items:center;justify-content:center;width:28px;height:28px;font:21px/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif}.password-eye{transition:color .2s,background .2s}.password-eye:active .password-emoji{transform:scale(.92)}@media(max-width:1100px){#mainNav,#mainNav.is-open{width:max-content;min-width:190px;max-width:calc(100vw - 28px);height:auto;min-height:0;max-height:none;margin:0;padding:6px;gap:3px;justify-content:flex-start}#mainNav button{margin:0;min-height:0;padding:10px 14px;white-space:nowrap}}

/* Fixed consent set and reference-inspired success orbit. */
.exchange .ui-icon{width:27px;height:27px;color:#7870b6;stroke-width:1.5}.permissions .permission{cursor:default}.permission .tick{margin-left:auto}.permission .tick path{stroke-dasharray:1;stroke-dashoffset:0;animation:permission-tick .55s cubic-bezier(.2,.8,.2,1) both}.permission:nth-child(2) .tick path{animation-delay:.12s}.permission:nth-child(3) .tick path{animation-delay:.24s}.success-orbit{position:relative;display:grid;place-items:center;width:190px;height:174px;margin:22px auto 26px}.success-orbit .success-ring{position:relative;isolation:isolate;margin:0;width:120px;height:120px;border:0;background:radial-gradient(circle,#101738 35%,#182452 80%,#3541a5);box-shadow:inset 0 0 25px #3638a780,0 0 40px #523cff40;animation:orbit-arrive .6s cubic-bezier(.2,.8,.2,1) both}.success-orbit .success-ring:before{content:"";position:absolute;inset:0;border-radius:50%;padding:4px;background:conic-gradient(from -20deg,#303fce,#6650ff 24%,#b44bff 42%,#4a39be 60%,#3c5dff 80%,#7862ff);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:orbit-shimmer 8s linear infinite}.success-orbit .success-ring:after{content:"";position:absolute;inset:-7px;border-radius:50%;border:6px solid #7250ee66;filter:blur(12px);z-index:-1;animation:orbit-glow 4s ease-in-out infinite}.success-orbit .success-ring .ui-icon{width:62px;height:62px;color:#26a5f5;stroke-width:1.9;filter:drop-shadow(0 0 6px #179cfa40)}.success-orbit .success-ring path{stroke-dasharray:1;stroke-dashoffset:0;animation:success-tick-draw .7s cubic-bezier(.3,.6,.2,1) .22s both}.success-particles{position:absolute;inset:0;pointer-events:none}.success-particles span{position:absolute;width:3px;height:3px;background:#6548f4;box-shadow:0 0 8px #7253ff77;animation:particle-float 4.5s ease-in-out infinite alternate;border-radius:1px}.success-particles span:nth-child(1){left:10%;top:24%;width:4px;height:4px;animation-delay:-1s}.success-particles span:nth-child(2){left:16%;top:11%;animation-delay:-2.1s}.success-particles span:nth-child(3){left:7%;top:60%;width:2px;height:2px;animation-delay:-.6s}.success-particles span:nth-child(4){left:13%;top:79%;width:5px;height:5px;animation-delay:-3s}.success-particles span:nth-child(5){left:25%;top:91%;animation-delay:-1.5s}.success-particles span:nth-child(6){left:76%;top:10%;width:2px;height:2px;animation-delay:-2s}.success-particles span:nth-child(7){left:88%;top:23%;animation-delay:-.7s}.success-particles span:nth-child(8){left:94%;top:48%;width:5px;height:5px;animation-delay:-2.7s}.success-particles span:nth-child(9){left:85%;top:71%;animation-delay:-1.8s}.success-particles span:nth-child(10){left:79%;top:91%;width:2px;height:2px;animation-delay:-3.4s}.success-particles span:nth-child(11){left:4%;top:40%;width:2px;height:2px;animation-delay:-2.4s}.success-particles span:nth-child(12){left:55%;top:2%;width:2px;height:2px;animation-delay:-1.2s}@keyframes success-tick-draw{from{stroke-dashoffset:1;opacity:.25}to{stroke-dashoffset:0;opacity:1}}@keyframes permission-tick{from{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes orbit-arrive{from{opacity:0;transform:scale(.84)}to{opacity:1;transform:scale(1)}}@keyframes orbit-shimmer{to{transform:rotate(360deg)}}@keyframes orbit-glow{0%,100%{opacity:.4}50%{opacity:.8}}@keyframes particle-float{from{opacity:.25;transform:translateY(3px) rotate(30deg) scale(.7)}to{opacity:.85;transform:translateY(-4px) rotate(65deg) scale(1)}}@media(prefers-reduced-motion:reduce){.success-orbit *, .success-orbit *:before,.success-orbit *:after,.permission .tick path{animation:none!important}.success-particles span{opacity:.45}.success-orbit .success-ring path{stroke-dashoffset:0}}

/* Align exchange arrows with the 68px application icons, not their captions. */
.pair:has(.exchange){align-items:flex-start}.pair .exchange{align-self:flex-start;height:68px;margin:0;display:flex;align-items:center;justify-content:center}

.rp-avatar{width:46px;height:46px;object-fit:cover;border-radius:14px;margin-right:12px;vertical-align:middle;border:1px solid #9e85e84d}

/* Completion edition: one visual language for identity, consent and developer tools. */
.identity-hero{text-align:center;margin:4px 0 26px}.identity-hero>img{width:72px;height:72px;border-radius:22px;margin:4px auto 14px;display:block;box-shadow:0 0 44px #6253ff44}.identity-hero h1{font-size:32px;letter-spacing:-.7px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.17em;color:#a191ff}.account-chip{display:flex;align-items:center;gap:12px}.account-chip .quiet{margin-left:auto;padding:7px 10px;font-size:12px}.avatar-letter{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#5168ff,#924eff);display:grid;place-items:center;flex:none;font-weight:700}.service-logo{width:46px;height:46px;object-fit:contain;border-radius:14px;flex:none}.service-logo.fallback{display:grid;place-items:center;background:linear-gradient(145deg,#5351aa77,#39408766);border:1px solid #8879cc55;color:#c5b6ff;font-size:24px}.pair .service-logo{display:grid;width:68px;height:68px;margin:0 auto 8px;border-radius:19px}.connected-app .app-description{flex:1}.developer-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.panel.wide{max-width:980px}.section-head{display:flex;gap:16px;align-items:center;justify-content:space-between}.field textarea{display:block;width:100%;resize:vertical;min-height:86px;background:#202435aa;border:1px solid #545c7e77;color:#f6f7fb;border-radius:14px;padding:13px 15px;margin-top:8px;font:inherit}.field textarea:focus{outline:2px solid #9a7aff44;border-color:#9a7aff}.badge{font-size:10px;color:#92dfc1;padding:5px 8px;background:#295b4b44;border:1px solid #4da08055;border-radius:12px}.badge.off{color:#d7b9c6;background:#7c3d5922}.small-actions{flex-wrap:wrap;gap:6px;margin-top:12px}.small-actions button{font-size:11px;min-height:34px;padding:7px}.secret-box{padding:16px;margin-top:18px;overflow-wrap:anywhere;border:1px solid #9181f9;border-radius:14px;background:#5140a12b;color:#eee6ff}.empty-state{padding:50px 20px;text-align:center;color:#a4acd1}.panel code{display:block;overflow-wrap:anywhere;font-size:13px;padding:10px 0}li{margin:12px 0}.field{position:relative}.select-options button{width:100%}.select-options[hidden]{display:none}button:disabled{opacity:.5;cursor:wait}.field-error{display:block;color:#d1b5ff;font-size:12px;margin-top:7px}details{margin-top:22px}summary{cursor:pointer;color:#b4aaff}.pair>span{min-width:100px;max-width:180px;overflow-wrap:anywhere}.pair .exchange{align-self:flex-start;height:68px;display:grid;place-items:center}.row .service-logo{margin:0}header{max-width:1500px}nav button{padding:10px 12px}.checkline{align-items:flex-start}.checkline input{margin-top:3px}#logoPreview img{display:block;margin-top:8px}@media(max-width:760px){.developer-grid{grid-template-columns:1fr;gap:20px}.section-head{align-items:flex-start;flex-wrap:wrap}.identity-hero h1{font-size:28px}.connected-app .row{flex-wrap:nowrap}.connected-app .danger{padding:8px}.connected-app .app-description{min-width:0;overflow-wrap:anywhere}}@media(max-width:380px){.brand{font-size:20px}.menu-toggle{max-width:115px}.panel{padding:22px 15px}.pair{gap:15px}.pair>span{min-width:80px}.service-logo{width:36px;height:36px}.connected-app .row{gap:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0!important}.upload-control{display:flex;align-items:center;gap:12px;padding:10px;margin-top:8px;background:#202435aa;border:1px solid #545c7e77;border-radius:14px}.upload-button{flex:none;background:linear-gradient(115deg,#5262ee,#8252dc);border:1px solid #a48aff77;border-radius:11px;padding:10px 13px;color:#fff;font-size:13px;box-shadow:0 4px 16px #5c43c426}.upload-control>span{font-size:12px;color:#a9b0cb;overflow-wrap:anywhere;min-width:0}.upload-control:focus-within{border-color:#9a7aff;box-shadow:0 0 0 3px #7457f526}.upload-button:hover{box-shadow:0 0 22px #8a5bfa44}.upload-button:active{transform:translateY(1px)}@media(max-width:380px){.upload-control{gap:9px}.upload-button{font-size:12px;padding:9px 10px}}

.developer-grid>section,.row>div{min-width:0}.box,.heading h1,.field small{overflow-wrap:anywhere}.account-chip strong{min-width:0;overflow-wrap:anywhere}
nav button[hidden]{display:none!important}

.login-privacy{text-wrap:pretty}

/* Ordered, keyboard-accessible locale selector. */
.language-select{width:auto;max-width:125px;min-height:42px;padding:8px 12px;color:#e6e4ff;background:#17182c;border:1px solid #45406b;border-radius:16px;font:inherit;cursor:pointer}.language-select option{background:#17182c;color:#e6e4ff}.language-select:focus-visible{outline:2px solid #9570ff;outline-offset:3px}

/* Single-column account screens should not stretch like a dashboard. */
main{width:100%;max-width:820px}
.panel.wide{width:100%;max-width:700px}
header{max-width:1060px}
.connected-app .app-description{min-width:0;overflow-wrap:anywhere}
.connected-app .danger{flex:0 0 auto}
.hint{line-height:1.6}
@media(min-width:761px){.panel.wide{padding:28px}.panel.wide h1{font-size:26px}.panel.wide .section-head{align-items:flex-start}.panel.wide .section-head .badge{max-width:180px;text-align:center}}
@media(max-width:500px){.panel.wide{padding:22px 18px}.connected-app .row{flex-wrap:wrap}.connected-app .app-description{flex:1 1 150px}.connected-app .danger{margin-left:auto}.language-select{max-width:112px}}

/* Bootstrap actions wrap without stretching the accepted single-column layout. */
.panel.wide .actions{flex-wrap:wrap}.panel.wide .actions button{flex:1 1 180px;min-width:0;overflow-wrap:anywhere}
