:root{--green:#2ECC71;--green-soft:#7fe0a8;--ink:#eef0fb;--muted:#9498b0;--faint:#61647c;--u-mcu:#8a7bff;--u-xmen:#D4A017;--u-ff:#4FA3E0;--u-sony:#E23B4E;--bg-0:#05060d;--line:rgba(255,255,255,.09);--glass:rgba(18,16,32,.6);--radius:16px;--shell-x:clamp(14px,4vw,44px);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;padding:0;min-height:100%}html{scroll-behavior:smooth}body{font-family:Helvetica Neue,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;color:var(--ink);background:var(--bg-0);-webkit-font-smoothing:antialiased;overflow-x:hidden}body.no-scroll{overflow:hidden}a{color:inherit}img{-webkit-user-drag:none;user-drag:none}.bg-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background:radial-gradient(1200px 720px at 8% -6%,rgba(120,70,220,.3),transparent 60%),radial-gradient(1100px 680px at 96% -4%,rgba(80,60,210,.24),transparent 60%),radial-gradient(1300px 900px at 100% 112%,rgba(46,204,113,.13),transparent 55%),linear-gradient(180deg,#120b24,#0a0a18 45%,#05060d)}.stars{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.shell{max-width:1720px;margin:0 auto;padding:calc(26px + var(--safe-top)) var(--shell-x) calc(80px + var(--safe-bottom))}.content-row{display:block}.main-col{min-width:0}.panel-col{display:none}@media (min-width:901px){:root{--panel-w:clamp(330px,25vw,412px);--toolbar-h:74px}.content-row{display:grid;grid-template-columns:1fr var(--panel-w);column-gap:26px;align-items:stretch}.panel-col{display:block;position:relative}.panel-col:before{content:"";position:absolute;left:-13px;top:6px;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.12) 12%,rgba(255,255,255,.12) 88%,transparent)}.panel-inner{position:sticky;top:var(--toolbar-h);height:calc(100dvh - var(--toolbar-h) - 16px);display:flex;flex-direction:column;overflow:hidden;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,#1613288c,#0a08138c)}}.panel-empty{margin:auto;text-align:center;padding:30px 24px;max-width:300px}.pe-badge{width:52px;height:52px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--green);background:#2ecc711f;border:1px solid rgba(46,204,113,.4)}.pe-title{font-weight:800;font-size:17px;letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}.pe-sub{margin-top:10px;font-size:13px;line-height:1.55;color:var(--muted)}.pe-sub b{color:var(--green-soft)}.panel-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;animation:viewIn .3s ease both}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:8px}.hero h1{font-family:Arial Narrow,Roboto Condensed,Helvetica Neue Condensed,Helvetica Neue,Arial,sans-serif;font-stretch:condensed;font-weight:800;text-transform:uppercase;font-size:clamp(38px,8.2vw,104px);line-height:.9;letter-spacing:.012em;margin:0;background:linear-gradient(180deg,#fff,#c8cce6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 6px 30px rgba(120,90,220,.35))}.hero h1 .u{-webkit-text-fill-color:#a893ff;color:#a893ff;text-shadow:0 0 40px rgba(138,123,255,.65)}.hero .sub{color:var(--muted);font-size:clamp(13px,1.6vw,15.5px);line-height:1.6;max-width:780px;margin:16px auto 0;padding:0 4px}.hero .sub b{color:var(--ink);font-weight:700}.hero .sub b.c-mcu{color:var(--u-mcu)}.hero .sub b.c-xmen{color:var(--u-xmen)}.hero .sub b.c-ff{color:var(--u-ff)}.hero .sub b.c-sony{color:var(--u-sony)}.toolbar{position:sticky;top:0;z-index:50;margin:22px 0 8px;padding:12px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;background:linear-gradient(180deg,#080810,#080810 62%,#080810e6 82%,#08081000)}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);justify-self:start;padding-left:28px}.legend span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.legend i{width:9px;height:9px;border-radius:50%;box-shadow:0 0 10px currentColor}.hint{justify-self:end;padding-right:28px;color:var(--faint);font-size:12px;white-space:nowrap}.segmented{justify-self:center;display:inline-flex;position:relative;background:#ffffff0d;border:1px solid var(--line);border-radius:999px;padding:5px;gap:2px}.segmented .pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:linear-gradient(180deg,#37e07f,#22b866);box-shadow:0 6px 24px #2ecc7166;z-index:0}.segmented button{position:relative;z-index:1;border:0;background:transparent;cursor:pointer;font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-size:13px;color:var(--muted);padding:11px 22px;border-radius:999px;transition:color .25s;white-space:nowrap}.segmented button.active{color:#05160c}.seg-txt{position:relative;z-index:1;display:inline-flex;gap:.34em;align-items:baseline}.section{margin:26px 0 4px;content-visibility:auto;contain-intrinsic-size:auto 560px}.era{margin:34px 0 14px;display:flex;align-items:center;gap:16px}.era span{color:var(--green-soft);font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:clamp(11px,1.5vw,14px);text-align:center;min-width:0;overflow-wrap:anywhere}.era:before,.era:after{content:"";height:1px;flex:1 1 12px;min-width:8px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent)}.sec-head{display:flex;align-items:center;gap:12px;margin:0 0 14px;flex-wrap:wrap}.sec-pill{font-weight:900;letter-spacing:.05em;font-size:clamp(14px,2vw,18px);text-transform:uppercase;padding:7px 15px;border-radius:11px;color:#0a0a12;box-shadow:0 8px 24px #00000059}.sec-sub{color:var(--muted);font-size:12px;letter-spacing:.03em}.grid{display:grid;gap:clamp(8px,1.4vw,16px);grid-template-columns:repeat(auto-fill,minmax(clamp(104px,26vw,168px),1fr))}.card{position:relative;border-radius:13px;aspect-ratio:2/3;cursor:pointer;background:transparent;box-shadow:0 8px 22px #0006;transition:transform .2s cubic-bezier(.22,.8,.2,1),box-shadow .25s ease,opacity .32s ease,filter .32s ease}@media (hover:hover){.card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 16px 34px #0000008c}}.card:active{transform:scale(.975)}.card-media{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;overflow:hidden;background:#12101f;border:1px solid rgba(255,255,255,.06);opacity:0;animation:cardIn .45s cubic-bezier(.22,.8,.2,1) both;animation-delay:var(--d,0s)}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.view-anim{animation:viewIn .32s cubic-bezier(.22,.8,.2,1) both}@keyframes viewIn{0%{opacity:0}to{opacity:1}}.card-media:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#1b1836,#100e20)}.card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 24%;opacity:0;transition:opacity .4s ease}.card.loaded img{opacity:1}.card .scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000 40%,#00000080 64%,#000000ed)}.card .info{position:absolute;left:0;right:0;bottom:0;padding:10px 11px 11px}.card .ct{font-weight:800;font-size:clamp(11px,1.5vw,13px);line-height:1.12;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.95)}.card .cy{font-size:10px;letter-spacing:.14em;color:#c9ccdd;margin-top:3px;text-transform:uppercase}.card .cy .series{color:var(--green-soft)}.badge{position:absolute;top:9px;left:9px;z-index:3;min-width:25px;height:25px;padding:0 7px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;background:#06060ee6;border:2px solid #fff;color:#fff}.badge.step{background:var(--green);border-color:var(--green);color:#05130c;box-shadow:0 3px 14px #2ecc7199}.utag{position:absolute;top:9px;right:9px;z-index:3;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:6px;color:#0a0a12}.card.finale .card-media{border-color:var(--green)}.card.finale{box-shadow:0 0 0 1px var(--green),0 0 34px #2ecc7180,0 0 70px #2ecc7138}.card.finale .ct{color:var(--green)}.dimmed .card{opacity:.32;filter:blur(2.5px) grayscale(.5) brightness(.6)}.dimmed .card.prereq,.dimmed .card.selected{opacity:1;filter:none}.card.prereq{background:var(--acc);z-index:1;box-shadow:0 12px 30px #00000080,0 0 26px color-mix(in srgb,var(--acc) 42%,transparent)}.card.prereq .card-media{top:3px;right:3px;bottom:3px;left:3px;border-radius:10px;border-color:transparent}.card.selected{background:var(--green);z-index:2;box-shadow:0 14px 34px #00000080,0 0 44px #2ecc7199}.card.selected .card-media{top:3px;right:3px;bottom:3px;left:3px;border-radius:10px;border-color:transparent}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0303099e}.drawer{position:fixed;z-index:90;background:linear-gradient(180deg,#161328,#0a0813);display:flex;flex-direction:column;border:1px solid var(--line)}.drawer.sheet{left:0;right:0;bottom:0;width:100%;max-height:88dvh;border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 -24px 70px #000000a8}.drawer.side{top:0;right:0;height:100dvh;width:min(430px,94vw);border-top:0;border-right:0;border-bottom:0;box-shadow:-24px 0 70px #0009}.dhandle{display:block;width:44px;height:5px;border-radius:999px;background:#ffffff38;margin:10px auto 2px;flex:0 0 auto}.dhead{padding:8px 22px 16px;border-bottom:1px solid var(--line);position:relative;flex:0 0 auto}.dclose{position:absolute;top:18px;right:20px;width:36px;height:36px;border-radius:50%;border:0;cursor:pointer;background:#ffffff14;color:var(--ink);font-size:19px;line-height:1;display:flex;align-items:center;justify-content:center}.dclose:hover{background:#ffffff29}.dkicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;padding-right:46px}.dtitle{font-size:clamp(20px,3.4vw,24px);font-weight:900;line-height:1.05;margin:9px 0 6px;text-transform:uppercase;padding-right:46px}.dmeta{font-size:12.5px;color:var(--muted);letter-spacing:.04em}.ddesc{margin:4px 0 2px;font-size:13.5px;line-height:1.6;color:var(--ink);padding:12px 14px;border-radius:12px;background:#ffffff0d;border:1px solid var(--line)}.dscroll .dcount{margin-top:16px}.dscroll .dnote{margin-bottom:12px}.dcount{margin-top:14px;font-size:13.5px;color:var(--ink)}.dcount b{color:var(--green)}.dnote{font-size:11.5px;color:var(--faint);margin-top:4px;line-height:1.4}.dscroll{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 14px calc(28px + var(--safe-bottom));flex:1}.ritem{display:flex;gap:12px;align-items:center;padding:9px 8px;border-radius:12px;cursor:pointer}.ritem:active{background:#ffffff14}.rstep{flex:0 0 28px;height:28px;border-radius:50%;background:#ffffff12;border:1px solid var(--acc,#fff);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--ink)}.ritem.final .rstep{background:var(--green);border-color:var(--green);color:#05130c}.ritem img{width:40px;height:60px;object-fit:cover;border-radius:6px;box-shadow:0 4px 12px #00000080}.rt{font-size:13.5px;font-weight:700;line-height:1.15}.ry{font-size:10.5px;color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin-top:3px}.rempty{padding:30px 14px;text-align:center;color:var(--muted);font-size:14px;line-height:1.55}.rempty b{color:var(--green-soft)}.timeline-row{display:block!important}.tlx{padding-top:6px}.tlx-hint{color:var(--muted);font-size:12.5px;letter-spacing:.03em;margin:2px 0 14px}.tlx-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border-radius:16px;border:1px solid var(--line);background:radial-gradient(700px 240px at 8% 40%,rgba(120,90,220,.12),transparent 70%),radial-gradient(700px 240px at 96% 70%,rgba(46,204,113,.1),transparent 70%),linear-gradient(180deg,#0e0c1a80,#06060e80);padding:8px 4px}.tlx-svg{display:block;height:auto}.tlx-v .tlx-scroll{overflow-x:hidden;overflow-y:visible;padding:10px 2px}.tlx-v .tlx-svg{width:100%;height:auto}.tlx-lane{font-size:11px;font-weight:800;letter-spacing:.12em}.tlx-fract{fill:#a893ff;font-size:10px;font-weight:700;letter-spacing:.14em}.tlx-tip{fill:#eef0fb;font-size:12px;font-weight:700;letter-spacing:.01em}.tlx-year{fill:#7d7f96;font-size:9px;font-weight:600;letter-spacing:.02em}.tlx-arrow{cursor:help}.tlx-arrow .tlx-arrow-vis{transition:stroke-opacity .15s,stroke-width .15s}.tlx-arrow:hover .tlx-arrow-vis{stroke-opacity:1;stroke-width:2.6}.tlx-hint{color:var(--muted);font-size:12.5px;letter-spacing:.02em;margin:2px 0 12px}.tlx-hint b{color:var(--ink)}.foot{margin-top:60px}.foot-card{position:relative;overflow:hidden;border-radius:18px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:linear-gradient(120deg,#8a7bff24,#2ecc711f);border:1px solid rgba(255,255,255,.12);box-shadow:0 14px 40px #00000059}.foot-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(420px 160px at 0% 0%,rgba(138,123,255,.22),transparent 70%),radial-gradient(420px 180px at 100% 120%,rgba(46,204,113,.2),transparent 70%)}.foot-brand{position:relative;display:flex;align-items:center;gap:14px;min-width:0}.foot-avatar{flex:0 0 auto;width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;letter-spacing:.02em;color:#06120b;background:linear-gradient(140deg,#a893ff,#2ecc71);box-shadow:0 8px 22px #2ecc7159}.foot-name{font-weight:800;font-size:17px;letter-spacing:.01em;color:var(--ink)}.foot-role{font-size:12.5px;color:var(--muted);margin-top:3px;letter-spacing:.02em}.foot-links{position:relative;display:flex;gap:10px;flex-wrap:wrap}.foot-link{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;font-size:13px;font-weight:600;text-decoration:none;color:var(--ink);background:#ffffff0f;border:1px solid rgba(255,255,255,.12);transition:.18s}.foot-link svg{color:var(--green-soft)}.foot-link:hover{background:#2ecc7129;border-color:#2ecc7180;color:#fff;transform:translateY(-2px)}.foot-disclaimer{margin-top:16px;text-align:center;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}@media (max-width:600px){.foot-card{flex-direction:column;align-items:stretch;text-align:center;padding:22px 18px;gap:18px}.foot-brand{flex-direction:column;text-align:center}.foot-links{justify-content:center}.foot-link{flex:1 1 auto;justify-content:center}}@media (max-width:820px){.toolbar{grid-template-columns:1fr;gap:10px;justify-items:stretch;padding:10px 0 12px}.segmented{justify-self:stretch;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1.15fr);width:100%;max-width:100%;align-items:stretch}.segmented button{padding:9px 6px;line-height:1.16;display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px}.seg-txt{flex-direction:column;gap:0;align-items:center;line-height:1.14}.legend{justify-self:center;justify-content:center;gap:10px 16px;padding:0;order:2;font-size:10.5px}.hint{display:none}}@media (max-width:600px){:root{--shell-x:10px}.card .info{padding:8px 8px 9px}.badge{min-width:22px;height:22px;font-size:11px;top:6px;left:6px}.utag{font-size:8px;padding:2px 5px;top:6px;right:6px}.dclose{top:12px;right:16px}.dimmed .card{opacity:.55;filter:blur(1.5px) grayscale(.35) brightness(.85)}}@media (max-width:440px){.segmented button{font-size:11px;padding:8px 4px;letter-spacing:0}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}.bg-orb{animation:none}}
