@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.col-4{grid-column:4}.col-8{grid-column:8}.col-12{grid-column:12}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.my-3{margin-block:calc(var(--spacing) * 3)}.ms-3{margin-inline-start:calc(var(--spacing) * 3)}.ms-auto{margin-inline-start:auto}.me-2{margin-inline-end:calc(var(--spacing) * 2)}.me-auto{margin-inline-end:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-100{height:calc(var(--spacing) * 100)}.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.gap-2{gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:var(--spacing)}.pt-3{padding-top:calc(var(--spacing) * 3)}.text-center{text-align:center}.align-middle{vertical-align:middle}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bar:#1b2740;--green:#c2410c;--green-text:#c2410c;--green-dark:#9a3412;--ok:#1b7f4b;--ok-bg:#e1f6ec;--side:#efece5;--ink:#1b2740;--muted:#5a6478;--line:#dcd8cd;--paper:#fff;--code-bg:#f3f1ec}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Verdana,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.topnav{z-index:20;background:var(--bar);color:#fff;align-items:center;gap:24px;min-height:52px;padding:0 20px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.3px;align-items:center;gap:9px;font-size:20px;font-weight:700;display:flex}.brand-mark{width:28px;height:28px;display:block}.brand-name em{color:#f5b53d;font-style:normal}.topnav-links{flex:1;gap:4px;display:flex}.topnav-links a{white-space:nowrap;padding:14px;font-size:14px}.topnav-links a:hover{background:var(--green)}.stat-pill{white-space:nowrap;background:#3a3d4d;border-radius:999px;gap:12px;min-width:40px;padding:6px 12px;font-size:12px;display:flex}.hero{text-align:center;background:linear-gradient(135deg,#fdf0e0,#eaf0fb);padding:18px 20px 16px}.hero h1{margin:0 0 4px;font-size:clamp(24px,3.4vw,32px);line-height:1.2}.hero p{max-width:920px;color:var(--muted);margin:0 auto;font-size:15px;line-height:1.5}.catalog{max-width:1000px;margin:0 auto;padding:40px 20px 80px}.catalog h1,.ref-page h1,.quiz-page h1,.tool-page h1,.auth-page h1,.cert-page h1{letter-spacing:-.3px;margin:0 0 10px;font-size:32px;font-weight:800;line-height:1.2}.catalog h2,.ref-page h2,.quiz-page h2,.tool-page h2,.auth-page h2,.cert-page h2{margin:28px 0 10px;font-size:22px;font-weight:700;line-height:1.3}.catalog h3,.ref-page h3,.quiz-page h3,.tool-page h3,.auth-page h3,.cert-page h3{margin:0 0 6px;font-size:18px;font-weight:700;line-height:1.3}.catalog>p,.ref-page>p,.quiz-page>p,.tool-page>p,.auth-page>p,.cert-page>p{margin:0 0 18px}.quiz-page>.btn-green{margin:4px 0 18px}.auth-page p a,.cert-page p a,.quiz-page>a{color:var(--green-text);text-decoration:underline}.catalog h2{margin:28px 0 14px}.course-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;display:grid}.course-card{border:1px solid var(--line);border-top:5px solid var(--green);background:var(--paper);border-radius:8px;flex-direction:column;gap:8px;padding:20px;transition:box-shadow .15s,transform .15s;display:flex}.course-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000001a}.course-card h3{margin:0;font-size:20px}.course-card p{color:var(--muted);flex:1;margin:0;font-size:14px}.course-badge{color:#fff;border-radius:10px;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.course-meta{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.bar{background:var(--side);border-radius:3px;height:6px;overflow:hidden}.bar>div{height:100%}.course-cta{color:var(--green-text);font-size:14px;font-weight:600}.learn-layout{align-items:flex-start;min-height:calc(100vh - 52px);display:flex}.sidebar{background:var(--side);flex-shrink:0;width:260px;max-height:calc(100vh - 52px);position:sticky;top:52px;overflow-y:auto}.sidebar-toggle{display:none}.sidebar-title{margin:0;padding:18px 20px 10px;font-size:20px}.sidebar-group h3{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:12px 0 4px;padding:0 20px;font-size:13px}.sidebar-group ul{margin:0;padding:0;list-style:none}.sidebar-group a{align-items:center;gap:8px;padding:6px 20px;font-size:15px;display:flex}.sidebar-group a:hover{background:#cfd3d8}.sidebar-group a.active{background:var(--green);color:#fff}.tick{text-align:center;border:1.5px solid #9aa1ab;border-radius:50%;flex-shrink:0;width:16px;height:16px;font-size:11px;line-height:13px}.tick.done{background:var(--ok);border-color:var(--ok);color:#fff}.active .tick{border-color:#fff}.learn-main{flex:1;min-width:0;padding:12px 40px 80px}.lesson{max-width:820px}.lesson h1{margin:18px 0 14px;font-size:34px}.pager{justify-content:space-between;margin:10px 0;display:flex}.btn-nav{color:#fff;background:#626a77;border-radius:4px;padding:8px 18px;font-size:15px}.btn-nav.green{background:var(--green)}.btn-nav:hover{filter:brightness(1.1)}.md h2{margin:28px 0 8px;font-size:24px}.md p,.md li{font-size:16px}.md ul,.md ol{padding-left:24px}.md ul{list-style:outside}.md ol{list-style:decimal}.md h2+p,.md p{margin:8px 0}.md code{background:var(--code-bg);color:#c7254e;border-radius:3px;padding:1px 6px;font-family:Consolas,monospace;font-size:.92em}.md pre{background:var(--code-bg);border-left:4px solid var(--green);margin:14px 0;padding:12px 16px;overflow-x:auto}.md pre code{color:var(--ink);background:0 0;padding:0}.md table{border-collapse:collapse;width:100%;margin:14px 0;font-size:15px}.md th,.md td{border:1px solid var(--line);text-align:left;padding:8px 12px}.md th{background:var(--side)}.try-box{background:var(--side);border-left:5px solid var(--green);border-radius:4px;margin:20px 0;padding:14px 16px}.try-head{justify-content:space-between;margin-bottom:8px;font-size:20px;font-weight:700;display:flex}.try-lang{text-transform:uppercase;color:var(--muted);align-self:center;font-size:12px}.try-editor{box-sizing:border-box;width:100%;color:var(--ink);border:1px solid var(--line);resize:vertical;background:#fff;border-radius:4px;padding:10px 12px;font-family:Consolas,monospace;font-size:14px;line-height:1.5}.try-actions{align-items:center;gap:10px;margin-top:10px;display:flex}.try-frame{border:1px solid var(--line);background:#fff;width:100%;height:200px;margin-top:10px}.try-out{color:#c8f7c5;white-space:pre-wrap;background:#1a1b26;border-radius:4px;max-height:260px;margin:10px 0 0;padding:10px 12px;font-family:Consolas,monospace;font-size:14px;overflow:auto}.try-figure{background:#fff;border:1px solid #d8dde3;border-radius:4px;max-width:100%;height:auto;margin:10px 0 0;display:block}.try-prompt{color:#8fd18f;background:#1a1b26;border-radius:4px;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;font-family:Consolas,monospace;font-size:14px;display:flex}.try-prompt input{color:#fff;font:inherit;background:0 0;border:0;outline:0;flex:1}.btn-green{background:var(--green);color:#fff;border:0;border-radius:4px;padding:8px 18px;font-size:15px}.btn-green:hover:not(:disabled){background:var(--green-dark)}.btn-green:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:var(--muted);background:0 0;border:1px solid #9aa1ab;border-radius:4px;padding:7px 14px}.quiz-box{border:2px solid var(--green);background:#fff8f1;border-radius:8px;margin:24px 0;padding:14px 18px}.quiz-head{text-transform:uppercase;letter-spacing:.6px;color:var(--green-text);font-size:12px;font-weight:700}.quiz-q{margin:6px 0 10px;font-weight:700}.quiz-opt{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:10px;padding:9px 12px;display:flex}.quiz-opt.right{border-color:var(--ok);background:var(--ok-bg)}.quiz-opt.wrong{background:#fdeceb;border-color:#d9534f}.quiz-msg.ok{color:var(--ok);font-weight:700}.quiz-msg.bad{color:#c0392b}.complete-box{text-align:center;border-top:1px solid var(--line);margin:28px 0 10px;padding:20px}@media (max-width:800px){.learn-layout{flex-direction:column}.sidebar{width:100%;max-height:none;position:static}.sidebar-toggle{text-align:left;background:var(--side);border:0;border-bottom:1px solid var(--line);width:100%;padding:12px 20px;font-weight:700;display:block}.sidebar-body{display:none}.sidebar-body.open{display:block}.learn-main{box-sizing:border-box;width:100%;padding:12px 16px 60px}.topnav{gap:12px;padding:0 12px}.stat-pill{display:none}}.sql-wrap{margin-top:10px;overflow-x:auto}.sql-table{border-collapse:collapse;background:#fff;min-width:40%;font-size:14px}.sql-table th,.sql-table td{border:1px solid var(--line);text-align:left;padding:5px 12px}.sql-table th{background:#e7e9eb}.sql-count{color:var(--muted);margin-top:4px;font-size:12px}.account{align-items:center;gap:10px;margin-left:12px;font-size:14px;display:flex}.account-name small{color:#aab}.account .btn-ghost{color:#e6e8eb;white-space:nowrap;border-color:#8a93a0;padding:5px 10px}.account .btn-ghost:hover{background:#3a3f4b}.auth-page{max-width:420px;margin:40px auto;padding:0 16px}.auth-form{flex-direction:column;gap:14px;margin:18px 0;display:flex}.auth-form label{flex-direction:column;gap:4px;font-weight:600;display:flex}.auth-form input{border:1px solid var(--line);font:inherit;border-radius:4px;padding:9px 10px}.auth-error{color:#b3261e;margin:0}.link-btn{color:var(--green-text);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.search{margin-left:12px;position:relative}.search input{width:190px;font:inherit;border:0;border-radius:16px;padding:6px 10px;font-size:14px}.search-results{width:340px;max-width:calc(100vw - 24px);color:var(--ink);border:1px solid var(--line);z-index:50;background:#fff;border-radius:6px;margin:0;padding:4px 0;list-style:none;position:absolute;top:38px;right:0;box-shadow:0 6px 20px #0003}.search-results li a{color:inherit;flex-direction:column;padding:8px 12px;text-decoration:none;display:flex}.search-results li.active a,.search-results li a:hover{background:#fdf0e0}.search-results small,.search-empty{color:var(--muted);font-size:12px}.search-empty{padding:8px 12px}.continue{background:var(--side);border-left:5px solid var(--green);border-radius:4px;justify-content:space-between;align-items:center;gap:12px;max-width:900px;margin:20px auto;padding:14px 18px;display:flex}.continue div{flex-direction:column;display:flex}.home-row{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:16px;max-width:1000px;margin:14px auto 0;padding:0 20px;display:grid}.home-row .continue{max-width:none;margin:0;padding:10px 16px}.home-row .btn-nav{white-space:nowrap}.home-catalog{padding-top:6px}.continue small{text-transform:uppercase;color:var(--muted);font-size:11px}.continue span{color:var(--muted);font-size:14px}@media (max-width:800px){.search input{width:110px}}.exercise-box{background:#f1f7ff;border-left:5px solid #2d7ff9;border-radius:4px;margin:20px 0;padding:14px 16px}.exercise-diff{margin-top:8px}.exercise-hint{color:var(--muted);margin:8px 0 0;font-size:13px}.goal{margin-left:12px;font-size:13px;position:relative}.goal summary{cursor:pointer;white-space:nowrap;align-items:center;gap:8px;list-style:none;display:flex}.goal summary::-webkit-details-marker{display:none}.goal-bar{background:#ffffff40;border-radius:4px;width:70px;height:8px;overflow:hidden}.goal-bar span{background:#ffd54a;height:100%;display:block}.goal-bar span.done{background:#4cd964}.goal-pop{width:250px;color:var(--ink);border:1px solid var(--line);z-index:50;background:#fff;border-radius:6px;padding:12px;position:absolute;top:36px;right:0;box-shadow:0 6px 20px #0003}.goal-pop p{margin:0 0 10px}.goal-options{flex-wrap:wrap;gap:6px;display:flex}.goal-options button{border:1px solid var(--line);cursor:pointer;font:inherit;background:#fff;border-radius:14px;padding:5px 10px}.goal-options button.on{background:var(--green);color:#fff;border-color:var(--green)}.goal-streak{color:var(--muted);margin:10px 0 0!important}.sidebar-cert{color:#5c4700;background:#fff3c4;border:1px solid #e6c84d;border-radius:4px;margin:6px 0 12px;padding:8px 12px;font-weight:600;text-decoration:none;display:block}.cert-chips{flex-wrap:wrap;gap:10px;display:flex}.cert-chip{color:inherit;border:2px solid;border-radius:20px;padding:8px 14px;font-weight:600;text-decoration:none}.cert-page{max-width:900px;margin:30px auto;padding:0 16px}.cert-controls{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:18px;display:flex}.cert-controls label{flex-direction:column;gap:4px;font-weight:600;display:flex}.cert-controls input{border:1px solid var(--line);font:inherit;border-radius:4px;min-width:260px;padding:8px 10px}.certificate{text-align:center;background:#fffdf6;border:10px double;margin-bottom:18px;padding:40px 30px}.certificate h1{margin:6px 0 22px;font-family:Georgia,serif;font-size:38px}.cert-org{letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin:0;font-size:13px}.cert-line{color:#444;margin:6px 0}.cert-name{border-bottom:1px solid #bbb;min-width:55%;margin:8px 0 12px;padding-bottom:4px;font-family:Georgia,serif;font-size:40px;font-style:italic;display:inline-block}.cert-course{margin:8px 0 22px;font-size:28px;font-weight:700}.cert-date{margin:0 0 18px;font-size:18px}.cert-fine{color:var(--muted);margin:0;font-size:12px}@media print{@page{size:landscape;margin:12mm}.topnav,.no-print,footer{display:none!important}body{background:#fff}.cert-page{max-width:none;margin:0;padding:0}.certificate{break-inside:avoid;margin:0}}@media (max-width:800px){.goal span:last-child{display:none}.goal-bar{width:40px}}.theme-toggle{color:#fff;white-space:nowrap;background:0 0;border:1px solid #ffffff4d;border-radius:999px;align-items:center;gap:7px;height:32px;padding:0 12px 0 10px;font-size:13px;line-height:1;display:inline-flex}.theme-icon{font-size:15px}.theme-toggle:hover{background:#ffffff26}.certificate{color:#1f2330}[data-theme=dark]{--green-text:#f5b53d;--ok:#3ddc97;--bar:#121a2c;--side:#1b2438;--ink:#e8eaf0;--muted:#9ba5bb;--line:#2f3a54;--paper:#141b2d;--code-bg:#1f2842;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] .hero{background:linear-gradient(135deg,#1b2a48,#14203a)}[data-theme=dark] .md code{color:#ff8fa8}[data-theme=dark] .try-editor,[data-theme=dark] .quiz-opt,[data-theme=dark] .goal-options button,[data-theme=dark] .sql-table,[data-theme=dark] .search-results,[data-theme=dark] .goal-pop{background:#1b2438}[data-theme=dark] .sql-table th{background:#26314b}[data-theme=dark] .quiz-box{background:#1c2740}[data-theme=dark] .quiz-opt.right{background:#17372b}[data-theme=dark] .quiz-opt.wrong{background:#3a1f1f}[data-theme=dark] .exercise-box{background:#18233a}[data-theme=dark] .sidebar-group a:hover{background:#2a3552}[data-theme=dark] .search-results li.active a,[data-theme=dark] .search-results li a:hover{background:#2b3552}[data-theme=dark] .sidebar-cert{color:#ffe08a;background:#3b3317;border-color:#7a6a25}[data-theme=dark] .btn-nav{background:#33405f}[data-theme=dark] .btn-ghost{color:var(--ink);border-color:var(--line)}.category{margin:0 0 34px}.category-title{border-bottom:2px solid var(--green);margin:0 0 14px;padding-bottom:2px;font-size:18px;display:inline-block}.muted{color:var(--muted)}.navmenu{position:relative}.navmenu summary{cursor:pointer;white-space:nowrap;padding:14px;font-size:14px;list-style:none}.navmenu summary::-webkit-details-marker{display:none}.navmenu summary:hover,.navmenu[open] summary{background:var(--green)}.navmenu-panel{background:var(--paper);min-width:520px;color:var(--ink);border:1px solid var(--line);z-index:60;border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 24px;padding:16px 20px;display:grid;position:absolute;top:48px;left:0;box-shadow:0 8px 24px #00000040}.navmenu-group{flex-direction:column;display:flex}.navmenu-group h3{text-transform:uppercase;color:var(--muted);letter-spacing:.5px;margin:0 0 6px;font-size:12px}.navmenu-panel a{padding:4px 0;font-size:14px}.navmenu-panel a:hover{color:var(--green-text)}.navmenu-all{border-top:1px solid var(--line);grid-column:1/-1;font-weight:600;padding-top:10px!important}@media (max-width:800px){.navmenu-panel{grid-template-columns:1fr;min-width:260px}}.crumbs{color:var(--muted);margin-bottom:6px;font-size:13px}.crumbs a:hover{color:var(--green-text);text-decoration:underline}.report,.keyhint{color:var(--muted);margin:6px 0;font-size:13px}.report a{text-decoration:underline}.search input{color:#fff;background:#ffffff24}.search input::placeholder{color:#ffffffb3}.search input:focus{color:#1f2330;outline:2px solid var(--green);background:#fff}.tryit-page{max-width:1400px;margin:0 auto;padding:18px 20px 60px}.tryit-bar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.tryit-bar h1{margin:0;font-size:24px}.tryit-langs{flex-wrap:wrap;flex:1;gap:4px;display:flex}.tryit-langs button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:4px;padding:6px 12px}.tryit-langs button.on{background:var(--green);border-color:var(--green);color:#fff}.tryit-tools{gap:8px;display:flex}.tryit-tip{margin:8px 0 12px;font-size:13px}kbd{border:1px solid var(--line);background:var(--code-bg);border-bottom-width:2px;border-radius:3px;padding:0 5px;font-size:12px}.try-wide{grid-template-rows:auto 1fr auto;grid-template-columns:1fr 1fr;gap:8px 16px;margin:0;display:grid}.try-wide .try-head{grid-column:1/-1;margin-bottom:0}.try-wide .try-editor{resize:none;grid-area:2/1;height:100%;min-height:480px}.try-wide .try-actions{grid-area:3/1;margin-top:0}.try-wide .try-results{grid-area:2/2/span 2;min-width:0}.try-wide .try-frame{height:520px;margin-top:0}.tryit-stacked .try-wide{grid-template-columns:1fr}.tryit-stacked .try-wide .try-results{grid-area:auto/1}.tryit-stacked .try-wide .try-editor{min-height:260px}.try-open{color:var(--green-text);margin-left:auto;font-size:14px;text-decoration:underline}@media (max-width:800px){.try-wide{grid-template-columns:1fr}.try-wide .try-results,.try-wide .try-editor,.try-wide .try-actions{grid-area:auto/1}.try-wide .try-editor{min-height:260px}}.quiz-page{max-width:720px;margin:30px auto;padding:0 16px 60px}.quiz-page .quiz-q{margin:18px 0;font-size:22px}.quiz-opts{flex-direction:column;gap:10px;display:flex}.quiz-choice{text-align:left;border:2px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:12px 16px;font-size:16px}.quiz-choice:hover:not(:disabled){border-color:var(--green)}.quiz-choice.right{border-color:var(--ok);background:var(--ok-bg);color:#123}.quiz-choice.wrong{color:#300;background:#fdeceb;border-color:#d9534f}.quiz-after{margin-top:16px}.quiz-score{margin:6px 0;font-size:44px;font-weight:700}.btn-ghost-link{border:1px solid var(--line);border-radius:4px;padding:8px 18px}.underline{text-decoration:underline}.ref-page{max-width:1000px;margin:0 auto;padding:24px 20px 80px}.ref-title{margin:8px 0;font-family:Consolas,monospace}.ref-summary{font-size:18px}.ref-syntax{background:var(--code-bg);border-left:4px solid var(--green);padding:12px 16px;overflow-x:auto}.ref-filter{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;display:flex}.ref-filter input,.ref-filter select{border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;border-radius:4px;min-width:220px;padding:8px 10px}.ref-scroll{overflow-x:auto}.ref-table{border-collapse:collapse;width:100%;font-size:15px}.ref-table th,.ref-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:7px 12px}.ref-table th{background:var(--side)}.ref-name{white-space:nowrap;font-family:Consolas,monospace}.ref-name a{color:var(--green-text);text-decoration:underline}.ref-swatch{vertical-align:middle;border:1px solid #0003;border-radius:3px;width:56px;height:22px;display:inline-block}.tool-page{max-width:860px;margin:0 auto;padding:24px 20px 80px}.cp-grid{grid-template-columns:1fr 1fr;gap:20px;margin:18px 0;display:grid}.cp-swatch{border:1px solid var(--line);border-radius:10px;place-items:center;min-height:200px;font:700 28px Consolas,monospace;display:grid}.cp-controls{flex-direction:column;gap:12px;display:flex}.cp-controls label,.rx-label{flex-direction:column;gap:4px;font-size:14px;font-weight:600;display:flex}.cp-controls input[type=color]{border:1px solid var(--line);background:0 0;width:100%;height:40px;padding:0}.cp-controls input:not([type]),.cp-controls input[type=text]{border:1px solid var(--line);font:inherit;background:var(--paper);color:var(--ink);border-radius:4px;padding:8px 10px}.cp-hue{appearance:none;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:5px;height:10px}.cp-values th{width:80px}.copy-btn{padding:3px 12px;font-size:13px}.cp-shades{flex-wrap:wrap;gap:8px;display:flex}.cp-shades button{border:1px solid var(--line);border-radius:6px;min-width:100px;padding:18px 10px;font:12px Consolas,monospace}.cp-contrast{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cp-contrast div{border-radius:6px;padding:16px;font-weight:600}.rx-pattern{align-items:center;gap:4px;font:16px Consolas,monospace;display:flex}.rx-pattern input{border:1px solid var(--line);font:inherit;background:var(--paper);color:var(--ink);border-radius:4px;flex:1;padding:8px 10px}.rx-flags{flex-wrap:wrap;align-items:center;gap:14px;margin:10px 0 14px;font-family:Consolas,monospace;display:flex}.rx-out{white-space:pre-wrap;background:var(--code-bg);border-radius:6px;padding:12px 14px;font-family:Consolas,monospace}.rx-out mark{color:#000;background:#ffd54a;border-radius:2px}@media (max-width:700px){.cp-grid,.cp-contrast{grid-template-columns:1fr}}.code-view{color:#1f2330;border:1px solid var(--line);background:#fff;border-radius:4px;margin:0;padding:12px 14px;font:14px/1.55 Consolas,Courier New,monospace;overflow-x:auto}.code-view code{color:inherit;background:0 0;padding:0}.tok-keyword{color:#0b5bd3;font-weight:600}.tok-string{color:#a31515}.tok-number{color:#098658}.tok-comment{color:#6a737d;font-style:italic}.out-label{text-transform:uppercase;color:var(--muted);letter-spacing:.5px;margin:10px 0 0;font-size:12px}[data-theme=dark] .code-view{color:#e4e7ee;background:#1b2438}[data-theme=dark] .tok-keyword{color:#79b8ff}[data-theme=dark] .tok-string{color:#f19c86}[data-theme=dark] .tok-number{color:#7ee2a8}[data-theme=dark] .tok-comment{color:#8b949e}.topnav>*{flex-shrink:0}.topnav{flex-wrap:wrap;row-gap:4px}.topnav-links{flex:1 0 auto}@media (max-width:1400px){.topnav{gap:14px}.search input{width:110px}.account-name small,.stat-pill span:nth-child(3),.goal summary>span:last-child,.stat-pill,.goal{display:none}}@media (max-width:1100px){.topnav-links a:not(:first-child),.navmenu~a{padding-left:8px;padding-right:8px}.search input{width:110px}.stat-pill,.account-name small{display:none}}@media (max-width:900px){.topnav-links>a,.goal{display:none}}@media (max-width:600px){.topnav{flex-wrap:wrap;row-gap:6px;padding:6px 12px}.topnav-links{flex:auto}.navmenu summary{padding:8px 10px}.search{flex:100%;order:10;margin-left:0}.search input{box-sizing:border-box;width:100%}.search-results{width:100%}.account{margin-left:0}}.ml-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin:18px 0 24px;display:grid}.ml-stats div{background:var(--side);text-align:center;border-radius:8px;flex-direction:column;padding:12px;display:flex}.ml-stats strong{font-size:26px}.ml-stats span{color:var(--muted);text-transform:uppercase;font-size:12px}.ml-list{flex-direction:column;gap:10px;display:flex}.ml-row{border:1px solid var(--line);border-left:6px solid var(--green);border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.ml-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.ml-title{font-size:18px;font-weight:700}.ml-side{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.ml-actions{gap:12px;font-size:14px;display:flex}.stars{letter-spacing:2px;font-size:22px}.star{color:#c8ccd2}.star.on{color:#f5b301}.ml-badges{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.badge-card{border:1px dashed var(--line);color:var(--muted);border-radius:8px;flex-direction:column;gap:2px;padding:12px;display:flex}.badge-card .badge-icon{opacity:.45;filter:grayscale()}.badge-card.on{background:var(--side);color:var(--ink);border:1px solid #f5b301}.badge-card.on .badge-icon{opacity:1;filter:none}.badge-icon{font-size:28px}.badge-card small{color:var(--muted)}@media (max-width:600px){.ml-row{flex-direction:column;align-items:stretch}.ml-side{text-align:left;align-items:flex-start}}.path-head{flex-wrap:wrap;align-items:center;gap:14px;margin:18px 0;display:flex}.path-head .bar{flex:200px}.path-head .bar div{background:var(--green)}.path-steps{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.path-steps li{border:1px solid var(--line);border-radius:8px;align-items:flex-start;gap:14px;padding:12px 16px;display:flex}.path-steps li.done{background:var(--side)}.path-num{color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.howto-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.howto-list li{flex-direction:column;display:flex}.howto-list a{color:var(--green-text);font-weight:600;text-decoration:underline}.gl-letters{flex-wrap:wrap;gap:6px;margin:10px 0 18px;display:flex}.gl-letters a{border:1px solid var(--line);border-radius:4px;padding:2px 9px;font-weight:600}.gl-letters a:hover{background:var(--green);color:#fff}.gl-group h2{border-bottom:2px solid var(--green);margin:24px 0 8px}.gl-item{margin:0 0 12px;scroll-margin-top:70px}.gl-item dt{font-weight:700}.gl-item dd{margin:2px 0 0}.navmenu-small{grid-template-columns:1fr;min-width:190px}.path-steps li.project{border:2px dashed var(--green);background:var(--code-bg)}.project-tag{text-transform:uppercase;letter-spacing:.5px;background:var(--green);color:#fff;vertical-align:middle;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700}.cms-banner{color:#4a3b00;background:#fff3c4;border-bottom:1px solid #e6c84d;padding:6px 20px;font-size:13px}[data-theme=dark] .cms-banner{color:#ffe08a;background:#3b3317;border-color:#7a6a25}.cms-main{max-width:900px;margin:0 auto;padding:20px 16px 80px}.cms-narrow{max-width:560px}.cms-wide{max-width:1500px;margin:0 auto;padding:16px 20px 80px}.cms-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;display:flex}.cms-row h1,.cms-row h2{margin:0}.cms-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cms-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;margin:12px 0;padding:14px 16px}.cms-good{border-color:#1b7f4c}.cms-bad{border-color:#c62828}.cms-problems{margin:6px 0 10px;padding-left:20px;font-size:14px}.cms-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.cms-item{border:1px solid var(--line);border-left:6px solid var(--green);background:var(--paper);border-radius:6px;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.cms-item:hover{background:var(--side)}.cms-item small,.cms-field small{color:var(--muted)}.cms-group h3{text-transform:uppercase;color:var(--muted);letter-spacing:.5px;margin:16px 0 8px;font-size:14px}.cms-form{flex-direction:column;gap:12px;display:flex}.cms-two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cms-form label,.cms-field{flex-direction:column;gap:4px;font-size:14px;font-weight:600;display:flex}.cms-form input:not([type=checkbox]):not([type=color]),.cms-form select,.cms-field input:not([type=radio]),.cms-field select,.cms-title-input,.cms-lessons input,.cms-option input:not([type=radio]):not([type=checkbox]),.cms-option select,.cms-data-list input{border:1px solid var(--line);font:inherit;background:var(--paper);color:var(--ink);border-radius:4px;padding:7px 9px}.cms-prose{border:1px solid var(--line);font:inherit;background:var(--paper);color:var(--ink);box-sizing:border-box;border-radius:4px;width:100%;padding:8px 10px}.cms-check{align-items:center;flex-direction:row!important;font-weight:400!important}.cms-title-input{flex:1;min-width:200px;font-size:18px;font-weight:700}.cms-lessons{flex-direction:column;gap:6px;margin:10px 0;padding:0;list-style:none;display:flex}.cms-lessons li{align-items:center;gap:8px;display:flex}.cms-lessons li input{flex:1}.cms-lessons code{color:var(--muted);font-size:12px}.cms-icon{border:1px solid var(--line);background:var(--paper);width:30px;height:30px;color:var(--ink);border-radius:4px}.cms-icon:disabled{opacity:.35;cursor:default}.cms-icon.danger:hover,.btn-ghost.danger:hover{color:#b3261e;background:#fdeceb}.cms-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.cms-preview{border:1px solid var(--line);border-radius:8px;max-height:calc(100vh - 80px);padding:0 16px 16px;position:sticky;top:64px;overflow:auto}.cms-block{border:1px solid var(--line);border-left:5px solid var(--green);background:var(--paper);border-radius:6px;flex-direction:column;gap:10px;margin:12px 0;padding:10px 14px 14px;display:flex}.cms-options{border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:6px;padding:8px 12px;display:flex}.cms-option{align-items:center;gap:8px;display:flex}.cms-option input:not([type=radio]):not([type=checkbox]){flex:1}.cms-add{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;display:flex}.cms-tabs{border:1px solid var(--line);border-radius:4px;display:inline-flex;overflow:hidden}.cms-tabs button{background:var(--paper);color:var(--ink);border:0;padding:6px 12px}.cms-tabs button.on{background:var(--green);color:#fff}.cms-raw{min-height:560px}.cms-data{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:20px;display:grid}.cms-data-list{flex-direction:column;gap:8px;max-height:calc(100vh - 80px);display:flex;position:sticky;top:64px}.cms-data-list ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.cms-data-list li button{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:4px;padding:6px 10px}.cms-data-list li button.on{background:var(--green);color:#fff}.cms-data-form{flex-direction:column;gap:12px;display:flex}@media (max-width:1000px){.cms-split,.cms-data,.cms-two{grid-template-columns:1fr}.cms-preview,.cms-data-list{max-height:none;position:static}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
