*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn:disabled{cursor:not-allowed;--tw-bg-opacity: 1;background-color:rgb(28 28 28 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(163 163 160 / var(--tw-text-opacity, 1))}.input{width:100%;border-radius:.75rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1));background-color:#0006;padding:.75rem;font-size:.875rem;line-height:1.25rem}.label{margin-top:.375rem;margin-bottom:.375rem;display:block;font-size:13px;font-weight:500}.\!box,.box{border-radius:.5rem;border-width:1px;border-color:#6aa7ff4d;--tw-bg-opacity: 1;background-color:rgb(22 35 58 / var(--tw-bg-opacity, 1));padding:.5rem .75rem;font-size:13px;font-weight:500;--tw-text-opacity: 1;color:rgb(106 167 255 / var(--tw-text-opacity, 1))}.card{border-radius:.75rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(20 20 20 / var(--tw-bg-opacity, 1));padding:1.25rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.mb-1{margin-bottom:.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.w-1\/2{width:50%}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-border{--tw-border-opacity: 1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1))}.border-white\/30{border-color:#ffffff4d}.bg-black\/40{background-color:#0006}.bg-surface-subtle{--tw-bg-opacity: 1;background-color:rgb(28 28 28 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.p-2{padding:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.font-kod{font-family:JetBrains Mono,ui-monospace,monospace}.text-\[13px\]{font-size:13px}.text-xs{font-size:.75rem;line-height:1rem}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-ink-muted{--tw-text-opacity: 1;color:rgb(163 163 160 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.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)}.grayscale{--tw-grayscale: grayscale(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)}.sepia{--tw-sepia: sepia(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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--ground: #0b0b0c;--panel: #141414;--raised: #1c1c1c;--line: #262626;--line-strong: #333333;--ink: #e8e8e6;--ink-2: #d4d4d1;--ink-3: #b5b5b2;--muted: #a3a3a0;--accent: #6aa7ff;--accent-soft: #16233a;--orange: #ffb454;--orange-soft: #2a2010;--green: #4cc38a;--green-soft: #10261c;--red: #ff6b63;--red-soft: #2d1514;--mono: "JetBrains Mono", ui-monospace, monospace;--top: 65px;--status: 33px}html{scroll-padding-top:calc(var(--top) + 24px)}body{margin:0;background:var(--ground);color:var(--ink);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}html[data-game=off] .game{display:none!important}.mono{font-family:var(--mono)}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--accent);color:#0b0b0c;padding:10px 14px;border-radius:6px;font-weight:600}.skip-link:focus{left:8px}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:24px;height:var(--top);box-sizing:border-box;padding:0 32px;background:var(--panel);border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;min-height:44px;flex:none}.logo img{display:block;width:67px;height:20px}.search{position:relative;flex:1 1 240px;max-width:480px;margin:0 auto}.search-box{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--ground);color:var(--muted)}.search-box:focus-within{border-color:var(--accent)}.search-box input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--ink);font:inherit;font-size:14px}.search-box input::-webkit-search-cancel-button{display:none}.kbd{font-family:var(--mono);font-size:12px;border:1px solid var(--line-strong);border-radius:4px;padding:1px 6px;color:var(--muted)}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--panel);border:1px solid var(--line-strong);border-radius:10px;overflow:hidden}.search-row{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;font-size:14px;border-bottom:1px solid var(--line)}.search-row:last-child{border-bottom:0}.search-row:hover,.search-row:focus-visible{background:var(--raised)}.search-meta{color:var(--muted);font-size:13px;flex:none}.search-empty{margin:0;padding:14px;color:var(--muted);font-size:14px}.topbar-right{display:flex;align-items:center;gap:16px;font-size:14px;flex:none}.chip-streak{display:flex;align-items:center;gap:6px;color:var(--orange);font-weight:600}.chip-level{font-family:var(--mono);font-size:13px;color:var(--accent);background:var(--accent-soft);padding:4px 10px;border-radius:6px}.topbar-link{color:var(--muted)}.topbar-link:hover{color:var(--ink)}.icon-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:0;border-radius:8px;color:var(--ink);cursor:pointer;flex:none}.only-mobile{display:none}.readbar{position:sticky;top:var(--top);z-index:39;height:2px;background:var(--line)}#readbar-fill{width:0;height:100%;background:var(--accent)}.shell{display:flex;flex:1;align-items:stretch;min-width:0}.sidebar,.nav-backdrop{display:none}.has-sidebar .sidebar{display:block;position:sticky;top:calc(var(--top) + 2px);align-self:flex-start;flex:0 0 288px;box-sizing:border-box;height:calc(100vh - var(--top) - 2px - var(--status));overflow-y:auto;background:var(--panel);border-right:1px solid var(--line);padding:16px 12px 24px}.sidebar-head{display:none}.track-tabs{display:flex;gap:2px;background:var(--ground);border-radius:8px;padding:2px}.track-tab{flex:1;min-height:36px;background:transparent;border:0;border-radius:6px;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.track-tab[aria-pressed=true]{background:var(--line);color:var(--ink);font-weight:600}.track-progress{padding:16px 8px 12px}.track-progress-row{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.bar{height:8px;background:var(--line);border-radius:2px;margin-top:12px;overflow:hidden}.bar-thin{height:4px;margin-top:8px}.bar-fill{width:0;height:100%;background:var(--accent);transition:width .3s}.bar-green{background:var(--green)}.unit summary{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 8px;border-radius:6px;color:var(--ink-3);font-size:14px;cursor:pointer;list-style:none}.unit summary::-webkit-details-marker{display:none}.unit summary:hover{background:var(--raised)}.unit[open] summary{color:var(--ink);font-weight:600}.chev{flex:none;transition:transform .15s}.unit[open] .chev{transform:rotate(90deg)}.unit-title{flex:1}.unit-count{font-size:12px;font-weight:400;color:var(--muted)}.unit-count.is-complete,.unit-row-count.is-complete{color:var(--green)}.unit-lessons{margin:2px 0 8px 15px;padding-left:8px;border-left:1px solid var(--line-strong);display:flex;flex-direction:column;gap:2px}.flat-lessons{display:flex;flex-direction:column;gap:2px}.nav-lesson{display:flex;align-items:center;gap:8px;min-height:36px;padding:4px 8px;border-radius:6px;font-size:14px;line-height:1.3;color:var(--ink-2)}.nav-lesson:hover{background:var(--raised)}.nav-lesson .dot{flex:0 0 8px;height:8px;border-radius:50%;border:1px solid #666666;box-sizing:border-box}.nav-lesson.is-done{color:var(--muted)}.nav-lesson.is-done .dot{background:var(--green);border-color:var(--green)}.nav-lesson[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-lesson[aria-current=page] .dot{background:var(--accent);border-color:var(--accent)}.lesson-main{flex:999 1 560px;min-width:0;padding:48px 32px 80px;box-sizing:border-box}.lesson{max-width:864px;margin:0 auto}.lesson-title{margin:0;font-size:44px;line-height:1.1;letter-spacing:-.025em;font-weight:700}.lesson-meta{margin:12px 0 0;font-size:15px;color:#505050}.rail{flex:0 0 186px;box-sizing:border-box;padding:40px 24px 40px 0;position:sticky;top:calc(var(--top) + 2px);align-self:flex-start;max-height:calc(100vh - var(--top) - var(--status));overflow-y:auto}.rail-title{margin:0 0 10px;font-size:13px;font-weight:600}.rail-link{display:block;padding:6px 0;font-size:14px;line-height:1.35;color:var(--muted)}.rail-link:hover{color:var(--ink)}.rail-link.is-active{color:var(--accent)}.complete-card{margin-top:48px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:20px;background:var(--green-soft);border-radius:12px}.complete-title{margin:0;font-size:16px;font-weight:600}.complete-sub{margin:4px 0 0;font-size:14px;color:var(--ink-3)}.btn-complete{min-height:48px;padding:0 20px;background:var(--green);border:0;border-radius:8px;color:#0b0b0c;font:inherit;font-size:15px;font-weight:600;cursor:pointer}.complete-card .when-done{display:none}.complete-card.is-done .when-done{display:inline}.complete-card.is-done .when-undone{display:none}.complete-card.is-done .btn-complete{background:transparent;color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.pager{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.pager-card{display:block;padding:16px;border:1px solid var(--line);border-radius:12px}.pager-card:hover{border-color:var(--line-strong);background:var(--panel)}.pager-next{text-align:right}.pager-label{display:block;font-size:13px;color:var(--muted)}.pager-title{display:block;margin-top:4px;font-size:16px;font-weight:600}.statusbar{border-top:1px solid var(--line);background:var(--panel);padding:8px 32px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:12px;color:var(--muted);box-sizing:border-box}.statusbar-fixed{position:fixed;left:0;right:0;bottom:0;z-index:30;height:var(--status)}.has-sidebar{padding-bottom:var(--status)}.lessonbar{display:none}.toasts{position:fixed;right:20px;bottom:48px;z-index:60;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}.toast{background:var(--raised);border:1px solid var(--line-strong);border-radius:8px;padding:10px 14px;font-size:14px;font-weight:500;color:var(--ink);animation:toast-in .2s ease-out}.toast-level{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.toast-badge{background:var(--orange-soft);color:var(--orange);border-color:var(--orange)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}.bar-fill,.chev{transition:none}}.home{width:100%;max-width:1200px;margin:0 auto;padding:56px 32px 64px;box-sizing:border-box;display:flex;flex-direction:column;gap:56px}.hero{display:flex;flex-wrap:wrap;gap:40px;align-items:stretch}.hero-text{flex:999 1 460px;min-width:0;display:flex;flex-direction:column;justify-content:center}.hero-kicker{margin:0 0 16px;font-family:var(--mono);font-size:13px;color:var(--accent)}.hero h1{margin:0;font-size:clamp(36px,5vw,60px);line-height:1.05;letter-spacing:-.03em;font-weight:700;max-width:12em}.hero-sub{margin:20px 0 0;font-size:17px;line-height:1.6;color:var(--ink-3);max-width:34em}.continue{flex:1 1 380px;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.continue-tabs{display:flex;background:var(--raised);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px}.continue-tab{padding:10px 16px;background:var(--panel);border-right:1px solid var(--line)}.continue-state{padding:10px 16px;color:var(--muted)}.continue-body{padding:24px;display:flex;flex-direction:column;gap:16px;flex:1}.continue-meta{margin:0;font-size:13px;color:var(--muted)}.continue-body h2{margin:6px 0 0;font-size:28px;letter-spacing:-.02em;font-weight:600}.continue-lead{margin:0;font-size:15px;line-height:1.55;color:var(--ink-3)}.btn-primary{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border:0;border-radius:8px;background:var(--accent);color:#0b0b0c;font:inherit;font-weight:600;font-size:15px;cursor:pointer}.btn-primary:hover{background:#8dbbff}.btn-small{min-height:44px;font-size:14px;margin-top:0}.home-h2{margin:0 0 20px;font-size:22px;letter-spacing:-.01em;font-weight:600}.tracks{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.track-card{display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.track-card:hover{border-color:var(--line-strong)}.track-card-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:13px;color:var(--muted)}.track-card h3{margin:0;font-size:20px;font-weight:600;letter-spacing:-.01em}.track-card p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-3);min-height:42px}.ticks{display:flex;gap:3px;margin-top:auto}.tick{flex:1;height:6px;border-radius:1px;background:var(--line-strong)}.tick.is-done{background:var(--green)}.tick.is-next{background:var(--accent)}.home-columns{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}.home-units{flex:999 1 560px;min-width:0}.unit-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}.unit-row{display:flex;align-items:center;gap:16px;min-height:52px;padding:0 20px;border-bottom:1px solid var(--line)}.unit-row:last-child{border-bottom:0}.unit-row:hover{background:var(--raised)}.unit-row.is-active{background:var(--accent-soft);font-weight:600}.unit-row.is-active .unit-row-count{color:var(--accent)}.unit-no{font-size:13px;color:var(--muted);width:16px}.unit-row-title{flex:1;font-size:15px}.unit-row-count{font-size:13px;color:var(--muted);font-weight:400}.home-progress{flex:1 1 300px;display:flex;flex-direction:column;gap:16px}.home-progress .home-h2{margin-bottom:4px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;font-size:15px}.panel-row{display:flex;justify-content:space-between;align-items:baseline}.panel-row .mono{font-size:13px;color:var(--muted)}.streak-text{font-size:14px;color:var(--orange);font-weight:600}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:14px}.week-day{display:flex;flex-direction:column;align-items:center;gap:6px}.week-box{width:100%;aspect-ratio:1;border-radius:4px;background:var(--line)}.week-box.is-on{background:var(--orange)}.week-label{font-size:12px;color:var(--muted)}.badges{display:flex;flex-direction:column;gap:12px;margin-top:12px}.badges-empty{margin:0;font-size:14px;color:var(--muted)}.badge-row{display:flex;align-items:center;gap:12px;font-size:14px}.badge-icon{width:32px;height:32px;flex:none;border-radius:6px;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center}.md h2{margin:56px 0 14px;font-size:26px;letter-spacing:-.015em;font-weight:600}.md h3{margin:32px 0 8px;font-size:19px;letter-spacing:-.01em;font-weight:600}.md p{margin:18px 0;font-size:16px;line-height:1.7;color:var(--ink-2)}.md>p:first-child{margin-top:28px;font-size:19px;line-height:1.55;color:var(--ink)}.md ul{list-style:disc;padding-left:22px;margin:18px 0;font-size:16px;line-height:1.7;color:var(--ink-2)}.md ol{list-style:decimal;padding-left:22px;margin:18px 0;font-size:16px;line-height:1.7;color:var(--ink-2)}.md li{margin:8px 0}.md a{color:var(--accent);text-decoration:underline}.md strong{color:var(--ink);font-weight:600}.md :not(pre)>code{font-family:var(--mono);font-size:.875em;background:var(--raised);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.md pre{margin:0;padding:16px;overflow-x:auto;font-family:var(--mono);font-size:13px;line-height:1.7;background:transparent!important}.md pre,.md pre code{white-space:pre-wrap!important;overflow-wrap:anywhere}.md h2,.md h3{scroll-margin-top:calc(var(--top) + 24px)}.callout{margin:32px 0;padding:20px;border-radius:12px;background:var(--accent-soft)}.callout-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;margin-bottom:8px;color:var(--accent)}.callout-title:before{content:"";width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:var(--ico) center / contain no-repeat;mask:var(--ico) center / contain no-repeat;--ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E")}.callout-warn,.callout-dikkat{background:var(--orange-soft)}.callout-danger,.callout-uyari{background:var(--red-soft)}.callout-warn .callout-title,.callout-dikkat .callout-title{color:var(--orange)}.callout-danger .callout-title,.callout-uyari .callout-title{color:var(--red)}.callout-warn .callout-title:before,.callout-dikkat .callout-title:before,.callout-danger .callout-title:before,.callout-uyari .callout-title:before{--ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E")}.md .callout p{margin:0;font-size:15px;line-height:1.6;color:var(--ink)}.md .callout p+p{margin-top:10px}.ipucu{margin:24px 0;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:14px 16px;font-size:15px}.ipucu>summary{cursor:pointer;font-weight:500;color:var(--orange);min-height:24px}.ipucu[open]>summary{margin-bottom:8px}.md .ipucu p{margin:8px 0;font-size:15px}.md table{display:block;max-width:100%;overflow-x:auto;margin:24px 0;border-collapse:collapse;font-size:15px}.md th,.md td{padding:10px 14px;border:1px solid var(--line);text-align:left;vertical-align:top}.md th{background:var(--raised);font-weight:600}.codebox{margin:32px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}.cb-bar{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:space-between;background:var(--raised);border-bottom:1px solid var(--line);font-size:13px}.cb-tabs{display:flex}.cb-tab{padding:10px 16px;font-family:var(--mono);font-size:12px;color:var(--ink);background:var(--panel);border:0;border-right:1px solid var(--line)}button.cb-tab{background:transparent;color:var(--muted);cursor:pointer}button.cb-tab[aria-selected=true]{background:var(--panel);color:var(--ink)}.cb-actions{display:flex;align-items:center;gap:2px;padding:0 6px}.cb-btn{min-height:36px;padding:0 10px;background:transparent;border:0;border-radius:6px;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.cb-btn:hover,.cb-btn-strong{color:var(--ink)}.cb-btn-run{color:var(--green);font-weight:500}.cb-split{display:flex;flex-wrap:wrap;min-height:120px}.cb-code{flex:1 1 320px;min-width:0}.cb-preview{flex:1 1 260px;min-width:0;background:#fff;padding:8px;box-sizing:border-box}.ex-label-light{margin:0!important;padding:8px 16px!important;background:#e8e8e6!important;font-family:var(--mono);font-size:12px!important;line-height:1.4!important;color:#333!important}.cb-frame{display:block;width:100%;border:0;background:#fff}.cb-textarea{display:block;width:100%;box-sizing:border-box;padding:16px;background:transparent;border:0;outline:0;color:var(--ink-2);font-family:var(--mono);font-size:13px;line-height:1.7;resize:vertical;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.cb-textarea.hidden{display:none}.codebox-output,.term{display:block;background:#000;color:#d1d5db;border-top:1px solid var(--line);padding:12px 16px;font-family:var(--mono);font-size:13px;line-height:1.625;overflow-x:auto}.md .codebox-output p,.codebox-output p{margin:0;font-family:var(--mono);font-size:13px;color:#d1d5db;line-height:1.625;white-space:pre-line}.codebox-output.is-error,.md .codebox-output.is-error p{background:#3b0d0d;color:#fca5a5}.codebox-output.is-error{border-top-color:#7f1d1d}.degerlendirme{margin:20px 0;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.degerlendirme-title,.egzersiz-title,.proje-title{font-family:var(--mono);font-size:13px;color:var(--muted)}.md .degerlendirme p{margin:8px 0 16px;font-size:17px;line-height:1.5;font-weight:500;color:var(--ink)}.md .degerlendirme ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.md .degerlendirme li.quiz-opt{margin:0}.quiz-opt label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;min-height:48px;box-sizing:border-box;padding:10px 16px;background:var(--raised);border:1px solid var(--line-strong);border-radius:8px;cursor:pointer;font-size:15px;color:var(--ink)}.quiz-opt label:hover{border-color:#555}.quiz-opt:has(input:focus-visible) label{outline:2px solid var(--accent);outline-offset:2px}.quiz-note{flex:1 1 220px;text-align:right;font-size:13px;line-height:1.4}.quiz-note:empty{display:none}.quiz-opt.is-right label{background:var(--green-soft);border-color:var(--green)}.quiz-opt.is-right .quiz-note{color:var(--green)}.quiz-opt.is-wrong label{background:var(--red-soft);border-color:var(--red)}.quiz-opt.is-wrong .quiz-note{color:var(--red)}.egzersiz,.proje{margin:20px 0;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.egzersiz>pre,.proje>pre{display:none}.egzersiz-title,.proje-title{padding:20px 20px 0}.md .egzersiz>p,.md .proje>p{margin:8px 0 16px;padding:0 20px;font-size:15px;line-height:1.55;color:var(--ink-3)}.egz-done{color:var(--green)}.ex-grid{display:flex;flex-wrap:wrap;border-top:1px solid var(--line)}.ex-editor{flex:1 1 300px;min-width:0}.ex-side{flex:1 1 260px;min-width:0;border-left:1px solid var(--line);display:flex;flex-direction:column}.ex-pane+.ex-pane{border-top:1px solid var(--line)}.ex-pane>.cb-btn{margin:8px}.ex-white{background:#fff}.ex-label,.md .ex-label{margin:0;padding:8px 16px;background:var(--raised);font-family:var(--mono);font-size:12px;line-height:1.4;color:var(--muted)}.ex-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line)}.md .ex-feedback{margin:0;flex:1 1 220px;font-size:14px;line-height:1.4;color:var(--muted);min-height:20px}.md .ex-feedback.is-right{color:var(--green)}.md .ex-feedback.is-wrong{color:var(--red)}.ex-foot-btns{display:flex;align-items:center;gap:8px}.btn-ghost{min-height:44px;padding:0 14px;background:transparent;border:1px solid var(--line-strong);border-radius:8px;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}.btn-link{min-height:44px;padding:0 8px;background:transparent;border:0;color:var(--muted);font:inherit;font-size:14px;text-decoration:underline;cursor:pointer}.btn-link.hidden{display:none}.ex-solution{margin:0;border:0;border-top:1px solid var(--line);border-radius:0}.ex-solution:not([hidden]) pre{display:block}.proje .ex-editor{display:flex;flex-direction:column}.proje .cb-textarea{flex:1;min-height:380px}.md .proje-list{list-style:none;margin:0;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.md .proje-list li{margin:0;font-size:14px;line-height:1.45;color:var(--ink-3)}.proje-item{display:flex;gap:8px}.proje-mark{flex:0 0 14px;font-family:var(--mono);color:var(--muted)}.proje-item.is-ok .proje-mark{color:var(--green)}.proje-note{display:block;margin-top:2px;font-size:13px;color:var(--red)}.proje-note:empty{display:none}.proje-self label{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.proje-self input{flex:none;margin-top:3px;accent-color:var(--green)}.cb-resizer{display:none}.is-resizing{-webkit-user-select:none;-moz-user-select:none;user-select:none}.is-resizing iframe{pointer-events:none}@media(min-width:1024px){.cb-split,.ex-grid{flex-wrap:nowrap}.cb-split>.cb-code,.ex-grid>.ex-editor{flex:0 0 var(--left-w, 56%)}.cb-split>.cb-preview,.ex-grid>.ex-side{flex:1 1 0}.cb-resizer{display:block;position:relative;z-index:2;flex:0 0 10px;margin:0 -5px;cursor:col-resize;touch-action:none}.cb-resizer:after{content:"";position:absolute;top:0;bottom:0;left:4px;width:2px;background:transparent;transition:background .15s}.cb-resizer:hover:after,.cb-resizer:focus-visible:after,.is-resizing>.cb-resizer:after{background:var(--accent)}}@media(max-width:1199px){.rail{display:none}}@media(max-width:767px){:root{--top: 53px}.topbar{justify-content:space-between;gap:8px;padding:0 8px}.only-mobile{display:flex}.topbar-right,.search{display:none}.search-open .search{display:block;position:absolute;left:0;right:0;top:100%;max-width:none;margin:0;padding:8px;background:var(--panel);border-bottom:1px solid var(--line)}.search-open .search-results{left:8px;right:8px}.search-box .kbd{display:none}.sidebar,.has-sidebar .sidebar{display:block;position:fixed;inset:0 auto 0 0;z-index:50;width:min(390px,100%);height:auto;padding:0 8px 24px;background:var(--panel);overflow-y:auto;visibility:hidden;transform:translate(-100%);transition:transform .2s ease-out,visibility .2s;border-right:0;flex:none}.nav-open .sidebar{visibility:visible;transform:none}.nav-open{overflow:hidden}.nav-backdrop{display:none}.nav-open .nav-backdrop{display:block;position:fixed;inset:0;z-index:45;background:#0009}.sidebar-head{display:flex;align-items:center;justify-content:space-between;min-height:52px;border-bottom:1px solid var(--line);margin:0 -8px 16px;padding:0 8px 0 16px}.sidebar-home{font-size:15px;font-weight:600}.track-tabs{margin:0 8px}.track-tab{min-height:44px;font-size:14px}.unit summary,.nav-lesson{min-height:44px;font-size:15px}.lesson-main{padding:20px 16px 40px;flex-basis:100%}.lesson-title{font-size:34px;margin-top:8px}.md h2{font-size:21px;margin-top:32px}.md>p:first-child{font-size:16px;margin-top:16px}.home{padding:32px 16px 40px;gap:40px}.hero{gap:28px}.statusbar{padding:8px 16px}.statusbar-fixed{display:none}.has-sidebar{padding-bottom:61px}.lessonbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--panel);border-top:1px solid var(--line)}.lessonbar-btn{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line-strong);border-radius:8px;font-size:14px}.lessonbar-btn.is-empty{visibility:hidden}.lessonbar-next{background:var(--accent);border-color:var(--accent);color:#0b0b0c;font-weight:600}.lessonbar-count{font-size:12px;color:var(--muted)}.ex-side{border-left:0;border-top:1px solid var(--line)}.toasts{left:12px;right:12px;bottom:72px;align-items:stretch}}
