@keyframes atlas-path-draw{0%{stroke-dashoffset:700px}to{stroke-dashoffset:0}}@keyframes atlas-node-in{0%{opacity:0;transform:translate(-10px)scale(.92)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes atlas-panel-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.vocabulary-atlas{z-index:1;width:min(100%,1080px);margin:0 auto;position:relative}.vocabulary-atlas__intro{max-width:34rem;margin-bottom:40px}.vocabulary-atlas__kicker{letter-spacing:.14em;text-transform:uppercase;color:#dc2626;margin-bottom:12px;font-size:12px;font-weight:700;display:inline-block}.vocabulary-atlas__heading{font-family:var(--font-plus-jakarta-sans,"Plus Jakarta Sans"),-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter",system-ui,sans-serif;letter-spacing:-.02em;color:#171717;margin:0 0 12px;font-size:clamp(36px,5vw,56px);font-weight:600;line-height:1.08}.vocabulary-atlas__accent{color:#dc2626}.vocabulary-atlas__lede{color:#737373;max-width:36rem;margin:0;font-size:16px;line-height:1.55}.vocabulary-atlas__stage{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:stretch;gap:32px 48px;display:grid}.level-spine{min-height:420px;padding:8px 0 8px 4px;position:relative}.level-spine__path{pointer-events:none;width:40px;height:calc(100% - 36px);position:absolute;top:18px;bottom:18px;left:17px;overflow:visible}.level-spine__path-line{fill:none;stroke:#d4d4d4;stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:700;stroke-dashoffset:700px;animation:1.1s cubic-bezier(.16,1,.3,1) .15s forwards atlas-path-draw}.level-spine__ball{z-index:3;opacity:0;pointer-events:none;will-change:transform;background:#0a0a0a;border-radius:9999px;width:16px;height:16px;transition:background-color .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1),opacity .2s;position:absolute;top:0;left:0;box-shadow:0 0 0 6px #1717171a,0 6px 16px #1717172e}.level-spine__ball.is-ready{opacity:1}.level-spine__ball.is-animate{transition:transform .55s cubic-bezier(.22,1.15,.36,1),background-color .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1),opacity .2s}.level-spine__ball.is-apex{background:#dc2626;box-shadow:0 0 0 6px #dc262624,0 8px 18px #dc262647}.level-spine__nodes{z-index:1;outline:none;flex-direction:column;justify-content:space-between;gap:8px;height:100%;min-height:420px;display:flex;position:relative}.level-spine__nodes:focus-visible{outline-offset:2px;outline:2px solid #dc2626}.level-spine__node{--intensity:1;text-align:left;opacity:0;cursor:pointer;width:100%;animation:.45s cubic-bezier(.16,1,.3,1) forwards atlas-node-in;animation-delay:calc(.18s + (var(--intensity) - 1)*70ms);appearance:none;font:inherit;color:inherit;cursor:pointer;will-change:transform;background:0 0;border:none;border-radius:8px;grid-template-columns:36px 1fr;align-items:center;gap:12px;margin:0;padding:0;display:grid}@media (prefers-reduced-motion:reduce){.level-spine__node{will-change:auto}}@media (hover:hover) and (pointer:fine){.level-spine__node:hover .level-spine__node-dot{border-color:#404040;transform:scale(1.12)}.level-spine__node:hover .level-spine__node-label{color:#171717}}.level-spine__node:first-child{animation-delay:.18s}.level-spine__node:nth-child(2){animation-delay:.25s}.level-spine__node:nth-child(3){animation-delay:.32s}.level-spine__node:nth-child(4){animation-delay:.39s}.level-spine__node:nth-child(5){animation-delay:.46s}.level-spine__node:nth-child(6){animation-delay:.53s}.level-spine__node.is-past .level-spine__node-dot{background:#f5f5f5;border-color:#525252}.level-spine__node.is-active .level-spine__node-dot{box-shadow:none;background:0 0;border-color:#171717;transform:scale(1.08)}.level-spine__node.is-active .level-spine__node-label{color:#171717}.level-spine__node.is-active .level-spine__node-stage{color:#737373}.level-spine__node.is-apex.is-active .level-spine__node-dot,.level-spine__node.is-apex.is-past .level-spine__node-dot{box-shadow:none;background:#dc26260f;border-color:#dc2626}.level-spine__node.is-apex.is-active .level-spine__node-label{color:#dc2626}.level-spine__node-dot{width:14px;height:14px;transition:transform background-color border-color box-shadow .28s cubic-bezier(.16, 1, .3, 1);background:#fff;border:2px solid #a3a3a3;border-radius:9999px;margin-left:11px}.level-spine__node-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.level-spine__node-label{font-family:var(--font-plus-jakarta-sans,"Plus Jakarta Sans"),-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter",system-ui,sans-serif;letter-spacing:.02em;color:#737373;font-size:18px;font-weight:650;line-height:1.1;transition:color .2s}.level-spine__node-stage{letter-spacing:.1em;text-transform:uppercase;color:#a3a3a3;font-size:11px;font-weight:600;transition:color .2s}.level-detail{background:linear-gradient(165deg,#ffffffeb 0%,#fafafaf5 100%),#fff;border:1px solid #e5e5e5;border-radius:32px;flex-direction:column;min-height:420px;padding:36px 40px;animation:.4s cubic-bezier(.16,1,.3,1) atlas-panel-in;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 8px #0000000d,0 8px 24px #0000000f}.level-detail:before{content:"";background:#171717;width:4px;position:absolute;inset:0 auto 0 0}.level-detail--apex:before{background:#dc2626}.level-detail__eyebrow{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:18px;display:flex}.level-detail__stage{letter-spacing:.14em;text-transform:uppercase;color:#171717;font-size:12px;font-weight:700}.level-detail__cefr{letter-spacing:.06em;color:#737373;font-size:12px;font-weight:600}.level-detail__title{font-family:var(--font-plus-jakarta-sans,"Plus Jakarta Sans"),-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter",system-ui,sans-serif;letter-spacing:-.02em;color:#171717;margin:0 0 12px;font-size:clamp(28px,3.5vw,40px);font-weight:600;line-height:1.12}.level-detail__description{color:#737373;max-width:36rem;margin:0 0 28px;font-size:16px;line-height:1.55}.level-detail__stats{border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 auto;padding:20px 0;display:grid}.level-detail__stat{min-width:0}.level-detail__stat dt{letter-spacing:.1em;text-transform:uppercase;color:#a3a3a3;margin:0 0 6px;font-size:11px;font-weight:700}.level-detail__stat dd{font-family:var(--font-plus-jakarta-sans,"Plus Jakarta Sans"),-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter",system-ui,sans-serif;color:#171717;margin:0;font-size:28px;font-weight:600;line-height:1}.level-detail__intensity{align-items:center;gap:4px;height:28px;display:flex}.level-detail__bar{background:#e5e5e5;border-radius:2px;width:8px;height:18px;display:block}.level-detail__bar.is-on{background:#171717}.level-detail--apex .level-detail__bar.is-on{background:#dc2626}.level-detail__cta{color:#fff;letter-spacing:.02em;transition:background-color transform box-shadow .2s cubic-bezier(.16, 1, .3, 1);background:#dc2626;border-radius:100px;justify-content:center;align-self:flex-start;align-items:center;gap:10px;min-width:44px;min-height:44px;margin-top:28px;padding:14px 22px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 10px 24px #dc262638}@media (hover:hover) and (pointer:fine){.level-detail__cta:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 14px 28px #dc262647}}.level-detail__cta:focus-visible{outline-offset:2px;outline:2px solid #dc2626}.level-detail__cta:active{transform:translateY(0)}.level-detail__cta svg{width:18px;height:18px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.level-spine__path-line,.level-spine__node,.level-detail{animation:none}.level-spine__path-line{stroke-dashoffset:0}.level-spine__node{opacity:1}.level-spine__ball{transition:none}}@media (max-width:1023px){.vocabulary-atlas{padding-top:52px}.vocabulary-atlas__stage{grid-template-columns:minmax(160px,200px) minmax(0,1fr);gap:24px 28px}.level-detail{min-height:380px;padding:28px 24px}}@media (max-width:767px){.vocabulary-atlas__intro{margin-bottom:28px}.vocabulary-atlas__stage{grid-template-columns:1fr;gap:20px}.level-spine{min-height:0;padding:0}.level-spine__path{display:none}.level-spine__nodes{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;flex-direction:row;align-items:stretch;gap:10px;height:auto;min-height:0;padding:4px 2px 12px;overflow-x:auto}.level-spine__node{scroll-snap-align:center;text-align:center;background:#ffffffd9;border:1px solid #e5e5e5;border-radius:16px;flex:none;grid-template-columns:1fr;justify-items:center;width:84px;padding:10px 8px}.level-spine__node.is-active{background:#fff;border-color:#171717;box-shadow:0 1px 2px #0000000a,0 1px 3px #0000000f}.level-spine__node.is-active .level-spine__node-dot{box-shadow:none;margin-left:0}.level-spine__node.is-apex.is-active{border-color:#dc2626}.level-spine__ball{width:14px;height:14px}.level-spine__node-dot{margin:0 auto 6px}.level-spine__node-meta{align-items:center}.level-spine__node-label{font-size:16px}.level-spine__node-stage{font-size:10px}.level-detail{min-height:0;padding:24px 20px}.level-detail__stats{grid-template-columns:1fr 1fr;gap:14px}.level-detail__stats .level-detail__stat:last-child{grid-column:1/-1}.level-detail__cta{width:100%}}@media (max-width:599px){.vocabulary-atlas__heading{font-size:clamp(26px,7vw,32px)}.vocabulary-atlas__lede{font-size:14px}.level-detail__title{font-size:clamp(20px,5vw,24px)}.level-detail__description{margin-bottom:20px;font-size:14px}.level-detail__stat dd{font-size:24px}}
