.dx-filter{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:26px 0 22px}.dx-filter__label{margin-right:3px;color:#46617a;font-size:14px;font-weight:800}.dx-filter__chip{padding:9px 16px;border:1px solid rgba(84,149,196,.26);border-radius:999px;background:#fff;color:#2b5f88;font-family:Jost,Jost Fallback,system-ui,sans-serif;font-size:13.5px;font-weight:800;cursor:pointer;transition:border-color .22s,background .22s,color .22s,transform .22s,box-shadow .22s}.dx-filter__chip:hover{border-color:#5495c480;transform:translateY(-1px)}.dx-filter__chip.is-on{border-color:transparent;background:linear-gradient(150deg,#ffa341,#ee7e1e);color:#fff;box-shadow:0 10px 22px -8px #f0871f99}.dx-filter__count{margin-left:auto;color:#8a94a6;font-family:JetBrains Mono,monospace;font-size:12.5px;font-weight:700;white-space:nowrap}.dx-cat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.dx-cat__cell{position:relative;display:block;min-width:0;color:inherit;text-decoration:none;transition:transform .25s ease}.dx-cat__cell:hover{transform:translateY(-6px)}.dx-cat__cell:hover .nv-card{box-shadow:0 4px 12px #0f172a0f,0 20px 48px #0f172a1a}.dx-cat__cell:hover .nv-zoom{transform:scale(1.06)}.dx-cat__cell:hover .nv-more{gap:11px}.dx-nv-meta{margin-top:9px;color:#8a94a6;font-family:JetBrains Mono,monospace;font-size:11.5px;font-weight:600}.dx-ages__rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.dx-age{position:relative;min-width:0}.dx-age__glow{position:absolute;inset:8px;border-radius:24px;background:radial-gradient(circle at 50% 35%,rgba(var(--dxa-rgb),.24),rgba(var(--dxa-rgb),0) 70%);filter:blur(20px);pointer-events:none}.dx-age__lift{position:relative;animation:dx-bob 9s infinite ease-in-out}.dx-age__card{position:relative;overflow:hidden;display:grid;align-content:start;gap:9px;min-height:262px;height:100%;padding:22px 20px;border:1px solid rgba(255,255,255,.9);border-radius:22px;background:#fff;box-shadow:0 2px 6px #0f172a0d,0 10px 28px #0f172a0e;transition:transform .25s ease,box-shadow .25s ease}.dx-age__card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0f172a0f,0 20px 48px #0f172a1a}.dx-age__sweep{position:absolute;top:0;left:0;width:42%;height:100%;background:linear-gradient(90deg,#fff0,#ffffff73,#fff0);animation:dx-sweep 9.5s .8s infinite ease-in-out;pointer-events:none}.dx-age__num{position:absolute;top:14px;right:18px;color:rgba(var(--dxa-rgb),.16);font-size:46px;font-weight:900;line-height:1}.dx-age__age{color:#1b2230;font-family:Days One,Days One Fallback,sans-serif;font-size:2.05rem;font-weight:400;letter-spacing:0;line-height:1}.dx-age__age i{color:#8a94a6;font-family:Jost,Jost Fallback,sans-serif;font-size:.95rem;font-style:normal;font-weight:700}.dx-age__card h3{margin:2px 0 0;color:var(--dxa);font-size:1.06rem;font-weight:800}.dx-age__card p{margin:0;color:#5c6577;font-size:14px;font-weight:600;line-height:1.5}.dx-age__links{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:12px}.dx-age__links a{padding:6px 11px;border-radius:999px;background:rgba(var(--dxa-rgb),.1);color:var(--dxa);font-size:12.5px;font-weight:800;text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s ease}.dx-age__links a:hover{background:var(--dxa);color:#fff;transform:translateY(-1px)}.dx-ages__dots{display:none;align-items:center;justify-content:center;gap:9px;padding:14px 0 2px}.dx-ages__dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#5495c44d;cursor:pointer;transition:width .25s,background .25s,border-radius .25s}.dx-ages__dots button.on{width:26px;border-radius:5px;background:var(--edu-blue)}@media(max-width:1000px){.dx-cat{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}@media(max-width:900px){.dx-ages__rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:8px;padding:14px 8px 26px;scrollbar-width:none}.dx-ages__rail::-webkit-scrollbar{display:none}.dx-age{flex:none;width:min(300px,82vw);scroll-snap-align:start}.dx-ages__dots{display:flex}}@media(max-width:620px){.dx-cat{grid-template-columns:1fr}.dx-filter{gap:7px}.dx-filter__chip{padding:8px 13px;font-size:12.5px}.dx-filter__count{width:100%;margin-left:0;order:1}}.qm{position:relative;font-family:Jost,Jost Fallback,system-ui,sans-serif}.qm-desk{position:relative;overflow:visible}.qm-mob{display:none}.qm-flowing .qm-road{animation:qm-dash 1.7s linear infinite}.qnode{transition:transform .2s cubic-bezier(.34,1.5,.6,1),opacity .3s ease,filter .3s ease}.qnode:hover{transform:translate(-50%,-50%) scale(1.06)!important;z-index:30!important}.qnode:before{content:"";position:absolute;inset:-11px;border-radius:50%;border:2px dashed rgba(120,140,170,.42);animation:qm-spin 16s linear infinite;pointer-events:none}.qcard{overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,opacity .3s ease,filter .3s ease}.qcard:hover{transform:translateY(-3px);box-shadow:0 34px 56px -26px #28345280!important;z-index:29}.qcard:before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1.5px #fffffff2,inset 0 -1px #2834520d;pointer-events:none;z-index:4}.qcard:after{content:"";position:absolute;top:0;left:-10%;width:46%;height:100%;background:linear-gradient(90deg,#fff0,#fff9,#fff0);transform:translate(-140%) skew(-18deg);animation:qm-sweep 8.5s infinite ease-in-out;pointer-events:none;z-index:5}.qm-link{color:inherit;text-decoration:none;border-bottom:1px dashed transparent;transition:border-color .18s ease,color .18s ease}.qm-link:hover{color:#2c63c2;border-bottom-color:#2c63c28c}.qcard .qm-link{position:relative;z-index:6}@media(max-width:820px){.qm-desk{display:none}.qm-mob{display:block;position:relative}.qm-m-start{display:flex;align-items:center;gap:12px;margin:6px 0 0 2px}.qm-m-list{position:relative;display:grid;gap:18px;margin:18px 0 22px}.qm-m-list:before{content:"";position:absolute;left:25px;top:-18px;bottom:-20px;width:4px;border-radius:3px;background:repeating-linear-gradient(180deg,#fff0 0 6px,#f1f0ece6 6px 14px),linear-gradient(180deg,#6fa0e0,#b58dc0 52%,#ee8b32)}.qm-m-stage{position:relative;display:flex;gap:13px;align-items:flex-start}.qm-m-nodecol{flex:0 0 auto;position:relative;z-index:2}.qm-mob .qnode:before{display:none}.qm-mob .qcard:after{display:none}}@media(prefers-reduced-motion:reduce){.qm-flowing .qm-road,.qm .qnode:before,.qm .qcard:after{animation:none!important}.qm *,.qm *:before,.qm *:after{animation-duration:1ms!important;animation-iteration-count:1!important}.qnode,.qcard,.qm-link{transition:none!important}}
