:root{--bg:#0a0d14;--bg-soft:#0f131d;--card:#131827;--card-2:#171d30;--border:#242c40;--border-soft:#1c2333;--text:#dbe2ee;--muted:#8b95a9;--faint:#5c6578;--accent:#6366f1;--accent-2:#22d3ee;--green:#34d399;--blue:#60a5fa;--orange:#fb923c;--red:#f87171;--purple:#c084fc;--gold:#fbbf24;--grad:linear-gradient(135deg, #6366f1 0%, #22d3ee 100%);--radius:12px;--radius-sm:8px;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.7}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}.app{min-height:100vh;display:flex}.sidebar{background:var(--bg-soft);border-right:1px solid var(--border-soft);flex-shrink:0;width:280px;height:100vh;padding:20px 14px 40px;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.02em;align-items:center;gap:10px;padding:6px 10px 18px;font-size:19px;font-weight:800;display:flex}.brand .logo{background:var(--grad);color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.brand small{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:500;display:block}.nav-group{margin-bottom:18px}.nav-group-title{text-transform:uppercase;letter-spacing:.09em;color:var(--faint);padding:4px 10px;font-size:11px;font-weight:700}.nav-sub-title{letter-spacing:.07em;text-transform:uppercase;color:var(--accent);opacity:.85;padding:8px 10px 2px;font-size:10.5px;font-weight:700}.nav-item{border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:9px;margin:1px 0;padding:7px 10px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--card);color:var(--text);text-decoration:none}.nav-item.active{color:#fff;background:linear-gradient(135deg,#6366f12e,#22d3ee1a);border:1px solid #6366f159}.nav-item .icon{text-align:center;width:20px;font-size:15px}.nav-item .tag{color:var(--faint);margin-left:auto;font-size:10px}.main{flex:1;min-width:0;padding:32px 40px 80px}.doc{max-width:900px;margin:0 auto}.topbar{border-bottom:1px solid var(--border-soft);background:var(--bg-soft);z-index:50;justify-content:space-between;align-items:center;padding:12px 16px;display:none;position:sticky;top:0}.menu-btn{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;padding:6px 12px;font-size:14px}.search-link{color:var(--muted);font-size:14px}@media (width<=900px){.topbar{display:flex}.sidebar{z-index:100;width:300px;transition:transform .25s;position:fixed;inset:0 auto 0 0;transform:translate(-105%);box-shadow:0 0 40px #0009}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:90;background:#00000080;display:none;position:fixed;inset:0}.sidebar-backdrop.show{display:block}.main{padding:24px 18px 60px}}.doc h1{letter-spacing:-.02em;margin:8px 0 6px;font-size:2.1rem;line-height:1.2}.doc h2{letter-spacing:-.01em;margin:44px 0 12px;padding-top:8px;font-size:1.45rem}.doc h3{margin:30px 0 8px;font-size:1.12rem}.doc p{color:var(--text);margin:12px 0}.doc .lead{color:var(--muted);margin-top:0;font-size:1.08rem}.doc ul,.doc ol{padding-left:22px}.doc code{font-family:var(--mono);background:var(--card);border:1px solid var(--border-soft);color:var(--accent-2);border-radius:6px;padding:2px 6px;font-size:.86em}.doc pre{border:1px solid var(--border-soft);border-radius:var(--radius);background:#0c101a;padding:16px 18px;line-height:1.55;overflow-x:auto}.doc pre code{color:inherit;background:0 0;border:none;padding:0}.doc blockquote{border-left:3px solid var(--accent);background:var(--card);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--muted);margin:16px 0;padding:10px 18px}.doc blockquote p{margin:6px 0}.doc hr{border:none;border-top:1px solid var(--border-soft);margin:40px 0}.hero{padding:40px 0 30px}.hero .eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2);margin-bottom:14px;font-size:12px;font-weight:700;display:inline-block}.hero h1{letter-spacing:-.03em;margin:0 0 18px;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.08}.hero h1 .grad{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.hero p{color:var(--muted);max-width:640px;font-size:1.15rem}.hero .cta-row{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:11px 20px;font-size:15px;font-weight:600;display:inline-flex}.btn-primary{background:var(--grad);color:#fff;box-shadow:0 4px 20px #6366f159}.btn-ghost{background:var(--card);color:var(--text);border-color:var(--border)}.btn-primary:hover,.btn-ghost:hover{filter:brightness(1.1);text-decoration:none}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:24px 0;display:grid}.card{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);padding:18px;transition:transform .15s,border-color .15s}.card:hover{border-color:var(--border);text-decoration:none;transform:translateY(-2px)}.card .card-icon{font-size:26px}.card .card-title{color:var(--text);margin:8px 0 4px;font-size:16px;font-weight:700}.card .card-desc{color:var(--muted);margin:0;font-size:13.5px}.card .card-meta{color:var(--faint);margin-top:10px;font-size:12px}.res-filter{flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0;display:flex}.res-filter .flabel{color:var(--faint);text-transform:uppercase;letter-spacing:.07em;font-size:12px;font-weight:700}.res-filter button{background:var(--card);color:var(--muted);border:1px solid var(--border);cursor:pointer;font-size:12.5px;font-weight:600;font-family:var(--font);border-radius:999px;padding:4px 12px;transition:all .12s}.res-filter button:hover{color:var(--text);border-color:var(--accent)}.res-filter button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.res-count{color:var(--faint);margin-left:auto;font-size:12.5px}.res-list{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.res-list .res{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);padding:0;transition:border-color .15s,background .15s}.res-main{color:inherit;padding:14px 16px;display:block}.res-main:hover{text-decoration:none}.res-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.res-name{color:#fff;font-size:15px;font-weight:700}.res-why{color:var(--muted);margin-top:6px;font-size:13.5px;display:block}.res-teaches{color:var(--text);border-top:1px dashed var(--border-soft);margin-top:8px;padding-top:8px;font-size:13px;display:block}.badge{letter-spacing:.03em;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.badge-lang{color:var(--accent-2);background:#22d3ee24}.badge-type{color:var(--blue);background:#60a5fa24}.badge-price{color:var(--muted);background:#9ba0b424}.badge-price.gratis{color:var(--green);background:#34d39924}.badge-price.pago{color:var(--orange);background:#fb923c24}.badge-price.mixto{color:var(--gold);background:#fbbf2424}.level{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-soft);margin:30px 0 10px;padding:20px 20px 8px}.level header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.level h2{margin:0;font-size:1.25rem}.level-chip{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800}.level-0 .level-chip{color:var(--green);background:#34d39929}.level-1 .level-chip{color:var(--blue);background:#60a5fa29}.level-2 .level-chip{color:var(--orange);background:#fb923c29}.level-3 .level-chip{color:var(--red);background:#f8717129}.level-elite .level-chip{color:var(--purple);background:linear-gradient(135deg,#c084fc40,#fbbf2433)}.level-sub{color:var(--muted);margin:8px 0 0;font-size:14px}.callout{border-radius:var(--radius);border:1px solid var(--border);margin:18px 0;padding:14px 18px;font-size:14.5px}.callout strong{color:inherit}.callout p{margin:6px 0}.callout-tip{background:#34d39914;border-color:#34d3994d}.callout-note{background:#60a5fa14;border-color:#60a5fa4d}.callout-warn{background:#f8717114;border-color:#f871714d}.callout-title{margin-bottom:4px;font-weight:700;display:block}.playground{margin:22px 0}.playground figcaption{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius) var(--radius) 0 0;border-bottom:none;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;font-weight:700;display:flex}.playground iframe{border:1px solid var(--border-soft);border-radius:0 0 var(--radius) var(--radius);background:#fff;width:100%}.doc table{border-collapse:collapse;width:100%;margin:18px 0;font-size:14px}.doc th,.doc td{text-align:left;border:1px solid var(--border-soft);padding:10px 12px}.doc th{background:var(--card);color:#fff;font-weight:700}.search-wrap{max-width:700px;margin:0 auto}.search-input{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);font-size:17px;font-family:var(--font);padding:14px 18px}.search-input:focus{border-color:var(--accent);outline:none}.search-results{gap:12px;margin-top:24px;display:grid}.search-result{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);padding:16px 18px}.search-result h3{margin:0 0 4px;font-size:16px}.search-result p{color:var(--muted);margin:0;font-size:14px}.search-result .crumb{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px}.breadcrumb{color:var(--faint);margin:4px 0 18px;font-size:13px}.doc-nav{border-top:1px solid var(--border-soft);justify-content:space-between;gap:16px;margin-top:50px;padding-top:22px;display:flex}.doc-nav a{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);flex:1;padding:14px 16px}.doc-nav a:hover{border-color:var(--accent);text-decoration:none}.doc-nav .dir{color:var(--faint);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.doc-nav .t{color:var(--text);font-size:14.5px;font-weight:700}.doc-nav a.next{text-align:right}.doc-footer{border-top:1px solid var(--border-soft);color:var(--faint);margin-top:60px;padding-top:20px;font-size:13px}.path-step{gap:14px;margin:14px 0;display:flex}.path-step .dot{background:var(--card);border:2px solid var(--border);width:30px;height:30px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:800;display:grid}.path-step.done .dot{background:var(--grad);color:#fff;border-color:#0000}.path-step .path-body{flex:1}.path-step .path-title{color:#fff;margin-bottom:2px;font-weight:700}.path-step .path-desc{color:var(--muted);font-size:14px}.chip-row{flex-wrap:wrap;gap:8px;margin:10px 0 4px;display:flex}.chip{background:var(--card);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.chip-kind-contenido{color:#3f6b3f;background:#eef3ec;border-color:#d7e2d3}.chip-kind-recursos{color:#8a6a3f;background:#f3efec;border-color:#e6ddcc}.chip-kind-indice{background:var(--card);color:var(--faint)}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:var(--mono)}.mt-0{margin-top:0}.mb-0{margin-bottom:0}:root{--bg:#f7f7f5;--bg-soft:#f1f1ee;--card:#fff;--card-2:#fafaf8;--border:#d8d8d3;--border-soft:#e6e6e1;--text:#20201e;--muted:#666661;--faint:#92928b;--accent:#20201e;--accent-2:#20201e;--green:#287a56;--blue:#316d9c;--orange:#a85d2a;--red:#a44a45;--purple:#74518d;--gold:#92701d;--grad:linear-gradient(135deg, #20201e, #5b5b55);--radius:14px;--radius-sm:8px}body{background:var(--bg);color:var(--text);letter-spacing:-.005em;font-size:15px;line-height:1.65}::selection{background:#deded7}a{color:var(--text);text-underline-offset:3px;text-decoration-color:#a8a8a1}a:hover{text-decoration-color:var(--text)}.sidebar{background:var(--bg);border-right:1px solid var(--border-soft);scrollbar-color:var(--border) transparent;width:252px;padding:28px 18px 48px}.sidebar::-webkit-scrollbar-thumb{background:var(--border)}.brand{gap:11px;padding:0 8px 28px;font-size:17px;font-weight:650}.brand .logo{border:1px solid var(--text);background:var(--text);width:32px;height:32px;color:var(--bg);border-radius:50%;font-size:15px}.brand small{color:var(--faint);margin-top:1px;font-size:9px;font-weight:600}.nav-group{margin:18px 0 26px}.nav-group-title{letter-spacing:.1em;color:var(--faint);padding:0 9px 7px;font-size:10px;font-weight:700}.nav-sub-title{color:var(--muted);padding:12px 9px 4px;font-size:9px}.nav-item{min-height:35px;color:var(--muted);border:1px solid #0000;border-radius:8px;gap:8px;padding:7px 9px;font-size:13px;font-weight:500}.nav-item .icon{filter:grayscale();opacity:.75;width:18px;font-size:13px}.nav-item:hover{color:var(--text);background:#ecece8;text-decoration:none}.nav-item.active{color:var(--text);box-shadow:inset 2px 0 0 var(--text);background:#e8e8e3;border-color:#dfdfd9}.nav-item .tag{letter-spacing:.04em;white-space:nowrap;border-radius:999px;flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:9px;font-weight:700;line-height:1.4}.nav-item .tag-contenido{color:#3f6b3f;background:#eef3ec}.nav-item .tag-recursos{color:#8a6a3f;background:#f3efec}.nav-item .tag-indice{background:var(--card);color:var(--faint);border:1px solid var(--border)}.main{padding:64px clamp(28px,5vw,84px) 100px}.doc{max-width:80ch}.main>section{width:100%;max-width:80ch;margin-left:auto;margin-right:auto}.topbar{border-color:var(--border-soft);backdrop-filter:blur(12px);background:#f7f7f5eb}.menu-btn{border-color:var(--border);color:var(--text);background:0 0}.doc h1{letter-spacing:-.045em;max-width:760px;margin:10px 0;font-size:clamp(2.1rem,4vw,3.2rem);font-weight:650;line-height:1.08}.doc h2{letter-spacing:-.025em;margin-top:54px;font-size:1.42rem;font-weight:650}.doc h3{margin-top:34px;font-size:1.08rem;font-weight:650}.doc p{color:#353532}.doc .lead{max-width:680px;color:var(--muted);font-size:1.05rem;line-height:1.65}.doc strong{color:var(--text)}.doc li{margin:7px 0}.doc li::marker{color:var(--faint)}.doc code{color:#3d3d39;background:#ecece8;border-color:#deded8}.doc pre{color:#efefe9;background:#20201e;border:0;box-shadow:0 1px #00000014}.doc blockquote{border-left-color:var(--text);color:var(--muted);background:#efefeb}.doc hr{border-color:var(--border-soft)}.hero{border-bottom:1px solid var(--border-soft);margin-bottom:58px;padding:32px 0 72px}.hero .eyebrow{color:var(--muted);letter-spacing:.14em;margin-bottom:22px;font-size:10px}.hero h1{letter-spacing:-.065em;max-width:760px;font-size:clamp(3rem,6vw,5.4rem);font-weight:600;line-height:.98}.hero h1 .grad{color:var(--text);background:0 0}.hero p{max-width:720px;color:var(--muted);margin-top:26px;font-size:1.05rem;line-height:1.7}.hero .cta-row{gap:9px;margin-top:30px}.btn{border-radius:999px;min-height:42px;padding:9px 16px;font-size:13px;font-weight:600}.btn-primary{background:var(--text);box-shadow:none}.btn-ghost{color:var(--text);border-color:var(--border);background:0 0}.btn-primary:hover,.btn-ghost:hover{filter:none;transform:translateY(-1px)}.btn-ghost:hover{background:#ecece8}.grid{background:var(--border-soft);border:1px solid var(--border-soft);border-radius:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1px;margin:24px 0 72px;overflow:hidden}.card{background:var(--card);border:0;border-radius:0;flex-direction:column;min-height:190px;padding:22px;display:flex}.card:hover{background:#f0f0ec;border-color:#0000;transform:none}.card .card-icon{filter:grayscale();font-size:21px}.card .card-title{margin-top:18px;font-size:15px;font-weight:650}.card .card-desc{line-height:1.55}.card .card-meta{color:var(--muted);margin-top:auto;padding-top:18px}.level,.res-list .res,.search-result,.doc-nav a{background:var(--card);border-color:var(--border-soft);box-shadow:0 1px 1px #14141206}.level{padding:22px 24px 12px}.level-chip,.badge{border:1px solid var(--border);color:var(--muted)!important;background:0 0!important}.callout{border-color:var(--border);background:#f0f0ec}.res-list{gap:8px}.res-list .res:hover{border-color:var(--border);background:#f2f2ee}.res-name{color:var(--text)}.res-filter button{border-color:var(--border);color:var(--muted);background:0 0}.res-filter button:hover{border-color:var(--text);color:var(--text)}.res-filter button.active{background:var(--text);border-color:var(--text);color:#fff}.doc th{color:var(--text);background:#ecece8}.doc tr:nth-child(2n) td{background:#f2f2ef}.search-input{background:var(--card);color:var(--text);box-shadow:0 1px 2px #00000008}.search-input:focus{border-color:var(--text);box-shadow:0 0 0 3px #20201e12}.breadcrumb{color:var(--faint);margin-bottom:24px}.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--text)}.chip{border-color:var(--border);color:var(--muted);background:0 0}.doc-nav a:hover{border-color:var(--text);background:#f0f0ec}.doc-footer{margin-top:72px;padding-top:24px}.path-step .dot{background:var(--card);border-color:var(--border);color:var(--muted)}.path-step.done .dot{background:var(--text);border-color:var(--text)}.path-step .path-title{color:var(--text)}@media (width<=900px){.sidebar{background:var(--bg);width:min(310px,88vw);box-shadow:20px 0 50px #23231e1f}.sidebar-backdrop{backdrop-filter:blur(2px);background:#23231e38}.main{padding:36px 20px 72px}.hero{padding-top:18px}.hero h1{font-size:clamp(2.8rem,14vw,4.5rem)}}@media (width<=560px){.grid{grid-template-columns:1fr}.card{min-height:165px}.doc-nav{flex-direction:column}.doc-nav a.next{text-align:left}.res-count{width:100%;margin-left:0}}.app{position:relative}.sidebar{z-index:80;backdrop-filter:blur(16px);background:#fffffcb8;border:1px solid #dcdcd6b8;border-radius:18px;width:270px;height:calc(100vh - 40px);margin:0;padding:72px 20px 48px 22px;transition:width .25s,padding .25s,opacity .18s;position:fixed;top:20px;left:auto;right:28px;box-shadow:0 12px 36px #2626200e}.sidebar .brand{border-left:1px solid var(--border-soft);padding:0 6px 24px 10px}.sidebar .brand .logo{display:none}.sidebar .nav-group,.sidebar>.nav-item{border-left:1px solid var(--border-soft);margin-left:10px}.sidebar>.nav-item{border-radius:0 8px 8px 0}.sidebar .nav-group{padding:3px 0 5px}.sidebar .nav-group-title,.sidebar .nav-sub-title{padding-left:16px}.sidebar .nav-item{border-radius:0 8px 8px 0;margin:0;padding:7px 10px 7px 16px}.sidebar .nav-item .icon{display:none}.sidebar .nav-item.active{box-shadow:-2px 0 0 var(--text);color:var(--text);background:0 0;border-color:#0000;font-weight:650}.sidebar .nav-item:hover{background:#ecece8}.sidebar-toggle{z-index:120;border:1px solid var(--border-soft);background:var(--card);min-height:34px;color:var(--muted);font:600 12px/1 var(--font);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;transition:background .15s,color .15s;display:inline-flex;position:fixed;top:22px;right:42px;box-shadow:0 3px 12px #26262014}.sidebar-toggle:hover{color:var(--text);background:#f0f0ec}.sidebar-toggle span:first-child{font-size:15px}html{scrollbar-width:thin;scrollbar-color:#5c5c5447 transparent}html::-webkit-scrollbar{width:6px;height:6px}html::-webkit-scrollbar-track{background:0 0}html::-webkit-scrollbar-thumb{background:#5c5c5440;border-radius:999px}html::-webkit-scrollbar-thumb:hover{background:#5c5c5466}.sidebar{scrollbar-width:thin;scrollbar-color:#5c5c543d transparent}.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:#5c5c5438;border-radius:999px}.sidebar::-webkit-scrollbar-thumb:hover{background:#5c5c545c}.app.sidebar-collapsed .sidebar{opacity:0;pointer-events:none;transform:translate(calc(100% + 48px))}.app.sidebar-collapsed .main{padding-left:clamp(28px,5vw,84px)}.app.sidebar-collapsed .doc{max-width:80ch}@media (width>=901px){.main{transition:padding .25s}}@media (width<=900px){.sidebar-toggle{display:none}.sidebar{opacity:1;border:0;border-radius:0;width:min(310px,88vw);height:100vh;margin:0;padding:72px 20px 48px 22px;inset:0 0 0 auto;transform:translate(105%)}.sidebar.open{transform:translate(0)}.app.sidebar-collapsed .sidebar{opacity:1;pointer-events:auto;width:min(310px,88vw);margin:0;padding:72px 20px 48px 22px;transform:translate(105%)}.app.sidebar-collapsed .sidebar.open{transform:translate(0)}.app.sidebar-collapsed .main{padding:36px 20px 72px}}
