/* Avlory Next /explore: rules most pages share. Scoped to .xp; built from the approved concept. */
@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2?v=3100e775e8) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Outfit";font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/outfit-latin.woff2?v=6c18d579fd) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2?v=83c005d49d) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Inter Fallback";font-style:normal;font-weight:400 500;font-display:swap;src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("Arimo");size-adjust:107.12%;ascent-override:90.44%;descent-override:22.52%;line-gap-override:0%}
@font-face{font-family:"Inter Fallback";font-style:normal;font-weight:600 700;font-display:swap;src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("Arimo Bold");size-adjust:102.09%;ascent-override:94.89%;descent-override:23.63%;line-gap-override:0%}
@font-face{font-family:"Inter Fallback R";font-style:normal;font-weight:400 700;font-display:swap;src:local("Roboto"),local("Roboto-Regular");size-adjust:107.19%;ascent-override:90.38%;descent-override:22.50%;line-gap-override:0%}
@font-face{font-family:"Outfit Fallback";font-style:normal;font-weight:400 600;font-display:swap;src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("Arimo");size-adjust:99.39%;ascent-override:100.61%;descent-override:26.16%;line-gap-override:0%}
@font-face{font-family:"Outfit Fallback";font-style:normal;font-weight:700 800;font-display:swap;src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("Arimo Bold");size-adjust:96.66%;ascent-override:103.45%;descent-override:26.90%;line-gap-override:0%}
@font-face{font-family:"Outfit Fallback R";font-style:normal;font-weight:400 600;font-display:swap;src:local("Roboto"),local("Roboto-Regular");size-adjust:99.45%;ascent-override:100.55%;descent-override:26.14%;line-gap-override:0%}
@font-face{font-family:"Outfit Fallback R";font-style:normal;font-weight:700 800;font-display:swap;src:local("Roboto Bold"),local("Roboto-Bold");size-adjust:102.77%;ascent-override:97.31%;descent-override:25.30%;line-gap-override:0%}
/* Avlory Next /explore pages. Built from the approved concept; every rule is scoped to .xp so it can't
   touch the shared nav, footer or other pages. Space accents come from the Hub palette. */
.xp{color-scheme:dark;
  --black:#000; --card:#111113; --card-2:#17171b; --field:#1c1c22;
  --surface-1:rgba(255,255,255,.03); --surface-2:rgba(255,255,255,.06);
  --border:rgba(255,255,255,.09); --border-strong:rgba(255,255,255,.18);
  --text:rgba(255,255,255,.92); --muted:rgba(255,255,255,.64); --faint:rgba(255,255,255,.52);
  --p-base:#C700FF; --b-base:#2A65E5; --mix:#4942CF; --accent-text:#E39BFF; --accent-text-2:#9DB8FF;
  --ok:#3ccf91; --warn:#f2b84b; --danger:#ff5d73;
  --c-purple:#B98CFF; --c-blue:#6B9BFF; --c-teal:#3CC9AA; --c-coral:#FF8A8A; --c-amber:#F2B544; --c-violet:#9B93FF;
  --brand-waverate:#B46CFF; --brand-penny:#F2A36A; --brand-upnext:#8F8AF5;
  --paper:#FAFAF7; --ink:#1b1b1f; --sepia:#F3E9D2;
  --f-display:"Outfit","Outfit Fallback","Outfit Fallback R",system-ui,sans-serif; --f-body:"Inter","Inter Fallback","Inter Fallback R",system-ui,sans-serif; --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --r-card:36px; --r-md:16px; --r-sm:10px;
  --ease:cubic-bezier(.16,1,.3,1);}
