.jd-area-jump{position:sticky;top:calc(var(--topbar-h) + var(--space-2));z-index:4;display:flex;gap:var(--space-2);padding:var(--space-3);overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);scrollbar-width:thin}.jd-area-jump a{padding:var(--space-1) var(--space-3);font-size:var(--fs-small);line-height:var(--lh-small);text-decoration:none;transition:transform var(--dur-fast) var(--ease-out)}.jd-area-jump a:hover{transform:translateY(-1px)}.jd-area-jump a span{opacity:.7}.jd-area-section{display:grid;gap:var(--space-5);padding-top:var(--space-6);scroll-margin-top:calc(var(--topbar-h) + 80px)}.jd-area-head{display:flex;gap:var(--space-4);align-items:stretch}.jd-area-bar{width:6px;border-radius:var(--radius-full);background:var(--cat)}.jd-area-head h2{font-size:28px;line-height:36px}.jd-trail-card{display:grid;gap:var(--space-3);align-content:start}.jd-area-section .jd-trail-cover,.jd-trail-hero .jd-trail-cover{background:var(--cat-soft)}.jd-trail-card-techs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.jd-trail-card-cta{font-weight:600;color:var(--cat,var(--accent-ink))!important}.jd-trail-hero{padding:var(--space-6);border:1px solid var(--border);border-color:color-mix(in srgb,var(--cat,var(--accent)) 40%,var(--border));border-radius:var(--radius-lg);background:var(--surface)}.jd-milestones{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-5)}.jd-milestone{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:var(--space-4)}.jd-milestone:not(:last-child):before{content:"";position:absolute;left:25px;top:56px;bottom:calc(var(--space-5) * -1);width:2px;background:var(--border-strong)}.jd-milestone-concluido:not(:last-child):before{background:var(--success)}.jd-milestone-marker{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-full);border:2px solid var(--border-strong);background:var(--surface);color:var(--text-2);font-family:var(--font-display);font-size:22px;font-weight:700}.jd-milestone-current .jd-milestone-marker{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 0 0 6px var(--accent-soft)}.jd-milestone-concluido .jd-milestone-marker{background:var(--success);border-color:var(--success);color:var(--surface)}.jd-milestone-body{display:grid;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0}.jd-milestone-current .jd-milestone-body{border-color:var(--accent);box-shadow:var(--shadow-md)}.jd-milestone-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);align-items:end}.jd-milestone-head h3{font-size:var(--fs-h3)}.jd-milestone-progress{display:grid;gap:var(--space-1);min-width:160px}.jd-topic-grid{list-style:none;margin:0;padding:0;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.jd-topic,.jd-topic-grid{display:grid;gap:var(--space-2)}.jd-topic{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:48px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text)!important;text-decoration:none;font-size:var(--fs-small);line-height:var(--lh-small);transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast),background var(--dur-fast)}.jd-topic:hover{transform:translateY(-2px);border-color:var(--cat,var(--accent));background:var(--surface)}.jd-topic span{overflow-wrap:anywhere}.jd-topic>svg:last-child{color:var(--text-3)}.jd-topic-concluido{background:var(--success-soft);border-color:transparent}.jd-topic-estudando{border-color:var(--accent)}.jd-milestone-evidence>summary{cursor:pointer;color:var(--text-2);font-size:var(--fs-small)}.jd-topic-back{display:inline-flex;align-items:center;gap:var(--space-2);width:fit-content}.jd-study-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.jd-study-steps li{display:flex;gap:var(--space-3);align-items:flex-start}@media (max-width:767px){.jd-milestone{grid-template-columns:40px minmax(0,1fr);gap:var(--space-3)}.jd-milestone-marker{width:40px;height:40px;font-size:18px}.jd-milestone:not(:last-child):before{left:19px;top:44px}.jd-milestone-body{padding:var(--space-4)}.jd-topic-grid{grid-template-columns:1fr}.jd-trail-hero{padding:var(--space-4)}.jd-area-head h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}}@media (prefers-reduced-motion:reduce){.jd-area-jump a:hover,.jd-topic:hover{transform:none}}.jd-stack-free{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--accent-soft);color:var(--text)}.jd-stack-free svg{color:var(--accent);margin-top:2px}.jd-project-card{display:grid;gap:var(--space-3);align-content:start}.jd-project-card-link{display:grid;gap:var(--space-3);color:var(--text)!important;text-decoration:none}.jd-project-card-link h3{font-size:24px;line-height:32px}.jd-project-card-subtitle{color:var(--text-2);font-weight:600}.jd-project-card-problem{color:var(--text-2);font-size:var(--fs-small);line-height:var(--lh-small)}.jd-project-card-cta{font-weight:600}.jd-challenge-level{display:grid;gap:var(--space-4);padding-top:var(--space-5)}.jd-challenge-level h3{font-size:var(--fs-h2);line-height:var(--lh-h2)}.jd-challenge-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3)}.jd-challenge-card{display:grid;gap:var(--space-2);align-content:start;height:100%;padding:var(--space-4);border:1px solid var(--border);border-color:color-mix(in srgb,var(--cat,var(--accent)) 40%,var(--border));border-radius:var(--radius-md);background:var(--surface);color:var(--text)!important;text-decoration:none}.jd-challenge-card strong{font-family:var(--font-display);font-size:18px;line-height:24px}.jd-challenge-pain{color:var(--text-2);font-size:var(--fs-small);line-height:var(--lh-small)}.jd-challenge-card .jd-meta{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:auto}@media (max-width:767px){.jd-challenge-grid{grid-template-columns:1fr}}.jd-ui .jd-stack-free p{color:var(--text)}.jd-challenge-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-4)}.jd-challenge-card{gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-lg);min-height:220px;box-shadow:var(--edge-light)}.jd-challenge-card strong{font-size:22px;line-height:28px}.jd-challenge-card .jd-challenge-pain{font-size:var(--fs-body);line-height:var(--lh-body)}.jd-challenge-cta{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:auto;color:var(--accent-ink);font-weight:700}.jd-challenge-page{display:grid;gap:var(--space-6);max-width:1080px}.jd-challenge-hero{display:grid;gap:var(--space-3);padding:var(--space-8);border:1px solid color-mix(in srgb,var(--cat,var(--accent)) 40%,var(--border));border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--edge-light)}.jd-challenge-hero h1{font-size:var(--fs-display);line-height:var(--lh-display)}.jd-challenge-page .jd-challenge-pain{color:var(--text-2);font-size:19px;line-height:30px}.jd-challenge-free{display:flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--accent-soft);color:var(--text)}.jd-challenge-free svg{flex:none;margin-top:3px;color:var(--accent)}.jd-challenge-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.jd-challenge-section{display:grid;gap:var(--space-3);align-content:start;padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--edge-light);min-width:0}.jd-challenge-section-wide{grid-column:1/-1}.jd-challenge-section h2{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-h3);line-height:var(--lh-h3)}.jd-challenge-section .jd-reading-prose{color:var(--text-2);font-size:var(--fs-body);line-height:26px}.jd-challenge-foot{display:flex;flex-wrap:wrap;gap:var(--space-3)}@media (max-width:860px){.jd-challenge-sections{grid-template-columns:1fr}.jd-challenge-hero{padding:var(--space-5)}.jd-challenge-hero h1{font-size:var(--fs-h1);line-height:var(--lh-h1)}}.jd-main:has(.ai-chat){max-width:none;padding:0}.ai-chat{position:relative;display:grid;grid-template-columns:260px minmax(0,1fr);height:calc(100dvh - var(--topbar-h));background:var(--bg)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ai-chat-history{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;padding:var(--space-4) var(--space-3);border-right:1px solid var(--border);background:var(--surface)}.ai-chat-new{display:inline-flex;align-items:center;gap:var(--space-2);min-height:42px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.ai-chat-new:hover{background:var(--surface-2)}.ai-chat-history-title{padding:var(--space-2) var(--space-2) 0;color:var(--text-3);font-size:var(--fs-micro);font-weight:600}.ai-chat-history-list{display:grid;align-content:start;gap:2px;overflow-y:auto;min-height:0;color:var(--text-2);font-size:var(--fs-small)}.ai-chat-history-list>p{padding:var(--space-2)}.ai-chat-history-item{display:flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-sm)}.ai-chat-history-item.is-active,.ai-chat-history-item:hover{background:var(--surface-2)}.ai-chat-history-item.is-active{color:var(--text)}.ai-chat-history-item>button,.ai-chat-history-item>span{flex:1 1;min-width:0;padding:var(--space-2);border:0;background:transparent;color:inherit;font:inherit;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.ai-chat-history-item>button+button{flex:none;width:auto;color:var(--accent-ink);font-weight:600}.ai-chat-history-item>.ai-chat-delete{flex:none;display:grid;place-items:center;width:32px;height:32px;padding:0;color:var(--text-3);opacity:0}.ai-chat-delete:focus-visible,.ai-chat-history-item:hover .ai-chat-delete{opacity:1}.ai-chat-shade{display:none}.ai-chat-workspace{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0}.ai-chat-topbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border)}.ai-chat-topbar h1{font-size:var(--fs-h3);line-height:var(--lh-h3)}.ai-chat-pill{padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-micro);font-weight:600}.ai-chat-history-toggle,.ai-chat-new-icon{display:none;place-items:center;width:40px;height:40px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer}.ai-chat-new-icon{margin-left:auto}.ai-chat-symbol{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border-radius:var(--radius-full);background:var(--accent);color:var(--on-accent)}.ai-chat-scroll{overflow-y:auto;min-height:0;padding:var(--space-6) var(--space-5)}.ai-chat-loading{text-align:center;color:var(--text-3)}.ai-chat-empty{display:grid;justify-items:center;gap:var(--space-3);max-width:760px;margin:8vh auto 0;text-align:center}.ai-chat-hero{display:grid;place-items:center;width:64px;height:64px;border-radius:var(--radius-full);background:var(--accent);color:var(--on-accent)}.ai-chat-empty h2{font-size:var(--fs-display);line-height:var(--lh-display)}.ai-chat-empty>p{color:var(--text-2);font-size:17px}.ai-chat-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);width:100%;margin-top:var(--space-4)}.ai-chat-suggestions button{display:grid;gap:var(--space-1);justify-items:start;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast)}.ai-chat-suggestions button:hover{transform:translateY(-2px);border-color:var(--accent)}.ai-chat-suggestions svg{color:var(--accent)}.ai-chat-suggestions small{color:var(--text-3);font-size:var(--fs-small);line-height:var(--lh-small)}.ai-chat-thread{display:grid;gap:var(--space-6);max-width:760px;margin:0 auto}.ai-chat-turn{display:flex;gap:var(--space-3);animation:jd-rise var(--dur-base) var(--ease-out) both}.ai-chat-turn.user{justify-content:flex-end}.ai-chat-turn.user .ai-chat-turn-body{max-width:80%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--surface-3)}.ai-chat-turn-body{display:grid;gap:var(--space-2);min-width:0}.ai-chat-markdown{font-size:16px;line-height:27px;overflow-wrap:anywhere}.ai-chat-markdown>*+*{margin-top:var(--space-3)}.ai-chat-markdown pre{overflow-x:auto;padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);font-size:14px}.ai-chat-markdown :not(pre)>code{padding:1px 5px;border-radius:var(--radius-sm);background:var(--surface-2)}.ai-chat-thinking{display:flex;align-items:center;gap:5px;color:var(--text-3)}.ai-chat-thinking span{width:7px;height:7px;border-radius:var(--radius-full);background:var(--accent);animation:ai-chat-dot 1.2s var(--ease-in-out) infinite}.ai-chat-thinking span:nth-child(2){animation-delay:.15s}.ai-chat-thinking span:nth-child(3){animation-delay:.3s}.ai-chat-thinking small{margin-left:var(--space-2)}@keyframes ai-chat-dot{0%,80%,to{opacity:.3}40%{opacity:1}}.ai-chat-sources{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;font-size:var(--fs-small)}.ai-chat-copy,.ai-chat-sources small{color:var(--text-3)}.ai-chat-copy{display:inline-flex;align-items:center;gap:var(--space-1);width:fit-content;padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:var(--fs-small);cursor:pointer}.ai-chat-copy:hover{background:var(--surface-2);color:var(--text)}.ai-chat-incomplete{color:var(--warning)}.ai-chat-composer-wrap{display:grid;gap:var(--space-2);width:100%;max-width:800px;margin:0 auto;padding:var(--space-3) var(--space-5) var(--space-4)}.ai-chat-error{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-small)}.ai-chat-composer{display:flex;align-items:flex-end;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border:1px solid var(--border-strong);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-md)}.ai-chat-composer:focus-within{border-color:var(--accent)}.ai-chat-composer textarea{flex:1 1;min-height:40px;max-height:200px;padding:var(--space-2) 0;border:0;outline:0;resize:none;background:transparent;color:var(--text);font:inherit;font-size:16px;line-height:24px}.ai-chat-send{display:grid;place-items:center;flex:none;width:40px;height:40px;border:0;border-radius:var(--radius-full);background:var(--accent);color:var(--on-accent);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.ai-chat-send:hover:not(:disabled){transform:translateY(-1px)}.ai-chat-send:disabled{background:var(--surface-3);color:var(--text-3);cursor:not-allowed}.ai-chat-send.is-stop{background:var(--text);color:var(--bg)}.ai-chat-disclaimer{color:var(--text-3);font-size:var(--fs-micro);text-align:center}@media (max-width:900px){.ai-chat{grid-template-columns:minmax(0,1fr);height:calc(100dvh - var(--topbar-h) - 64px)}.ai-chat-history{position:fixed;z-index:40;top:0;bottom:0;left:0;width:min(300px,86vw);transform:translateX(-100%);transition:transform var(--dur-base) var(--ease-out);box-shadow:var(--shadow-lg)}.ai-chat-history.is-open{transform:none}.ai-chat-shade{display:block;position:fixed;z-index:39;inset:0;border:0;background:var(--overlay)}.ai-chat-history-toggle,.ai-chat-new-icon{display:inline-grid}.ai-chat-topbar{padding:var(--space-2) var(--space-3)}.ai-chat-topbar>.ai-chat-symbol{display:none}.ai-chat-scroll{padding:var(--space-4) var(--space-3)}.ai-chat-empty{margin-top:var(--space-6)}.ai-chat-empty h2{font-size:var(--fs-h1);line-height:var(--lh-h1)}.ai-chat-suggestions{grid-template-columns:1fr}.ai-chat-composer-wrap{padding:var(--space-2) var(--space-3) var(--space-3)}.ai-chat-turn.user .ai-chat-turn-body{max-width:90%}.ai-chat-history-item>.ai-chat-delete{opacity:1}}@media (prefers-reduced-motion:reduce){.ai-chat-thinking span{animation:none;opacity:.7}}.ai-chat-suggestions button{align-content:start}.ai-chat-composer textarea:focus-visible{outline:none}.ai-chat-history,.ai-chat-history-list{overflow-x:hidden}.ai-chat-history-item{min-width:0}.jd-login{display:grid;gap:var(--space-4)}.jd-login>p{margin:0;color:var(--text-2)}.jd-login form{gap:var(--space-4)}.jd-login .jd-button{width:100%;justify-content:center}.jd-login-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-5)}.jd-login-links .text-link{min-height:40px}.jd-pay{display:grid;gap:var(--space-4)}.jd-pay-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.jd-pay-steps li{display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);color:var(--text-2);font-size:var(--fs-small)}.jd-pay-steps li.done{color:var(--text)}.jd-pay-steps li.current{color:var(--text);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface))}@media (max-width:520px){.jd-pay-steps{grid-template-columns:1fr}}.jd-login form.jd-stack{gap:var(--space-3)}.jd-login .jd-checkbox,.jd-login .jd-field,.jd-login .jd-field label,.jd-pay .jd-field{margin:0}.jd-login .jd-field,.jd-pay .jd-field{display:grid;gap:var(--space-2)}.jd-login .jd-checkbox,.jd-login .jd-checkbox *,.jd-pay .jd-checkbox,.jd-pay .jd-checkbox *{font-weight:400;font-size:var(--fs-small);line-height:1.5;color:var(--text-2)}.jd-login small#senha-dica{display:block;margin:calc(var(--space-2) * -1) 0 0;color:var(--text-2)}.jd-login>h1{margin:0}.jd-login .landing-fine{font-size:var(--fs-small);color:var(--text-2)}