/* clickability layer: modals, toasts — adapts to host theme via vars set in extras.js */
.xlock{overflow:hidden}
.xov{position:fixed;inset:0;z-index:9990;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(6,8,14,.6);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;transition:opacity .22s ease}
.xov.in{opacity:1}
.xm{position:relative;width:min(560px,100%);max-height:88vh;overflow:auto;background:var(--xbg,#fff);color:var(--xfg,#101524);border:1px solid var(--xbd,rgba(0,0,0,.08));border-radius:20px;padding:30px 28px 26px;box-shadow:0 30px 90px -24px rgba(0,0,0,.65);transform:translateY(16px) scale(.985);transition:transform .28s cubic-bezier(.16,1,.3,1)}
.xov.in .xm{transform:none}
.xm h3{margin:0 6px 4px 0;font-size:1.42rem;line-height:1.18;font-weight:800;letter-spacing:-.01em}
.xm .xsub{margin:0 0 18px;opacity:.6;font-size:.9rem}
.xm p{margin:0 0 12px;line-height:1.62;font-size:.96rem;opacity:.92}
.xm ul{margin:0 0 14px;padding-left:18px;line-height:1.6;font-size:.95rem;opacity:.92}
.xm li{margin-bottom:6px}
.xm b{font-weight:700}
.xm .xmail{color:var(--xa);font-weight:700;text-decoration:none}
.xm .xmail:hover{text-decoration:underline}
.xclose{position:absolute;top:14px;right:14px;width:36px;height:36px;border:none;border-radius:10px;background:var(--xcl,rgba(0,0,0,.06));color:inherit;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s,color .18s,transform .12s}
.xclose:hover{background:var(--xa);color:#fff}
.xclose:active{transform:scale(.92)}
.xclose:focus-visible{outline:2px solid var(--xa);outline-offset:2px}
.xfield{display:flex;flex-direction:column;gap:7px;margin:14px 0}
.xfield label{font-size:.82rem;font-weight:600;opacity:.75}
.xm input,.xm textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--xbd,rgba(0,0,0,.14));background:var(--xin,rgba(0,0,0,.025));color:inherit;font:inherit;transition:border-color .18s,box-shadow .18s}
.xm textarea{min-height:96px;resize:vertical}
.xm input:focus,.xm textarea:focus{outline:none;border-color:var(--xa);box-shadow:0 0 0 3px color-mix(in srgb,var(--xa) 24%,transparent)}
.xm .xerr{color:#e5484d;font-size:.8rem;min-height:1em;margin:-2px 0 0}
.xbtn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 20px;border-radius:12px;border:none;background:var(--xa);color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:filter .2s,transform .12s,box-shadow .2s;box-shadow:0 10px 26px -10px color-mix(in srgb,var(--xa) 70%,transparent)}
.xbtn:hover{filter:brightness(1.07)}
.xbtn:active{transform:scale(.975)}
.xbtn:focus-visible{outline:2px solid var(--xa);outline-offset:3px}
.xbtn--full{width:100%;margin-top:4px}
.xbtn--ghost{background:transparent;color:inherit;border:1px solid var(--xbd,rgba(0,0,0,.16));box-shadow:none}
.xbtn--ghost:hover{border-color:var(--xa);color:var(--xa);filter:none}
.xgrid{display:grid;gap:10px;margin-top:16px}
.xrow{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--xbd,rgba(0,0,0,.1));border-radius:13px;cursor:pointer;background:var(--xin,rgba(0,0,0,.015));transition:border-color .18s,transform .12s,background .18s;text-align:left;width:100%;color:inherit;font:inherit}
.xrow:hover{border-color:var(--xa);transform:translateY(-1px)}
.xrow:active{transform:scale(.99)}
.xrow svg{width:24px;height:24px;flex:0 0 auto;color:var(--xa)}
.xrow .xrt{font-weight:700;font-size:.95rem}
.xrow .xrs{font-size:.8rem;opacity:.6}
.xtoast{position:fixed;left:50%;bottom:30px;z-index:9999;transform:translateX(-50%) translateY(22px);background:var(--xtb,#0f1729);color:#fff;padding:13px 20px;border-radius:13px;font-weight:600;font-size:.92rem;box-shadow:0 16px 46px -10px rgba(0,0,0,.55);opacity:0;transition:opacity .3s,transform .3s;max-width:90vw;display:flex;align-items:center;gap:9px}
.xtoast.in{opacity:1;transform:translateX(-50%)}
.xtoast b{color:var(--xa)}
@media (prefers-reduced-motion:reduce){.xov,.xm,.xtoast,.xbtn,.xrow,.xclose{transition:none}}
