/* A identidade Rullst em dois temas; sem fontes ou recursos externos. */
:root{color-scheme:light;--bg:#f5f8f4;--panel:#fff;--soft:#ecf3eb;--ink:#172f24;--muted:#52685a;--line:#d4e2d6;--green:#13733d;--green-soft:#ddf4d9;--orange:#b44b0b;--orange-soft:#fff0df;--button:#146c39;--button-ink:#fff;--shadow:0 12px 40px #1d4b2910;--sidebar:246px;--radius:22px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
:root[data-theme=dark]{color-scheme:dark;--bg:#0c1712;--panel:#14241b;--soft:#1b3024;--ink:#edf6ee;--muted:#b0c5b4;--line:#304a39;--green:#94e677;--green-soft:#234632;--orange:#ffaf69;--orange-soft:#3a2b1d;--button:#a3eb70;--button-ink:#162712;--shadow:0 12px 40px #0002}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.6}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.18;text-wrap:balance}h1{font-size:clamp(30px,3.1vw,44px);letter-spacing:-1.3px}h2{font-size:26px;letter-spacing:-.6px}h3{font-size:22px;letter-spacing:-.4px}p{color:var(--muted);text-wrap:pretty}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,select,summary{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}input,select{accent-color:var(--green)}input:not([type=checkbox]):not([type=radio]),select{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px;min-height:48px;max-width:100%;font-size:16px}input:focus,select:focus{border-color:var(--green)}input::placeholder{color:var(--muted)}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}a,button,summary{-webkit-tap-highlight-color:transparent}button{transition:transform .18s,background .18s}button:active:not(:disabled),.button:active{transform:translateY(1px)}[hidden]{display:none!important}.icon{height:21px;width:21px;flex-shrink:0;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:20px;z-index:120;background:var(--panel);border:2px solid var(--green);padding:15px;border-radius:10px}.skip-link:focus{top:12px}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);border-right:1px solid var(--line);background:var(--panel);padding:32px 20px 20px;z-index:60;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;padding:0 10px;margin-bottom:45px}.brand img{object-fit:contain;width:58px;height:57px}.brand strong{font-size:33px;letter-spacing:-1.8px;line-height:1.1}.brand>span>span{display:block;font-size:10px;font-weight:800;letter-spacing:4px;color:var(--green);margin-top:4px}.nav-caption{font-size:11px;text-transform:uppercase;letter-spacing:1.7px;font-weight:700;margin:0 16px 15px}.nav-link{display:flex;gap:14px;align-items:center;padding:14px 16px;font-size:14px;font-weight:600;border-radius:12px;margin-bottom:7px;color:var(--muted)}.nav-link:hover{background:var(--soft);color:var(--ink)}.nav-link.active{background:var(--green-soft);color:var(--green)}.sidebar-bottom{margin-top:auto;padding-top:30px}.little-idea{position:relative;background:var(--orange-soft);border-radius:16px;padding:18px;margin-bottom:20px}.little-idea>.icon{color:var(--orange)}.little-idea p{font-size:13px;font-weight:600;margin-top:10px;color:var(--ink)}.little-idea>span{position:absolute;right:18px;top:18px;color:var(--orange)}.guest{display:flex;gap:12px;align-items:center;padding:10px 6px}.avatar{width:39px;height:39px;display:grid;place-items:center;background:var(--green-soft);border-radius:50%;color:var(--green);font-size:24px}.guest strong{display:block;font-size:13px;overflow-wrap:anywhere}.guest span{display:block;font-size:11px;color:var(--muted)}.workspace{margin-left:var(--sidebar)}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-bottom:1px solid var(--line);gap:20px;background:var(--panel)}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:20px}.breadcrumb{display:flex;gap:12px;font-size:13px;color:var(--muted)}.breadcrumb strong{color:var(--ink);font-weight:600}.theme-picker select{min-height:38px;font-size:12px;padding:6px 8px;width:105px}.languages{display:flex;gap:2px;border:1px solid var(--line);padding:3px;border-radius:10px}.languages a{font-size:11px;display:grid;place-items:center;min-width:32px;min-height:32px;border-radius:7px;font-weight:700;color:var(--muted)}.languages a[aria-current=true]{background:var(--green-soft);color:var(--green)}.xp-chip{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--orange);font-size:13px;font-weight:600}.xp-chip .icon{width:18px;height:18px}.account-shortcut,.icon-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--soft)}.menu-button{display:none}main{max-width:1450px;margin:auto;padding:38px 40px 48px;min-height:calc(100dvh - 169px)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:24px 40px;color:var(--muted);font-size:12px}footer>div{display:flex;gap:20px;align-items:center}.motion-control,.focus-control{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer}.motion-control input,.focus-control input{width:17px;height:17px}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;font-weight:750;font-size:11px;color:var(--green)}.button{display:inline-flex;justify-content:center;align-items:center;gap:13px;border:1px solid transparent;border-radius:11px;padding:13px 21px;min-height:48px;font-weight:700;font-size:14px;line-height:1.5;text-align:center}.button-dark{background:var(--button);color:var(--button-ink);box-shadow:0 3px 0 color-mix(in srgb,var(--button) 70%,black)}.button-dark:hover{filter:brightness(1.08)}.button-outline{background:var(--panel);border-color:var(--green);color:var(--green)}.text-link{display:inline-flex;gap:9px;align-items:center;color:var(--green);font-size:14px;font-weight:700}.text-link:hover{text-decoration:underline}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.quiet-button{border:0;background:transparent;color:var(--muted);padding:14px;text-decoration:underline;font-size:14px}.small-note{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.greeting{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:30px}.greeting h1{font-size:27px;letter-spacing:-.7px}.greeting p{margin-top:7px;font-size:14px}.greeting-spark{color:var(--orange)}.hero{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:radial-gradient(ellipse at 83% 38%,var(--green-soft),transparent 62%),var(--panel);min-height:382px;position:relative}.hero-copy{padding:38px 0 38px 38px;z-index:2}.hero h2{font-size:clamp(32px,3.4vw,49px);letter-spacing:-1.7px;margin:20px 0;line-height:1.08}.hero h2 em{display:block;color:var(--green);font-style:normal}.hero-copy>p{max-width:450px;font-size:15px;line-height:1.8;margin-bottom:25px}.hero-benefits{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--muted);margin-top:20px}.hero-benefits>span{display:flex;align-items:center;gap:6px}.hero-benefits .icon{width:15px;height:15px}.hero-art{position:relative;min-height:350px;width:100%;min-width:290px}.orbit{border:1px dashed color-mix(in srgb,var(--green) 35%,transparent);width:340px;height:230px;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-23deg)}.orbit-two{width:200px;height:320px;transform:translate(-50%,-50%) rotate(-30deg)}.floating-code{position:absolute;top:157px;left:15px;width:222px;border-radius:14px;background:#15271c;color:#e9f4e4;border:1px solid #53714e;box-shadow:0 17px 30px #05200e30;transform:rotate(-7deg);animation:float-code 7s ease-in-out infinite}.window-dots{display:flex;gap:5px;padding:12px 13px;border-bottom:1px solid #36543c}.window-dots i{height:6px;width:6px;border-radius:50%;background:#ff922c}.window-dots i:nth-child(2){background:#e8c557}.window-dots i:nth-child(3){background:#82dc69}.window-dots span{font-size:10px;margin-left:auto;color:#b5c7b5}.code-lines{font-family:Consolas,monospace;padding:16px 21px;font-size:13px;line-height:1.8}.code-lines span{display:block;white-space:pre}.code-lines b{color:#ffb578;font-weight:400}.code-lines em{color:#acdf8b;font-style:normal}.art-star{position:absolute;color:var(--orange);font-size:33px}.star-one{left:18px;top:79px}.star-two{right:24px;bottom:77px;color:var(--green)}.star-three{top:23px;left:46%;font-size:25px}.art-token{position:absolute;top:31px;left:72px;border:5px solid color-mix(in srgb,var(--orange) 25%,var(--panel));background:var(--orange-soft);border-radius:50%;padding:10px;color:var(--orange);transform:rotate(-15deg)}.success-bubble{position:absolute;right:22px;bottom:42px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);padding:11px 15px;border-radius:12px;font-size:12px;transform:rotate(3deg);color:var(--green)}.art-caption{position:absolute;bottom:8px;left:23%;font-size:11px;color:var(--muted)}
.paths-section{margin-top:34px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.section-heading p{font-size:14px;margin-top:7px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.course-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.course-art{height:157px;position:relative;overflow:hidden;display:grid;place-items:center;background:var(--green-soft);color:var(--green)}.rust-card .course-art{background:var(--orange-soft);color:var(--orange)}.logic-card .course-art{background:var(--soft);color:var(--muted)}.course-tag{position:absolute;left:18px;top:15px;font-size:10px;letter-spacing:1.5px;font-weight:800}.course-symbol{display:grid;place-items:center;width:67px;height:67px;border-radius:19px;background:var(--panel);transform:rotate(-9deg);z-index:1;box-shadow:0 5px 0 #132d2010}.course-symbol .icon{width:37px;height:37px}.course-orbit{position:absolute;width:235px;height:127px;border:1px solid currentColor;opacity:.2;transform:rotate(-30deg);border-radius:50%}.course-decoration{position:absolute;right:30px;top:36px;font-size:26px}.course-body{padding:23px 23px 0;flex:1;display:flex;flex-direction:column}.availability{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;font-weight:750;color:var(--muted)}.availability.live{color:var(--green)}.course-body h3{margin:12px 0;font-size:21px}.course-body>p{font-size:14px;line-height:1.8;flex:1}.course-meta{display:flex;justify-content:space-between;gap:10px;margin:21px 0;color:var(--muted);font-size:12px}.course-meta>span{display:flex;align-items:center;gap:6px}.course-meta .icon{width:15px;height:15px}.course-link{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding:16px 0;font-size:14px;color:var(--green);font-weight:700}.bottom-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;margin-top:27px}.how-card,.daily-card{padding:28px;border-radius:20px;border:1px solid var(--line);background:var(--panel);position:relative}.how-card h2,.daily-card h2{font-size:25px;margin:13px 0}.how-card>p,.daily-card p{font-size:14px}.how-steps{display:flex;gap:12px;align-items:center;margin-top:26px}.how-steps>div{flex:1}.how-steps span{display:grid;place-items:center;border-radius:50%;width:34px;height:34px;background:var(--green-soft);color:var(--green);font-size:11px;font-weight:700;margin-bottom:9px}.how-steps strong{font-size:12px;display:block;line-height:1.5}.how-steps i{flex:.4;height:1px;background:var(--line)}.daily-card{background:var(--orange-soft)}.daily-card .eyebrow,.daily-card .text-link{color:var(--orange)}.daily-card .text-link{margin-top:19px}.daily-icon{position:absolute;right:24px;top:25px;color:var(--orange)}
.page-intro{max-width:800px;margin:7px 0 30px}.page-intro h1{margin:14px 0}.page-intro>p{line-height:1.85}.course-cover{display:flex;justify-content:space-between;gap:30px;align-items:center;background:linear-gradient(120deg,var(--panel),var(--green-soft))}.course-cover h2{margin:12px 0;font-size:32px}.course-cover p{max-width:650px;margin-bottom:14px}.course-cover>div>span:last-child{font-size:13px;color:var(--green);font-weight:700}.course-cover img{object-fit:contain;flex-shrink:0}.account-prompt{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 24px;border:1px solid var(--line);background:var(--orange-soft);border-radius:16px;margin:22px 0}.account-prompt>div{display:flex;gap:13px;align-items:center}.account-prompt p{font-size:14px;max-width:650px;color:var(--ink)}.account-prompt>.button{flex-shrink:0}.account-prompt .icon{color:var(--orange)}.account-prompt .button .icon{color:inherit}.outline{margin-top:24px}.outline ol{list-style:none;padding:0;margin:20px 0 0}.course-progress{width:100%;height:8px;border:0;border-radius:20px;overflow:hidden;display:block;margin:22px 0;background:var(--soft);accent-color:var(--green)}.course-progress::-webkit-progress-bar{background:var(--soft)}.course-progress::-webkit-progress-value{background:var(--green);border-radius:20px}.course-progress::-moz-progress-bar{background:var(--green)}.lesson-row{border-top:1px solid var(--line)}.lesson-row:first-child{border:0}.lesson-row>a{display:flex;gap:18px;align-items:center;padding:18px 10px;border-radius:10px}.lesson-row>a:hover{background:var(--soft)}.chapter-number{height:45px;width:45px;flex-shrink:0;border-radius:14px;background:var(--soft);display:grid;place-items:center;font-weight:700;font-size:13px}.lesson-row.completed .chapter-number{background:var(--green-soft);color:var(--green)}.lesson-row.current .chapter-number{background:var(--orange-soft);color:var(--orange)}.lesson-row-copy{flex:1;min-width:0}.lesson-row-copy strong{display:block;font-size:16px}.lesson-row-copy>span{font-size:12px;color:var(--muted)}.lesson-state{font-size:12px;color:var(--muted)}.lesson-row.completed .lesson-state{color:var(--green)}.lesson-row.current .lesson-state{color:var(--orange)}.resume-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0}.resume-banner h2{margin:9px 0;font-size:23px}.resume-banner p{font-size:14px}.resume-banner .button{flex-shrink:0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.stat-card{display:flex;flex-direction:column;padding:27px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.stat-card>.icon{color:var(--orange);margin-bottom:15px;width:25px;height:25px}.stat-card strong{font-size:42px;line-height:1.4;letter-spacing:-1px}.stat-card>span{color:var(--muted);font-size:14px}.completion-card{display:flex;gap:30px;align-items:center;background:linear-gradient(130deg,var(--green-soft),var(--panel));margin:28px 0}.completion-card img{object-fit:contain;flex-shrink:0}.completion-card h2{font-size:32px;margin:12px 0}.completion-card p{margin:12px 0}.storage-note{display:flex;gap:10px;font-size:13px;line-height:1.8;margin:23px 0;max-width:850px}.storage-note .icon{margin-top:4px;width:17px;height:17px}
.lesson-heading{max-width:970px}.lesson-title-line{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:15px 0}.lesson-heading>p{font-size:18px;line-height:1.85;max-width:850px}.listen-button{flex-shrink:0;border:1px solid var(--line);border-radius:30px;background:var(--panel);padding:10px 17px;font-size:13px;color:var(--green)}.lesson-toolbar{display:flex;gap:25px;align-items:center;margin:24px 0;color:var(--muted);font-size:13px}.lesson-toolbar>span{display:flex;align-items:center;gap:6px}.focus-control{margin-left:auto}.lesson-explanation h2{font-size:23px}.lesson-explanation ol{padding:0;margin:22px 0 0;list-style:none;display:grid;gap:21px;max-width:880px}.lesson-explanation li{display:flex;gap:17px;align-items:flex-start}.lesson-explanation li>span{background:var(--green-soft);color:var(--green);border-radius:50%;display:grid;place-items:center;font-weight:750;font-size:13px;width:33px;height:33px;flex-shrink:0}.lesson-explanation li p{font-size:17px;line-height:1.85;color:var(--ink)}.mission-objective{display:flex;gap:18px;align-items:center;background:var(--green-soft);border-radius:16px;margin:23px 0;padding:22px 26px}.mission-objective>span{font-size:34px;color:var(--green)}.mission-objective strong{color:var(--green);font-size:14px}.mission-objective p{color:var(--ink);margin-top:4px}.practice-panel>h2{margin-bottom:25px}.mini-quiz{padding:28px;background:var(--soft);border:1px solid var(--line);border-radius:17px;text-align:center;position:relative;min-width:0}.preview-label{text-transform:uppercase;color:var(--muted);font-size:10px;letter-spacing:1.5px;margin-bottom:20px}.quiz-launch{display:flex;flex-direction:column;align-items:center;gap:23px}.mini-quiz h3{font-size:25px;overflow-wrap:anywhere}.mini-quiz p{margin:17px 0 0;overflow-wrap:anywhere}.counting-stars{display:block;color:var(--orange);font-size:clamp(28px,4vw,47px);letter-spacing:5px;margin:20px 0}.quiz-answers{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;margin:20px 0}.answer-button{background:var(--panel);color:var(--ink);border:2px solid var(--line);border-radius:12px;min-width:90px;min-height:53px;padding:12px 22px;font-size:18px;font-weight:700;overflow-wrap:anywhere;max-width:100%}.answer-button.selected{border-color:var(--green);background:var(--green-soft)}.field,.lab-controls label,.condition-grid>label{display:flex;flex-direction:column;gap:9px;font-size:15px;font-weight:600}.field-help{font-size:13px;line-height:1.75;font-weight:400;color:var(--muted)}.field-help+.project-fields{margin-top:20px}.name-widget,.route-widget{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:28px}.browser-address{border:1px solid var(--line);background:var(--panel);color:var(--muted);font-family:Consolas,monospace;font-size:14px;border-radius:8px;padding:10px;overflow-wrap:anywhere}.browser-address strong{color:var(--green)}.lab-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px}.point-groups{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin:25px 0}.point-group{border:1px solid var(--line);border-radius:14px;padding:14px 18px;background:var(--orange-soft);color:var(--orange);font-size:22px;letter-spacing:3px}.prediction-field{max-width:400px}.condition-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.condition-preview{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.condition-preview>div{padding:18px;border-radius:12px;background:var(--soft)}.condition-preview p{margin-top:10px}.order-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.order-list li{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--soft)}.order-list li>span{flex:1;font-weight:600}.order-list button{border:1px solid var(--line);border-radius:8px;background:var(--panel);width:44px;height:44px}.project-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:24px}.project-fields>.field:nth-child(-n+2){grid-column:1/-1}.project-predictions{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}#test-project+.field-help{margin:12px 0 24px}.checkpoint{border:0;border-top:1px solid var(--line);padding:24px 0 0;margin:30px 0 0;min-width:0}.checkpoint legend{padding:0 12px 0 0;font-size:13px;font-weight:750;color:var(--green)}.checkpoint>p{color:var(--ink);margin:0 0 18px;font-weight:600}.choice-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--bg);border-radius:11px;padding:15px 18px;margin-top:11px;cursor:pointer;font-size:16px}.choice-card:has(:checked){border-color:var(--green);background:var(--green-soft)}.choice-card input{width:19px;height:19px;flex-shrink:0}.hint{margin:23px 0;border:1px solid var(--line);border-radius:12px;padding:16px 20px;background:var(--orange-soft)}summary{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:650;list-style:none}summary::after{content:'+';margin-left:auto;font-size:20px;color:var(--muted)}details[open]>summary::after{content:'−'}.hint summary{color:var(--orange)}.hint p{margin-top:16px;color:var(--ink)}.practice-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.practice-actions>span{font-size:13px;color:var(--muted)}.lesson-result{background:var(--orange-soft);border:1px solid var(--line);border-radius:14px;padding:24px;margin-top:27px}.lesson-result.success{background:var(--green-soft);border-color:var(--green)}.lesson-result h3{font-size:23px}.lesson-result p{margin-top:13px;color:var(--ink);line-height:1.85}.lesson-result .button{margin-top:20px}#score-output{display:block;font-weight:700;color:var(--green);margin-top:12px}.transfer{display:flex;gap:20px;margin:25px 0;align-items:flex-start}.transfer>.icon{color:var(--orange);width:28px;height:28px}.transfer h2{font-size:22px;margin-bottom:12px}.transfer p{font-size:16px;line-height:1.85}.code-discovery{padding:21px 25px}.code-discovery p{margin-top:20px;font-size:14px}pre{overflow:auto;background:#11231a;color:#e0efdd;border:1px solid #36533f;border-radius:13px;padding:23px;font-family:Consolas,monospace;font-size:14px;line-height:1.8;tab-size:4}code{font-family:Consolas,monospace}.lesson-footer-nav{display:flex;justify-content:space-between;gap:20px;margin-top:27px}
.account-card,.recovery-panel{max-width:650px}.auth-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:25px}.auth-tabs button{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 13px;font-size:14px}.auth-tabs button.active{background:var(--green-soft);color:var(--green);border-color:var(--green)}#auth-form{display:grid;gap:23px}#auth-submit{justify-self:start}#auth-feedback{margin-top:20px;color:var(--orange)}#member-account h2{overflow-wrap:anywhere}#member-account>p{margin:13px 0 25px}#recovery-value{display:block;border:1px dashed var(--green);border-radius:12px;background:var(--green-soft);color:var(--ink);padding:20px;margin:25px 0;font-size:19px;overflow-wrap:anywhere;user-select:all;letter-spacing:1px}.recovery-panel>p{margin-top:17px}.recovery-panel>div{display:flex;gap:14px;flex-wrap:wrap}.principles-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.principle>.icon{width:28px;height:28px;color:var(--green);margin-bottom:22px}.principle h2{margin-bottom:17px}.principle p{font-size:15px;line-height:1.9}.roadmap{margin-top:25px;background:var(--green-soft)}.roadmap p{margin:20px 0;max-width:900px}.connection-error{background:var(--orange-soft);border:1px solid var(--orange);padding:18px;border-radius:12px;margin-bottom:25px;display:flex;align-items:center;gap:20px;font-size:14px}.connection-error button{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 12px;flex-shrink:0}.toast,.noscript{position:fixed;z-index:100;bottom:20px;left:50%;transform:translateX(-50%);max-width:90vw;padding:16px 22px;background:var(--panel);border:1px solid var(--orange);border-radius:13px;box-shadow:var(--shadow);font-size:14px}.focus-mode .sidebar{display:none}.focus-mode .workspace{margin-left:0}.focus-mode main{max-width:1050px}.focus-mode .menu-button{display:none}
.order-list .drag-hint{flex:0;color:var(--muted)}.order-list strong{flex:1;font-size:15px}.order-list button{flex-shrink:0}
@keyframes float{0%,100%{transform:translateY(0) rotate(13deg)}50%{transform:translateY(-9px) rotate(10deg)}}@keyframes float-code{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(7px) rotate(-5deg)}}
@media(min-width:1600px){main{padding:45px 55px}.hero{min-height:415px}.hero-copy{padding:42px}.hero-art{max-width:430px;justify-self:center}.floating-code{top:173px;left:30px}.success-bubble{bottom:45px}}
@media(max-width:1190px){:root{--sidebar:213px}.sidebar{padding:28px 14px}.brand{padding:0;gap:7px}.brand strong{font-size:30px}.brand img{width:51px;height:51px}.nav-link{padding:13px 12px;gap:10px;font-size:13px}.topbar{padding:0 25px}.topbar-actions{gap:11px}.breadcrumb{font-size:12px;gap:7px}main{padding:30px 27px}.hero{grid-template-columns:1.2fr 1fr}.hero-copy{padding:30px 0 30px 28px}.hero h2{font-size:36px}.hero-art{transform:scale(.88);transform-origin:center;margin-left:-15px}.course-grid{gap:15px}.course-body{padding:19px 17px 0}.course-body h3{font-size:19px}.course-body>p{font-size:13px}.course-meta{font-size:11px;flex-wrap:wrap}.course-link{font-size:13px}.small-note{display:none}footer{padding:24px 27px;flex-wrap:wrap}.how-card,.daily-card{padding:23px}.bottom-grid{grid-template-columns:1.3fr 1fr}.how-card h2,.daily-card h2{font-size:23px}}
@media(max-width:960px){:root{--sidebar:195px}.sidebar{padding:25px 12px}.brand strong{font-size:27px}.brand>span>span{letter-spacing:3px}.brand img{width:46px;height:46px}.topbar{padding:0 20px}.breadcrumb{display:none}.topbar-left:empty{display:none}.topbar-actions{margin-left:auto}.hero{grid-template-columns:1fr}.hero-copy{padding:30px 30px 0}.hero-art{width:340px;height:310px;min-height:310px;justify-self:center;transform:scale(.9);margin:0}.hero h2{font-size:42px;max-width:550px}.floating-code{top:108px;left:0}.success-bubble{bottom:24px;right:0}.art-token{top:15px;left:42px}.star-three{top:0}.art-caption{bottom:0}.course-grid{grid-template-columns:1fr}.course-card{display:grid;grid-template-columns:155px minmax(0,1fr)}.course-art{height:100%;min-height:245px}.course-body h3{font-size:23px}.course-body>p{font-size:14px}.course-decoration{right:12px;top:54px}.course-link{font-size:14px}.bottom-grid{grid-template-columns:1fr}.account-prompt{align-items:flex-start;flex-direction:column}.resume-banner{align-items:flex-start;flex-direction:column}.name-widget,.route-widget{grid-template-columns:1fr}.course-cover img{width:105px;height:95px}.lesson-title-line{align-items:flex-start;flex-direction:column}.lesson-heading>p{font-size:17px}.lesson-explanation li p{font-size:16px}.lesson-state{max-width:110px;text-align:right}.stat-card{padding:22px 17px}.stat-card>span{font-size:12px}.completion-card{align-items:flex-start;flex-direction:column}.principles-grid{grid-template-columns:1fr}}
@media(max-width:760px){:root{--sidebar:0px}.sidebar{width:250px;padding:30px 22px;transform:translateX(-100%);transition:transform .22s;box-shadow:20px 0 50px #0002}.sidebar.open{transform:translateX(0)}.sidebar.open:after{content:'';position:fixed;left:250px;top:0;width:calc(100vw - 250px);height:100dvh;background:#06130bab;z-index:-1}.brand img{width:58px;height:58px}.brand strong{font-size:32px}.nav-link{font-size:14px;padding:15px 12px}.menu-button{display:grid;border-radius:10px;width:38px;height:38px}.topbar{height:70px;padding:0 17px;gap:10px}.topbar-left{gap:0}.topbar-actions{gap:11px}.account-shortcut{display:none}.theme-picker select{width:99px}.languages a{min-width:31px}.xp-chip{font-size:12px}main{padding:26px 22px 38px}.hero{grid-template-columns:1.3fr 1fr}.hero-copy{padding:28px 0 30px 27px}.hero h2{font-size:37px}.hero-copy>p{font-size:14px}.hero-art{transform:scale(.82);width:290px;min-width:235px;height:330px;min-height:330px;align-self:center;margin-left:-28px}.floating-code{width:210px;top:134px;left:-5px}.art-token{left:28px}.art-caption{display:none}.hero-benefits{font-size:11px;gap:10px}.hero .eyebrow{font-size:10px;letter-spacing:1px}.course-grid{grid-template-columns:1fr 1fr}.course-card{display:flex}.course-art{height:146px;min-height:146px}.course-body h3{font-size:21px}.course-tag{font-size:10px}.bottom-grid{grid-template-columns:1fr}.account-prompt{flex-direction:row;align-items:center}.panel{padding:24px}.lesson-title-line{flex-direction:row;align-items:center}.lesson-title-line h1{font-size:32px}.lesson-state{max-width:none}.name-widget,.route-widget{grid-template-columns:1fr 1.2fr}.completion-card{flex-direction:row}.completion-card img{width:93px;height:85px}.completion-card h2{font-size:28px}.principles-grid{grid-template-columns:1fr 1fr}.principle h2{font-size:23px}.course-cover h2{font-size:30px}.course-cover{gap:20px}.course-cover img{width:110px;height:100px}footer{padding:23px 22px;font-size:11px}footer>div{flex-wrap:wrap}.greeting h1{font-size:25px}}
@media(max-width:560px){.topbar{padding:0 12px}.topbar-actions{gap:7px}.theme-picker select{width:89px;font-size:11px}.languages a{min-width:29px;font-size:10px;min-height:30px}.xp-chip{gap:3px;font-size:11px}.xp-chip>.icon{display:none}main{padding:25px 17px 35px}.greeting{margin-bottom:22px}.greeting h1{font-size:24px}.greeting p{font-size:13px}.hero{display:flex;flex-direction:column}.hero-copy{padding:28px 24px 5px}.hero h2{font-size:39px}.hero-copy>p{font-size:15px}.hero-art{align-self:center;width:300px;transform:scale(.86);transform-origin:top center;margin:9px 0 -31px;height:294px;min-height:294px}.floating-code{top:102px;left:0;width:216px}.success-bubble{bottom:3px;right:0}.art-token{top:0;left:36px}.star-one{left:7px;top:47px}.star-three{top:-5px}.orbit{width:290px}.orbit-two{width:190px}.hero-benefits{font-size:11px;gap:14px}.section-heading{align-items:flex-start;flex-wrap:wrap;gap:12px}.section-heading h2{font-size:24px}.section-heading p{font-size:14px}.course-grid{grid-template-columns:1fr;gap:21px}.course-art{height:160px}.course-body{padding:24px 24px 0}.course-body h3{font-size:24px}.course-body>p{font-size:15px}.course-meta{font-size:12px}.course-link{font-size:15px;padding:18px 0}.course-decoration{right:65px;top:42px}.course-symbol{width:73px;height:73px}.course-tag{left:23px;top:18px}.course-card:hover{transform:none}.bottom-grid{gap:20px}.how-card,.daily-card{padding:25px}.how-card h2,.daily-card h2{font-size:25px}.how-steps strong{font-size:11px}.how-steps{gap:8px}.account-prompt{align-items:flex-start;flex-direction:column;padding:21px}.account-prompt p{font-size:14px}.panel{padding:22px 20px;border-radius:18px}.page-intro h1{font-size:33px}.page-intro>p{font-size:16px}.course-cover{align-items:flex-start;flex-direction:column-reverse;gap:18px}.course-cover img{width:80px;height:73px}.course-cover h2{font-size:29px}.lesson-row>a{gap:12px;padding:18px 0;flex-wrap:wrap}.chapter-number{width:37px;height:37px;border-radius:11px}.lesson-row-copy{min-width:180px}.lesson-row-copy strong{font-size:15px}.lesson-state{font-size:11px;margin-left:49px;flex:1;text-align:left;order:4}.lesson-row>a>.icon{width:16px;height:16px}.lesson-title-line{flex-direction:column;align-items:flex-start;gap:17px}.lesson-title-line h1{font-size:33px}.lesson-heading>p{font-size:17px}.lesson-toolbar{gap:13px;flex-wrap:wrap;font-size:12px}.lesson-toolbar .text-link{font-size:13px}.focus-control{font-size:11px}.lesson-explanation ol{gap:22px}.lesson-explanation li{gap:12px}.lesson-explanation li>span{width:27px;height:27px;font-size:12px;margin-top:3px}.lesson-explanation li p{font-size:16px;line-height:1.9}.mission-objective{padding:20px;gap:14px}.mission-objective p{font-size:15px}.name-widget,.route-widget{grid-template-columns:1fr}.mini-quiz{padding:23px 18px}.mini-quiz h3{font-size:23px}.counting-stars{font-size:34px;letter-spacing:3px}.answer-button{min-width:78px;padding:12px 17px}.choice-card{font-size:15px;padding:15px 13px}.practice-actions{align-items:flex-start;flex-direction:column;gap:14px}.practice-actions .button{width:100%}.lesson-result{padding:23px 18px}.lesson-result h3{font-size:23px}.lesson-result .button{width:100%}.transfer{gap:13px}.transfer>.icon{width:24px;height:24px}.transfer h2{font-size:21px}.transfer p{font-size:15px}.code-discovery{padding:21px 18px}pre{font-size:12px;padding:15px}.condition-grid,.condition-preview,.project-predictions{grid-template-columns:1fr}.lab-controls{gap:15px}.lab-controls label{font-size:14px}.point-group{font-size:19px;padding:12px;letter-spacing:2px}.project-fields{gap:18px}.project-fields>.field{grid-column:1/-1}.stats-grid{gap:10px}.stat-card{padding:20px 13px;border-radius:16px}.stat-card strong{font-size:33px}.stat-card>span{font-size:11px}.stat-card>.icon{width:21px;height:21px}.completion-card{flex-direction:column;gap:20px}.principles-grid{grid-template-columns:1fr}.principle p{font-size:15px}.principle h2{font-size:25px}.auth-tabs{gap:6px}.auth-tabs button{padding:10px;font-size:12px}#recovery-value{font-size:16px;padding:15px;letter-spacing:.5px}.recovery-panel>div{flex-direction:column}.connection-error{flex-direction:column;align-items:flex-start}.toast{width:calc(100% - 30px);font-size:12px;bottom:12px}footer{display:block;padding:23px 18px}footer>div{margin-top:14px;gap:14px;justify-content:space-between}.motion-control{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}body.reduced-motion *,body.reduced-motion *::before,body.reduced-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

.privacy-settings { margin:24px 0; max-width:760px; }
.privacy-settings h2 { margin:12px 0; }
.privacy-settings>p { margin:15px 0; }
.privacy-form { display:grid; gap:18px; padding-top:25px; margin-top:25px; border-top:1px solid var(--line); }
.privacy-form h3 { font-size:21px; }
.privacy-form p,.privacy-check { line-height:1.8; }
.privacy-form button { justify-self:start; }
.privacy-check { display:flex; align-items:flex-start; gap:12px; }
.privacy-check input { margin-top:6px; flex-shrink:0; width:18px; height:18px; }
.delete-zone h3 { color:var(--orange); }
.privacy-notice { max-width:940px; }
.notice-section { margin:25px 0 35px; }
.notice-section h2 { margin-bottom:15px; font-size:24px; }
.notice-section p { line-height:1.9; margin:14px 0; }
.ranking-list { list-style:none; margin:25px 0; padding:0; }
.ranking-row { display:flex; gap:20px; align-items:center; padding:20px 10px; border-bottom:1px solid var(--line); }
.ranking-position { font-weight:800; color:var(--orange); min-width:44px; }
.ranking-row a { min-width:0; flex:1; overflow-wrap:anywhere; }
.ranking-row a span { display:block; margin-top:6px; color:var(--muted); font-size:13px; }
.ranking-xp { color:var(--green); font-weight:700; white-space:nowrap; }
.ranking-panel>.field-help { margin:22px 0; }
.ranking-empty { margin:35px 0; }
footer .privacy-footer-link { color:var(--green); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:560px) { .ranking-row { gap:12px; padding:18px 0; } .ranking-position { min-width:30px; } }
/* Gratuidade e autoria visíveis na entrada, na página Sobre e no rodapé. */
.academy-promise { display:flex; align-items:center; gap:18px; padding:22px 26px; margin:22px 0; border:1px solid var(--line); border-radius:18px; background:var(--panel); }
.promise-symbol { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border-radius:14px; color:var(--green); background:var(--green-soft); }
.promise-copy { flex:1; min-width:0; }
.promise-copy>strong { color:var(--green); font-size:17px; }
.promise-copy>p { margin-top:6px; font-size:14px; line-height:1.7; }
.framework-link { color:var(--green); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.academy-promise>.text-link { flex-shrink:0; font-size:13px; }
.free-learning { margin:28px 0; scroll-margin-top:24px; }
.free-learning>h2 { margin:13px 0; }
.free-learning>p { max-width:900px; line-height:1.8; }
.free-model-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:28px 0; }
.free-model-grid article { padding:23px; border:1px solid var(--line); border-radius:16px; background:var(--soft); }
.free-model-grid h3 { margin:16px 0 12px; font-size:21px; line-height:1.4; }
.free-model-grid p { font-size:15px; line-height:1.85; }
.completion-note { display:flex; align-items:flex-start; gap:13px; padding:20px; border-radius:14px; background:var(--green-soft); }
.completion-note>.icon { color:var(--green); flex-shrink:0; margin-top:3px; }
.about-framework-credit { margin-top:22px; font-size:14px; }
footer { gap:24px; flex-wrap:wrap; }
footer>.footer-credit { display:flex; flex-direction:column; align-items:flex-start; gap:7px; line-height:1.8; }
.footer-free { color:var(--green); font-weight:700; }
.footer-free:hover { text-decoration:underline; text-underline-offset:3px; }
footer>.footer-controls { flex-wrap:wrap; gap:12px 22px; }
@media(max-width:1190px) { .free-model-grid { grid-template-columns:1fr; gap:16px; } }
@media(max-width:760px) { .academy-promise { flex-wrap:wrap; padding:20px; gap:13px; } .academy-promise>.text-link { width:100%; margin-top:5px; } }
@media(max-width:560px) { .promise-symbol { display:none; } .free-model-grid article { padding:20px; } footer>.footer-credit { margin-bottom:16px; } .completion-note { padding:17px; font-size:14px; } }

/* Mascote original em SVG: caranguejo robô, com movimentos discretos. */
.crab-bot { position:absolute; width:266px; height:222px; right:0; top:14px; transform:rotate(8deg); animation:crab-hover 6s ease-in-out infinite; filter:drop-shadow(0 14px 14px #0b261523); }
.crab-bot svg { width:100%; height:100%; overflow:visible; }
.crab-claw-right { transform-origin:232px 117px; animation:crab-wave 7s ease-in-out infinite; }
.crab-eyes { transform-origin:150px 61px; animation:crab-blink 6s linear infinite; }
@keyframes crab-hover { 0%,100% { transform:translateY(0) rotate(8deg); } 50% { transform:translateY(-8px) rotate(5deg); } }
@keyframes crab-wave { 0%,65%,100% { transform:rotate(0); } 72%,85% { transform:rotate(12deg); } 78%,92% { transform:rotate(-7deg); } }
@keyframes crab-blink { 0%,45%,49%,100% { transform:scaleY(1); } 47% { transform:scaleY(.1); } }

.level-guide h2 { margin-bottom:15px; }
.level-guide>p { max-width:850px; }
.level-filters { display:flex; flex-wrap:wrap; gap:10px; margin:23px 0 18px; }
.level-filters button { background:var(--bg); border:1px solid var(--line); border-radius:24px; padding:10px 17px; color:var(--muted); font-size:14px; min-height:44px; }
.level-filters button.active { color:var(--button-ink); background:var(--button); border-color:var(--button); font-weight:700; }
.catalog-group { margin:35px 0; }
.catalog-group h2 { margin-top:9px; font-size:29px; }
.catalog-group .section-heading p { max-width:800px; line-height:1.8; }
.level-tag { display:inline-flex; padding:4px 10px; border-radius:15px; color:var(--green); background:var(--green-soft); font-weight:700; }
.level-tag:hover { text-decoration:underline; }
.security-card .course-art,.systems-card .course-art { background:var(--orange-soft); color:var(--orange); }
.quantum-card .course-art { background:var(--soft); }
[data-outline-level] { scroll-margin-top:25px; }
.export-guide { margin:24px 0; }
.export-guide p { margin:17px 0; line-height:1.9; max-width:900px; }
.export-preview-note { padding:22px; background:var(--green-soft); border-radius:15px; margin-bottom:24px; }
.export-preview-note h3 { font-size:22px; }
.export-preview-note p { margin-top:14px; line-height:1.85; }

.profile-settings { margin:24px 0; max-width:720px; }
.profile-settings h2 { margin:12px 0; }
.profile-settings>p { margin-bottom:25px; }
#profile-form { display:grid; gap:22px; }
#save-profile { justify-self:start; }
.handle-input { display:flex; align-items:center; gap:0; min-width:0; }
.handle-input>span { padding:11px 15px; border:1px solid var(--line); border-right:0; background:var(--soft); border-radius:10px 0 0 10px; min-height:48px; color:var(--green); }
.handle-input input { flex:1; min-width:0; border-radius:0 10px 10px 0!important; }
.profile-visibility { display:flex; align-items:flex-start; gap:14px; padding:20px; background:var(--green-soft); border:1px solid var(--line); border-radius:14px; cursor:pointer; }
.profile-visibility input { width:20px; height:20px; flex-shrink:0; margin-top:3px; }
.profile-visibility strong { display:block; font-size:16px; }
.profile-visibility>span>span { display:block; font-size:13px; line-height:1.8; margin-top:8px; color:var(--muted); }
#profile-feedback,#share-feedback { overflow-wrap:anywhere; }
.profile-link-box { border-top:1px solid var(--line); margin-top:24px; padding-top:22px; }
.profile-link-box>div { display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; }
.public-profile-hero { display:flex; align-items:center; gap:35px; background:radial-gradient(ellipse at 0 0,var(--green-soft),transparent 65%),var(--panel); padding:42px; }
.profile-emblem { width:160px; height:160px; flex-shrink:0; display:grid; place-items:center; background:var(--panel); border:1px solid var(--line); border-radius:40px; transform:rotate(-5deg); }
.profile-emblem img { object-fit:contain; }
.public-profile-hero h1 { margin:14px 0 8px; overflow-wrap:anywhere; }
.public-handle { font-family:Consolas,monospace; color:var(--green); font-size:17px; }
.public-profile-hero p { margin:16px 0 22px; }
.public-profile-hero .field-help { margin-bottom:0; }
.public-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:24px 0; }
.profile-trophy { display:flex; gap:22px; align-items:center; margin:24px 0; background:var(--orange-soft); }
.profile-trophy>span { font-size:53px; color:var(--orange); }
.profile-trophy h2 { margin:9px 0; }
.profile-trophy p { font-size:15px; }
.earned-badges { list-style:none; padding:0; margin:25px 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.earned-badge { display:flex; align-items:center; gap:15px; padding:19px; border-radius:13px; border:1px solid var(--line); background:var(--soft); }
.earned-badge>.icon { color:var(--green); }
.earned-badge h3 { font-size:17px; margin-top:9px; line-height:1.5; }
.earned-badge .eyebrow { font-size:10px; }
.empty-achievements { margin:25px 0; }
.profile-footer { margin-top:25px; display:flex; gap:20px; flex-wrap:wrap; justify-content:space-between; }
@media(min-width:1600px) { .crab-bot { top:25px; } }
@media(max-width:960px) { .crab-bot { width:244px; height:203px; top:0; right:-5px; } .public-profile-hero { padding:28px; gap:24px; } .profile-emblem { width:125px; height:125px; border-radius:30px; } .profile-emblem img { width:95px; height:87px; } .earned-badges { grid-template-columns:1fr; } }
@media(max-width:760px) { .crab-bot { width:240px; height:200px; top:18px; right:-18px; } }
@media(max-width:560px) { .crab-bot { width:225px; height:187px; top:0; right:-2px; } .level-filters { gap:8px; } .level-filters button { font-size:12px; padding:10px 12px; } .catalog-group h2 { font-size:27px; } .catalog-group .eyebrow { font-size:10px; } .public-profile-hero { flex-direction:column; align-items:flex-start; gap:25px; padding:25px; } .profile-emblem { width:105px; height:105px; border-radius:26px; } .profile-emblem img { width:80px; height:73px; } .public-profile-hero h1 { font-size:33px; } .public-stats { gap:10px; } .profile-trophy { gap:14px; align-items:flex-start; } .profile-trophy h2 { font-size:23px; } .profile-trophy>span { font-size:35px; } .earned-badge { padding:17px 14px; gap:12px; } .profile-visibility { padding:17px 14px; } .profile-visibility strong { font-size:15px; } }
/* Formulários de contas e acompanhamento familiar. */
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
fieldset legend { font-weight: 700; margin-bottom: 1rem; }
.family-child, .privacy-request { border-top: 1px solid var(--line); margin-top: 1.5rem; padding-top: 1.25rem; overflow-wrap: anywhere; }
.family-child form, #account-rights form, #family form { max-width: 640px; margin-block: 1.5rem; }
.privacy-request p { white-space: pre-wrap; }
.field textarea { width: 100%; min-height: 130px; padding: .8rem; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); color: inherit; font: inherit; resize: vertical; }

#contact-settings, #account-rights, #family, #child-account-note, #email-action-panel { margin-block: 24px; }
#family > p, #account-rights > p { max-width: 76ch; margin-block: 1rem; }
#auth-credentials, #adult-register-fields { display: grid; gap: 20px; }
#registration-fields .field, #contact-form .field { margin-block: 16px; }
/* O menu mantém todas as opções acessíveis em janelas baixas, inclusive a 100%. */
.sidebar{height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.sidebar>*{flex-shrink:0}
.sidebar-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}
@media(max-width:760px){body:has(.sidebar.open)::before{content:'';position:fixed;inset:0;background:#06130bab;z-index:59}.sidebar.open:after{display:none}}
@media(min-width:761px) and (max-height:800px){.sidebar{padding-top:20px;padding-bottom:16px}.brand{margin-bottom:24px}.nav-link{padding-top:10px;padding-bottom:10px;margin-bottom:4px}.nav-caption{margin-bottom:10px}.sidebar-bottom{padding-top:18px}.little-idea{padding:14px;margin-bottom:12px}}
main:has(#auth-card)>section{margin-block:0 26px}
#account-content>section{margin-block:0 26px}
.access-description{margin:24px 0;line-height:1.8;color:var(--muted)}
#auth-card #auth-form{margin-top:24px}
.recovery-options{display:grid;gap:24px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.recovery-options>button{justify-self:start;text-align:left}
.recovery-options summary{cursor:pointer;font-size:13px;font-weight:650;line-height:1.6}
.recovery-options details>p{margin:16px 0;line-height:1.8;font-size:13px}
.recovery-options>.field-help{margin:0;line-height:1.8}
#email-request-form [data-form-feedback]:empty,#auth-feedback:empty{display:none}
main:has(#auth-card)>.page-intro{margin-bottom:30px}
#email-request-form>button[type=submit]{margin-top:20px}
.account-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.account-overview p{max-width:68ch}
.account-overview .stats-grid{margin-top:24px}.account-badges{display:flex;flex-wrap:wrap;gap:10px}.account-badge{display:flex;align-items:center;gap:8px;border-radius:12px;background:var(--green-soft);color:var(--green);font-size:12px;padding:10px 14px}.account-badge .icon{width:16px;height:16px;flex-shrink:0}
.welcome-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);gap:24px;overflow:hidden;padding:clamp(26px,4vw,58px);background:linear-gradient(130deg,var(--panel),var(--green-soft));border-color:color-mix(in srgb,var(--green) 25%,var(--line))}
.welcome-copy{position:relative;z-index:1;max-width:680px}
.welcome-copy h1{font-size:clamp(36px,4.3vw,60px);line-height:1.1;letter-spacing:-1.8px;margin:20px 0 24px;max-width:13ch}
.welcome-copy p{line-height:1.9;font-size:16px}
.welcome-copy .welcome-lead{font-size:19px;color:var(--ink);margin-bottom:18px}
.welcome-copy .welcome-signature{margin-top:22px;color:var(--green);font-weight:650}
.welcome-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px}
.welcome-art{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;align-self:center;min-height:340px;gap:28px}
.welcome-art img{position:relative;object-fit:contain;width:min(80%,220px);height:auto;filter:drop-shadow(0 22px 24px #112b2020)}
.welcome-orbit{position:absolute;width:280px;height:280px;border:1px dashed color-mix(in srgb,var(--green) 30%,transparent);border-radius:50%;transform:rotate(-18deg)}
.welcome-orbit:after{content:'';position:absolute;inset:20px;border:1px solid color-mix(in srgb,var(--green) 12%,transparent);border-radius:50%}
.welcome-spark{position:absolute;top:8px;right:28px;font-size:40px;color:var(--orange)}
.welcome-art-note{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:30px;padding:10px 16px;text-align:center;font-size:12px;color:var(--green);font-weight:700}
.welcome-next{display:flex;gap:20px;margin:26px 0;align-items:flex-start;max-width:960px}
.welcome-next h2{font-size:22px;margin-bottom:10px}
.welcome-next-icon{display:grid;place-items:center;flex-shrink:0;background:var(--green-soft);color:var(--green);width:44px;height:44px;border-radius:14px}
.welcome-status{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);color:var(--ink)}
.rullst-links{padding:12px 4px;max-width:960px}
.rullst-links p{font-size:12px;font-weight:700;margin-bottom:12px}
.rullst-links>div{display:flex;flex-wrap:wrap;gap:4px 18px}
.rullst-links a{font-size:12px;line-height:2.5;color:var(--muted);text-underline-offset:4px}
.rullst-links a:hover{text-decoration:underline;color:var(--green)}
@media(max-width:1050px){.welcome-hero{grid-template-columns:1fr}.welcome-copy{max-width:none}.welcome-art{min-height:260px}.welcome-art img{width:150px}.welcome-orbit{width:220px;height:220px}.welcome-spark{right:calc(50% - 125px)}.welcome-copy h1{max-width:18ch}}
@media(max-width:560px){.welcome-copy h1{letter-spacing:-1px}.welcome-copy .welcome-lead{font-size:17px}.welcome-next{gap:14px}.welcome-next-icon{width:34px;height:34px}.welcome-actions{align-items:stretch;flex-direction:column}.welcome-actions .text-link{justify-content:center}.welcome-copy p{font-size:15px}}
.recovery-options>.text-link,#back-email-recovery{padding:0;background:transparent;border:0;text-align:left;text-decoration:underline;text-underline-offset:4px;line-height:1.65}

.connected-sign-in { margin: 1.5rem 0; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.connected-sign-in .button { width: 100%; }
.connect-result { padding: 1rem; border: 1px solid var(--line); border-radius: 1rem; }

.github-card .course-art{background:linear-gradient(135deg,#e7d7fa,#c6e7d8)}.github-card .course-symbol{color:#382453}.github-hero{background:linear-gradient(120deg,var(--panel),var(--surface))}.activity-takeaway{margin-top:24px}.activity-takeaway .button{margin-top:18px}

.github-button{background:#24292f;color:#fff;border:2px solid #24292f;min-height:52px;display:inline-flex;gap:12px;align-items:center;justify-content:center}.github-button:hover{background:#353d47;color:#fff;border-color:#353d47}.github-mark{width:24px;height:24px;flex-shrink:0}.connected-sign-in .github-button,#connected-register .github-button{width:100%}.auth-divider{display:flex;align-items:center;gap:14px;margin:22px 0;font-size:.8rem;color:var(--muted)}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--border)}.auth-divider span{text-align:center}.github-heading{display:flex;align-items:center;gap:12px}#connected-register{margin:22px 0}#github-password-setup{padding:18px;border:1px solid var(--border);border-radius:16px}[data-theme=dark] .github-button{background:#f0f3f6;color:#17201c;border-color:#f0f3f6}[data-theme=dark] .github-button:hover{background:#dce5e2;border-color:#dce5e2}

#github-workspace{margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}#activity-source{width:100%;min-height:220px;font:14px/1.6 ui-monospace,monospace;tab-size:4;resize:vertical}#github-workspace .field{margin-top:20px}.publishing-actions{display:flex;flex-wrap:wrap;gap:12px 24px;margin:20px 0}#publish-preview{white-space:pre-wrap;overflow-wrap:anywhere}#publish-activity{margin-top:18px}#published-activity-link{display:inline-flex;margin:20px 0 0}#github-workspace [hidden]{display:none!important}

/* Google: official branding assets and locally hosted OFL font. */
@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/google-sans-500.ttf') format('truetype')}
.google-button{background:#fff;color:#1f1f1f;border:1px solid #747775;border-radius:4px;min-height:52px;padding:12px;font:500 14px/20px 'Google Sans',Arial,sans-serif;display:inline-flex;align-items:center;justify-content:center;gap:10px}
.google-button:hover{background:#f8faff;color:#1f1f1f;border-color:#747775}
.google-mark{width:20px;height:20px;flex-shrink:0;object-fit:contain;background:#fff}
.connected-choice{margin-bottom:12px}.connected-choice .button{width:100%}.connected-choice p:empty{display:none}
.connected-provider{padding:18px 0;border-top:1px solid var(--border)}.connected-provider h3{margin:0 0 12px}.connected-provider .button{width:100%}

.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px}
.hero-actions>.text-link{font-size:14px}
/* The portal is immediately usable. Decorations never carry navigation or lesson content. */
.home-portal.hero{grid-template-columns:minmax(0,1.25fr) minmax(270px,.9fr);isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 100% 10%,var(--green-soft),transparent 65%),var(--panel);border-radius:28px}
.home-portal .hero-copy{padding:clamp(26px,3.4vw,50px);padding-right:8px;min-width:0}
.home-portal h1{font-size:clamp(34px,3.7vw,60px);line-height:1.08;letter-spacing:-.045em;margin:22px 0;max-width:15ch;overflow-wrap:normal}
.home-portal h1 em{display:block;font-style:normal;color:var(--green)}
.home-portal .hero-copy>p{font-size:1rem;max-width:49ch;line-height:1.85}
.home-portal .eyebrow{display:flex;align-items:center;gap:10px;line-height:1.7;font-size:.68rem}
.portal-signal{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px var(--green-soft);flex-shrink:0}
.portal-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(110deg,transparent 35%,#000);opacity:.48;pointer-events:none}
.home-portal .hero-art{align-self:center;min-width:0;min-height:390px;margin:0;max-width:none}
.home-portal .orbit{border-style:solid;box-shadow:0 0 28px color-mix(in srgb,var(--green) 10%,transparent)}
.home-portal .orbit-one{width:90%;height:78%;border-width:2px;animation:portal-arrive 1.4s ease-out both}
.home-portal .orbit-two{width:65%;height:90%;border-style:dashed}
.home-portal .art-token{box-shadow:0 0 0 8px color-mix(in srgb,var(--orange) 10%,transparent)}
.home-portal .hero-actions{gap:14px 20px}
.home-portal .hero-actions .button{min-height:48px}
.home-portal .home-subjects{margin-top:22px}
.portal-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding:12px 28px;border-top:1px solid var(--line);background:var(--panel);font-size:.78rem;color:var(--muted)}
.portal-footer>span{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.portal-footer .icon{width:17px;height:17px;flex-shrink:0}
.portal-motion{display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--soft);font:inherit;cursor:pointer}
.portal-motion[aria-pressed=true]{border-color:var(--green);background:var(--green-soft)}
.portal-motion:disabled{cursor:default}
.home-portal a:focus-visible,.portal-motion:focus-visible,.journey-selection a:focus-visible{outline:3px solid var(--green);outline-offset:5px}
.experience-home.journey-selection{display:block;overflow:visible;border:0;margin:44px 0;padding:0;background:none}
.journey-selection-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}
.journey-selection-heading>div{min-width:0}
.journey-selection .journey-selection-heading h2{max-width:26ch;margin:10px 0 12px;font-size:clamp(27px,3vw,38px);letter-spacing:-.035em}
.journey-selection-heading p{font-size:.95rem;line-height:1.8;max-width:64ch}
.journey-selection-heading>a{flex-shrink:0;min-height:44px}
.journey-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}
.journey-cards>li{grid-column:span 2;min-width:0}
.journey-cards>li:nth-last-child(-n+2){grid-column:span 3}
.journey-card{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:20px;color:var(--ink);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.journey-card:hover{border-color:var(--green);box-shadow:var(--shadow)}
.journey-card-art{position:relative;overflow:hidden;aspect-ratio:1.7;background:var(--soft)}
.journey-card-art>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.journey-card:hover .journey-card-art>img{transform:scale(1.035)}
.journey-card-kids .journey-card-art>img{object-position:70% 40%}
.journey-card-builders .journey-card-art>img{object-position:65% 55%}
.journey-age{position:absolute;left:14px;bottom:14px;display:flex;align-items:baseline;gap:5px;padding:7px 12px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;font-size:1.15rem;font-weight:800;box-shadow:0 3px 12px #0002}
.journey-age>span{font-size:.72rem;font-weight:500}
.journey-card-copy{display:flex;flex-direction:column;flex:1;padding:20px}
.journey-style{font-size:.72rem;color:var(--muted);line-height:1.8}
.journey-style strong{color:var(--green);font-weight:700}
.journey-card h3{margin:10px 0;font-size:1.25rem;line-height:1.35;letter-spacing:-.02em}
.journey-card p{font-size:.88rem;line-height:1.75;margin:0 0 20px}
.journey-card-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid var(--line);font-size:.82rem;font-weight:700;color:var(--green)}
.journey-card-action .icon{width:18px;height:18px;flex-shrink:0}
.journey-selection .journey-selection-note{display:flex;align-items:flex-start;gap:10px;font-size:.83rem;line-height:1.8;max-width:95ch;margin:22px 0 0}
.journey-selection-note>.icon{flex-shrink:0;margin-top:3px}
.experience-swatch>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.experience-style .experience-swatch>.icon,.experience-style .swatch-orbit,.experience-style .swatch-dot{display:none}
[id^=route-],#choose-journey,#experience-home-title{scroll-margin-top:30px}
@keyframes portal-arrive{from{opacity:0}to{opacity:1}}
@media(min-width:1550px){.journey-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.journey-cards>li,.journey-cards>li:nth-last-child(-n+2){grid-column:auto}.journey-card-art{aspect-ratio:1.2}.journey-card-copy{padding:18px}.journey-card h3{font-size:1.15rem}}
@media(max-width:1120px){.home-portal.hero{grid-template-columns:minmax(0,1fr)}.home-portal .hero-copy{padding:32px}.home-portal h1{max-width:21ch;font-size:clamp(36px,5vw,54px)}.home-portal .hero-art{width:350px;max-width:100%;min-height:315px;justify-self:center;margin-top:-12px}.journey-selection-heading{display:block}.journey-selection-heading>a{display:inline-flex;margin-top:12px}}
@media(max-width:650px){.home-portal.hero{border-radius:20px}.home-portal .hero-copy{padding:26px 22px}.home-portal h1{font-size:clamp(30px,7.5vw,44px);max-width:18ch}.home-portal .hero-copy>p{font-size:.94rem}.home-portal .hero-art{min-height:290px}.portal-footer{padding:12px 20px;gap:8px}.journey-cards{grid-template-columns:1fr}.journey-cards>li,.journey-cards>li:nth-last-child(-n+2){grid-column:auto}.journey-card-art{aspect-ratio:1.8}.experience-home.journey-selection{margin-top:32px}.home-portal .hero-actions{align-items:stretch}.home-portal .hero-actions>.button{justify-content:center}.journey-card-copy{padding:22px}}
@media(prefers-reduced-motion:reduce){.home-portal *, .home-portal *::before,.home-portal *::after,.journey-card-art>img{animation:none!important;transition:none!important}.journey-card:hover .journey-card-art>img{transform:none}}
body.reduced-motion .journey-card:hover .journey-card-art>img{transform:none}
html.reduced-motion *,html.reduced-motion *::before,html.reduced-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.home-github{display:flex;align-items:flex-start;gap:24px;padding:30px 32px;margin:24px 0 30px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(120deg,var(--green-soft),var(--panel) 65%)}
.home-github-mark{display:grid;place-items:center;flex:0 0 60px;width:60px;height:60px;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--ink)}
.home-github-mark .github-mark{width:30px;height:30px}
.home-github-copy{min-width:0;max-width:850px}
.home-github-copy h2{margin:6px 0 12px;font-size:clamp(24px,2.3vw,30px)}
.home-github-copy>.text-link{display:inline-flex;margin-top:16px;gap:10px}
.home-github-copy .home-github-note{font-size:12px;line-height:1.7;margin-top:14px;max-width:78ch}
@media(max-width:560px){.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.home-github{padding:24px 22px;gap:16px;flex-direction:column}.home-github-mark{flex-basis:48px;width:48px;height:48px;border-radius:14px}.home-github-copy>.eyebrow{font-size:10px;letter-spacing:1px}.home-github-copy>p{font-size:14px}.home-github-copy>.text-link{font-size:14px}}

/* Laboratórios sem execução remota: manipular, prever e explicar. */
.learning-lab{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--soft);margin:24px 0}
.lab-heading{display:flex;gap:16px;align-items:center;padding:24px;border-bottom:1px solid var(--line)}
.lab-heading h3{font-size:22px;margin-top:5px}.lab-emblem,.trophy-emblem{display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;border-radius:16px;background:var(--green-soft);color:var(--green)}
.lab-emblem .icon,.trophy-emblem .icon{width:28px;height:28px}
.lab-scene{white-space:pre-line;padding:24px;color:var(--ink);font-size:17px;line-height:1.85;background:var(--panel)}
.lab-controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px}
.lab-field{min-width:0;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:14px;align-content:start}
.lab-field-number{color:var(--orange);font-size:12px;font-weight:800;letter-spacing:2px}.lab-field select,.lab-field input{width:100%;min-width:0;font-size:15px}
.lab-code{padding:0 24px 24px;min-width:0}.lab-code pre{margin:10px 0 0;white-space:pre;overflow-x:auto;max-width:100%;background:var(--panel);color:var(--ink);border:1px solid var(--line)}.lab-code code{color:inherit}
.lab-status{display:flex;justify-content:space-between;gap:16px;padding:15px 24px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.lab-status-dots{color:var(--green);white-space:nowrap}
.lab-order{grid-column:1/-1;list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:lab-step}.lab-order li{counter-increment:lab-step;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.lab-order li:before{content:counter(lab-step);font-weight:800;color:var(--orange)}.lab-order strong{font-size:15px;line-height:1.7}.lab-order li>div{display:flex;gap:7px}.lab-order button{width:40px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--soft);font-weight:800}
.course-outline{margin-top:28px}.course-outline .section-heading>div{max-width:720px}.course-outline .field-help{margin-top:12px}.course-progress{width:100%;height:9px;accent-color:var(--green);margin:8px 0 24px}.family-course-options{border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:12px}.family-course-options legend{padding:0 6px;font-weight:700}.completion-card .field-help{margin-top:12px}
@media(max-width:600px){.lab-controls-grid{grid-template-columns:1fr;padding:16px;gap:14px}.lab-heading,.lab-scene{padding:20px 16px}.lab-heading h3{font-size:20px}.lab-emblem{width:40px;height:40px}.lab-code{padding:0 16px 16px}.lab-status{padding:14px 16px}.lab-order li{grid-template-columns:22px minmax(0,1fr);padding:15px;gap:8px}.lab-order li>div{grid-column:2;justify-self:end}.lab-field{padding:15px}.lab-status-dots{display:none}}
.track-back{display:inline-flex;margin-bottom:24px}.track-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:32px;padding:40px;background:linear-gradient(135deg,var(--panel),var(--green-soft));overflow:hidden}.track-hero h1{font-size:clamp(32px,4vw,52px);line-height:1.13;letter-spacing:-1.5px;margin:20px 0}.track-hero p{font-size:16px;line-height:1.9;max-width:66ch}.track-hero .field-help{font-size:12px;margin-top:18px}.track-facts{display:flex;flex-wrap:wrap;gap:12px 24px;margin:26px 0}.track-facts>span{display:flex;align-items:center;gap:8px;font-size:13px}.track-facts .icon{width:18px}.track-emblem{align-self:center;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;border:1px dashed var(--green);border-radius:50%;color:var(--green);background:var(--panel)}.track-emblem>.icon{width:72px;height:72px}.track-emblem>span{font-size:12px;letter-spacing:3px;font-weight:800}.track-overview{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-top:24px}.track-overview>.panel{padding:28px;min-width:0}.track-overview h2{font-size:21px;margin-bottom:18px}.track-overview p{line-height:1.85}.track-overview .field-help{margin-top:18px}.track-overview ul{padding:0;list-style:none;display:grid;gap:18px}.track-overview li{display:flex;gap:12px;line-height:1.8}.track-overview li>.icon{color:var(--green);flex-shrink:0;width:18px;margin-top:4px}.track-progress{margin-top:32px}.track-progress>h2{margin-bottom:20px}.track-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.track-progress-card{padding:26px}.track-progress-card h3{font-size:22px;line-height:1.4;margin:14px 0}.track-progress-card .course-progress{margin:18px 0}.rust-discovery-card .course-art{background:var(--orange-soft)}.rullst-discovery-card .course-art{background:var(--green-soft)}
.experiment{margin:0 24px 8px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel);min-width:0}.experiment-top{display:flex;justify-content:space-between;gap:16px;color:var(--green)}.experiment>.field-help{margin:16px 0;line-height:1.7}.experiment-cases{display:flex;flex-wrap:wrap;gap:10px}.experiment-cases button{border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:var(--soft);color:var(--ink);font-size:13px;line-height:1.5}.experiment-cases button.active{border-color:var(--green);background:var(--green-soft);color:var(--green)}.experiment-source{margin:18px 0;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);border:1px solid var(--line);padding:18px;color:var(--ink);font-size:14px;line-height:1.8}.experiment-source code{color:inherit}.experiment-result{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.experiment-result pre{background:var(--green-soft);color:var(--ink);margin:12px 0 0;padding:18px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:15px}.experiment-terminal .experiment-result pre{background:#0c2119;color:#b3ed77}.experiment [data-experiment-run]{white-space:normal}
@media(max-width:900px){.track-hero{grid-template-columns:minmax(0,1fr) 120px;padding:30px}.track-emblem>.icon{width:44px;height:44px}.track-emblem{gap:14px}.track-overview{grid-template-columns:1fr}.track-emblem>span{letter-spacing:1px;font-size:10px}}
@media(max-width:600px){.track-hero{display:block;padding:24px}.track-hero h1{letter-spacing:-1px}.track-emblem{display:none}.track-facts{gap:12px 16px}.track-hero .button{width:100%;justify-content:center}.track-overview>.panel{padding:24px}.track-progress-grid{grid-template-columns:1fr}.experiment{margin:0 16px 8px;padding:16px}.experiment-cases button{flex:1 1 90px}.experiment-source{padding:14px;font-size:13px}.experiment-result pre{padding:14px}}

.setup-guide{margin-block:24px}
.setup-guide h2{margin-top:10px}
.setup-guide pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem;line-height:1.65}
.setup-guide h3{margin-top:24px}
.setup-guide li+li{margin-top:12px}
.setup-guide a{overflow-wrap:anywhere}

/* Guia e arquivos de aprendizagem, com as cores e os controles da Academy. */
.student-guide{display:grid;gap:32px;max-width:1120px;margin:auto}.student-guide section>h2{margin-bottom:20px}.guide-hero{display:grid;grid-template-columns:minmax(0,3fr) minmax(100px,1fr);gap:30px;background:radial-gradient(ellipse at top right,var(--green-soft),transparent 65%),var(--panel)}.guide-hero h1{margin:16px 0}.guide-hero p{margin-bottom:24px}.guide-hero-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;color:var(--green)}.guide-hero-art .icon{width:100px;height:100px}.guide-hero-art span{font-size:13px;letter-spacing:3px}.guide-intro{border-left:3px solid var(--green);padding-left:20px}.guide-index{display:flex;flex-wrap:wrap;gap:10px 18px}.guide-index a{color:var(--green);text-decoration:underline;text-underline-offset:4px;font-size:14px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.guide-three{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-card h3{font-size:19px;margin-bottom:12px}.guide-card p{font-size:15px}.guide-steps{display:grid;gap:22px;list-style:none;margin:24px 0;padding:0}.guide-steps li{display:flex;align-items:flex-start;gap:18px}.guide-step-number{background:var(--green-soft);color:var(--green);border-radius:12px;padding:8px;min-width:40px;text-align:center;font-weight:750}.guide-course{display:flex;align-items:center;gap:14px;color:var(--green);font-weight:700}.guide-course:hover{border-color:var(--green)}.guide-course>span{flex:1}.guide-section>p{margin-top:16px}.guide-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px}.guide-faq{display:grid;gap:14px}.guide-question summary{font-weight:700}.guide-question p{margin-top:16px}.guide-glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:22px 0 0}.guide-glossary dt{font-weight:700;color:var(--green)}.guide-glossary dd{margin:6px 0 0;color:var(--muted)}.lesson-file-links{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:20px 0}.lesson-file-links .icon{width:20px;height:20px}.activity-takeaway>h2{display:flex;align-items:center;gap:12px}.activity-takeaway>h2 svg{width:28px;height:28px;flex-shrink:0}.workspace-lock{padding:20px;border:1px dashed var(--line);border-radius:14px;margin-top:22px}.workspace-lock p+p{margin-top:10px}.workspace-lock .guide-actions{margin-top:16px}.workspace-materials{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:24px 0}.editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}.editor-actions .quiet-button{padding:12px 0}#github-workspace textarea{font-family:ui-monospace,Consolas,monospace;resize:vertical}#editor-draft-status[data-state=failed],#editor-draft-status[data-state=conflict]{color:var(--orange)}#publish-preview{white-space:pre-wrap;overflow-wrap:anywhere}#editor-size{font-variant-numeric:tabular-nums}#lesson-form #answer-draft-status{margin-top:12px}.lesson-result>.lesson-file-links{margin-top:18px}.workspace-kit{border-top:1px solid var(--line);padding-top:24px;margin-top:28px}.workspace-kit p{margin-top:12px}.guide-callout{display:flex;gap:18px;align-items:center;justify-content:space-between;margin:24px 0}.guide-callout>div{min-width:0}.guide-callout p{margin-top:8px}.guide-callout>a{flex-shrink:0}
.activity-takeaway>h2{margin:8px 0 14px}.activity-takeaway>p{margin-bottom:14px}#github-workspace{border-top:1px solid var(--line)}#activity-source{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:16px;font-size:16px;max-width:100%}#github-workspace>h3{margin-bottom:12px}#github-workspace>.field-help{margin-top:12px}#github-publishing-controls{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}#github-publishing-controls>h3{margin-bottom:12px}#github-publishing-controls>.privacy-check{margin-top:16px}#github-workspace .editor-actions .button{margin-top:0}
@media(max-width:1100px){.guide-three{grid-template-columns:1fr}.guide-card p{font-size:16px}}
@media(max-width:760px){.guide-grid,.guide-glossary{grid-template-columns:1fr}.guide-hero{grid-template-columns:1fr}.guide-hero-art{display:none}.guide-steps li{gap:12px}.student-guide{gap:26px}.guide-callout{align-items:flex-start;flex-direction:column}.activity-takeaway>h2{font-size:24px}.guide-course{padding:20px}}
@media print{.sidebar,.topbar,footer,.guide-hero-art{display:none}.workspace{margin:0}.student-guide{display:block}.student-guide>section{margin:22px 0}.guide-question:not([open]) p{display:block}.guide-grid,.guide-glossary{display:block}.guide-card{margin:12px 0}body{background:#fff;color:#111}.panel{break-inside:avoid}}

.home-subjects{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 22px}
.home-subjects a{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid currentColor;border-radius:12px;color:inherit;font-size:13px;font-weight:700;text-decoration:none;max-width:100%}
.home-subjects a:hover{text-decoration:underline;text-underline-offset:4px}
.home-subjects .icon{flex:0 0 19px;width:19px;height:19px}
.robotics-discovery-card .course-art{background:#d7efe1;color:#164734}
.math-discovery-card .course-art{background:#f7e6bd;color:#674515}
.robotics-discovery-card .course-symbol,.math-discovery-card .course-symbol{background:#fff;color:inherit}
.robotics-discovery-hero .track-emblem{color:#3b8665}
.math-discovery-hero .track-emblem{color:#b57825}
.garden-picture{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--ink)}
.garden-picture svg{display:block;width:100%;max-width:420px;height:auto;margin:auto}
.garden-picture figcaption{margin-top:12px;font-size:13px;line-height:1.6;text-align:center}
@media(max-width:560px){.home-subjects{gap:8px}.home-subjects a{font-size:12px;padding:8px 10px}.garden-picture{padding:14px}}

.catalog-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.catalog-controls label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700;min-width:0}
.catalog-controls select{width:100%}
.catalog-result{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-top:16px}
.catalog-result p{font-size:13px}
.catalog-guidance{margin-top:14px;font-size:13px;line-height:1.7;max-width:85ch}
.catalog-reset{background:none;border:0;padding:8px 0;font-size:13px;font-weight:700;color:var(--green);text-decoration:underline;text-underline-offset:4px}
.course-topic{display:block;color:var(--muted);font-size:12px;margin:8px 0 12px}
.course-guidance{font-size:12px!important;margin:12px 0 0!important;font-weight:700}
.catalog-empty{padding:28px;margin:24px 0}.catalog-empty h2{margin-bottom:12px}.catalog-empty button{margin-top:18px}
@media(max-width:560px){.catalog-controls{grid-template-columns:1fr;gap:16px}.catalog-result{align-items:flex-start}.catalog-controls select{font-size:16px}}

.computational-thinking-card .course-art{background:#deebfb;color:#234b71}.computational-thinking-card .course-symbol{background:#fff;color:inherit}.computational-thinking-hero .track-emblem{color:var(--green)}
.plan-studio{margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.plan-banner{border-left:4px solid var(--green);padding-left:18px;margin-bottom:24px}.plan-banner>span{display:block;color:var(--green);font-size:28px;letter-spacing:4px;margin-bottom:12px}.plan-banner h3{margin:0 0 12px}.plan-banner p{font-size:14px;line-height:1.8}
.plan-tools{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.plan-tools label{display:flex;flex-direction:column;gap:8px;font-weight:600;min-width:0}.plan-tools select,.plan-tools input{width:100%;min-width:0}
.plan-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.plan-actions button{white-space:normal;max-width:100%;text-align:left}.plan-studio [data-plan-notice]{margin:20px 0;line-height:1.8}.plan-studio [data-plan-results]{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.plan-studio ol{padding-left:23px;line-height:1.8}.plan-studio li{margin:8px 0;overflow-wrap:anywhere}.plan-studio h4{margin:0 0 14px}.plan-studio .field-help{margin-top:14px}
.plan-offline{--bg:#f4f8f4;--panel:#fff;--soft:#eff5ee;--ink:#163d2a;--muted:#41624e;--green:#17623c;--line:#cadcce;background:var(--bg);color:var(--ink);font:16px/1.7 system-ui,sans-serif;margin:0}.plan-offline *{box-sizing:border-box}.plan-offline main{max-width:940px;margin:auto;padding:32px 20px}.plan-offline h1{line-height:1.2}.plan-offline .lab-heading{display:flex;gap:12px;align-items:center}.plan-offline .lab-emblem svg{width:32px;height:32px}.plan-offline .lab-controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.plan-offline .lab-field{display:flex;flex-direction:column;gap:8px}.plan-offline .lab-field-number{font-weight:bold;color:var(--green)}.plan-offline select,.plan-offline input,.plan-offline button{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:12px;border-radius:9px;max-width:100%}.plan-offline button{cursor:pointer}.plan-offline :focus-visible{outline:3px solid #b2671c;outline-offset:3px}.plan-offline .eyebrow{font-size:12px;letter-spacing:2px;font-weight:bold}.plan-offline [hidden]{display:none!important}.plan-offline .lab-status{display:none}.plan-offline .field-help{font-size:13px}.plan-offline .lab-scene{padding:18px;background:var(--soft);border-radius:12px}
@media(max-width:600px){.plan-studio{padding:16px}.plan-tools,.plan-offline .lab-controls-grid{grid-template-columns:1fr}.plan-actions{flex-direction:column}.plan-actions button{width:100%}.plan-tools select,.plan-tools input{font-size:16px}}

.philosophy-discovery-card .course-art{background:#f2e3f4;color:#613770}.philosophy-discovery-card .course-symbol{background:#fff;color:inherit}.philosophy-discovery-hero .track-emblem{color:var(--green)}
.inquiry-studio{margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.inquiry-banner{border-left:4px solid var(--green);padding-left:18px;margin-bottom:24px}.inquiry-banner>span{display:block;color:var(--green);font-size:28px;letter-spacing:4px;margin-bottom:12px}.inquiry-banner h3{margin:0 0 12px}.inquiry-banner p{font-size:14px;line-height:1.8}.inquiry-studio [data-inquiry-notice]{margin:20px 0;line-height:1.8}.inquiry-studio [data-inquiry-results]{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.inquiry-studio dt{font-weight:700;margin-top:18px;color:var(--ink)}.inquiry-studio dd{margin:6px 0 0;padding-left:14px;border-left:2px solid var(--line);line-height:1.8;overflow-wrap:anywhere}.inquiry-studio h4{margin:0 0 14px}.inquiry-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.inquiry-studio button{white-space:normal;max-width:100%;text-align:left}.inquiry-studio .field-help{margin-top:14px}.inquiry-prompt{white-space:pre-line}
.inquiry-offline{--bg:#faf6fc;--panel:#fff;--soft:#f4eef7;--ink:#332140;--muted:#62506f;--green:#714084;--line:#d8c6e2;background:var(--bg);color:var(--ink);font:16px/1.7 system-ui,sans-serif;margin:0}.inquiry-offline *{box-sizing:border-box}.inquiry-offline main{max-width:940px;margin:auto;padding:32px 20px}.inquiry-offline h1{line-height:1.2}.inquiry-offline .lab-heading{display:flex;gap:12px;align-items:center}.inquiry-offline .lab-emblem svg{width:32px;height:32px}.inquiry-offline .lab-controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.inquiry-offline .lab-field{display:flex;flex-direction:column;gap:8px;min-width:0}.inquiry-offline .lab-field-number{font-weight:bold;color:var(--green)}.inquiry-offline select,.inquiry-offline button{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:12px;border-radius:9px;max-width:100%}.inquiry-offline button{cursor:pointer}.inquiry-offline :focus-visible{outline:3px solid #995500;outline-offset:3px}.inquiry-offline .eyebrow{font-size:12px;letter-spacing:2px;font-weight:bold}.inquiry-offline [hidden]{display:none!important}.inquiry-offline .lab-status{display:none}.inquiry-offline .field-help{font-size:13px}.inquiry-offline .lab-scene{padding:18px;background:var(--soft);border-radius:12px}
@media(max-width:600px){.inquiry-studio{padding:16px}.inquiry-offline .lab-controls-grid{grid-template-columns:1fr}.inquiry-actions{flex-direction:column}.inquiry-actions button{width:100%}.inquiry-offline select{font-size:16px}}
@media print{.inquiry-offline{background:white;color:#111}.inquiry-actions,.inquiry-offline [data-inquiry-read]{display:none}}
.home-install{margin:24px 0 30px;padding:28px 30px}.install-summary{display:flex;align-items:center;gap:20px}.install-summary>img{flex:none;border-radius:16px;border:1px solid var(--line)}.install-summary>div{flex:1;min-width:0}.install-summary h2{font-size:clamp(21px,2vw,27px);margin:0 0 8px}.install-summary p{font-size:14px;line-height:1.7;max-width:65ch}.install-summary .button{flex-shrink:0;gap:9px;white-space:normal}.install-online{margin-top:16px}.home-install #install-status:not(:empty){margin:16px 0;line-height:1.7;color:var(--ink)}.home-install details{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.home-install summary{cursor:pointer;font-weight:600;color:var(--green);line-height:1.7}.home-install details[open]>summary{margin-bottom:18px}.home-install .install-platform{max-width:440px;margin-bottom:18px;gap:8px}.home-install select{width:100%;min-width:0}.install-guides h3{font-size:17px;margin:12px 0}.install-guides ol{padding-left:24px;line-height:1.8}.install-guides li{margin:8px 0;overflow-wrap:anywhere}.home-install details>.field-help{margin-top:18px}.home-install [hidden]{display:none!important}
@media(max-width:900px){.install-summary{flex-wrap:wrap}.install-summary>div{flex-basis:calc(100% - 90px)}.install-summary>.button{margin-left:84px}}@media(max-width:560px){.home-install{padding:22px}.install-summary{gap:14px}.install-summary>img{width:52px;height:52px}.install-summary>div{flex-basis:calc(100% - 70px)}.install-summary>.button{margin-left:0;width:100%;justify-content:center}.home-install .install-platform{max-width:100%}}
.digital-literacy-card .course-symbol{background:#fff;color:#315343}.digital-literacy-hero{background:linear-gradient(135deg,var(--panel),var(--green-soft))}.files-studio{margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel);min-width:0}.files-studio h3{margin-bottom:14px}.files-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.files-actions button{white-space:normal;min-height:44px}.files-storage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.files-storage>section{padding:18px;border:1px solid var(--line);border-radius:14px;min-width:0}.files-storage h4{margin:0 0 14px;font-size:15px}.files-storage code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:12px;color:var(--ink)}.files-storage p,.files-storage small{line-height:1.8}.files-storage small{display:block;margin-top:10px;color:var(--muted)}.files-studio [data-files-status]{padding:16px 0;line-height:1.8;font-weight:600}.files-studio[data-files-verified=true] [data-files-status]{color:var(--green)}.files-studio summary{cursor:pointer;font-weight:650}.files-studio ol{padding-left:22px}.files-studio li{padding:8px 0;line-height:1.8}.files-offline{margin:0;background:#101c16;color:#ecf5ea;font:16px/1.7 system-ui,sans-serif;--panel:#15271c;--green-soft:#203c2a;--line:#385641;--ink:#ecf5ea;--muted:#c2d1c5;--green:#a7e774}.files-offline main{max-width:1000px;margin:auto;padding:30px 20px}.files-offline *{box-sizing:border-box}.files-offline .lab-controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.files-offline .lab-field{display:flex;flex-direction:column;gap:8px}.files-offline select,.files-offline button{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;max-width:100%;min-height:44px}.files-offline .icon{width:24px;height:24px}.files-offline [hidden]{display:none!important}.files-offline :focus-visible{outline:3px solid #ffb16d;outline-offset:3px}.files-offline .lab-status{display:none}.files-offline .lab-scene{margin-top:16px}.files-offline .lab-field-number{color:var(--green)}@media(max-width:600px){.files-storage,.files-offline .lab-controls-grid{grid-template-columns:1fr}.files-studio{padding:18px}.files-actions>button{flex:1 1 180px}.files-offline main{padding:20px 14px}}
.files-offline .lab-field{min-width:0}.files-offline select{width:100%;min-width:0}@media(max-width:600px){.files-offline .lab-controls-grid{grid-template-columns:minmax(0,1fr)}}
.math-relations-card .course-symbol{background:#fff;color:#315343}.math-relations-hero{background:linear-gradient(135deg,var(--panel),var(--green-soft))}.relations-studio{margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel);min-width:0}.relations-studio h3{margin-bottom:14px}.relations-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.relations-actions button{white-space:normal;min-height:44px}.relations-studio [data-relations-status]{line-height:1.8;padding:12px 0;font-weight:650}.relations-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.relations-facts>div{padding:14px;background:var(--soft,var(--green-soft));border:1px solid var(--line);border-radius:12px;min-width:0}.relations-facts dt{font-size:13px;color:var(--muted)}.relations-facts dd{margin:8px 0 0;font-size:20px;font-weight:700;color:var(--ink)}.relations-chart{margin:24px 0}.relations-chart svg{display:block;width:100%;max-width:660px}.relations-chart figcaption{font-size:13px;line-height:1.7;color:var(--muted)}.relations-grid{stroke:var(--line);stroke-width:1}.relations-axis{fill:var(--ink);font:18px system-ui,sans-serif}.relations-bar-a{fill:#609747}.relations-bar-b{fill:#c77632}.relations-table-wrap{overflow-x:auto}.relations-studio table{width:100%;border-collapse:collapse;font-size:14px}.relations-studio caption{text-align:left;font-weight:700;margin:15px 0}.relations-studio td,.relations-studio th{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line)}.relations-studio details{margin-top:20px}.relations-studio summary{cursor:pointer}.relations-studio ol{padding-left:22px}.relations-studio li{padding:9px 0;line-height:1.7}.relations-offline{margin:0;background:#101c16;color:#ecf5ea;font:16px/1.7 system-ui,sans-serif;--panel:#15271c;--soft:#203c2a;--green-soft:#203c2a;--line:#52715b;--ink:#ecf5ea;--muted:#c2d1c5;--green:#a7e774}.relations-offline main{max-width:1000px;margin:auto;padding:30px 20px}.relations-offline *{box-sizing:border-box}.relations-offline .lab-controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.relations-offline .lab-field{display:flex;flex-direction:column;gap:8px;min-width:0}.relations-offline select,.relations-offline input,.relations-offline button{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;max-width:100%;min-width:0;min-height:44px}.relations-offline select{width:100%}.relations-offline .icon{width:24px;height:24px}.relations-offline [hidden]{display:none!important}.relations-offline :focus-visible{outline:3px solid #ffb16d;outline-offset:3px}.relations-offline .lab-status{display:none}.relations-offline .lab-scene{margin-top:16px}.relations-offline .lab-field-number{color:var(--green)}@media(max-width:600px){.relations-studio{padding:18px}.relations-facts,.relations-offline .lab-controls-grid{grid-template-columns:minmax(0,1fr)}.relations-actions>button{flex:1 1 180px}.relations-offline main{padding:20px 14px}.relations-studio table{font-size:12px}.relations-studio td,.relations-studio th{padding:10px 4px}}
.statistics-studio{min-width:0}.statistics-studio>p,.statistics-studio details>p{max-width:78ch}.statistics-studio label{display:block;font-weight:700;margin-top:1rem}.statistics-studio textarea{display:block;width:100%;max-width:100%;min-height:100px;box-sizing:border-box;line-height:1.65}.statistics-studio #stats-data{font-family:monospace;white-space:pre;overflow:auto}.statistics-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:1rem;align-items:end}.statistics-controls input,.statistics-controls select{width:100%;min-height:44px;box-sizing:border-box}.statistics-controls .button{height:auto;min-height:44px;white-space:normal}.statistics-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.statistics-actions .button{max-width:100%;white-space:normal;height:auto;min-height:44px}.statistics-table-wrap{max-width:100%;overflow-x:auto;margin:1rem 0;border:1px solid currentColor;border-radius:10px}.statistics-table-wrap table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.statistics-table-wrap caption{font-weight:700;text-align:left;padding:12px}.statistics-table-wrap th,.statistics-table-wrap td{text-align:left;padding:10px 12px;border-bottom:1px solid currentColor;white-space:nowrap}.statistics-studio summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:700}.statistics-section{margin-top:24px;border-top:1px solid currentColor}.statistics-figure{margin:0}.statistics-figure figcaption{font-size:.9rem;margin:14px 0;line-height:1.65}.statistics-bar-row{display:grid;grid-template-columns:70px minmax(0,1fr) 72px;gap:8px;align-items:center;margin:8px 0;font-size:.9rem}.statistics-bar-row>span{overflow-wrap:anywhere}.statistics-bar-track{height:18px;border-left:2px solid currentColor;background:rgba(128,128,128,.12)}.statistics-bar{display:block;height:100%;background:var(--green,#34765d);min-width:0}.statistics-bar-row[data-group=B] .statistics-bar{background:var(--orange,#6756a2)}.statistics-studio button:focus-visible,.statistics-studio summary:focus-visible,.statistics-table-wrap:focus-visible{outline:3px solid #e1843c;outline-offset:4px}.statistics-studio button:disabled{opacity:.5;cursor:not-allowed}.statistics-studio [hidden]{display:none!important}.statistics-studio [role=status]{min-height:1.65em;overflow-wrap:anywhere}
.statistics-studio{margin-top:24px}.statistics-studio>p{margin:14px 0;line-height:1.8}.statistics-studio textarea{font:inherit;font-size:15px;padding:14px;border:1px solid var(--line,#81949d);border-radius:10px;background:var(--bg,#071923);color:var(--ink,#eef4f7);resize:vertical}.statistics-studio textarea:focus-visible,.statistics-controls input:focus-visible,.statistics-controls select:focus-visible{outline:3px solid var(--orange,#e1843c);outline-offset:3px}.statistics-studio #stats-analyze{background:var(--button,#a9efd4);color:var(--button-ink,#082419);margin-top:12px}.statistics-table-wrap,.statistics-table-wrap td,.statistics-table-wrap th,.statistics-section{border-color:var(--line,#81949d)}.statistics-table-wrap th{background:var(--soft,#193845)}.statistics-studio h3{margin-top:20px}.statistics-studio .field-help{font-size:14px;line-height:1.8}
.statistics-offline{margin:0;background:#0c1c27;color:#eef4f7;font:16px/1.7 system-ui,sans-serif}.statistics-offline main{max-width:1000px;margin:auto;padding:24px}.statistics-offline .statistics-studio{border:1px solid #567078;border-radius:20px;padding:24px;background:#132b38}.statistics-offline input,.statistics-offline select,.statistics-offline textarea{background:#071923;color:#eef4f7;border:1px solid #81949d;border-radius:8px;padding:12px;font:inherit}.statistics-offline .button{background:#a9efd4;color:#082419;border:1px solid #a9efd4;border-radius:9px;padding:12px 16px;cursor:pointer;font:700 15px/1.5 system-ui,sans-serif}.statistics-offline .field-help{color:#c2d2d9}.statistics-offline .statistics-bar{background:#a9efd4}.statistics-offline .statistics-bar-row[data-group=B] .statistics-bar{background:#cbb5ff}.statistics-offline h1,.statistics-offline h2,.statistics-offline h3{line-height:1.2}.statistics-offline *{box-sizing:border-box}
@media(max-width:500px){.statistics-offline main{padding:12px}.statistics-offline .statistics-studio{padding:16px}.statistics-actions{display:grid}.statistics-bar-row{grid-template-columns:58px minmax(0,1fr) 58px;font-size:.8rem}}
@media(prefers-color-scheme:light){.statistics-offline{background:#f0f4f6;color:#152d3a;--soft:#e5eef1;--line:#81949d}.statistics-offline .statistics-studio{background:#fff}.statistics-offline input,.statistics-offline select,.statistics-offline textarea{background:#f8fbfc;color:#152d3a}.statistics-offline .field-help{color:#334b58}.statistics-offline .statistics-bar{background:#34765d}.statistics-offline .statistics-bar-row[data-group=B] .statistics-bar{background:#6756a2}}

.python-foundations-card .course-symbol{background:#fff;color:#274969}.python-foundations-card .course-art{background:linear-gradient(140deg,#263e58,#305e77)}.python-foundations-card .course-tag{color:#ffe398}.python-foundations-hero{background:linear-gradient(135deg,var(--panel),var(--green-soft))}.python-practice{margin:28px 0}.python-practice h2{margin-bottom:16px}.python-practice h3{margin:24px 0 12px}.python-practice p{line-height:1.85}.python-practice .button{margin:12px 0;white-space:normal}.python-commands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.python-commands>div{min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px}.python-commands pre{margin:12px 0 0;overflow:auto}.python-setup details{border-bottom:1px solid var(--line);padding:14px 0}.python-setup summary{cursor:pointer;font-weight:700}.experiment-python .experiment-source{tab-size:4}@media(max-width:600px){.python-commands{grid-template-columns:minmax(0,1fr)}}
.login-bonus{margin-block:24px;background:linear-gradient(125deg,var(--panel),var(--green-soft));border-color:var(--line)}.login-bonus-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px}.login-bonus-heading h2{margin:9px 0 0;font-size:25px}.login-bonus-amount{display:flex;align-items:center;gap:7px;white-space:nowrap;color:var(--green);font-size:20px;font-weight:800}.login-bonus-status{font-weight:700;color:var(--green);margin-block:16px}.login-bonus-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-block:22px}.login-bonus-totals>div{padding:15px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}.login-bonus-totals dt{font-size:12px;color:var(--muted)}.login-bonus-totals dd{margin:8px 0 0;font-size:25px;font-weight:800}.login-bonus time{display:inline-block;margin-left:.35em}.login-bonus .field-help{margin-top:12px}@media(max-width:560px){.login-bonus-heading{align-items:flex-start;flex-wrap:wrap}.login-bonus-totals{grid-template-columns:1fr;gap:10px}.login-bonus-totals>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.login-bonus-totals dd{margin:0}.login-bonus-heading h2{font-size:23px}}
.login-bonus-notice{padding:16px 20px;margin:0 0 22px;border:1px solid var(--line);border-radius:14px;background:var(--green-soft);color:var(--green);font-weight:700}
.recall-workshop{margin:28px 0;scroll-margin-top:24px}
.recall-workshop>h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.3;margin:12px 0}
.recall-intro,.recall-workshop p{max-width:85ch;line-height:1.8}
.recall-cards{display:grid;gap:12px;margin:26px 0}
.recall-card{border:1px solid var(--line);border-radius:14px;background:var(--panel);min-width:0}
.recall-card>summary{display:flex;align-items:center;gap:14px;cursor:pointer;padding:18px;font-weight:650;min-height:56px;list-style:none}
.recall-card>summary::-webkit-details-marker{display:none}
.recall-card>summary::after{content:'+';margin-left:auto;font-size:1.4rem;flex-shrink:0}
.recall-card[open]>summary::after{content:'−'}
.recall-number{color:var(--green);background:var(--green-soft);border-radius:10px;padding:6px 9px;font-size:.8rem}
.recall-card-body{padding:0 20px 22px}
.recall-card fieldset{border:0;padding:0;display:grid;gap:10px;margin:20px 0;min-width:0}
.recall-option{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:10px;padding:13px;min-height:48px;cursor:pointer;line-height:1.65;font-size:.92rem}
.recall-option:has(input:checked){border-color:var(--green);background:var(--green-soft)}
.recall-option input{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:var(--green)}
.recall-feedback:empty{display:none}
.recall-feedback{padding:16px;border-left:4px solid var(--green);background:var(--green-soft);border-radius:8px;margin:18px 0}
.recall-card[data-recall-outcome=explore] .recall-feedback{border-left-color:var(--orange)}
.recall-explanation{margin:18px 0}
.recall-explanation>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:650}
.recall-transfer{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}
.recall-transfer h3,.recall-return h3{font-size:1rem;margin-bottom:8px}
.recall-card .text-link{margin-top:12px;display:inline-flex;min-height:44px;align-items:center}
.recall-return{padding:20px;border:1px solid var(--line);border-radius:14px;margin-top:24px;background:var(--green-soft)}
.recall-workshop :focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.recall-workshop button{white-space:normal;min-height:44px}
@media(max-width:440px){.recall-card-body{padding:0 14px 18px}.recall-card>summary{padding:15px;gap:10px}.recall-option{padding:11px;font-size:.88rem}}
.study-panel{margin:24px 0;border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:linear-gradient(120deg,var(--green-soft),var(--panel) 65%)}
.study-heading{display:flex;align-items:center;gap:14px;margin-bottom:14px}.study-heading h2{font-size:25px}.study-heading p{margin-top:5px}.study-symbol{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:15px;background:var(--panel);color:var(--green);border:1px solid var(--line)}
.study-panel p{font-size:14px;line-height:1.65}.study-links{display:flex;gap:14px 24px;flex-wrap:wrap;margin-top:16px}.study-panel .text-link{min-height:44px}.study-panel>.text-link{margin-top:10px}
#study-workspace>.field{max-width:620px;margin:20px 0}.study-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:18px}.study-step{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}.study-step h3{font-size:21px;line-height:1.3;margin:8px 0}.study-step .button{margin:16px 0 8px}.study-step>.text-link{display:flex;width:fit-content}.study-step progress{width:100%;height:8px;accent-color:var(--green);margin:10px 0 20px}.study-step .field-help{font-size:12px}.study-step [hidden]{display:none!important}
.recall-session{border:1px solid var(--line);border-radius:16px;padding:20px;margin:20px 0;background:var(--green-soft)}.recall-session h3{font-size:20px}.recall-session p{margin:10px 0;line-height:1.65}.recall-session-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.recall-session-actions button{min-height:44px}.recall-session [role=status]{font-size:14px}.recall-session-footer{margin-top:16px}.recall-session-footer[hidden],.recall-card[hidden]{display:none!important}.recall-session-end{padding:20px;background:var(--green-soft);border:1px solid var(--line);border-radius:16px;margin-top:16px}.recall-session-end h3{font-size:21px}.recall-session-end p{margin:12px 0}.recall-session-end a{min-height:44px}
@media(max-width:600px){.study-heading h2{font-size:22px}.study-step,.recall-session{padding:16px}.study-panel .button{width:100%;white-space:normal}.study-panel .field select{width:100%}}
.inventor-offline{margin:0;background:#f4f9f3;color:#163522;font-family:system-ui,sans-serif;--panel:#fff;--ink:#163522;--muted:#405a49;--line:#b7cfbb;--green:#14632e;--green-soft:#e0f4d7;--orange:#ae4d0b;--bg:#f4f9f3;padding:20px}
.inventors{max-width:1060px;margin:0 auto;color:var(--ink);line-height:1.7}
.inventors [hidden]{display:none!important}.inventors *{box-sizing:border-box}
.inventors button{font:inherit;color:var(--ink);cursor:pointer;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:10px 14px;min-height:48px;line-height:1.4}
.inventors button:disabled{cursor:default;opacity:.6}.inventors :focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.inventors summary{cursor:pointer;font-weight:700;min-height:48px;padding:10px 0}
.inventors h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.15;margin:12px 0}.inventors h2{font-size:1.5rem;line-height:1.3}.inventors h3{font-size:1.05rem;line-height:1.4;margin:16px 0 10px}
.inventor-intro{display:flex;align-items:center;gap:20px}.inventor-hero-crab{width:160px;flex-shrink:0}.inventor-hero-crab svg{width:100%}.inventor-intro p{font-size:1.15rem}
.inventor-scope{color:var(--muted);font-size:.9rem}.inventor-example,.inventor-guide,.inventor-paper,.inventor-download{border:1px solid var(--line);border-radius:18px;padding:20px;margin:22px 0;background:var(--panel)}
.inventor-print-guide{display:none}
.inventor-example-picture{display:flex;gap:20px;align-items:center;justify-content:center;max-width:310px;margin:auto}.inventor-example-picture>span{display:grid;text-align:center;place-items:center;min-width:70px}.inventor-example-picture svg{width:76px;height:62px}.inventor-example-picture b{font-size:2.6rem;color:var(--green)}
.inventor-missions,.inventor-audio,.inventor-edit{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.inventor-missions button[aria-pressed=true]{background:var(--green-soft);border:2px solid var(--green);font-weight:700}
.inventor-task{display:flex;gap:18px;align-items:center}.inventor-task p{font-size:1.12rem}.inventor-dragon{width:100px;flex-shrink:0}.inventor-dragon svg{width:100%}.inventor-audio{align-items:center}.inventor-audio p{font-size:.85rem;margin:0}
.inventor-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'plan map' 'test map';gap:12px 24px;margin:20px 0}.inventor-map,.inventor-program,.inventor-test{min-width:0}.inventor-program{grid-area:plan}.inventor-map{grid-area:map}.inventor-test{grid-area:test}
.inventor-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:420px;padding:10px;border:2px solid var(--green);border-radius:18px;background:var(--green-soft)}
.inventors .inventor-cell{position:relative;padding:4px;aspect-ratio:1;min-height:54px;border:2px solid var(--line);display:grid;place-items:center;background:var(--panel);border-radius:10px;opacity:1;min-width:0}.inventor-cell-number{position:absolute;top:1px;left:4px;font-size:.72rem;line-height:1.3;font-weight:700;color:var(--muted)}
.inventor-cell svg{width:65px;max-width:100%;height:55px;display:block}.inventor-cell [data-cell-piece]{display:flex;align-items:center;justify-content:center;width:100%;padding-top:9px;min-width:0}
.inventor-cell[aria-pressed=true]{border:3px dashed var(--orange)}.inventor-cell[data-current=true]{box-shadow:inset 0 0 0 2px var(--green)}.inventor-star{font-size:2.25rem;color:var(--orange);line-height:1}.inventor-rock{font-size:2.5rem;color:var(--muted);line-height:1}
.inventor-cell[data-current=true] .inventor-star{position:absolute;right:2px;bottom:2px;font-size:1.15rem}
.inventor-legend,.inventor-edit-help{font-size:.87rem;color:var(--muted)}
.inventor-arrows{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.inventor-arrows button{padding:8px 2px;display:grid;place-items:center;min-width:0}.inventor-arrows b{font-size:2rem;line-height:1.25}.inventor-arrows span{font-size:.78rem}
.inventor-queue{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:14px 0}.inventor-queue button{display:flex;gap:8px;align-items:center;padding:8px 12px}.inventor-queue b{font-size:1.4rem}.inventor-queue button[aria-pressed=true]{border:2px solid var(--orange);background:var(--green-soft)}.inventor-queue [data-failed=true]{border:3px dashed var(--orange)}
.inventor-edit button{font-size:.8rem}.inventors [data-inventor-step]{background:var(--green);color:var(--bg,#fff);font-weight:700;width:100%}
.inventor-result:empty{display:none}.inventor-result{padding:16px;border-left:5px solid var(--green);border-radius:12px;background:var(--green-soft)}
.inventor-history li{margin-bottom:10px}.inventor-history ol{padding-left:24px}.inventor-hint{margin:12px 0}
.inventor-crew{border:1px solid var(--line);border-radius:18px;padding:18px 22px;margin:20px 0;background:var(--panel)}.inventor-crew h2{margin:0}.inventor-crew p{margin:8px 0}.inventor-crew .journey-companion{margin:10px 0;padding:0;background:none;border:0}.inventor-crew .companion-art{width:84px;flex:0 0 84px}.inventor-crew .companion-art svg{max-height:126px;width:100%}
.inventor-missions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.inventor-missions button{display:flex;flex-direction:column;justify-content:space-between;gap:10px;text-align:left;min-width:0;padding:16px 12px}.inventor-missions strong{font-size:.95rem}.inventor-missions [data-mission-progress]{font-size:.78rem;color:var(--muted)}.inventor-missions [data-explored=true] [data-mission-progress]::before{content:'✓ ';font-weight:800}.inventor-session-progress{font-size:.88rem;color:var(--muted)}
.inventor-discovery{display:flex;align-items:flex-start;gap:18px;border:2px solid var(--green);background:var(--green-soft);border-radius:20px;padding:22px;margin:22px 0}.inventor-discovery-mark{font-size:2.8rem;line-height:1.4;color:var(--green)}.inventor-discovery h3{margin:0;font-size:1.25rem}.inventor-discovery p{margin:10px 0}.inventor-discovery button{margin-top:6px}.inventor-paper-challenges{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.inventor-paper-challenges article{min-width:0;break-inside:avoid}
@media(max-width:760px){.inventor-missions{grid-template-columns:repeat(2,minmax(0,1fr))}.inventor-paper-challenges{grid-template-columns:1fr}.inventor-discovery{padding:16px;gap:10px}.inventor-discovery-mark{font-size:2rem}.inventor-crew{padding:16px}}
@media print{.inventor-crew{display:none!important}.inventor-paper-challenges{display:block}.inventor-paper-challenges article{break-inside:avoid}}
.inventor-paper-cell{border:1px solid var(--muted);border-radius:8px;background:var(--panel);min-height:72px;display:grid;place-items:center;position:relative}.inventor-paper-cell>span:first-child{position:absolute;top:0;left:4px;font-size:.8rem}.inventor-paper-cell svg{width:65px;height:60px}.inventor-paper-board{margin:20px auto}.inventor-paper-arrows{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.inventor-paper-arrow{border:1px dashed var(--muted);display:grid;place-items:center;padding:6px;font-size:.8rem}.inventor-paper-arrow b{font-size:2.1rem;line-height:1.2}
.inventor-teaser{display:flex;gap:20px;align-items:center;border:2px solid var(--green);background:var(--green-soft);border-radius:18px;padding:20px;margin:20px 0}.inventor-teaser>span{width:100px;flex-shrink:0}.inventor-teaser svg{width:100%}.inventor-teaser h3{margin:5px 0}.inventor-teaser p{margin:8px 0 16px}
@media(max-width:760px){.inventor-workspace{grid-template-columns:1fr;grid-template-areas:'plan' 'map' 'test'}.inventor-board{margin:auto}.inventor-hero-crab{width:100px}.inventor-intro{gap:10px}.inventor-teaser{align-items:flex-start}.inventor-teaser>span{width:65px}}
@media(max-width:400px){.inventor-hero-crab{width:75px}.inventor-board{gap:5px;padding:6px}.inventors .inventor-cell{min-height:49px}.inventor-cell svg{height:42px}.inventor-example,.inventor-guide,.inventor-paper,.inventor-download{padding:14px}.inventor-dragon{width:68px}.inventor-teaser{padding:14px;gap:10px}.inventor-teaser>span{width:48px}}
@media print{body:has(#inventors){background:white!important;color:black!important}body:has(#inventors)>*{display:none!important}body:has(#inventors) .workspace{display:block!important}body:has(#inventors) .workspace>*{display:none!important}body:has(#inventors) .workspace main{display:block!important;margin:0!important;padding:0!important}body:has(#inventors) main{display:block!important;margin:0!important;padding:0!important}body:has(#inventors) main>:not(#inventors){display:none!important}#inventors{display:block!important;--panel:white;--ink:black;--muted:#333;--line:#777;--green:#222;--green-soft:white;--orange:#333;max-width:none!important}#inventors>*{display:none!important}#inventors>.inventor-intro,#inventors>.inventor-paper{display:block!important}.inventor-hero-crab,#inventors button{display:none!important}.inventor-paper,.inventor-guide{border:0;padding:0;margin:12px 0}.inventor-paper-board{max-width:360px;break-inside:avoid}.inventor-paper-arrows{break-inside:avoid}.inventor-print-guide{display:block!important}.inventor-paper-solution{display:none!important}.inventors h1{font-size:24pt}.inventors p{font-size:11pt}.inventor-offline{padding:0!important}}
.rust-workshop-card .course-art{background:linear-gradient(140deg,#402334,#853f39);color:#ffe3c1}.rust-workshop-card .course-symbol{background:#fff3df;color:#653127}.rust-workshop-card .course-tag{color:#ffe3c1}.rust-workshop-hero{background:linear-gradient(125deg,var(--panel),var(--orange-soft))}.rust2-practice{margin:28px 0}.rust2-practice h2{margin:12px 0 16px}.rust2-practice p{line-height:1.85}.rust2-practice pre{margin:20px 0;overflow:auto}.rust2-practice .button{margin:12px 0;white-space:normal}.rust2-setup-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:18px}
.git-foundations-card .course-art{background:linear-gradient(135deg,#193a51,#315d69);color:#e6f7ff}.git-foundations-card .course-symbol{background:#fff;color:#163e52}.git-foundations-card .course-tag{color:#e6f7ff}.git-foundations-hero{background:linear-gradient(125deg,var(--panel),var(--soft))}.git-practice{margin:28px 0}.git-practice h2,.git-practice h3{margin:12px 0 16px}.git-practice p{line-height:1.85}.git-practice .button{margin:20px 0 12px;white-space:normal}.git-system-list{display:grid;gap:14px;margin:22px 0}.git-system{border:1px solid var(--line);border-radius:16px;padding:18px;min-width:0}.git-system summary{cursor:pointer;font-weight:800;padding:4px 0}.git-system summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.git-system pre{overflow:auto;max-width:100%;margin:18px 0}.git-system p{overflow-wrap:anywhere}.git-setup{margin-top:28px}
.python-setup-windows-card .course-art,.python-setup-macos-card .course-art,.python-setup-ubuntu-card .course-art{background:linear-gradient(140deg,#244b68,#396f75);color:#effaff}.python-setup-windows-card .course-symbol,.python-setup-macos-card .course-symbol,.python-setup-ubuntu-card .course-symbol{background:#fff;color:#234759}.python-setup-windows-card .course-tag,.python-setup-macos-card .course-tag,.python-setup-ubuntu-card .course-tag{color:#effaff}.python-preparation,.python-preparation-choice{margin:26px 0}.python-preparation h2,.python-preparation h3,.python-preparation-choice h2{margin-bottom:16px}.python-preparation h3{margin-top:24px}.python-preparation p,.python-preparation-choice p{line-height:1.8}.python-preparation pre{overflow:auto;max-width:100%;margin:18px 0}.python-preparation .button{margin:20px 0 14px;white-space:normal}.python-preparation-install,.python-preparation-bonus{border:1px solid var(--line);border-radius:14px;padding:18px;margin:22px 0}.python-preparation summary{font-weight:750;padding:4px 0;cursor:pointer}.python-preparation details p{margin-top:16px}.python-preparation-links{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0}.python-preparation-links .button{white-space:normal}.python-preparation .field-help{margin-bottom:16px}
.web-foundations-card .course-art{background:linear-gradient(140deg,#243b69,#536786);color:#f4f8ff}.web-foundations-card .course-symbol{background:#fff;color:#243b69}.web-foundations-card .course-tag{color:#f4f8ff}.web-practice,.web-workshop{margin:26px 0}.web-practice p,.web-workshop p{line-height:1.8}.web-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.web-controls label{display:grid;gap:8px;font-weight:700;min-width:0}.web-controls select{width:100%;min-width:0}.web-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:22px 0}.web-steps li{padding:16px;border:1px solid var(--line,#a9babe);border-radius:14px;font-weight:700;overflow-wrap:anywhere}.web-result{margin-top:24px}.web-result textarea{width:100%;box-sizing:border-box;min-height:240px;font:inherit;line-height:1.65}.web-actions{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0}.web-actions button{white-space:normal}.web-practice details{padding:18px;border:1px solid var(--line,#a9babe);border-radius:14px;margin:22px 0}.web-practice summary{font-weight:750;cursor:pointer}.web-practice pre{overflow:auto}.web-offline{margin:0;background:#f4f8fa;color:#142d36;font:17px/1.7 system-ui,sans-serif}.web-offline main{max-width:1040px;margin:auto;padding:24px}.web-offline .panel{padding:24px;background:#fff;border:1px solid #b4c6ca;border-radius:20px}.web-offline select,.web-offline textarea,.web-offline button{font:inherit;color:inherit;padding:12px;background:#fff;border:1px solid #688a94;border-radius:8px}.web-offline button{cursor:pointer}.web-offline button:disabled{opacity:.5;cursor:default}.web-offline :focus-visible{outline:3px solid #9e4b09;outline-offset:3px}.web-offline [hidden]{display:none!important}@media(max-width:650px){.web-controls,.web-steps{grid-template-columns:1fr}.web-offline main{padding:16px}.web-offline .panel{padding:18px}}@media(prefers-color-scheme:dark){.web-offline{background:#0d1d24;color:#ecf5f8}.web-offline .panel,.web-offline select,.web-offline textarea,.web-offline button{background:#152f3a;color:#ecf5f8;border-color:#708e98}.web-offline :focus-visible{outline-color:#ffd097}}
.html-foundations-card{background:#102e48;color:#fff}.html-foundations-card .course-symbol{background:#fff;color:#102e48}.html-workshop{margin-block:1.5rem}.html-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-block:1.25rem}.html-preview{padding:1.3rem;border:1px solid var(--border);border-radius:1rem;background:#fff;min-width:0}.html-review{padding:1rem;border-left:3px solid #269787;margin-block:1.2rem}.html-review li{margin-block:.55rem;overflow-wrap:anywhere}.html-workshop [data-html-feedback]{margin-top:1rem}@media(max-width:650px){.html-preview{padding:.85rem}.html-actions .button{width:100%;text-align:center}}
.css-foundations-card{background:#20366b;color:#fff}.css-foundations-card .course-symbol{background:#fff;color:#20366b}.css-actions{display:flex;align-items:end;flex-wrap:wrap;gap:1rem;margin-block:1.2rem}.css-actions label{flex:1;min-width:12rem}.css-actions select{width:100%}.css-rail{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:.8rem;background:#fff}.css-rail iframe{display:block;max-width:none;border:0}.css-workshop [data-css-result]>h3{margin-top:1.5rem}.css-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:1.2rem}.css-metrics div{padding:.85rem;border:1px solid var(--line);border-radius:.6rem;overflow-wrap:anywhere}.css-metrics dt{font-weight:700}.css-metrics dd{margin:.4rem 0 0}.css-contrast{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.css-color-fields{display:flex;flex-wrap:wrap;gap:1.5rem;margin-block:1rem}.css-color-fields label{display:flex;align-items:center;gap:.8rem}.css-color-fields input{width:4rem;height:3rem;padding:.2rem}.css-workshop [data-css-feedback]{margin-block:1rem}@media(max-width:650px){.css-workshop [data-css-result]>h3{margin-top:1.5rem}.css-metrics{grid-template-columns:1fr}.css-actions .button{width:100%;text-align:center}}
.javascript-foundations-card{background:#f3cc54;color:#25230f}.javascript-foundations-card .course-symbol{background:#fff;color:#5a4810}.js-practice{margin-block:1.5rem}.js-project-demo{margin-top:1.5rem}.js-project-demo>summary{font-weight:700;cursor:pointer;padding:1rem 0}.js-studio{padding:1.25rem;border:1px solid var(--line,#aebfcc);border-radius:1rem;margin-top:1rem;min-width:0}.js-studio h2,.js-studio h3{margin-bottom:1rem}.js-studio p{margin-block:.9rem;line-height:1.7;overflow-wrap:anywhere}.js-studio form{margin-block:1.5rem}.js-fields{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1rem}.js-studio label{display:flex;flex-direction:column;gap:.5rem;font-weight:600;min-width:0}.js-studio input,.js-studio select{width:100%;max-width:100%;min-width:0;padding:.7rem;border:1px solid var(--line,#aebfcc);border-radius:.5rem;background:var(--panel,#fff);color:var(--ink,#15364c);font:inherit}.js-studio button{border:1px solid var(--green,#1d5e55);border-radius:.6rem;background:var(--panel,#fff);color:var(--ink,#15364c);padding:.7rem 1rem;min-height:44px;font:inherit;cursor:pointer;overflow-wrap:anywhere;max-width:100%}.js-studio button:disabled{opacity:.6;cursor:default}.js-studio :focus-visible{outline:3px solid var(--orange,#a13c00);outline-offset:3px}.js-studio input[aria-invalid=true]{border:2px solid var(--orange,#a13c00)}.js-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-block:1.5rem}.js-stats>div{padding:1rem;background:var(--soft,#eef4f7);border-radius:.7rem;overflow-wrap:anywhere}.js-stats dt{font-size:.85rem}.js-stats dd{font-size:1.7rem;font-weight:700;margin:.5rem 0 0}.js-task-list{padding:0;list-style:none;margin-block:1rem}.js-task-list li{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;border-bottom:1px solid var(--line,#aebfcc);padding:1rem 0}.js-task-list li>span{flex:1 1 100%;font-weight:600;overflow-wrap:anywhere}.js-task-list button[aria-pressed=true]{background:var(--green-soft,#d9eee5)}.js-suggestions{border-top:1px solid var(--line,#aebfcc);margin-top:1.5rem;padding-top:1.5rem}.js-studio .js-check{flex-direction:row;align-items:flex-start;font-size:.9rem;margin-top:1rem}.js-check input{width:1.2rem;height:1.2rem;flex:0 0 1.2rem}.js-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-block:1rem}.js-suggestions[aria-busy=true]{border-top-color:var(--orange,#a13c00)}.js-offline{margin:0;background:#f1f6fa;color:#15364c;font:16px/1.7 system-ui,sans-serif}.js-offline *{box-sizing:border-box}.js-offline main{max-width:960px;margin:auto;padding:2rem 1rem}.js-offline pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:1rem;background:#fff;border:1px solid #aebfcc;border-radius:.7rem}.js-offline h1{line-height:1.2;overflow-wrap:anywhere}.js-offline [hidden]{display:none!important}.js-offline a{color:#07598a}.js-offline label{display:block;margin:.8rem 0}.js-offline input,.js-offline button,.js-offline select{font:inherit;max-width:100%}.js-offline #sample-form{padding:1rem;border:1px solid #aebfcc;border-radius:.6rem}.js-offline #sample-form input{display:block;width:100%;padding:.5rem}.js-offline #lesson-action,.js-offline #sample-form button{padding:.7rem 1rem}.js-offline :focus-visible{outline:3px solid #a13c00;outline-offset:3px}@media(max-width:650px){.js-fields,.js-stats{grid-template-columns:minmax(0,1fr)}.js-studio{padding:1rem}.js-actions>button{flex:1 1 100%}.js-task-list button{flex:1 1 100%}}
.git-collaboration-card{background:#9bdcd1;color:#133b34}.git-collaboration-card .course-symbol{background:#fff;color:#174a40}.team-practice{margin-block:1.5rem}.team-practice>pre{white-space:pre-wrap;overflow-wrap:anywhere;margin-block:1rem}.team-workshop{margin-block:1.5rem;padding:1.5rem;border:1px solid var(--line,#aec7be);border-radius:1rem;min-width:0}.team-workshop p{line-height:1.7;overflow-wrap:anywhere}.team-workshop label{display:block;font-weight:700;margin-block:1rem .5rem}.team-workshop select,.team-workshop textarea{width:100%;min-width:0;max-width:100%;padding:.8rem;border:1px solid var(--line,#aec7be);border-radius:.6rem;background:var(--panel,#fff);color:var(--ink,#15382e);font:inherit}.team-workshop select{height:auto;min-height:48px;white-space:normal}.team-workshop article{padding:1.25rem;background:var(--soft,#edf5ef);border-radius:.8rem;margin-block:1.25rem}.team-workshop pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;line-height:1.6;padding:1rem;border:1px solid var(--line,#aec7be);border-radius:.6rem;background:var(--panel,#fff);color:var(--ink,#15382e)}.team-workshop button{padding:.8rem 1rem;min-height:44px;border:1px solid var(--green,#1e604e);border-radius:.7rem;background:var(--panel,#fff);color:var(--ink,#15382e);font:inherit;cursor:pointer;max-width:100%;overflow-wrap:anywhere}.team-workshop button:disabled{opacity:.55;cursor:default}.team-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-block:1.2rem}.team-workshop textarea{min-height:14rem;resize:vertical;font-family:ui-monospace,monospace;font-size:.85rem}.team-workshop :focus-visible{outline:3px solid var(--orange,#a74700);outline-offset:3px}.team-result{border-top:2px solid var(--line,#aec7be);padding-top:1rem;margin-top:1.5rem}.team-offline{margin:0;background:#f3f7f4;color:#15382e;font:16px/1.7 system-ui,sans-serif}.team-offline *{box-sizing:border-box}.team-offline main{max-width:900px;margin:auto;padding:1rem}.team-offline [hidden]{display:none!important}.team-offline h1{line-height:1.25;overflow-wrap:anywhere}@media(max-width:650px){.team-workshop{padding:1rem}.team-workshop article{padding:.8rem}.team-actions>button{flex:1 1 100%}}
.sql-foundations-card{background:#c5b4ef;color:#302048}.sql-foundations-card .course-symbol{background:#fff;color:#302048}.sql-practice{margin-block:1.5rem}.sql-practice pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:1rem;background:var(--soft);border:1px solid var(--line);border-radius:.8rem;line-height:1.65}.sql-practice p{line-height:1.7;margin-block:1rem}.sql-practice details{margin-block:1.2rem}.sql-practice summary,.learning-review summary{cursor:pointer;font-weight:800;min-height:44px;padding-block:.6rem}.sql-practice summary:focus-visible,.learning-review summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.curriculum-notice{margin-block:1.5rem;padding:1.4rem 1.6rem;border-inline-start:4px solid var(--green);background:var(--panel);border-radius:.8rem}.curriculum-notice h2{font-size:1.15rem;line-height:1.4}.curriculum-notice p{margin-block:.6rem;line-height:1.7}.learning-review{margin-block:1.5rem}.learning-review p,.curriculum-policy p{line-height:1.8;margin-block:1rem;overflow-wrap:anywhere}.learning-review h3{margin-top:1.2rem}.curriculum-policy li{margin-block:.7rem}.curriculum-policy{margin-block:1.5rem}@media(max-width:650px){.curriculum-notice{padding:1rem}.sql-practice pre{font-size:.82rem}}

.curriculum-policy h3{margin-top:1.8rem}.curriculum-sources{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.curriculum-policy .curriculum-sources li{margin:0;padding:1.1rem;border:1px solid var(--line);border-radius:.8rem;background:var(--soft);min-width:0}.curriculum-sources a{display:inline-block;font-weight:800;line-height:1.5;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:.2em}.curriculum-sources p{margin-bottom:0}.lesson-references{margin-block:1.5rem}.lesson-references li{margin-block:.8rem;line-height:1.7;overflow-wrap:anywhere}@media(max-width:650px){.curriculum-sources{grid-template-columns:1fr}}
/* All card bodies use a matched foreground/background pair in both themes.
   Course-specific artwork remains colorful; body colors never inherit it. */
.course-card .course-body{background:var(--panel);color:var(--ink);padding:24px 24px 0;min-width:0}
.course-card .course-body h3{color:var(--ink);line-height:1.4;overflow-wrap:anywhere}
.course-card .course-body>p,.course-card .course-topic,.course-card .course-meta{color:var(--muted)}
.course-card .course-body>p{font-size:1rem;line-height:1.75}
.course-card .availability{font-size:.7rem;letter-spacing:.08em;line-height:1.6}
.course-card .availability.live,.course-card .course-link{color:var(--green)}
.course-card .course-link{font-size:.95rem;min-height:52px;align-items:center;line-height:1.5}
.course-card .course-topic{font-size:.85rem;line-height:1.6}
.course-card .course-meta{font-size:.82rem;flex-wrap:wrap}
.course-card .course-guidance{border:1px solid var(--line);background:var(--soft);color:var(--ink);padding:.75rem;border-radius:.6rem}
.course-card :focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.lesson-content p,.lesson-explanation p{line-height:1.85}
@media(max-width:420px){.course-card .course-body{padding:20px 20px 0}}
/* Original local RPG paintings, SVG palette regions and motion-aware presentation. */
.character-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 12px}.character-tabs[hidden],[data-character-panel][hidden]{display:none!important}.character-tabs button{flex:1;min-height:48px;padding:12px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink);font:inherit;font-weight:750;cursor:pointer}.character-tabs [aria-selected=true]{background:var(--green-soft);border-color:var(--green);box-shadow:inset 0 -3px var(--green)}.character-tabs button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.character-layout .junior-gallery{padding:0;margin:0;background:none}.character-layout .junior-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.character-layout .junior-heading h2{font-size:24px}.character-layout .junior-card-copy{padding:14px}.character-layout .junior-card h3{font-size:1rem}.character-layout .junior-card p{font-size:.83rem}.character-customize{position:sticky;top:90px}
@media(max-width:900px){.character-customize{position:static}}
@media(max-width:600px){.character-layout .junior-grid{grid-template-columns:1fr}.character-tabs button{font-size:.9rem;padding:12px 8px}}
.junior-gallery{margin-block:28px;padding:clamp(18px,3vw,36px);background:radial-gradient(ellipse at top right,var(--green-soft),transparent 65%),var(--panel)}
.junior-heading{max-width:72ch;margin-bottom:26px}.junior-heading h2{font-size:clamp(25px,3vw,36px);line-height:1.2;margin:14px 0}.junior-heading p{line-height:1.8}
.junior-badge{display:inline-block;border:1px solid var(--line);border-radius:999px;background:var(--orange-soft);color:var(--ink);padding:6px 12px;font-size:.78rem;font-weight:750;line-height:1.5}
.junior-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.junior-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--panel)}
.junior-portrait-link{display:block;position:relative;background:var(--soft);border-radius:19px 19px 0 0}
.junior-portrait-link:focus-visible{outline:4px solid var(--orange);outline-offset:-5px}
.junior-portrait-link img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}
.junior-enlarge{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:var(--panel);color:var(--ink);box-shadow:0 2px 12px #0003;font-size:.78rem;font-weight:750}
.junior-enlarge .icon{width:17px;height:17px}.junior-portrait-link:hover .junior-enlarge{background:var(--green-soft)}
.junior-card-copy{padding:20px}.junior-card-copy .eyebrow{font-size:.66rem;letter-spacing:.08em;line-height:1.7;overflow-wrap:anywhere}.junior-card h3{font-size:1.22rem;line-height:1.3;margin:9px 0 12px}.junior-card p{font-size:.9rem;line-height:1.75}
.junior-card details{margin-top:14px;border-top:1px solid var(--line);padding-top:4px}.junior-card summary{min-height:44px;padding-block:10px;color:var(--green);font-size:.87rem;font-weight:750}.junior-card details p{padding-block:4px 8px}
.junior-preview-note{font-size:.85rem;line-height:1.75;margin-top:24px}.junior-gallery>.text-link{display:inline-flex;margin-top:14px;min-height:44px;align-items:center;line-height:1.6}
.junior-select{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px;margin-top:18px;border:1px solid var(--line);border-radius:12px;cursor:pointer;color:var(--ink);font-size:.9rem;font-weight:700;background:var(--soft)}.junior-select input{width:20px;height:20px;flex-shrink:0;margin:0}.junior-select:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:3px}.junior-card:has([data-junior-choice]:checked){border-color:var(--green);box-shadow:0 0 0 2px var(--green)}.junior-select:has(input:checked){background:var(--green-soft)}.junior-save-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:24px}.junior-save-actions .quiet-button{min-height:44px}#junior-feedback{margin-top:12px;font-size:.9rem;line-height:1.7}.avatar-junior{overflow:hidden}
.junior-dialog{width:min(920px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:24px;background:var(--panel);color:var(--ink);box-shadow:0 24px 100px #0007;overscroll-behavior:contain}
.junior-dialog:not([open]){display:none}.junior-dialog::backdrop{background:#06140ed9}
.junior-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;position:sticky;top:0;background:var(--panel);border-bottom:1px solid var(--line);z-index:1}.junior-dialog-bar button{min-width:64px;min-height:44px;padding:8px}
.junior-dialog-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center}.junior-dialog-body>img{display:block;width:100%;height:auto;aspect-ratio:2/3}.junior-dialog-copy{padding:clamp(20px,3vw,36px)}.junior-dialog-copy h2{font-size:clamp(24px,3vw,32px);line-height:1.2}.junior-dialog-copy p{margin-top:18px;line-height:1.8}
@media(max-width:600px){.junior-grid{grid-template-columns:minmax(0,1fr);gap:24px}.junior-card{max-width:400px;width:100%;justify-self:center}.junior-dialog-body{grid-template-columns:1fr}.junior-dialog-body>img{max-height:65dvh;object-fit:contain;background:var(--soft)}.junior-dialog-bar{padding:8px 12px;gap:8px}.junior-dialog-bar .junior-badge{font-size:.7rem}.junior-dialog{border-radius:16px}.junior-card-copy{padding:18px}}
.avatar-figure{display:block;width:100%;height:auto;overflow:visible}
.avatar-bob{animation:character-float 5s ease-in-out infinite;transform-origin:center}
.avatar-tool{animation:character-tool 6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 85%}
.avatar-energy{animation:character-energy 4s ease-in-out infinite}
.avatar-cape{animation:character-cape 5s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 0}
@keyframes character-float{50%{transform:translateY(-5px)}}
@keyframes character-tool{50%{transform:rotate(3deg)}}
@keyframes character-energy{50%{opacity:.45}}
@keyframes character-cape{50%{transform:skewX(2deg)}}
.character-studio{margin-block:28px;padding:clamp(20px,3vw,36px)}
.character-heading{max-width:76ch;margin-bottom:28px}
.character-heading h2{font-size:clamp(25px,3vw,34px);line-height:1.25;margin:10px 0 16px}
.character-heading p,.character-note{line-height:1.8}
.character-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.45fr);gap:28px;align-items:start}
.character-layout fieldset{border:0;padding:0;margin:0;min-width:0}
.character-layout legend{font-weight:750;margin-bottom:18px;line-height:1.5}
.character-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.character-class{min-width:0;border:1px solid var(--line);border-radius:16px;padding:12px 10px;background:var(--soft)}
.character-class h3{font-size:1rem;text-align:center;margin:0 0 12px}
.character-class-options{display:grid;grid-template-columns:1fr;gap:12px}
.character-class>p{font-size:.78rem;line-height:1.6;text-align:center;margin:12px 0 2px}
.character-option{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;border:2px solid var(--line);border-radius:13px;background:var(--panel);min-width:0;padding:10px 4px 12px;text-align:center;transition:border-color .15s,box-shadow .15s}
.character-option:has(input:checked){border-color:var(--green);box-shadow:0 0 0 2px var(--green-soft);background:var(--green-soft)}
.character-option:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:4px}
.character-option input{position:absolute;top:10px;left:10px;width:17px;height:17px;accent-color:var(--green);z-index:1}
.character-option-art{display:block;width:100%;max-width:175px;margin-top:8px}
.character-option-name{font-size:.8rem;font-weight:750;line-height:1.5;overflow-wrap:anywhere;padding-inline:5px}
.character-note{margin-top:20px;font-size:.9rem;color:var(--muted)}
.character-customize{border:1px solid var(--line);border-radius:18px;background:var(--soft);padding:20px;position:sticky;top:24px}
.character-preview{padding:5px 0 16px;text-align:center}
.character-preview [data-character-preview]{max-width:230px;margin:auto}
.character-preview p{font-weight:750;font-size:.9rem;line-height:1.5;color:var(--ink)}
.character-colors{margin-top:16px!important}
.character-color-row{margin-bottom:16px}
.character-color-row label{font-size:.9rem;font-weight:650;display:block;margin-bottom:8px}
.character-color-row>div{display:flex;gap:10px;min-width:0}
.character-color-row input[type=color]{width:44px;min-width:44px;height:44px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--panel);cursor:pointer}
.character-color-row input[type=text]{width:100%;min-width:0;font:600 .95rem ui-monospace,monospace;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px}
.character-color-row input[aria-invalid=true]{outline:2px solid var(--orange)}
#character-hex-help{font-size:.8rem;line-height:1.7}
.character-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.character-actions .button{width:100%;font-size:.85rem}
.character-actions .quiet-button{font-size:.82rem;padding:12px 0}
.character-customize>.text-link{margin-top:16px;font-size:.85rem;line-height:1.5}
#character-feedback{font-size:.85rem;line-height:1.7;margin-top:10px;color:var(--ink)}
.character-portrait{width:150px;max-width:100%}
.expedition-party{margin:28px 0;padding:clamp(22px,3vw,36px);border:1px solid var(--line);border-radius:24px;background:radial-gradient(ellipse at 80% 80%,var(--green-soft),transparent 65%),var(--panel);display:grid;grid-template-columns:minmax(230px,.85fr) minmax(0,1.5fr);gap:22px;align-items:center;overflow:hidden}
.party-copy h2{font-size:clamp(24px,2.6vw,34px);line-height:1.2;margin:14px 0}
.party-copy p{line-height:1.8;margin-bottom:22px}
.party-copy>.text-link{display:flex;margin-top:20px}
.party-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;align-items:end}
.party-character{min-width:0;text-align:center;padding:6px;display:block;border-radius:14px}
.party-character:nth-child(2){padding-bottom:32px;--avatar-skin:#E1AC87;--avatar-eyes:#A076D7}
.party-character:nth-child(3){--avatar-skin:#734C3C;--avatar-eyes:#EFBB67}
.party-character strong{display:block;font-size:.95rem;color:var(--ink)}
.party-character small{display:block;color:var(--muted);font-size:.75rem;line-height:1.6;margin:8px auto 0;max-width:19ch}
.party-character:hover{background:var(--green-soft)}
.journey-companion{display:flex;align-items:center;gap:18px;border:1px solid var(--line);padding:12px 22px;border-radius:18px;background:var(--panel);margin:20px 0;color:var(--ink)}
.journey-companion .companion-art{width:110px;flex:0 0 110px;min-height:100px}
.journey-companion strong{display:block;margin:8px 0;font-size:1rem}
.journey-companion .text-link{font-size:.85rem}
.world-intro{border:1px solid var(--line);border-radius:24px;background:var(--panel);padding:clamp(18px,3vw,32px);margin:28px 0}
.world-intro-copy{max-width:75ch;margin-bottom:25px}
.world-intro-copy h2{font-size:clamp(26px,3vw,38px);line-height:1.2;margin:12px 0 16px}
.world-intro-copy p,.world-note{line-height:1.8}
.world-atlas{position:relative;margin-inline:-8px}
.world-art svg{display:block;width:100%;height:auto}
.world-land{position:absolute;width:19%;padding:12px;border:1px solid #7bb7ad;border-radius:12px;background:#102b3df5;color:#eefbf4;box-shadow:0 8px 24px #07192655;line-height:1.4;transition:transform .2s}
.world-land:hover{transform:translateY(-4px);background:#1f4c57}
.world-land span{display:block;color:#b2edd4;font-size:.7rem;letter-spacing:.15em}
.world-land strong{display:block;font-size:clamp(.8rem,1.1vw,1rem);margin:5px 0}
.world-land small{display:block;color:#b8d8dc;font-size:.72rem}
.world-land-0{left:5%;top:65%}.world-land-1{left:28%;top:43%}.world-land-2{left:49%;top:64%}.world-land-3{left:66%;top:22%}.world-land-4{left:80%;top:61%}
.world-note{margin:20px 0;font-size:.9rem}
.world-legend{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:.82rem;color:var(--muted)}
.map-region-name,.map-order,.map-course-progress{display:none}
#level-catalog.map-mode{position:relative;border-radius:24px;padding:24px;background:radial-gradient(ellipse at 10% 15%,#2c6d6826,transparent 35%),radial-gradient(ellipse at 90% 50%,#8264b52a,transparent 40%),var(--soft);border:1px solid var(--line)}
.map-mode .catalog-group{margin-bottom:46px;scroll-margin-top:24px}
.map-mode .map-region-name{display:block;font-size:.85rem;color:var(--green);margin-bottom:10px;font-weight:750;letter-spacing:.05em}
.map-mode .course-grid{position:relative;gap:24px 28px;align-items:start}
.map-mode .course-grid::before{content:"";position:absolute;inset:25px 8% 10%;border:2px dashed var(--line);border-radius:45% 20%;pointer-events:none}
.map-mode .course-card{z-index:1;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 6px 0 color-mix(in srgb,var(--green-soft) 65%,transparent)}
.map-mode .course-card:nth-child(3n+2){margin-top:32px}
.map-mode .course-art{height:80px;background:var(--soft)}
.map-mode .course-symbol{width:44px;height:44px;border-radius:12px}
.map-mode .course-symbol .icon{width:26px;height:26px}
.map-mode .course-decoration,.map-mode .course-tag,.map-mode .course-orbit{display:none}
.map-mode .map-order{position:absolute;display:block;top:16px;left:16px;font:700 .8rem ui-monospace,monospace;color:var(--muted)}
.map-mode .course-card .course-body{padding:18px 18px 0}
.map-mode .course-body h3{font-size:1.05rem;margin:10px 0}
.map-mode .course-body>p:not(.course-guidance){display:none}
.map-mode .course-card .availability{font-size:.62rem}
.map-mode .course-meta{margin:15px 0}
.map-mode .map-course-progress{display:block;font-size:.8rem;color:var(--muted);margin:0 0 12px;line-height:1.6}
.map-mode .course-card[data-map-state=done]{border:2px solid var(--green)}
.map-mode .course-card[data-map-state=progress] .course-art{background:var(--green-soft)}
.map-mode .course-card[data-available="0"]{border-style:dashed}
.world-intro :focus-visible,.character-studio :focus-visible,.expedition-party :focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.reduced-motion .avatar-figure *{animation:none!important}
@media(prefers-reduced-motion:reduce){.avatar-figure *{animation:none!important}.world-land,.character-option{transition:none}}
@media(max-width:1100px){.character-layout{grid-template-columns:minmax(0,1fr) 240px;gap:18px}.character-options{grid-template-columns:1fr}.character-class-options{grid-template-columns:1fr 1fr}.character-class>p{margin-top:10px}.character-option-art{max-width:145px}.expedition-party{grid-template-columns:1fr}.party-roster{max-width:650px;margin:auto;width:100%}.map-mode .course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-mode .course-card:nth-child(3n+2){margin-top:0}.map-mode .course-card:nth-child(even){margin-top:24px}}
@media(max-width:760px){.world-atlas{margin:0}.world-lands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.world-land{position:static;width:auto;background:var(--soft);color:var(--ink);box-shadow:none;border-color:var(--line)}.world-land span,.world-land small{color:var(--muted)}.world-land strong{font-size:.9rem}.world-land:hover{background:var(--green-soft)}.world-land:last-child{grid-column:1/-1}.world-land:hover{transform:none}#level-catalog.map-mode{padding:16px}}
@media(max-width:540px){.character-layout{grid-template-columns:minmax(0,1fr)}.character-customize{position:static;padding:18px}.character-preview [data-character-preview]{max-width:200px}.character-class-options{grid-template-columns:repeat(2,minmax(0,1fr))}.character-class h3{font-size:1.15rem}.character-option-name{font-size:.85rem}.party-roster{grid-template-columns:repeat(3,minmax(0,1fr))}.party-character small{display:none}.party-character strong{font-size:.78rem}.party-character:nth-child(2){padding-bottom:18px}.expedition-party{padding:22px 16px}.map-mode .course-grid{grid-template-columns:minmax(0,1fr);padding-left:15px}.map-mode .course-card:nth-child(even){margin-top:0}.map-mode .course-grid::before{inset:0 auto 0 0;width:1px;border:0;border-left:2px dashed var(--green);border-radius:0}.map-mode .course-card .course-body{padding:20px 20px 0}.map-mode .course-art{height:70px}.world-legend{gap:10px 18px}.journey-companion{padding:12px;gap:10px}.journey-companion .companion-art{flex-basis:80px;width:80px}.catalog-view-switch .button{flex:1 1 100%}}

.world-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;margin-bottom:28px}.world-story .world-intro-copy{margin:0}.world-dragon{margin:0;text-align:center;padding:14px;border-radius:20px;background:radial-gradient(ellipse at 50% 40%,var(--green-soft),transparent 70%)}.world-dragon svg{max-width:360px;margin:auto}.world-dragon figcaption strong{display:block;font-size:1.08rem;line-height:1.5;color:var(--ink)}.world-dragon figcaption p{font-size:.85rem;line-height:1.7;margin-top:10px}.dragon-wing{animation:dragon-wing 6s ease-in-out infinite;transform-box:fill-box;transform-origin:85% 85%}.dragon-wing-back{transform-origin:15% 85%;animation-delay:-2s}@keyframes dragon-wing{50%{transform:rotate(4deg)}}@media(max-width:650px){.world-story{grid-template-columns:1fr;gap:14px}.world-dragon svg{max-width:300px}}

/* Cinematic portraits: one visible appearance per class. */
.avatar-figure{overflow:hidden;border-radius:12px;background:#07131e;aspect-ratio:2/3}
.avatar-bob{animation:portrait-breathe 8s ease-in-out infinite;transform-origin:50% 45%}
@keyframes portrait-breathe{50%{transform:scale(1.012) translateY(-2px)}}
.character-layout{grid-template-columns:minmax(0,1fr) 270px;gap:22px}
.character-class{background:var(--panel);border-radius:18px;padding:12px 8px}
.character-class-options{position:relative;display:block}
.character-option{padding:0 0 14px;overflow:hidden;border-radius:13px;background:#0b1724}
.character-option-art{max-width:none;margin:0;overflow:hidden;border-radius:10px 10px 0 0}
.character-option input{top:12px;left:12px;width:20px;height:20px;filter:drop-shadow(0 1px 3px #000)}
.character-option-name{display:block;width:100%;color:#f1f5fa;background:#0b1724;font-size:.82rem;min-height:45px;padding:14px 38px 0 8px}
.character-next{position:absolute;right:7px;bottom:9px;width:36px;height:36px;min-width:36px;display:grid;place-items:center;border:1px solid #accfc4;border-radius:50%;background:#19362f;color:#d6ffc4;cursor:pointer;z-index:2;transition:background .2s,transform .2s}
.character-next:hover{background:#305b49;transform:translateX(2px)}
.character-next .icon{width:19px;height:19px}
.character-next:disabled{opacity:.5;cursor:wait}
.character-option:has(input:checked){box-shadow:0 0 0 2px var(--green-soft),0 10px 30px #0002}
.character-preview [data-character-preview]{max-width:165px}
.character-preview{padding:0 0 8px}
.character-customize{padding:18px}
.character-colors{margin-top:8px!important}
.character-note{font-size:.85rem;margin-top:14px}
.character-class h3{letter-spacing:.04em;font-size:.88rem;margin-bottom:12px}
.character-portrait{width:165px;border-radius:16px;overflow:hidden}
.party-roster{gap:12px;align-items:center}
.party-character{padding:0;overflow:hidden;border:1px solid var(--line);background:var(--panel);box-shadow:0 12px 35px #0002}
.party-character:nth-child(2){padding:0;transform:translateY(-12px)}
.party-character .avatar-figure{border-radius:0;transition:transform .5s}
.party-character:hover .avatar-figure{transform:scale(1.025)}
.party-character strong{padding:14px 6px 0}
.party-character small{padding:0 7px 12px;font-size:.72rem}
.journey-companion .companion-art{width:90px;flex-basis:90px;min-height:135px}
.world-intro{padding:clamp(16px,2.5vw,30px);overflow:hidden;background:linear-gradient(145deg,var(--panel),var(--soft));box-shadow:0 16px 50px #0001}
.world-intro-copy h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.025em}
.world-atlas{margin:0;border-radius:18px;border:1px solid #466e80;overflow:hidden;background:#071522;box-shadow:0 12px 35px #020f2133}
.world-art img{display:block;width:100%;height:auto;aspect-ratio:3/2}
.world-lands{position:absolute;inset:0}
.world-land{width:20%;padding:9px 10px;border-radius:10px;background:#091827ed;border:1px solid #83afa8;box-shadow:0 5px 24px #02091799;backdrop-filter:blur(8px);color:#f4f8f5}
.world-land::before{content:'';position:absolute;top:-20px;left:calc(50% - 5px);width:10px;height:10px;background:#c6ee8c;border:2px solid #163a41;border-radius:50%;box-shadow:0 0 0 5px #e4ffa733,0 0 22px #b3ffd5}
.world-land strong{font-size:clamp(.7rem,1vw,.93rem);line-height:1.3;margin:3px 0}
.world-land small{font-size:.65rem}
.world-land-0{left:3%;top:66%}.world-land-1{left:26%;top:37%}.world-land-2{left:45%;top:66%}.world-land-3{left:62%;top:24%}.world-land-4{left:79%;top:61%}
.world-land:hover{background:#1b3e4a;transform:translateY(-3px)}
.world-land:focus-visible{outline-offset:-4px!important}
.world-dragon{padding:0;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.8fr);align-items:center;text-align:left;background:#0a1625;border:1px solid #435f6e;overflow:hidden;border-radius:18px;margin:28px 0 0;color:#e7eef8}
.dragon-scene{overflow:hidden;height:100%;min-height:260px;background:#081724}
.dragon-figure{display:block;width:100%;height:100%;min-height:260px;object-fit:cover;animation:dragon-breathe 12s ease-in-out infinite;transform-origin:58% 43%}
@keyframes dragon-breathe{50%{transform:scale(1.035)}}
.world-dragon figcaption{padding:clamp(20px,3vw,32px)}
.world-dragon figcaption strong{font-size:clamp(20px,2.2vw,27px);color:#edf9eb;line-height:1.3}
.world-dragon figcaption p{color:#c5d5df;font-size:.9rem;line-height:1.8;margin-top:14px}
#level-catalog.map-mode{margin-top:32px;background:radial-gradient(ellipse at 10% 10%,#358f7830,transparent 40%),radial-gradient(ellipse at 90% 65%,#65509424,transparent 50%),var(--soft)}
.map-mode .catalog-group{padding-top:12px}
.map-mode .course-grid::before{border-color:color-mix(in srgb,var(--green) 32%,transparent);border-width:2px}
.map-mode .course-card{box-shadow:0 10px 25px #0001;border-top:3px solid color-mix(in srgb,var(--green) 45%,var(--line))}
.map-mode .course-art{background:linear-gradient(125deg,var(--green-soft),var(--soft))}
.map-mode .map-order{font-size:.9rem}
.reduced-motion .avatar-bob,.reduced-motion .dragon-figure{animation:none!important}
.reduced-motion .party-character .avatar-figure{transition:none}
@media(prefers-reduced-motion:reduce){.avatar-bob,.dragon-figure{animation:none!important}.party-character .avatar-figure,.character-next{transition:none}}
@media(max-width:1200px){.character-layout{grid-template-columns:minmax(0,1fr)}.character-options{grid-template-columns:repeat(3,minmax(0,1fr))}.character-customize{position:static;display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px 24px;align-items:start}.character-preview{grid-row:1/5}.character-colors,.character-actions,#character-feedback,.character-customize>.text-link{grid-column:2}.character-actions{margin-top:0}.character-customize>.text-link{margin-top:0}.character-class-options{display:block}.character-option-art{max-width:none}}
@media(max-width:760px){.world-atlas{overflow:visible;background:transparent;border:0;box-shadow:none}.world-art{overflow:hidden;border-radius:12px;border:1px solid #466e80}.world-lands{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.world-land{position:static;width:auto;padding:12px;background:var(--panel);color:var(--ink);box-shadow:none;backdrop-filter:none;border-color:var(--line)}.world-land::before{display:none}.world-land span,.world-land small{color:var(--muted)}.world-land strong{font-size:.86rem}.world-land:hover{transform:none;background:var(--green-soft)}.world-land:last-child{grid-column:1/-1}.world-dragon{grid-template-columns:minmax(0,1fr)}.dragon-scene{min-height:0}.dragon-figure{min-height:0;height:auto;object-fit:contain}.world-dragon figcaption{padding:22px}}
@media(max-width:540px){.character-options{grid-template-columns:minmax(0,1fr);max-width:340px;margin:auto;gap:20px}.character-option-art{max-height:360px}.character-class{padding:14px}.character-class h3{font-size:1.1rem}.character-customize{display:block}.character-preview [data-character-preview]{max-width:190px}.character-colors{margin-top:20px!important}.character-customize>.text-link{margin-top:16px}.party-roster{gap:8px}.party-character strong{padding:10px 4px;font-size:.72rem}.party-character:nth-child(2){padding:0}.character-option-name{font-size:.92rem}.character-next{width:40px;height:40px;bottom:7px}.journey-companion{padding:12px;gap:12px}.journey-companion .companion-art{width:70px;flex-basis:70px;min-height:105px}}

.character-face-label{display:grid;gap:6px;text-align:left;margin-top:12px;font-size:.8rem;font-weight:650;color:var(--ink)}
.character-face-label select{width:100%;min-width:0;font-size:.86rem;padding:8px 12px}

/* Existing painting, articulated in SVG; the whole encounter stays beside the code. */
.hero-art{min-width:0;min-height:360px;max-width:560px;transform:none;margin:0;align-self:stretch}
.hero-encounter{position:absolute;inset:50% 0 auto;transform:translateY(-50%);display:grid;grid-template-columns:1.1fr 1fr;gap:2%;align-items:center;padding:0 20px 0 8px;width:100%;height:270px}
.crab-companion{position:relative;min-width:0}
.crab-bot{position:relative;width:100%;height:auto;aspect-ratio:3/2;right:auto;top:auto;transform:none;animation:crab-curious-hop 12s ease-in-out infinite;filter:drop-shadow(0 10px 9px #04151d40);z-index:1}
.crab-bot svg{display:block;width:100%;height:auto;overflow:visible}
.crab-shadow{position:absolute;left:17%;bottom:-5px;width:66%;height:14px;border-radius:50%;background:radial-gradient(ellipse,#32aebc35,transparent 70%);animation:crab-ground-shadow 12s ease-in-out infinite}
.hero-encounter .floating-code{position:relative;inset:auto;width:100%;min-width:0;transform:rotate(-4deg);animation:crab-code-float 7s ease-in-out infinite}
.hero-encounter .code-lines{font-size:clamp(10px,1.05vw,13px);padding:14px 12px}
.hero-encounter .window-dots{padding:10px 9px;gap:4px}.hero-encounter .window-dots span{font-size:9px}.hero-encounter .window-dots i{width:5px;height:5px}
.crab-pincer-left{transform-origin:470px 558px;animation:crab-servo-left 9s ease-in-out infinite}
.crab-pincer-right{transform-origin:1250px 559px;animation:crab-servo-right 11s ease-in-out infinite}
.crab-finger-left{transform-origin:590px 640px;animation:crab-grip-left 9s ease-in-out infinite}
.crab-finger-right{transform-origin:1178px 650px;animation:crab-grip-right 11s ease-in-out infinite}
.crab-reactor{animation:crab-reactor-glow 4s ease-in-out infinite}
.crab-eye-light{animation:crab-eye-focus 12s ease-in-out infinite}.crab-blink{opacity:0;animation:crab-eye-blink 8.5s linear infinite}
/* Quick entrance, with the original articulated painting. */
.crab-facing-code{animation:crab-quick-entry .45s ease-out both}
@keyframes crab-quick-entry{from{opacity:.15}to{opacity:1}}
@keyframes crab-curious-hop{0%,20%,44%,70%,100%{transform:translateY(0) rotate(0) scale(1)}25%{transform:translateY(3px) scale(1.025,.975)}31%{transform:translateY(-20px) rotate(-3deg)}37%{transform:translateY(2px) scale(1.02,.98)}58%{transform:translateY(-3px) rotate(2deg)}82%{transform:translateY(-4px) rotate(-1deg)}}
@keyframes crab-ground-shadow{0%,20%,44%,100%{transform:scale(1);opacity:.8}31%{transform:scale(.7);opacity:.35}37%{transform:scale(1.1);opacity:.9}}
@keyframes crab-servo-left{0%,25%,65%,100%{transform:rotate(0)}35%,48%{transform:rotate(5deg)}80%{transform:rotate(-3deg)}}
@keyframes crab-servo-right{0%,45%,80%,100%{transform:rotate(0)}55%,68%{transform:rotate(-4deg)}20%{transform:rotate(2deg)}}
@keyframes crab-grip-left{0%,25%,65%,100%{transform:rotate(0)}38%,46%{transform:rotate(16deg)}55%{transform:rotate(-5deg)}}
@keyframes crab-grip-right{0%,45%,85%,100%{transform:rotate(0)}58%,66%{transform:rotate(-15deg)}75%{transform:rotate(4deg)}}
@keyframes crab-eye-blink{0%,41%,44%,88%,91%,100%{opacity:0}42%,43%,89%,90%{opacity:1}}
@keyframes crab-eye-focus{0%,48%,100%{transform:translateX(0);opacity:.5}60%,82%{transform:translateX(-5px);opacity:.9}}
@keyframes crab-reactor-glow{0%,100%{opacity:.2}50%{opacity:.8}}
@keyframes crab-code-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-4px) rotate(-3deg)}}
.reduced-motion .hero-encounter,.reduced-motion .hero-encounter *{animation:none!important}
@media(prefers-reduced-motion:reduce){.hero-encounter,.hero-encounter *{animation:none!important}}
@media(max-width:1100px){.hero{grid-template-columns:1fr}.hero-art{width:100%;max-width:540px;height:300px;min-height:300px;justify-self:center;align-self:center;margin:0;transform:none}.hero-copy{padding:30px 30px 0}.hero-encounter .code-lines{font-size:13px}.hero-art .art-token{top:15px;left:40px}.hero-art .star-one{top:58px;left:20px}.hero-art .star-three{top:5px}.hero-art .success-bubble{bottom:12px;right:25px}.hero-art .art-caption{display:none}}
@media(max-width:560px){.hero-copy{padding:28px 24px 5px}.hero-art{height:250px;min-height:250px}.hero-encounter{height:200px;padding:0 18px 0 8px;gap:3%;grid-template-columns:1.05fr 1fr}.hero-encounter .code-lines{font-size:10px;padding:12px 8px}.hero-encounter .window-dots{padding:8px 6px;gap:3px}.hero-encounter .window-dots span{font-size:7px}.hero-encounter .window-dots i{width:4px;height:4px}.hero-art .art-token{top:6px;left:30px;padding:7px;border-width:3px}.hero-art .star-one{top:55px;left:10px;font-size:22px}.hero-art .star-three{top:10px}.hero-art .star-two{bottom:33px;right:13px;font-size:24px}.hero-art .success-bubble{bottom:10px;right:20px;padding:8px 10px;font-size:10px}}
.account-shortcut{flex-shrink:0;overflow:hidden}.account-shortcut [data-account-lock]{display:grid;place-items:center}.account-avatar{display:block;width:100%;height:100%;min-width:0;min-height:0;aspect-ratio:1;background:#091827}.account-avatar svg,.character-thumbnail svg{display:block;width:100%;height:100%;aspect-ratio:1;border-radius:0;animation:none!important}.account-avatar .avatar-bob,.character-thumbnail .avatar-bob{animation:none!important}.account-shortcut.has-character{border-color:var(--green)}
.character-thumbnail{display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;border-radius:50%;overflow:hidden;background:#091827;border:1px solid var(--line)}.character-placeholder{color:var(--green);background:var(--soft)}.ranking-row .ranking-profile{display:flex;align-items:center;gap:14px}.ranking-row .ranking-avatar,.ranking-row .ranking-identity{display:block;margin:0}.ranking-row .ranking-identity{min-width:0;color:var(--ink);font-size:16px}.ranking-row .ranking-identity>span{margin-top:3px}
@media(max-width:760px){.account-shortcut{display:grid;width:36px;height:36px}.topbar-actions{gap:7px}.topbar{padding-inline:12px}.theme-picker select{width:80px}.languages a{min-width:27px}.ranking-row .ranking-profile{gap:10px}.character-thumbnail{width:44px;height:44px}}
@media(max-width:380px){.topbar{gap:5px;padding-inline:10px}.topbar-actions{gap:5px}.theme-picker select{width:68px;padding-inline:4px}.languages a{min-width:24px}.menu-button{width:30px;height:34px}.account-shortcut{width:32px;height:32px}.xp-chip{font-size:10px;gap:2px}.xp-chip .icon{width:14px;height:14px}.ranking-row{gap:8px}.ranking-row .ranking-profile{gap:8px}.character-thumbnail{width:36px;height:36px}.ranking-row .ranking-identity{font-size:14px}}

.junior-card-art,.junior-card-art svg,[data-junior-detail-image] svg{display:block;width:100%;height:auto;aspect-ratio:2/3}.junior-card .character-face-label{display:block;margin:14px 0 0;font-size:.82rem}.junior-card .character-face-label select{display:block;width:100%;min-width:0;max-width:100%;min-height:44px;margin-top:6px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font:inherit}.character-layout .junior-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.character-layout:has(#junior-characters:not([hidden])){grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}[data-junior-detail-image]{min-width:0}#junior-original-colors{margin-top:8px;min-height:44px}@media(max-width:1100px){.character-layout:has(#junior-characters:not([hidden])){grid-template-columns:1fr}.character-customize{position:static}}@media(max-width:600px){.character-layout .junior-grid{grid-template-columns:1fr}}
/* Three presentations of the same curriculum; colors inherit the accessible light/dark theme. */
:root[data-identity=adventure]{--radius:26px}
:root[data-identity=lab]{--radius:14px}
:root[data-identity=studio]{--radius:8px}
:root[data-identity] .panel{border-radius:var(--radius)}
:root[data-identity=lab] .workspace{background-image:radial-gradient(var(--line) .8px,transparent .8px);background-size:24px 24px}
:root[data-identity=studio] .workspace{background-image:none}
:root[data-identity=studio] .hero,:root[data-identity=studio] .course-card,:root[data-identity=studio] .nav-link{border-radius:8px}
:root[data-identity=studio] .hero{box-shadow:none}
:root[data-identity=studio] .course-card:hover{transform:none}
:root[data-identity=studio] .hero-art *,:root[data-identity=studio] .experience-swatch *{animation:none!important}
:root[data-identity=adventure] .route-stop{border-radius:20px}
:root[data-identity=lab] .eyebrow{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}
.sidebar{overflow-y:auto}
.experience-home{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-block:28px;position:relative;overflow:hidden;border:1px solid var(--line)}
.experience-home h2{margin:10px 0 12px;max-width:25ch;font-size:clamp(25px,3vw,34px)}
.experience-home p{max-width:60ch}
.experience-home>.button{grid-column:1/-1;justify-self:start}
.experience-miniatures{display:flex;gap:10px;align-items:center}
.experience-miniatures>span{display:grid;place-items:center;width:52px;height:60px;background:var(--green-soft);border:1px solid var(--line);border-radius:18px;transform:rotate(-8deg);color:var(--green)}
.experience-miniatures>span:nth-child(2){transform:translateY(-12px);border-radius:10px;background:var(--orange-soft);color:var(--orange)}
.experience-miniatures>span:nth-child(3){transform:rotate(8deg);border-radius:5px}
.experience-intro{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:28px;align-items:center;margin-bottom:30px}
.experience-intro h1{max-width:19ch;margin:12px 0 20px}
.experience-intro p{max-width:66ch;font-size:1.08rem;line-height:1.8}
.experience-intro .experience-welcome{font-size:.9rem;margin-top:14px}
.experience-mascot{filter:drop-shadow(0 16px 18px #164b1617)}
.experience-mascot svg{width:100%;height:auto;display:block}
.experience-controls{padding:clamp(20px,3vw,36px);margin-bottom:28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.experience-controls fieldset{border:0;padding:0;margin:0;min-width:0}
.experience-controls legend{font-weight:750;font-size:1.05rem;margin-bottom:12px;line-height:1.5}
.experience-entry{grid-column:1/-1;max-width:680px}
.experience-entry>label{display:block;font-size:.85rem;font-weight:650;margin-bottom:8px}
.experience-entry select{width:100%;text-overflow:ellipsis}
.experience-help{font-size:.88rem;line-height:1.8;margin-top:10px;max-width:82ch}
.experience-styles{grid-column:1/-1}
.experience-style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.experience-style{cursor:pointer;border:2px solid var(--line);border-radius:18px;padding:16px;position:relative;background:var(--panel);display:flex;flex-direction:column;gap:12px;transition:border-color .18s,transform .18s;min-width:0;overflow-wrap:anywhere}
.experience-style>input{width:20px;height:20px;position:absolute;right:16px;top:16px;z-index:1}
.experience-style:has(input:checked){border-color:var(--green);box-shadow:0 0 0 2px var(--green-soft)}
.experience-style:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:4px}
.experience-style:hover{transform:translateY(-3px)}
.experience-style>strong{font-size:1.18rem;line-height:1.3}
.style-keywords{color:var(--green);font-weight:650;font-size:.8rem;line-height:1.8}
.style-description{color:var(--muted);font-size:.88rem;line-height:1.7}
.experience-swatch{height:138px;display:grid;place-items:center;position:relative;overflow:hidden;border-radius:12px;color:var(--green);background:var(--green-soft);margin:-2px -2px 3px}
.experience-swatch>.icon{width:52px;height:52px;z-index:1;background:var(--panel);padding:12px;border-radius:16px;box-sizing:content-box;border:1px solid var(--line)}
.swatch-orbit{position:absolute;width:125px;height:125px;border:2px dashed currentColor;border-radius:50%;opacity:.55;animation:experience-orbit 40s linear infinite}
.swatch-dot{position:absolute;right:22%;bottom:15px;width:14px;height:14px;background:var(--orange);border:3px solid var(--panel);border-radius:50%}
.experience-style-lab .experience-swatch{background-color:var(--soft);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:20px 20px}
.experience-style-lab .swatch-orbit{width:108px;height:108px;border-radius:16px;animation:none;transform:rotate(12deg)}
.experience-style-lab .experience-swatch>.icon{border-radius:8px;color:var(--orange)}
.experience-style-studio .experience-swatch{background:var(--soft);border-radius:4px}
.experience-style-studio .experience-swatch>.icon{border-radius:4px;box-shadow:8px 8px 0 var(--line)}
.experience-style-studio .swatch-orbit{border:0;border-radius:0;animation:none;transform:rotate(-12deg);width:90%;height:2px;background:var(--green)}
.experience-settings{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.experience-settings label{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-size:.9rem}
.experience-settings input{width:19px;height:19px;flex-shrink:0}
.experience-settings button{padding:10px 0;font-size:.9rem;min-height:44px}
.experience-controls>.experience-help,.experience-controls>#experience-status{grid-column:1/-1;margin-top:-14px}
#experience-status{font-size:.9rem;color:var(--green);min-height:1.6em}
.experience-controls>.button{justify-self:start;grid-column:1/-1}
.experience-world{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.7fr);gap:26px;align-items:center;margin-bottom:32px;overflow:hidden}
.experience-world h2{margin:10px 0 16px;font-size:clamp(23px,2.8vw,30px)}
.experience-world p{line-height:1.9;font-size:.95rem}
.experience-world img{width:100%;height:auto;border-radius:16px;border:1px solid var(--line)}
.experience-world details{margin-top:18px}
.experience-world summary{font-weight:700;min-height:44px;padding:10px 0;color:var(--green)}
.experience-world details p{margin:8px 0 12px}
.experience-recommendations .section-heading h2{font-size:clamp(27px,3vw,36px);margin:10px 0 14px}
.route-session-note{font-size:.9rem;margin:0 0 22px}
.experience-route{margin-bottom:26px;padding:clamp(20px,3vw,34px)}
.route-heading{display:flex;gap:20px;align-items:flex-start;margin-bottom:18px}
.route-age{display:grid;place-items:center;flex-shrink:0;min-width:64px;min-height:64px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--green-soft);color:var(--green);font-weight:800;font-size:1.05rem}
.route-heading h2{margin-bottom:14px;font-size:clamp(23px,2.7vw,31px)}
.route-heading p{line-height:1.8;max-width:78ch}
.route-objectives{margin-bottom:14px}
.route-objectives summary{font-size:.9rem;font-weight:700;padding:12px 0;min-height:44px}
.route-objectives ul{font-size:.93rem;line-height:1.9;padding-left:24px}
.route-support{display:flex;align-items:flex-start;gap:12px;font-size:.88rem;padding:16px;border:1px solid var(--line);background:var(--soft);border-radius:12px;line-height:1.8;margin-bottom:24px}
.route-support>.icon{margin-top:3px;color:var(--green)}
.route-depth>h3{font-size:1rem;margin-bottom:18px}
.route-depth>ol{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:12px}
.route-stop{border:1px solid var(--line);background:var(--panel);padding:18px;display:flex;gap:16px;align-items:flex-start;border-radius:12px;position:relative}
.route-stop-symbol{color:var(--green);background:var(--green-soft);display:grid;place-items:center;width:42px;height:42px;border-radius:12px;flex-shrink:0}
.route-stop-copy{flex:1;min-width:0}
.route-stop-copy h4{font-size:1.02rem;line-height:1.6;margin:5px 0 7px}
.route-stop-copy h4 a{display:inline-block;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line);min-height:44px;padding-block:8px}
.route-stop-copy h4 a:hover{color:var(--green);text-decoration-color:currentColor}
.route-stop-copy p{font-size:.88rem;line-height:1.8}
.route-stop-copy .eyebrow{font-size:.65rem}
.route-stop-progress{display:block;color:var(--muted);font-size:.8rem;margin-top:12px}
.route-stop progress{display:block;width:100%;height:8px;margin-top:12px;accent-color:var(--green)}
.route-stop-seal{color:var(--green);background:var(--green-soft);border:1px solid var(--green);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}
.route-complete{border-color:var(--green)}
.experience-reading h2{font-size:23px;margin-bottom:16px}
.experience-reading p{margin-bottom:14px;font-size:.93rem;line-height:1.8}
@keyframes experience-orbit{to{transform:rotate(360deg)}}
@media(max-width:1100px){.experience-style-grid{gap:10px}.experience-style{padding:14px}.experience-intro{grid-template-columns:minmax(0,1fr) 150px}.experience-world{grid-template-columns:1fr}.experience-world img{max-height:260px;object-fit:cover}}
@media(max-width:650px){.experience-home{grid-template-columns:1fr;gap:18px}.experience-miniatures{display:none}.experience-intro{grid-template-columns:1fr;gap:8px}.experience-intro>div:first-child{order:2}.experience-mascot{width:125px;justify-self:end;margin-top:-10px;margin-bottom:-25px}.experience-intro h1{font-size:34px}.experience-controls{grid-template-columns:1fr;gap:25px}.experience-style-grid{grid-template-columns:1fr}.experience-style{display:grid;grid-template-columns:80px minmax(0,1fr);column-gap:15px;padding:18px 16px}.experience-style>input{right:14px;top:14px}.experience-swatch{height:100%;min-height:115px;grid-row:1/4;margin:0}.experience-swatch>.icon{width:30px;height:30px;padding:10px}.swatch-orbit{width:70px;height:70px}.experience-style-lab .swatch-orbit{width:68px;height:68px}.experience-style>strong{padding-right:24px;font-size:1.1rem}.style-keywords{font-size:.75rem}.style-description{font-size:.83rem}.experience-settings{gap:8px}.experience-world img{max-height:210px}.route-heading{gap:12px}.route-age{min-width:52px;min-height:52px;padding:8px;font-size:.9rem}.route-heading h2{font-size:23px}.route-stop{padding:14px 12px;gap:10px;flex-wrap:wrap}.route-stop-symbol{width:30px;height:30px;border-radius:8px}.route-stop-symbol>.icon{width:18px;height:18px}.route-stop-copy{min-width:0}.route-stop-seal{position:absolute;right:10px;top:10px;width:24px;height:24px}.route-stop-seal>.icon{width:16px;height:16px}.route-complete .eyebrow{padding-right:22px}.route-stop-copy h4{font-size:.98rem}.route-stop-copy p{font-size:.84rem}.route-support{padding:12px;font-size:.84rem}}
@media(prefers-reduced-motion:reduce){.experience-swatch *{animation:none!important}.experience-style{transition:none}}
body.reduced-motion .experience-swatch *{animation:none!important}
body.reduced-motion .experience-style{transition:none}
.experience-current{grid-column:1/-1;padding:16px 20px;border-left:3px solid var(--green);background:var(--soft);color:var(--ink);line-height:1.8;border-radius:8px}
/* Full-width welcome. Learning pages keep their familiar navigation. */
.gateway-brand{display:none}
.gateway-nav-ready body[data-page=home] .workspace{margin-left:0}
.gateway-nav-ready body[data-page=home] .sidebar{width:250px;transform:translateX(-100%);transition:transform .2s}
.gateway-nav-ready body[data-page=home] .sidebar.open{transform:translateX(0)}
.gateway-nav-ready body[data-page=home] .sidebar.open:after{content:"";position:fixed;left:250px;top:0;width:calc(100vw - 250px);height:100dvh;background:#020b0ac4}
.gateway-nav-ready body[data-page=home] .menu-button{display:grid;width:44px;height:44px;place-items:center}
body[data-page=home] .gateway-brand{display:inline-flex;align-items:center;gap:9px;font-size:1rem;white-space:nowrap;color:var(--ink);text-decoration:none}
body[data-page=home] .breadcrumb{display:none}
body[data-page=home] main{max-width:1680px;padding-top:20px}
body[data-page=home] .topbar{max-width:1680px;margin:auto;border-bottom:0}
.home-portal.hero{--ink:#f2fff6;--muted:#bdd4ca;--green:#a1f876;--line:#99d0b435;--soft:#183c32;--panel:#102c25;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0;min-height:650px;min-height:min(760px,calc(100svh - 110px));border:1px solid #52775f;border-radius:26px;background:radial-gradient(ellipse at 77% 40%,#24614c90,transparent 50%),radial-gradient(ellipse at 25% 110%,#dd8a3015,transparent 60%),#051c19;color:var(--ink);box-shadow:0 20px 65px #001b1720;overflow:hidden}
.home-portal .portal-grid{background-image:linear-gradient(#9eddb509 1px,transparent 1px),linear-gradient(90deg,#9eddb509 1px,transparent 1px);background-size:52px 52px;opacity:1;mask-image:linear-gradient(90deg,transparent,#000)}
.home-portal .hero-copy{align-self:center;padding:62px 0 56px 52px;max-width:780px;z-index:2}
.home-portal .eyebrow{font-size:.68rem;letter-spacing:.13em;color:#b6d5c5;line-height:1.9}
.home-portal .portal-signal{background:#a1f876;box-shadow:0 0 12px #a1f876}
.home-portal h1{font-size:clamp(2.5rem,4.6vw,4.75rem);line-height:1.05;max-width:14ch;letter-spacing:-.055em;font-weight:760;margin:25px 0}
.home-portal h1 em{color:#a1f876;font-style:normal}
.home-portal .hero-copy>p{color:#bdd4ca;max-width:46ch;font-size:1rem;line-height:1.8}
.home-portal .hero-actions{gap:18px;flex-wrap:wrap;margin-top:28px}
.home-portal .button-dark{background:#a1f876;color:#102819;box-shadow:0 0 30px #a1f87225;border:1px solid #bafc9b;min-height:52px;font-size:.92rem}
.home-portal .button-dark:hover{background:#c1ff9c;transform:translateY(-2px)}
.home-portal .text-link,.home-portal .framework-link{color:#c3efaa}
.home-portal .hero-benefits{color:#bdd4ca;gap:16px;flex-wrap:wrap;font-size:.74rem}
.home-portal .hero-benefits .icon{color:#a1f876}
.home-portal .home-subjects a{background:#11382f;color:#d6f7e4;border-color:#52846d;min-height:44px}
.home-portal .portal-footer{background:#06171380;border-top:1px solid #99d0b425;padding:15px 28px;color:#bdd4ca;gap:15px;z-index:2;font-size:.72rem}
.home-portal .portal-motion{color:#d6f7e4;border-color:#52846d;background:#11382f;font-size:.75rem}
.home-portal .portal-motion[aria-pressed=true]{background:#a1f876;color:#102819}
.home-portal .hero-art.gateway-scene{position:relative;align-self:center;justify-self:center;width:100%;max-width:620px;min-height:0;height:auto;aspect-ratio:1;overflow:visible;margin:0;pointer-events:none;z-index:1;animation:none}
.gateway-halo{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,#a1f8761c,#45e5b510 35%,transparent 70%);filter:blur(12px)}
.gateway-circuits{position:absolute;inset:0;width:100%;height:100%;color:#62c09c66;stroke-width:1.4}
.gateway-floor{position:absolute;inset:55% -25% -10%;background-image:linear-gradient(#72d6ad28 1px,transparent 1px),linear-gradient(90deg,#72d6ad28 1px,transparent 1px);background-size:36px 36px;transform:perspective(280px) rotateX(58deg);mask-image:radial-gradient(ellipse,#000,transparent 68%)}
.gateway-ring{position:absolute;border-radius:50%;aspect-ratio:1;box-sizing:border-box}
.gateway-ring-outer{inset:8%;border:1px solid #b0f9ae70;outline:1px solid #b0f9ae25;outline-offset:12px;box-shadow:0 0 40px #7aec9c18,inset 0 0 40px #7aec9c18}
.gateway-ring-outer:before{content:"";position:absolute;inset:-3px;border:3px solid transparent;border-top-color:#a1f876;border-right-color:#a1f876;border-radius:50%;filter:drop-shadow(0 0 6px #a1f876)}
.gateway-ring-inner{inset:16%;border:2px dashed #84caae88}
.gateway-ring-core{inset:23%;border:5px solid #ffb65c;border-left-color:transparent;border-bottom-color:transparent;transform:rotate(-25deg);filter:drop-shadow(0 0 7px #ffb65c60)}
.gateway-emblem{position:absolute;inset:29% 27% 27%;border-radius:50%;background:radial-gradient(circle,#256249,#0e332b 65%);border:1px solid #94d9ad55;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 0 50px #63e69430;transform:translateY(-5%)}
.gateway-emblem img{width:64%;height:auto;filter:drop-shadow(0 8px 10px #0005)}
.gateway-emblem>span{font-size:clamp(.6rem,1vw,.8rem);letter-spacing:.38em;color:#c9e9cd;margin-top:8px;padding-left:.38em}
.gateway-node{position:absolute;display:flex;align-items:center;gap:8px;max-width:60%;padding:11px 14px;background:#10382fe8;border:1px solid #71be9970;border-radius:12px;color:#d2f7dc;box-shadow:0 10px 30px #0003;font-size:.72rem}
.gateway-node .icon{width:18px;height:18px;color:#a1f876;flex-shrink:0}
.gateway-node-code{top:13%;left:3%;transform:rotate(-6deg)}
.gateway-node-spark{top:65%;right:1%;transform:rotate(4deg)}
.gateway-companion{position:absolute;left:0;bottom:2%;width:47%;filter:drop-shadow(0 12px 12px #0006)}
.gateway-companion .crab-realistic{display:block;width:100%;height:auto}
.gateway-caption{position:absolute;bottom:-1%;right:12%;max-width:42%;color:#a8c8b9;font-size:.65rem;line-height:1.6;text-align:right}
/* Motion begins only when the pause control is available. No flashing or delays. */
:root:not(.gateway-nav-ready) .home-portal *{animation:none!important}
.gateway-nav-ready .home-portal .gateway-ring-outer{animation:gateway-orbit 40s linear infinite}
.gateway-nav-ready .home-portal .gateway-ring-inner{animation:gateway-orbit 65s linear infinite reverse}
.gateway-nav-ready .home-portal .gateway-companion{animation:gateway-float 7s ease-in-out infinite}
@keyframes gateway-orbit{to{transform:rotate(360deg)}}
@keyframes gateway-float{50%{transform:translateY(-12px)}}
.planned-pricing{padding:38px 0;margin:12px 0 40px;scroll-margin-top:24px}
.planned-pricing>h2{font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.035em;margin:14px 0}
.planned-pricing>p{max-width:85ch;line-height:1.8;color:var(--muted)}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.pricing-card{border:1px solid var(--line);border-radius:20px;padding:28px;background:var(--panel);min-width:0}
.pricing-card h3{font-size:1.1rem;margin:22px 0 14px}
.pricing-card p{color:var(--muted);line-height:1.8;font-size:.87rem}
.pricing-card .pricing-value{font-size:clamp(1.9rem,3vw,2.8rem);font-weight:750;letter-spacing:-.04em;line-height:1.3;color:var(--ink);margin:15px 0 23px}
.pricing-value>span{display:block;font-size:.83rem;font-weight:400;letter-spacing:0;margin-top:5px;color:var(--muted)}
.pricing-symbol{display:inline-flex;padding:8px;color:var(--green);background:var(--green-soft);border-radius:10px}
.pricing-breakfast{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.pricing-breakfast p{margin:0 0 8px}
.pricing-breakfast strong{color:var(--ink);font-size:1rem;line-height:1.5}
.pricing-breakfast img{display:block;width:min(100%,240px);height:auto;margin:10px auto 8px;object-fit:contain}
.pricing-breakfast small{display:block;color:var(--muted);font-size:.72rem;line-height:1.6}
.pricing-annual{border-color:var(--green)}
.pricing-badge{display:inline-flex;align-items:center;min-height:38px;padding:7px 12px;background:var(--green-soft);color:var(--green);border-radius:10px;font-size:.78rem;font-weight:700}
.pricing-notice{display:flex;gap:12px;margin:22px 0 0;font-size:.85rem}
.pricing-notice>.icon{flex-shrink:0;margin-top:5px}
.pricing-funding{margin-top:24px;padding:24px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:12px;background:var(--panel)}
.pricing-funding h3{margin:0 0 12px;font-size:1.1rem}
.pricing-funding p{max-width:90ch;line-height:1.8;color:var(--muted)}
.beta-notice{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 30px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:.78rem;line-height:1.6;color:var(--muted)}
.beta-notice strong{color:var(--ink);white-space:nowrap}
@media(max-width:760px){.beta-notice{margin:0 16px;gap:4px}.pricing-funding{padding:20px}}
@media(min-width:1550px){.home-portal .hero-copy{padding-left:70px}.home-portal.hero{min-height:730px}}
@media(max-width:1120px){.home-portal.hero{min-height:0}.home-portal .hero-copy{padding:42px 0 40px 30px}.home-portal h1{font-size:clamp(2.3rem,4.6vw,3.4rem)}.home-portal .hero-copy>p{font-size:.92rem}.home-portal .hero-benefits{gap:8px}.pricing-card{padding:22px}}
@media(max-width:760px){body[data-page=home] .topbar-left{gap:8px}body[data-page=home] .gateway-brand strong{display:none}body[data-page=home] .gateway-brand img{width:34px;height:34px}body[data-page=home] main{padding-top:8px}.home-portal.hero{grid-template-columns:minmax(0,1fr);border-radius:20px}.home-portal .hero-copy{padding:30px 23px 10px}.home-portal h1{font-size:clamp(2.4rem,8vw,3.7rem);max-width:17ch;margin:22px 0}.home-portal .eyebrow{font-size:.6rem}.home-portal .hero-copy>p{font-size:.9rem}.home-portal .hero-art.gateway-scene{width:90%;max-width:460px;margin:0 auto 24px}.home-portal .hero-actions{gap:17px}.home-portal .portal-footer{padding:15px 20px;flex-direction:column;align-items:flex-start}.home-portal .portal-footer>span{flex-wrap:wrap}.home-portal .hero-benefits{font-size:.7rem}.pricing-grid{grid-template-columns:minmax(0,1fr)}.pricing-card .pricing-value{font-size:2.4rem}.gateway-node{font-size:.65rem;padding:8px 10px}.gateway-caption{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){.home-portal *,.home-portal *:before{animation:none!important;transition:none!important}}
/* Show the portal in the first mobile viewport, before the introduction. */
@media(max-width:760px){.home-portal .hero-art.gateway-scene{grid-row:1;max-width:250px;margin:16px auto 4px}.home-portal .hero-copy{padding-top:16px}.home-portal .gateway-caption{display:none}.home-portal .gateway-node{font-size:.6rem;padding:7px 8px}.home-portal .gateway-node-spark{right:-6%}}
.reduced-motion .home-portal *,.reduced-motion .home-portal *:before{animation:none!important;transition:none!important}
@media(forced-colors:active){.home-portal.hero{background:Canvas;color:CanvasText}.home-portal .hero-copy *,.home-portal .portal-footer *{color:CanvasText}.home-portal .hero-art{display:none}.home-portal .button-dark{border:2px solid ButtonText}.home-portal.hero{grid-template-columns:1fr}.home-portal .hero-copy{padding:30px}}
/* Uses the shared light/dark palette and the selected identity; no extra motion. */
.formations{max-width:1180px;margin:auto;min-width:0}.formations h1{font-size:clamp(1.8rem,3.5vw,3.2rem);line-height:1.13;letter-spacing:-.035em;margin:15px 0}.formations h2{font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.3}.formations p{line-height:1.75}.formation-hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:32px;overflow:hidden;border-top:3px solid var(--green);margin-bottom:25px}.formation-hero>div{min-width:0}.formation-scene{width:100%;height:auto;border-radius:var(--radius,18px)}.formation-controls{margin-bottom:30px}.formation-controls>label{display:block;font-weight:750;margin-bottom:12px}.formation-select{display:flex;gap:12px;flex-wrap:wrap}.formation-select select{flex:1;min-width:0;min-height:48px;padding:12px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;font:inherit}.formation-select .button{min-height:48px}.formation-controls .field-help{margin-top:14px}.formation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:30px}.formation-card{display:flex;flex-direction:column;min-width:0;gap:14px;margin:0}.formation-card-top{display:flex;align-items:center;gap:16px}.formation-symbol{width:50px;height:50px;display:grid;place-items:center;border:1px solid var(--line);border-radius:14px;flex-shrink:0;color:var(--ink)}.formation-symbol .icon{width:26px;height:26px}.formation-state{display:inline-block;font-size:12px;line-height:1.6;font-weight:650;color:var(--muted)}.formation-card h3{margin:0}.formation-card h3 a{color:inherit;text-decoration:none}.formation-card p{margin:0;flex:1}.formation-card .text-link{align-self:flex-start;margin-top:8px}.formation-context{margin-top:30px}.formation-context h2:not(:first-child){margin-top:30px}.formation-first{margin-bottom:24px;border-left:4px solid var(--orange)}.formation-first h2{margin:12px 0}.formation-profession{margin-bottom:30px}.formation-profession summary{cursor:pointer;font-weight:700;line-height:1.6;min-height:44px}.formation-map>h2{margin-top:36px}.formation-map>p{margin:14px 0}.formation-roadmap{list-style:none;padding:0;margin:25px 0;display:grid;gap:20px;position:relative}.formation-roadmap:before{content:'';position:absolute;top:20px;bottom:20px;left:25px;width:2px;background:var(--line);z-index:0}.formation-milestone{display:grid;grid-template-columns:52px minmax(0,1fr);gap:22px;position:relative;margin:0}.formation-number{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:2px solid var(--line);font-weight:800;background:var(--panel);color:var(--ink)}.formation-milestone h3{font-size:1.3rem;margin:7px 0 20px}.formation-milestone h4{font-size:.88rem;margin:16px 0 10px}.formation-foundations{list-style:none;padding:0;display:grid;gap:12px}.formation-foundation{padding:13px 15px;border:1px solid var(--line);border-radius:12px;min-width:0}.formation-foundation>a{display:flex;justify-content:space-between;align-items:center;gap:14px;font-weight:650;min-height:32px;line-height:1.5}.formation-foundation .icon{flex-shrink:0}.formation-foundation .field-help{display:block;font-size:12px;margin-top:8px}.formation-foundation progress{display:block;width:100%;height:6px;margin-top:8px;accent-color:var(--green)}.formation-foundation progress[hidden]{display:none}.formation-pending{border-left:3px solid var(--orange);padding-left:15px;margin-top:20px}.formation-pending h4{margin-bottom:4px}.formation-pending p{margin:0}.formation-emblem{justify-self:center;display:grid;place-items:center;width:170px;height:170px;border-radius:40px;border:1px solid var(--line);background:radial-gradient(circle at 20% 20%,#91ed6933,transparent 70%)}.formation-emblem .icon{width:76px;height:76px}.formation-invitation{display:grid;grid-template-columns:2fr 1fr;align-items:center;gap:24px;margin:32px 0}.formation-invitation h2{font-size:clamp(1.5rem,2.7vw,2.2rem);line-height:1.25;margin:12px 0}.formation-invitation p{line-height:1.7;margin-bottom:20px}.formation-invitation-art{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.formation-invitation-art .icon{width:45px;height:45px;padding:8px;border:1px solid var(--line);border-radius:12px}.formations a,.formations p{overflow-wrap:anywhere}.formation-project{border-top:3px solid var(--orange)}
@media(max-width:800px){.formation-hero{gap:20px;grid-template-columns:1.6fr 1fr}.formation-grid{gap:16px}.formation-card-top{align-items:flex-start}.formation-emblem{width:110px;height:110px;border-radius:25px}.formation-emblem .icon{width:50px;height:50px}}
@media(max-width:560px){.formation-hero,.formation-grid,.formation-invitation{grid-template-columns:1fr}.formation-scene{max-height:180px;object-fit:cover}.formation-select{flex-direction:column}.formation-select select{width:100%;font-size:14px}.formation-emblem{display:none}.formation-milestone{grid-template-columns:1fr;gap:8px}.formation-roadmap:before{display:none}.formation-milestone h3{font-size:1.2rem}.formation-invitation-art{justify-content:flex-start}.formation-foundation>a{font-size:14px}.formation-controls{padding:20px 15px}.formation-card-top{align-items:center}}
.formation-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:30px}.formation-types>.panel{display:flex;flex-direction:column;min-width:0;margin:0}.formation-types h2{font-size:1.25rem;margin:0}.formation-types p{flex:1}.formation-types a{min-height:44px}.formation-specializations{margin:38px 0}.formation-specializations h3,.formation-card h3{font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.3}.formation-specializations .panel{margin:0}#career-paths,#specializations{scroll-margin-top:100px}#career-paths>p{margin-bottom:24px}
@media(max-width:1000px){.formation-types{grid-template-columns:1fr}.formation-types>.panel{padding:22px}.formation-types p{margin:12px 0}}
/* Reuses the selected identity and shared light/dark colors. */
.life-invitation{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center;margin:32px 0;border-top:3px solid var(--orange)}
.life-invitation h2{font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.25;margin:12px 0}.life-invitation p,.life-overview p,.life-support p{line-height:1.75}
.life-links{display:grid;gap:12px}.life-path{display:flex;align-items:center;gap:12px;padding:18px;border:1px solid var(--line);border-radius:14px;color:var(--ink);min-height:48px;text-decoration:none;line-height:1.5}.life-path:hover{border-color:var(--green)}.life-path:focus-visible,.life-phases summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.life-path span{flex:1}.life-path .icon{flex-shrink:0}
.life-overview,.life-support{margin:24px 0}.life-phases{display:grid;gap:10px;margin:20px 0}.life-phases details{border:1px solid var(--line);border-radius:12px;padding:0 16px}.life-phases summary{min-height:48px;padding:14px 0;cursor:pointer;font-weight:700}.life-invitation>*,.life-path span{min-width:0;overflow-wrap:anywhere}
@media(max-width:800px){.life-invitation{grid-template-columns:1fr;gap:12px}}
.tutor-launcher{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 40px);padding:5px 16px 5px 6px;border:1px solid var(--green);border-radius:48px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);font:inherit;font-weight:750;cursor:pointer}
.tutor-launcher[hidden]{display:none}.tutor-crab{display:block;width:58px;height:49px}.tutor-crab svg{width:100%;height:100%}
.tutor-heading{display:flex;align-items:center;gap:12px;min-width:0}.tutor-heading>div{min-width:0}.tutor-portrait{display:block;flex:none;width:58px;height:49px}.tutor-portrait svg{width:100%;height:100%}
.tutor-dialog{position:fixed;inset:auto 16px 16px auto;margin:0;width:min(460px,calc(100vw - 32px));height:min(760px,calc(100dvh - 32px));max-width:none;max-height:none;padding:0;border:1px solid var(--line);border-radius:22px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);overflow:hidden}
.tutor-dialog[open]{display:flex;flex-direction:column}.tutor-dialog::backdrop{background:#07190d66}.tutor-dialog.tutor-expanded{inset:12px;width:calc(100vw - 24px);height:calc(100dvh - 24px)}
.tutor-header{padding:20px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--green-soft);flex-shrink:0}.tutor-header h2{font-size:22px;margin:6px 0}.tutor-header p{font-size:13px;line-height:1.5;margin:0}.tutor-window-controls{display:flex;gap:8px;align-items:start;flex-wrap:wrap}
.tutor-dialog button:not(.button){font:inherit;font-size:13px;min-height:40px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--ink);background:var(--panel);cursor:pointer}.tutor-dialog button:hover:not(:disabled){border-color:var(--green)}.tutor-dialog :focus-visible,.tutor-launcher:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.tutor-body{padding:18px;overflow:auto;overscroll-behavior:contain;min-height:0}.tutor-expanded .tutor-body{width:min(900px,100%);align-self:center}.tutor-body p{font-size:14px;line-height:1.65}.tutor-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.tutor-turn{border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0;background:var(--soft);overflow-wrap:anywhere}.tutor-turn[data-speaker=user]{margin-left:24px;background:var(--green-soft)}.tutor-turn strong{font-size:12px;color:var(--muted)}.tutor-turn p{white-space:pre-wrap;margin:8px 0 0;unicode-bidi:plaintext}.tutor-turn nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tutor-turn nav a{font-size:13px;text-decoration:underline;color:var(--green)}
.tutor-accuracy-notice{flex-shrink:0;margin:0;padding:12px 18px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6;color:var(--ink);background:var(--soft)}
.tutor-disclosure{border-block:1px solid var(--line);padding:14px 0;margin-top:18px}.tutor-disclosure summary{cursor:pointer;font-size:14px;font-weight:700}.tutor-disclosure a{color:var(--green);text-decoration:underline}.tutor-consent{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:13px;line-height:1.6}.tutor-consent input{flex:none;margin-top:4px;width:18px;height:18px;accent-color:var(--green)}
.tutor-dialog :disabled{opacity:.6;cursor:not-allowed}#tutor-status{min-height:24px;margin-bottom:0}
@media(max-width:600px){.tutor-launcher{right:12px;bottom:12px}.tutor-launcher>span:last-child{font-size:12px}.tutor-dialog{inset:auto 8px 8px;width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:16px}.tutor-header{padding:14px}.tutor-body{padding:14px}.tutor-dialog.tutor-expanded{inset:0;width:100vw;height:100dvh;border-radius:0}}
@media print{#tutor-root{display:none}}

/* Rullstpetbot: finite gestures, compact controls and a readable conversation. */
.tutor-launcher{right:max(16px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:grid;justify-items:center;width:124px;padding:0 2px 4px;border:0;border-radius:24px;background:transparent;box-shadow:none;gap:0;isolation:isolate}
.tutor-launcher[hidden],.tutor-dialog [hidden]{display:none!important}
.tutor-launcher::before{content:"";position:absolute;z-index:-1;inset:16px 4px 20px;border-radius:50%;background:radial-gradient(ellipse,#a8f06a38,transparent 70%);pointer-events:none}
.tutor-crab{width:116px;height:97px;filter:drop-shadow(0 4px 3px #061f1770);animation:tutor-arrive 3.6s ease-in-out 1}
.tutor-crab svg,.tutor-portrait svg{overflow:visible}
.tutor-pet-name{border:1px solid var(--line);border-radius:12px;padding:4px 8px;background:var(--panel);font-size:12px;font-weight:750;line-height:1.4;box-shadow:0 3px 10px #0002}
.tutor-pet-cue{position:absolute;right:0;bottom:calc(100% + 4px);width:max-content;max-width:min(220px,calc(100vw - 36px));padding:10px 12px;border:1px solid var(--line);border-radius:14px 14px 4px 14px;background:var(--panel);font-size:13px;line-height:1.5;box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none}
.tutor-launcher:is(:hover,:focus-visible) .tutor-pet-cue{opacity:1;visibility:visible}
.tutor-crab-claw-left,.tutor-portrait-claw-left{transform-box:fill-box;transform-origin:90% 90%}
.tutor-crab-claw-right,.tutor-portrait-claw-right{transform-box:fill-box;transform-origin:10% 90%}
.tutor-crab-eyes,.tutor-portrait-eyes{transform-box:fill-box;transform-origin:center}
.tutor-crab-eyes{animation:tutor-blink 3.6s 1}
.tutor-launcher:is(:hover,:focus-visible) .tutor-crab-claw-left{animation:tutor-wave 1.2s ease-in-out 2}
.tutor-launcher:active .tutor-crab{transform:translateY(3px)}
#tutor-root[data-state=thinking] .tutor-portrait-claw-right{animation:tutor-wave 1.4s ease-in-out 2}
#tutor-root[data-state=thinking] .tutor-portrait-eyes{animation:tutor-blink 2.8s 1}
#tutor-root[data-state=ready] .tutor-portrait{animation:tutor-nod .7s ease-in-out 1}
.tutor-dialog{box-sizing:border-box;height:min(740px,calc(100dvh - 32px));border-radius:20px}
.tutor-header{box-sizing:border-box;padding:6px 10px;flex-wrap:nowrap;align-items:center;gap:8px}
.tutor-heading{gap:6px}.tutor-portrait{width:40px;height:34px}.tutor-header h2{font-size:18px;line-height:1.3;margin:0;letter-spacing:-.02em;overflow-wrap:anywhere}.tutor-window-controls{gap:4px;flex:none;flex-wrap:nowrap}
.tutor-dialog button:not(.button){min-height:44px}
.tutor-dialog .tutor-window-controls button{display:grid;place-items:center;width:44px;height:44px;padding:9px;flex:none}.tutor-window-controls .icon{width:20px;height:20px}
.tutor-body{box-sizing:border-box;padding:12px 16px 16px;scrollbar-gutter:stable;flex:1}.tutor-body p{line-height:1.6}
#tutor-availability{font-size:12px;color:var(--muted);margin:0 0 10px}.tutor-suggestions{gap:6px;margin:12px 0}
.tutor-turn{padding:12px;margin:10px 0;scroll-margin-block:12px}.tutor-turn p{margin:6px 0 0}.tutor-turn nav{margin-top:10px}
.tutor-accuracy-notice{padding:7px 14px;font-size:12px;line-height:1.5}
.tutor-disclosure{border-bottom:0;padding:12px 0 0;margin-top:14px}.tutor-disclosure summary{font-size:13px}.tutor-consent{margin:12px 0;font-size:12px;line-height:1.5}.tutor-consent input{margin-top:2px;width:20px;height:20px}
/* One-line composer; consent stays reviewable after it is collapsed. */
.tutor-composer{display:flex;align-items:flex-end;gap:8px;margin-top:4px}
#tutor-question{box-sizing:border-box;display:block;flex:1;min-width:0;width:100%;resize:none;min-height:44px;max-height:120px;padding:9px 12px;font:inherit;font-size:16px;line-height:24px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:14px;overflow-y:auto}
.tutor-dialog #tutor-send{box-sizing:border-box;display:grid;place-items:center;flex:none;width:44px;height:44px;padding:10px;border-radius:50%;background:var(--button);color:var(--button-ink);border-color:var(--button)}
#tutor-send .icon{width:22px;height:22px;transform:rotate(-90deg)}
.tutor-dialog #tutor-consent-review{display:flex;align-items:center;gap:6px;min-height:44px;padding:6px 0;border:0;background:transparent;font-size:12px;text-align:start;color:var(--muted)}
#tutor-consent-review .icon{width:16px;height:16px;color:var(--green)}
#tutor-consent-review span{text-decoration:underline;text-underline-offset:3px}
.tutor-footer{display:flex;align-items:center;justify-content:space-between;gap:4px 12px;flex-wrap:wrap;margin-top:2px}
#tutor-keyboard-hint{flex:1 1 150px;font-size:11px;line-height:1.5;color:var(--muted)}
.tutor-dialog #tutor-clear{padding:6px 0;border:0;background:transparent;font-size:12px;text-decoration:underline;text-underline-offset:3px}
#tutor-status{font-size:12px;min-height:0;margin:4px 0 0}#tutor-status:empty{display:none}#tutor-return{margin:0 6px 8px 0}
@keyframes tutor-arrive{0%,100%{transform:translateY(0)}20%,60%{transform:translateY(-5px)}40%,80%{transform:translateY(0)}}
@keyframes tutor-wave{0%,100%{transform:rotate(0)}30%{transform:rotate(-16deg)}65%{transform:rotate(6deg)}}
@keyframes tutor-blink{0%,42%,49%,100%{transform:scaleY(1)}45%,46%{transform:scaleY(.12)}}
@keyframes tutor-nod{0%,100%{transform:translateY(0)}50%{transform:translateY(2px)}}
.reduced-motion #tutor-root *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){#tutor-root *{animation:none!important;transition:none!important}}
@media(max-width:600px){.tutor-launcher{right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));width:110px}.tutor-crab{width:100px;height:84px}.tutor-launcher .tutor-pet-name{font-size:11px}.tutor-dialog{height:calc(100dvh - 16px);border-radius:16px}.tutor-header{padding:6px}.tutor-heading{gap:3px}.tutor-header h2{font-size:16px}.tutor-portrait{width:32px;height:28px}.tutor-body{padding:10px 12px 14px}}
@media(forced-colors:active){.tutor-launcher{border:1px solid ButtonText}.tutor-crab{filter:none}}