.xp *{box-sizing:border-box}
.xp h1,.xp h2,.xp h3,.xp h4{font-family:var(--f-display);line-height:1.06;margin:0;text-wrap:balance;letter-spacing:-.02em}
.xp p{margin:0}
.xp a{color:var(--accent-text)}
.xp button{font:inherit;color:inherit;cursor:pointer}
.xp :focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}
.xp .wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.xp .label{display:block;font:800 .75rem/1.2 var(--f-body);letter-spacing:3px;color:#CF2BFF}
.xp .mono{font-family:var(--f-mono)}
.xp .num{font-variant-numeric:tabular-nums}
.xp kbd{font:500 11px var(--f-mono);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;padding:1px 5px;color:var(--text);background:var(--surface-1);white-space:nowrap}
.xp .crumbs{font-size:12px;color:var(--faint);text-align:center;padding-top:26px}
.xp .crumbs span{color:var(--muted)}
.xp section{padding-block:64px}
.xp .intro{display:grid;gap:14px;justify-items:center;text-align:center;max-width:760px;margin:0 auto 40px}
.xp .intro h2{font-size:clamp(34px,5.5vw,56px);font-weight:800}
.xp .intro h2 em{font-style:normal;color:var(--p-base)}
.xp .intro p{color:var(--muted);max-width:62ch;text-wrap:pretty}
.xp .chip{display:inline-flex;align-items:center;gap:6px;font:600 11px/1 var(--f-body);padding:5px 9px;border-radius:999px;border:1px solid var(--border-strong);white-space:nowrap}
.xp .chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.xp .chip.built{color:var(--ok)}
.xp .chip.testing{color:var(--warn)}
.xp .chip.training{color:var(--c-violet)}
.xp .chip.soon{color:var(--faint)}
.xp .chip.preview{color:var(--c-blue)}
.xp .btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface-1);font:700 14px var(--f-body);color:var(--text)}
.xp .btn.primary{background:linear-gradient(90deg,var(--p-base),var(--b-base));border-color:transparent;color:#fff;box-shadow:0 0 26px rgba(199,0,255,.3)}
.xp .btn.sm{padding:7px 13px;font-size:12.5px}
.xp .btn:disabled,.xp .btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;filter:grayscale(1);box-shadow:none}
.xp .btn .soon{font:700 9.5px var(--f-body);letter-spacing:.1em;text-transform:uppercase;opacity:.9}
.xp .card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);padding:32px}
.xp .seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:999px;padding:2px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.xp .seg button{flex:none}
.xp .seg button{background:none;border:0;padding:5px 11px;border-radius:999px;font-size:12px;color:var(--muted)}
.xp .seg button[aria-pressed="true"]{background:var(--surface-2);color:var(--text)}
.xp .seg button:disabled{opacity:.3;cursor:not-allowed;text-decoration:line-through}
.xp .note{font-size:12.5px;color:var(--muted)}
.xp .map{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}
@media (max-width:900px){.xp .map{grid-template-columns:1fr}}
.xp .map svg text{font-family:var(--f-body);font-size:12px;fill:var(--text)}
.xp .q-hero{display:grid;gap:18px;justify-items:center;text-align:center;padding-block:40px 36px}
.xp .q-hero .eyebrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}
/* The hero label and its chips sit on one line: same box height, centred text, and no trailing letter-spacing gap after the label */
.xp .q-hero .eyebrow>.label,.xp .q-hero .eyebrow>.chip{min-height:24px;line-height:1;box-sizing:border-box}
.xp .q-hero .eyebrow>.label{display:inline-flex;align-items:center;margin:0 -3px 0 0}
.xp .q-hero h1{font-size:clamp(46px,8vw,92px);font-weight:800}
@media (max-width:480px){.xp .q-hero h1{font-size:10.4vw}}
.xp .q-hero h1 em{font-style:normal;color:var(--c-purple)}
.xp .q-hero .lead{font-size:18px;color:var(--muted);max-width:62ch}
.xp .chapters{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;padding:8px;background:rgba(0,0,0,.75);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:999px;margin:0 auto;width:fit-content;max-width:100%}
.xp .chapters a{font:600 12.5px var(--f-body);color:var(--muted);text-decoration:none;padding:6px 11px;border-radius:999px}
.xp .chapters a:hover{color:var(--text);background:var(--surface-2)}
.xp .stagebox{border:1px solid var(--border);border-radius:28px;background:var(--card);overflow:hidden}
.xp .sync{font:500 12px var(--f-mono);display:inline-flex;gap:6px;align-items:center;color:var(--ok)}
.xp .sync::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.xp .page{background:var(--paper);color:var(--ink);border-radius:4px;padding:36px 38px;min-height:340px;box-shadow:0 18px 50px rgba(0,0,0,.5);font:15px/1.65 var(--f-body);position:relative}
.xp .page h3{font:700 22px/1.2 var(--f-display);color:var(--ink);margin-bottom:10px;outline:none}
.xp ins.s{background:rgba(60,201,170,.18);color:#0a6b55;text-decoration:none;border-bottom:1.5px solid #3cc9aa}
.xp del.s{color:#b3263c;background:rgba(255,93,115,.10)}
.xp .chap-head{display:grid;gap:10px;margin-bottom:26px;max-width:70ch}
.xp .chap-head h2{font-size:clamp(30px,4.5vw,46px);font-weight:800}
.xp .chap-head h2 em{font-style:normal;color:var(--c-purple)}
.xp .chap-head p{color:var(--muted)}
.xp .chap-head .row{display:flex;gap:8px;flex-wrap:wrap}
.xp .keys{display:flex;flex-wrap:wrap;gap:6px}
.xp .ok{color:var(--ok)}
.xp .tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.xp .ti{display:grid;gap:6px;padding:16px;border-radius:16px;border:1px solid var(--border);background:var(--card);align-content:start}
.xp .ti .top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.xp .ti h3{font:600 14px var(--f-body);letter-spacing:0}
.xp .ti p{font-size:12.5px;color:var(--muted)}
.xp .ti.dim{border-style:dashed}
.xp .ti.dim h3,.xp .ti.dim p{color:var(--muted)}
.xp .tbl{overflow-x:auto;border:1px solid var(--border);border-radius:20px;background:var(--card)}
.xp table.t{border-collapse:collapse;width:100%;min-width:560px;font-size:13px}
.xp table.t th,.xp table.t td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:top}
.xp table.t th{font:700 11px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.xp table.t tr:last-child td{border-bottom:0}
.xp td.y{color:var(--ok)}
.xp td.n{color:var(--muted)}
.xp .ptrack{position:relative;height:30px}
.xp .ptrack .bar{position:absolute;left:0;height:10px;border-radius:5px}
.xp .ptrack .cur{top:2px;background:var(--c-purple)}
.xp .ptrack .was{top:17px;background:rgba(255,93,115,.55)}
.xp .ptrack .tgt{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text)}
.xp .ffilter{display:flex;justify-content:center;margin-bottom:18px}
.xp .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.xp .two > *{min-width:0}
@media (max-width:900px){.xp .two{grid-template-columns:1fr}}
main.xp[style*="--acc"] .label.acc{color:var(--acc)}
main.xp[style*="--acc"] .chap-head h2 em,main.xp[style*="--acc"] .q-hero h1 em{color:var(--acc)}
.xp .plan{display:grid;gap:8px}
.xp .pm2{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 190px;gap:18px;align-items:center;padding:16px 20px;border:1px solid var(--border);border-radius:18px;background:var(--card)}
@media (max-width:800px){.xp .pm2{grid-template-columns:1fr}}
.xp .pm2 h3{font:600 14.5px var(--f-body);letter-spacing:0}
.xp .pm2 .what{font-size:12.5px;color:var(--muted);margin-top:4px}
.xp .pm2 .cond{font:500 11px var(--f-mono);color:var(--faint);margin-top:4px}
.xp .pm2 .nums{display:grid;gap:2px;text-align:right}
@media (max-width:800px){.xp .pm2 .nums{text-align:left}}
.xp .pm2 .nums b{font:800 22px var(--f-display)}
.xp .pm2 .nums span{font:500 12px var(--f-mono);color:var(--muted)}
.xp .pm2 .verdict{font:600 12px var(--f-body)}
.xp .pm2 .verdict.ok{color:var(--ok)}
.xp .pm2 .verdict.no{color:var(--warn)}
.xp .pm2 .verdict.na{color:var(--faint)}
.xp .pm2.over{border-color:rgba(242,184,75,.5)}
.xp .never{margin:0;padding-left:18px;color:var(--muted);font-size:13px;display:grid;gap:4px}
[hidden]{display:none!important}
.xp .ms{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:520px}
@media (max-width:900px){.xp .ms{grid-template-columns:1fr}}
.xp .verdict{font:600 12.5px var(--f-body)}
.xp .verdict.ok{color:var(--ok)}
.xp .verdict.no{color:var(--warn)}
.xp .team{display:grid;gap:0}
.xp .app{background:var(--card-2);border:1px solid var(--border);border-radius:10px;padding:8px;display:grid;gap:6px;font-size:12.5px}
.xp .app .sc{display:flex;gap:3px}
.xp .app .sc button{width:22px;height:22px;border-radius:6px;border:1px solid var(--border-strong);background:none;font:600 11px var(--f-body)}
.xp .app .sc button[aria-pressed="true"]{background:var(--c-coral);color:#111;border-color:var(--c-coral)}
@media (prefers-reduced-motion:reduce){.xp *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.xp{padding-top:96px;position:relative;z-index:1}
.xp .crumbs a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.xp .crumbs a:hover{color:var(--text)}
.xp>section{content-visibility:auto;contain-intrinsic-size:auto 900px}
@media (pointer:coarse){.xp .chapters a,.xp .seg button,.xp .btn.sm,.xp .cn-react button{min-height:44px;display:inline-flex;align-items:center}}
@media (pointer:coarse){.xp input[type=checkbox]{width:22px;height:22px}}
