:root{color-scheme:dark;--bg: #07090F;--surface: #0D1117;--surface2: #161C26;--border: #1C2333;--border2: #2A3347;--green: #3DD68C;--green-bg: rgba(61,214,140,.07);--cyan: #38BDF8;--purple: #C084FC;--orange: #FB923C;--yellow: #FDE68A;--red: #F87171;--blue: #60A5FA;--text: #E2E8F0;--text-dim: #94A3B8;--text-muted:#4B5D73;--nav-w: 272px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}#root{display:flex;min-height:100vh}body{font-family:Inter,sans-serif;background:var(--bg);color:var(--text);display:flex;min-height:100vh;font-size:16px;line-height:1.6}#progress{position:fixed;top:0;left:0;height:2px;background:var(--green);z-index:999;transition:width .08s linear}nav{width:var(--nav-w);min-width:var(--nav-w);background:var(--surface);border-right:1px solid var(--border);position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:var(--border2) transparent;transition:width .25s ease,min-width .25s ease}nav.collapsed{width:52px;min-width:52px;overflow:hidden}.sidebar-collapse-btn{margin-left:auto;flex-shrink:0;width:26px;height:26px;border-radius:6px;background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s,background .15s;padding:0;line-height:1}.sidebar-collapse-btn:hover{color:var(--text);border-color:var(--border2);background:var(--border)}@media (max-width: 860px){.sidebar-collapse-btn{display:none}}main.sidebar-collapsed{margin-left:0}@media (min-width: 861px){main.sidebar-collapsed{margin-left:52px}}.nav-logo{padding:14px 14px 14px 18px;border-bottom:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;gap:8px}.nav-logo-text{flex:1;min-width:0}.nav-logo .mark{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--green);letter-spacing:-.3px}.nav-logo .mark svg{width:17px;height:17px;flex-shrink:0}.nav-logo .sub{font-size:11px;color:var(--text-muted);margin-top:4px}.nav-search{padding:10px 12px;border-bottom:1px solid var(--border);flex-shrink:0;position:relative}.nav-search input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:6px 28px 6px 10px;color:var(--text);font-size:12px;font-family:Inter,sans-serif;outline:none}.nav-search input::placeholder{color:var(--text-muted)}.nav-search input:focus{border-color:var(--border2)}.search-clear{position:absolute;right:20px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:11px;padding:2px 4px;line-height:1}.search-clear:hover{color:var(--text)}.nav-stats{padding:8px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-shrink:0}.stats-bar{flex:1;height:3px;background:var(--border);border-radius:2px;overflow:hidden}.stats-fill{height:100%;background:var(--green);border-radius:2px;transition:width .4s}.stats-text{font-size:10px;color:var(--text-muted);white-space:nowrap;font-family:JetBrains Mono,monospace}.nav-group{font-size:10px;letter-spacing:.9px;color:var(--text-muted);padding:12px 18px 4px;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between}.nav-group-count{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:1px 7px;font-size:10px;color:var(--text-muted);letter-spacing:0;text-transform:none;font-weight:500}.nav-group-progress{display:flex;align-items:center;gap:1px;font-size:10px;letter-spacing:0;text-transform:none;font-weight:500;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:1px 7px}.nav-group-done{color:var(--green);font-weight:600}.nav-group-sep{color:var(--border2);margin:0 1px}.nav-group-total{color:var(--text-muted)}details.nav-section-group>summary{list-style:none;cursor:pointer}details.nav-section-group>summary::-webkit-details-marker{display:none}details.nav-section-group>summary::marker{display:none}mark.nav-match{background:#fde68a26;color:var(--yellow);border-radius:2px;padding:0 1px}nav a{display:flex;align-items:center;gap:8px;padding:5px 18px;text-decoration:none;color:var(--text-dim);font-size:13px;border-left:2px solid transparent;transition:color .12s,background .12s,border-color .12s;position:relative}nav a:hover{color:var(--text);background:var(--surface2)}nav a.active{color:var(--green);border-left-color:var(--green);background:var(--green-bg)}nav a.done .nav-check{opacity:1}nav a .n{font-size:10px;font-family:JetBrains Mono,monospace;color:var(--text-muted);min-width:22px}nav a .nav-check{margin-left:auto;font-size:10px;color:var(--green);opacity:0;transition:opacity .2s}nav a.hidden-link{display:none}main{flex:1;min-width:0;padding:52px 60px 80px}.page-head{margin-bottom:48px;padding-bottom:32px;border-bottom:1px solid var(--border);position:relative}.page-head-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--green);border:1px solid rgba(61,214,140,.3);background:var(--green-bg);padding:4px 12px;border-radius:20px;margin-bottom:18px}.page-head h1{font-size:42px;font-weight:800;letter-spacing:-1.2px;line-height:1.1;margin-bottom:14px}.page-head h1 em{font-style:normal;color:var(--green);text-shadow:0 0 40px rgba(61,214,140,.25)}.page-head-sub{font-size:28px;font-weight:400;color:var(--text-dim);letter-spacing:-.5px}.page-head p{font-size:14px;color:var(--text-dim);max-width:560px;line-height:1.75;margin-bottom:20px}.page-stats{display:flex;align-items:center;gap:0;margin-bottom:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 24px;width:fit-content}.page-stat{display:flex;flex-direction:column;align-items:center;padding:0 20px}.page-stat-n{font-size:24px;font-weight:700;color:var(--green);font-family:JetBrains Mono,monospace;line-height:1}.page-stat-l{font-size:11px;color:var(--text-muted);margin-top:3px;text-transform:uppercase;letter-spacing:.5px}.page-stat-div{width:1px;height:32px;background:var(--border)}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{font-size:12.5px;padding:4px 12px;border-radius:20px;border:1px solid var(--border);color:var(--text-dim);background:var(--surface)}.chip.g{border-color:#3dd68c40;color:var(--green);background:var(--green-bg)}.diff-filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.diff-filter-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:12px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.diff-filter-btn:hover{border-color:var(--border2);color:var(--text)}.diff-filter-btn.active{border-color:var(--green);background:var(--green-bg);color:var(--green)}.diff-filter-btn.diff-filter-beginner.active{border-color:#3dd68c;background:#3dd68c14;color:#3dd68c}.diff-filter-btn.diff-filter-intermediate.active{border-color:#fde68a;background:#fde68a14;color:#fde68a}.diff-filter-btn.diff-filter-advanced.active{border-color:#fb923c;background:#fb923c14;color:#fb923c}.diff-filter-count{font-size:10px;padding:1px 6px;border-radius:10px;background:var(--surface2);color:var(--text-muted);font-family:JetBrains Mono,monospace}.diff-filter-btn.active .diff-filter-count{background:transparent;color:inherit;opacity:.7}.sections-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:stretch;margin-bottom:48px}.section{--accent: var(--border2);--accent-glow: transparent}.section.diff-b{--accent: var(--green);--accent-glow: rgba(61,214,140,.1)}.section.diff-i{--accent: var(--yellow);--accent-glow: rgba(253,230,138,.08)}.section.diff-a{--accent: var(--orange);--accent-glow: rgba(251,146,60,.1)}.section{background:linear-gradient(160deg,#0e1420,#07091100),#070a12;border:1px solid var(--border);border-radius:16px;scroll-margin-top:28px;overflow:hidden;transition:border-color .22s,box-shadow .22s,transform .22s;height:100%;display:flex;flex-direction:column;min-height:96px;box-shadow:0 2px 6px #0000004d,0 1px 2px #0003;position:relative}.section:not(.meta):before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent) 0%,transparent 75%);opacity:.28;transition:opacity .22s,height .22s;z-index:1;pointer-events:none}.section:not(.meta):not(.open):hover:before{opacity:1}.sections-grid .section.open:before{opacity:1;height:3px}.section.meta{min-height:unset;border-radius:16px}.sections-grid .section.open{min-height:unset}.section>.sec-head{flex-shrink:0}.section:not(.meta):not(.open):hover{border-color:var(--accent);box-shadow:0 14px 44px #0000008c,0 0 0 1px var(--accent),0 0 28px var(--accent-glow);transform:translateY(-3px)}.sections-grid .section.open{grid-column:1 / -1;border-color:var(--accent);box-shadow:0 6px 28px #00000080,0 0 0 1px var(--accent);transform:none}.sections-grid .section.meta.open{grid-column:1 / -1;border-color:var(--border2)}.sec-head{display:flex;align-items:flex-start;gap:12px;padding:16px 18px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,transparent 100%);transition:background .2s}.section:not(.meta):not(.open):hover .sec-head{background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,transparent 100%)}details>summary{list-style:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}details>summary::-webkit-details-marker{display:none}details>summary::marker{display:none}.section.meta .sec-head{padding:14px 18px;align-items:center;background:none}.sec-head-content{flex:1;min-width:0}.sec-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sec-num{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:4px 8px;flex-shrink:0;letter-spacing:.8px;line-height:1.1;align-self:flex-start;margin-top:2px;transition:border-color .2s,color .2s,background .2s}.section.diff-b .sec-num{background:#3dd68c12;border-color:#3dd68c47;color:var(--green)}.section.diff-i .sec-num{background:#fde68a0f;border-color:#fde68a38;color:var(--yellow)}.section.diff-a .sec-num{background:#fb923c12;border-color:#fb923c47;color:var(--orange)}.sec-title{font-size:15.5px;font-weight:600;letter-spacing:-.2px;line-height:1.3}.section.meta .sec-title{font-size:16px}.sec-preview{font-size:12.5px;color:var(--text-muted);margin-top:6px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;opacity:.85}.sections-grid .section.open .sec-preview{display:none}.sec-chevron{width:20px;height:20px;flex-shrink:0;border-radius:6px;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:7px;color:var(--text-muted);margin-top:2px;transition:transform .2s,border-color .2s,color .2s,background .2s}.section:not(.meta):hover .sec-chevron{border-color:var(--accent);color:var(--accent);background:var(--accent-glow, var(--surface2))}.sections-grid .section.open>.sec-head .sec-chevron{transform:rotate(90deg);border-color:var(--accent);color:var(--accent);background:var(--accent-glow, var(--surface2))}.section.meta .sec-chevron{margin-left:auto;width:18px;height:18px}.section.meta.open .sec-chevron{transform:rotate(90deg)}.sec-body-anim{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.4,0,.2,1)}.section.open .sec-body-anim{grid-template-rows:1fr}.sec-body-clip{min-height:0;overflow:hidden}.sec-body{padding:18px 20px 20px}.section.open .sec-head{border-bottom:1px solid var(--border)}.section.meta .sec-body{padding:16px 18px 22px}.sec-complete-row{display:flex;align-items:center;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.sec-complete-btn{display:flex;align-items:center;gap:6px;padding:7px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text-dim);font-size:12px;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.sec-complete-btn:hover{border-color:var(--green);color:var(--green);background:var(--green-bg)}.sec-complete-btn:before{content:"○";font-size:14px}.sec-complete-done{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--green)}.sec-complete-done:before{content:"✓";font-size:14px}.sec-done-badge{font-size:10px;font-weight:700;color:var(--green);background:var(--green-bg);border:1px solid rgba(61,214,140,.3);border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:2px}.sec-next-btn{margin-left:auto;display:flex;align-items:center;gap:6px;padding:7px 16px;border-radius:8px;border:1px solid var(--accent, var(--border2));background:var(--accent-glow, transparent);color:var(--accent, var(--text-dim));font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s,transform .15s}.sec-next-btn:hover{background:var(--accent-glow, rgba(42,51,71,.4));box-shadow:0 0 12px var(--accent-glow, transparent);transform:translate(2px)}.sec-next-arrow{font-size:14px;transition:transform .15s}.sec-next-btn:hover .sec-next-arrow{transform:translate(3px)}.sec-tag{font-size:10px;padding:2px 7px;border-radius:10px;font-weight:500;background:var(--surface2);color:var(--text-muted);border:1px solid var(--border);margin-left:2px}.sec-tag.new{background:#3dd68c1a;color:var(--green);border-color:#3dd68c4d}.sec-meta-row{display:flex;align-items:center;gap:8px;margin-top:6px}.sec-time{font-size:11px;color:var(--text-muted);opacity:.75}.sec-uncomplete-btn{font-size:11px;padding:4px 10px;border-radius:6px;border:1px solid var(--border2);background:none;color:var(--text-muted);cursor:pointer;font-family:Inter,sans-serif;transition:border-color .13s,color .13s}.sec-uncomplete-btn:hover{border-color:var(--red);color:#f87171}.skip-link{position:absolute;top:-100%;left:0;background:var(--accent, var(--purple));color:#fff;padding:6px 12px;border-radius:0 0 6px;font-size:12px;z-index:9999;transition:top .15s}.skip-link:focus{top:0}.page-progress{display:flex;align-items:center;gap:12px;margin:16px 0 0;max-width:480px}.page-progress-bar{flex:1;height:6px;background:var(--surface2);border-radius:3px;overflow:hidden}.page-progress-fill{height:100%;background:var(--green);border-radius:3px;transition:width .4s ease}.page-progress-label{font-size:11px;color:var(--text-muted);white-space:nowrap}.sections-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:64px 24px;color:var(--text-muted);text-align:center}.sections-empty-icon{font-size:40px;opacity:.5}.sections-empty p{font-size:15px;margin:0}.desc{font-size:15px;color:var(--text-dim);margin-bottom:14px;max-width:660px;line-height:1.7}.desc code,.call code{font-family:JetBrains Mono,monospace;font-size:12px;background:var(--surface2);padding:1px 5px;border-radius:3px;color:var(--cyan)}.cb{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:14px}.cb-head{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--surface2);border-bottom:1px solid var(--border)}.lang{font-size:11px;font-family:JetBrains Mono,monospace;color:var(--text-muted)}.lang.js{color:#f7df1e}.lang.ts{color:#4fc3f7}.lang.cfg{color:var(--orange)}.lang.sh{color:#aaa}.lang.bad{color:var(--red)}.lang.good{color:var(--green)}.copy-btn{background:none;border:1px solid var(--border2);color:var(--text-muted);font-size:11px;padding:3px 10px;border-radius:4px;cursor:pointer;font-family:Inter,sans-serif;transition:all .13s}.copy-btn:hover{color:var(--text);border-color:var(--text-muted)}.copy-btn.ok{color:var(--green);border-color:var(--green)}pre{padding:16px 18px;overflow-x:auto;font-family:JetBrains Mono,monospace;font-size:15px;line-height:1.75;-moz-tab-size:2;tab-size:2;scrollbar-width:thin;scrollbar-color:var(--border2) transparent}.kw{color:var(--purple)}.fn{color:var(--cyan)}.str{color:var(--orange)}.num{color:var(--green)}.cmt{color:var(--text-muted);font-style:italic}.prop{color:var(--blue)}.bool{color:#f87171}.call{display:flex;gap:10px;padding:12px 14px;border-radius:8px;margin-bottom:14px;font-size:13px;line-height:1.65}.call.tip{background:#3dd68c12;border:1px solid rgba(61,214,140,.2);color:#86efac}.call.warn{background:#fb923c12;border:1px solid rgba(251,146,60,.22);color:#fca97c}.call.info{background:#60a5fa12;border:1px solid rgba(96,165,250,.2);color:#93c5fd}.call.err{background:#f8717112;border:1px solid rgba(248,113,113,.2);color:#fca5a5}.call-icon{font-size:14px;flex-shrink:0;margin-top:2px}.call strong{font-weight:600}.compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}details.exercise{margin-bottom:14px;border:1px solid rgba(61,214,140,.2);border-radius:9px;overflow:hidden}details.exercise>summary{padding:11px 16px;cursor:pointer;list-style:none;background:#3dd68c0d;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#86efac;-webkit-user-select:none;user-select:none;transition:background .12s}details.exercise>summary:hover{background:#3dd68c1a}details.exercise>summary:before{content:"▶";font-size:9px;transition:transform .2s}details.exercise[open]>summary:before{transform:rotate(90deg)}details.exercise>summary::-webkit-details-marker{display:none}.ex-body{padding:14px 16px;border-top:1px solid rgba(61,214,140,.15)}.ex-task{font-size:13px;color:var(--text-dim);margin-bottom:12px;line-height:1.7}.ex-task strong{color:var(--text)}.ex-task code{font-family:JetBrains Mono,monospace;font-size:12px;background:var(--surface2);padding:1px 5px;border-radius:3px;color:var(--cyan)}details.solution{margin-top:10px;border:1px solid var(--border);border-radius:7px;overflow:hidden}details.solution>summary{padding:8px 14px;cursor:pointer;list-style:none;background:var(--surface2);font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:7px;-webkit-user-select:none;user-select:none}details.solution>summary:before{content:"▶";font-size:9px;transition:transform .2s}details.solution[open]>summary:before{transform:rotate(90deg)}details.solution>summary::-webkit-details-marker{display:none}.ex-intro{font-size:13px;color:var(--text-dim);margin-bottom:18px;line-height:1.7}.ex-practice-banner{display:flex;gap:10px;align-items:flex-start;background:#38bdf812;border:1px solid rgba(56,189,248,.2);border-radius:8px;padding:10px 14px;margin-bottom:18px;font-size:15px;color:#93c5fd;line-height:1.6}.ex-practice-icon{font-size:16px;flex-shrink:0;margin-top:1px}.ex-practice-link{color:var(--cyan);text-decoration:underline}.ex-practice-link:hover{color:var(--text)}.ex-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.ex-filter{font-size:12.5px;padding:4px 14px;border-radius:20px;border:1px solid var(--border2);background:none;color:var(--text-muted);cursor:pointer;font-family:Inter,sans-serif;transition:all .13s}.ex-filter:hover{border-color:var(--text-muted);color:var(--text)}.ex-filter.active{background:var(--green-bg);border-color:#3dd68c66;color:var(--green)}.ex-filter.ex-filter-beginner.active{background:#3dd68c14;border-color:#3dd68c59;color:#86efac}.ex-filter.ex-filter-intermediate.active{background:#fde68a0f;border-color:#fde68a4d;color:var(--yellow)}.ex-filter.ex-filter-advanced.active{background:#fb923c12;border-color:#fb923c4d;color:var(--orange)}.ex-group{margin-bottom:40px}.ex-group-title{font-size:14px;font-weight:700;letter-spacing:.3px;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border);color:var(--text-dim)}.ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:12px}.ex-card{border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:var(--surface);display:flex;flex-direction:column;gap:8px;transition:border-color .15s}.ex-card:hover{border-color:var(--border2)}.ex-head{display:flex;align-items:baseline;gap:10px}.ex-num{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-muted);min-width:28px;font-weight:600}.ex-title{font-size:15px;font-weight:600;color:var(--text);line-height:1.3}.ex-desc{font-size:15px;color:var(--text-dim);line-height:1.65}.ex-desc code{font-family:JetBrains Mono,monospace;font-size:12.5px;background:var(--surface2);padding:1px 5px;border-radius:3px;color:var(--cyan)}.ex-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.ex-btn{font-size:11px;padding:4px 12px;border-radius:6px;cursor:pointer;border:1px solid var(--border2);background:none;color:var(--text-muted);font-family:Inter,sans-serif;transition:all .12s}.ex-btn:hover{color:var(--text);border-color:var(--text-muted);background:var(--surface2)}.ex-btn-sol{border-color:#3dd68c4d;color:var(--green)}.ex-btn-sol:hover{background:var(--green-bg);border-color:#3dd68c80}.ex-hint{font-size:12px;color:#93c5fd;background:#60a5fa12;border:1px solid rgba(96,165,250,.2);border-radius:7px;padding:8px 12px;line-height:1.6}.ex-hint-label{font-weight:600}.ex-solution{background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:12px 14px;overflow-x:auto;font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.7;color:var(--text);scrollbar-width:thin;scrollbar-color:var(--border2) transparent;white-space:pre}.ex-card.solution-open{grid-column:1 / -1;border-color:#3dd68c59;box-shadow:0 0 0 1px #3dd68c14,0 12px 32px -12px #3dd68c2e}.ex-anim{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .38s cubic-bezier(.4,0,.2,1),opacity .3s ease,visibility 0s linear .38s}.ex-anim.open{grid-template-rows:1fr;opacity:1;visibility:visible;transition-delay:0s,0s,0s}.ex-anim-clip{min-height:0;overflow:hidden}.ex-anim.open .ex-anim-clip{padding-top:4px}.ex-card .cb pre{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:hidden}.ex-card .cb pre code,.ex-card .cb pre code>div{white-space:pre-wrap;overflow-wrap:anywhere}.ex-head{align-items:center}.ex-close{margin-left:auto;padding:4px 11px;border-radius:999px;cursor:pointer;font:600 11px Inter,sans-serif;color:var(--text-dim);background:var(--surface2);border:1px solid var(--border2);transition:color .15s,border-color .15s,background .15s}.ex-close:hover{color:#fca5a5;border-color:#f8717180;background:#f8717114}.ex-hide-bar{display:block;width:100%;margin-top:8px;padding:8px;cursor:pointer;font:600 12px Inter,sans-serif;color:var(--green);background:var(--green-bg);border:1px solid rgba(61,214,140,.3);border-radius:8px;transition:background .15s,border-color .15s}.ex-hide-bar:hover{background:#3dd68c24;border-color:#3dd68c8c}@media (max-width: 860px){.ex-grid{grid-template-columns:1fr}}.meta-collapse{display:block;margin:22px auto 2px;padding:8px 18px;cursor:pointer;font:600 12px Inter,sans-serif;color:var(--text-dim);background:var(--surface);border:1px solid var(--border2);border-radius:999px;transition:color .15s,border-color .15s,background .15s}.meta-collapse:hover{color:var(--green);border-color:#3dd68c73;background:var(--green-bg)}.ex-progress{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:12px;color:var(--text-dim)}.ex-progress-bar{flex:1;height:6px;background:var(--surface2);border-radius:99px;overflow:hidden}.ex-progress-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--cyan));border-radius:99px;transition:width .35s ease}.ex-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px}.ex-search{flex:1 1 200px;min-width:0;padding:7px 12px;font:13px Inter,sans-serif;color:var(--text);background:var(--surface);border:1px solid var(--border2);border-radius:8px}.ex-search::placeholder{color:var(--text-muted)}.ex-search:focus-visible{outline:2px solid var(--green);outline-offset:1px}.ex-status{display:flex;gap:6px}.ex-empty{text-align:center;padding:28px 12px;color:var(--text-dim);font-size:14px}.ex-empty p{margin-bottom:12px}.ex-badges{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 2px}.ex-badge{font:600 10px Inter,sans-serif;letter-spacing:.3px;padding:2px 8px;border-radius:99px;border:1px solid var(--border2);color:var(--text-dim);background:var(--surface2)}.ex-badge-real{color:#fde68a;border-color:#fde68a59;background:#fde68a0f}.ex-badge-self{color:#86efac;border-color:#3dd68c59;background:#3dd68c12}.ex-badge-fiction{color:#93c5fd;border-color:#60a5fa59;background:#60a5fa12}.ex-badge-config{color:#c4b5fd;border-color:#a78bfa59;background:#a78bfa12}.ex-badge-chromium{color:#fdba74;border-color:#fb923c59;background:#fb923c12}.ex-badge-done{color:var(--green);border-color:#3dd68c80;background:var(--green-bg)}.ex-card.ex-done{border-color:#3dd68c66}.ex-btn-done.is-done{color:var(--green);border-color:#3dd68c80;background:var(--green-bg)}.ex-checks{border:1px solid var(--border2);border-radius:8px;padding:10px 14px 12px;margin:0;display:grid;gap:8px;min-width:0}.ex-checks legend{padding:0 6px;font:600 11px Inter,sans-serif;color:var(--text-dim)}.ex-checks label{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-dim);cursor:pointer}.ex-checks input{margin-top:3px;accent-color:var(--green)}.ex-solution-actions{display:flex;gap:8px;align-items:stretch;margin-top:8px}.ex-solution-actions .ex-hide-bar{margin-top:0;flex:1}.ex-size{display:flex;align-items:center;gap:6px;margin-left:auto}.ex-size-label{font:600 11px Inter,sans-serif;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.ex-grid[data-size=large]{grid-template-columns:minmax(0,1fr);max-width:1040px;margin-inline:auto;gap:18px}.ex-grid[data-size=large] .ex-card{padding:22px 26px;gap:12px}.ex-grid[data-size=large] .ex-num{font-size:12px;min-width:36px}.ex-grid[data-size=large] .ex-title{font-size:21px}.ex-grid[data-size=large] .ex-desc{font-size:17px;line-height:1.75}.ex-grid[data-size=large] .ex-badge{font-size:12px;padding:3px 10px}.ex-grid[data-size=large] .ex-btn,.ex-grid[data-size=large] .ex-close,.ex-grid[data-size=large] .ex-hide-bar{font-size:13.5px;padding:8px 16px}.ex-grid[data-size=large] .ex-hint{font-size:15px;line-height:1.7;padding:12px 16px}.ex-grid[data-size=large] .ex-checks label{font-size:15px}.ex-grid[data-size=large] .cb pre,.ex-grid[data-size=large] .cb code{font-size:15.5px;line-height:1.8}.ex-grid[data-size=large] .cb-head{padding-block:10px}.ex-card{--task-accent: var(--green);--task-rgb: 61, 214, 140}.ex-card[data-diff=intermediate]{--task-accent: var(--yellow);--task-rgb: 253, 230, 138}.ex-card[data-diff=advanced]{--task-accent: var(--orange);--task-rgb: 251, 146, 60}.ex-task{position:relative;margin:2px 0 4px;padding:13px 18px 14px 22px;border-radius:12px;overflow:hidden;background:linear-gradient(120deg,rgba(var(--task-rgb),.13),rgba(var(--task-rgb),.04) 55%,#60a5fa0d);border:1px solid rgba(var(--task-rgb),.28);box-shadow:0 6px 22px -14px rgba(var(--task-rgb),.55),inset 0 1px #ffffff0a}.ex-task:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--task-accent),rgba(var(--task-rgb),.35));box-shadow:0 0 14px rgba(var(--task-rgb),.6)}.ex-task-label{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;font:700 10.5px Inter,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:var(--task-accent)}.ex-task .ex-desc{color:#e8edf7;font-size:16px;line-height:1.7;margin:0}.ex-task .ex-desc code,.ex-hint code{font-family:JetBrains Mono,monospace;font-size:.86em;padding:2px 7px;border-radius:6px;color:#7dd3fc;background:#080c16bf;border:1px solid rgba(125,211,252,.22);white-space:nowrap}.ex-hint code{color:#bfdbfe;background:#080c168c;border-color:#93c5fd40}.ex-grid[data-size=large] .ex-task{padding:18px 24px 20px 28px}.ex-grid[data-size=large] .ex-task .ex-desc{font-size:18.5px;line-height:1.8}.ex-grid[data-size=large] .ex-task-label{font-size:12px;margin-bottom:8px}.ex-grid .ex-card{padding:18px 20px}.ex-grid .ex-num{font-size:12px;min-width:34px}.ex-grid .ex-title{font-size:19px;line-height:1.3}.ex-grid .ex-task-label{font-size:12px}.ex-grid .ex-task .ex-desc{font-size:18px;line-height:1.7}.ex-grid .ex-badge{font-size:12px;padding:3px 10px}.ex-grid .ex-btn,.ex-grid .ex-close,.ex-grid .ex-hide-bar{font-size:14px;padding:8px 16px}.ex-grid .ex-hint{font-size:15.5px;line-height:1.7;padding:11px 15px}.ex-grid .ex-hint code,.ex-grid .ex-task .ex-desc code{font-size:.88em}.ex-grid .ex-checks legend{font-size:13px}.ex-grid .ex-checks label{font-size:15.5px}.ex-grid .cb pre,.ex-grid .cb pre code{font-size:15.5px;line-height:1.75}.ex-grid .cb-head,.ex-grid .cb-head .copy-btn,.ex-grid .cb-head .lang{font-size:13px}.ex-grid[data-size=large] .ex-card{padding:26px 30px;gap:14px}.ex-grid[data-size=large] .ex-num{font-size:14px;min-width:40px}.ex-grid[data-size=large] .ex-title{font-size:25px}.ex-grid[data-size=large] .ex-task-label{font-size:13.5px}.ex-grid[data-size=large] .ex-task .ex-desc{font-size:21px;line-height:1.8}.ex-grid[data-size=large] .ex-badge{font-size:14px;padding:4px 12px}.ex-grid[data-size=large] .ex-btn,.ex-grid[data-size=large] .ex-close,.ex-grid[data-size=large] .ex-hide-bar{font-size:16px;padding:10px 20px}.ex-grid[data-size=large] .ex-hint{font-size:18px;padding:14px 20px}.ex-grid[data-size=large] .ex-checks legend{font-size:14.5px}.ex-grid[data-size=large] .ex-checks label{font-size:18px}.ex-grid[data-size=large] .cb pre,.ex-grid[data-size=large] .cb pre code{font-size:18.5px;line-height:1.8}.ex-grid[data-size=large] .cb-head,.ex-grid[data-size=large] .cb-head .copy-btn,.ex-grid[data-size=large] .cb-head .lang{font-size:15px}.sec-head:focus-visible,.ex-btn:focus-visible,.ex-filter:focus-visible,.ex-close:focus-visible,.ex-hide-bar:focus-visible,.meta-collapse:focus-visible,.copy-btn:focus-visible,.diff-filter-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.sc{display:flex;align-items:center;gap:9px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:7px}kbd{font-family:JetBrains Mono,monospace;font-size:11px;background:var(--surface2);border:1px solid var(--border2);border-bottom-width:2px;padding:2px 6px;border-radius:4px;color:var(--cyan);white-space:nowrap}.sc-desc{font-size:12px;color:var(--text-dim)}.divider{border:none;border-top:1px solid var(--border);margin:56px 0}footer{margin-top:32px;padding-top:24px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted)}footer a{color:var(--green);text-decoration:none}@media (max-width: 860px){nav{position:fixed;left:0;top:0;height:100vh;z-index:100;transform:translate(-100%);transition:transform .25s ease}nav.mobile-open{transform:translate(0)}.hamburger{display:flex}main{padding:56px 20px 60px;margin-left:0}.sections-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto}.compare{grid-template-columns:1fr}.shortcuts{grid-template-columns:1fr 1fr}.page-head h1{font-size:32px}.page-head-sub{font-size:22px}.page-stats{padding:10px 16px;gap:0}.page-stat{padding:0 12px}.page-stat-n{font-size:20px}.diff-filter-bar{gap:6px}.diff-filter-btn{padding:5px 11px;font-size:11px}}@media (max-width: 560px){main{padding:56px 14px 48px}.sections-grid{grid-template-columns:1fr;grid-auto-rows:auto}.section{min-height:unset}.page-head h1{font-size:26px;letter-spacing:-.6px}.page-head-sub{font-size:18px}.page-stats{display:grid;grid-template-columns:1fr 1fr;width:100%;padding:4px 0 12px;background:none;border:none;border-radius:0}.page-stat{padding:8px 0;align-items:flex-start}.page-stat-div{display:none}.chips{gap:5px}.chip{font-size:11px;padding:3px 9px}.shortcuts{grid-template-columns:1fr}.diff-filter-bar{gap:5px}.diff-filter-btn{padding:5px 10px;font-size:11px}.sec-title{font-size:14px}.sec-preview{font-size:11.5px}}@media (max-width: 420px){main{padding:56px 10px 40px}.page-head h1{font-size:22px}.page-head-sub{font-size:16px}.page-head p{font-size:13px}.page-stat-n{font-size:18px}.diff-filter-bar{flex-direction:column;gap:4px}.diff-filter-btn{justify-content:space-between;width:100%;border-radius:8px}.sec-head{padding:12px;gap:8px}.sec-title{font-size:13.5px}}.hamburger{position:fixed;top:12px;left:12px;z-index:200;background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:18px;width:36px;height:36px;border-radius:6px;cursor:pointer;align-items:center;justify-content:center;padding:0;display:none}@media (max-width: 860px){.hamburger{display:flex}}.sidebar-backdrop{display:none}@media (max-width: 860px){.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}}.diff-badge{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:600;margin-left:6px;white-space:nowrap;border:1px solid transparent;vertical-align:middle}.diff-badge.diff-b{background:#3dd68c1a;color:var(--green);border-color:#3dd68c4d}.diff-badge.diff-i{background:#fde68a1a;color:var(--yellow);border-color:#fde68a59}.diff-badge.diff-a{background:#fb923c1a;color:var(--orange);border-color:#fb923c4d}.call.why{background:#c084fc12;border:1px solid rgba(192,132,252,.22);color:#d8b4fe}nav a .diff-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}nav a .diff-dot.diff-b{background:var(--green)}nav a .diff-dot.diff-i{background:var(--yellow)}nav a .diff-dot.diff-a{background:var(--orange)}.diff-legend{display:flex;gap:12px;flex-wrap:wrap;padding:9px 18px;border-bottom:1px solid var(--border);font-size:10px;color:var(--text-muted);flex-shrink:0}.diff-legend span{display:flex;align-items:center;gap:5px}.diff-legend i.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.diff-legend i.db{background:var(--green)}.diff-legend i.di{background:var(--yellow)}.diff-legend i.da{background:var(--orange)}.stats-fill.quiz-fill{background:var(--purple)}.quiz{margin:18px 0 14px;padding:16px 18px;background:var(--surface);border:1px solid rgba(192,132,252,.25);border-radius:10px}.quiz-q{font-size:13px;color:var(--text);margin-bottom:12px;line-height:1.65}.quiz-q strong{color:#d8b4fe}.quiz-icon{margin-right:6px}.quiz-options{display:flex;flex-direction:column;gap:7px}.quiz-opt{display:flex;align-items:center;gap:10px;text-align:left;width:100%;background:var(--surface2);border:1px solid var(--border2);color:var(--text-dim);font-family:Inter,sans-serif;font-size:15px;padding:9px 12px;border-radius:7px;cursor:pointer;line-height:1.5;transition:border-color .12s,background .12s,color .12s}.quiz-opt:hover:not(:disabled){border-color:var(--purple);color:var(--text)}.quiz-letter{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-muted);border:1px solid var(--border2);border-radius:4px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.quiz-opt:disabled{cursor:default}.quiz-opt.correct{border-color:var(--green);background:#3dd68c14;color:#86efac}.quiz-opt.correct .quiz-letter{border-color:var(--green);color:var(--green)}.quiz-opt.wrong{border-color:var(--red);background:#f8717114;color:#fca5a5}.quiz-opt.wrong .quiz-letter{border-color:var(--red);color:var(--red)}.quiz-explain{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:15px;color:var(--text-dim);line-height:1.65}.roadmap{display:flex;flex-direction:column;margin-top:10px}.road-stage{display:grid;grid-template-columns:34px 1fr;gap:14px;position:relative;padding-bottom:26px}.road-stage:last-child{padding-bottom:0}.road-dot{width:34px;height:34px;border-radius:50%;background:var(--surface2);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--green);font-weight:600;z-index:1}.road-stage:not(:last-child):before{content:"";position:absolute;left:16px;top:34px;bottom:0;width:1px;background:var(--border2)}.road-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:3px}.road-title .road-range{font-family:JetBrains Mono,monospace;font-weight:400;font-size:11px;color:var(--text-muted);margin-left:6px}.road-desc{font-size:15px;color:var(--text-dim);line-height:1.65;max-width:600px}.glossary{display:grid;grid-template-columns:1fr;gap:0;margin-top:8px}.gloss-item{display:grid;grid-template-columns:190px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid var(--border)}.gloss-term{font-family:JetBrains Mono,monospace;font-size:15px;color:var(--cyan);font-weight:500}.gloss-def{font-size:15px;color:var(--text-dim);line-height:1.65}@media (max-width: 620px){.gloss-item{grid-template-columns:1fr;gap:3px}}:focus-visible{outline:2px solid var(--accent, var(--purple));outline-offset:2px;border-radius:4px}.sec-head:focus-visible,.sec-head:focus{outline:2px solid var(--accent, var(--purple));outline-offset:-2px}.compare-title{font-size:13px;color:var(--text-dim);margin-bottom:8px;margin-top:20px;font-weight:500}.compare-title:first-child{margin-top:0}#sidebar .hidden-group{display:none}.page-head{position:relative}.lang-switcher{display:flex;gap:4px;position:absolute;top:20px;right:0}.lang-switcher-btn{padding:5px 12px;border:1px solid #2A3347;border-radius:4px;background:#0d1117;color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.lang-switcher-btn:hover{background:#1c2333;color:#e2e8f0;border-color:#2a3347}.lang-switcher-btn.active{background:#3dd68c1f;color:#3dd68c;border-color:#3dd68c59}:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--glass: rgba(13, 17, 23, .72);--glass-border: rgba(255, 255, 255, .06);--hairline: inset 0 1px 0 rgba(255, 255, 255, .05);--grad-brand: linear-gradient(120deg, #3DD68C 0%, #38BDF8 55%, #C084FC 100%)}body{background:radial-gradient(900px 520px at 78% -8%,rgba(56,189,248,.1),transparent 60%),radial-gradient(760px 480px at 12% 8%,rgba(61,214,140,.08),transparent 60%),radial-gradient(700px 500px at 95% 70%,rgba(192,132,252,.06),transparent 60%),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}::selection{background:#3dd68c47;color:#fff}#progress{height:3px;background:var(--grad-brand);box-shadow:0 0 14px #38bdf88c}nav{background:linear-gradient(180deg,#0d1117db,#07090feb);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-right:1px solid var(--glass-border)}.nav-logo .mark{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.nav-search input{background:#ffffff08;border-color:var(--glass-border);border-radius:10px;padding:8px 28px 8px 12px;transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out),background .2s}.nav-search input:focus{background:#ffffff0d;border-color:#3dd68c73;box-shadow:0 0 0 3px #3dd68c1f}nav a{margin:1px 8px;padding:6px 10px;border-left:0;border-radius:8px}nav a:hover{background:#ffffff0b}nav a.active{background:linear-gradient(90deg,#3dd68c24,#3dd68c08);box-shadow:inset 2px 0 0 var(--green)}.stats-bar,.page-progress-bar{background:#ffffff0f}.stats-fill,.page-progress-fill{background:var(--grad-brand)}.stats-fill.quiz-fill{background:linear-gradient(90deg,var(--purple),#F0ABFC)}main{padding-top:64px}.page-head{border-bottom-color:var(--glass-border)}.page-head:before{content:"";position:absolute;left:-40px;top:-60px;width:420px;height:260px;background:radial-gradient(closest-side,rgba(61,214,140,.14),transparent);filter:blur(30px);pointer-events:none;z-index:-1}.page-head-badge{background:linear-gradient(135deg,#3dd68c24,#38bdf814);border-color:#3dd68c59;box-shadow:0 0 24px #3dd68c1f,var(--hairline)}.page-head h1{font-size:clamp(34px,4.4vw,56px);letter-spacing:-.045em;line-height:1.04;font-weight:800}.page-head h1 em{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none}.page-head-sub{letter-spacing:-.03em;font-weight:300}.page-head p{font-size:15.5px;color:#a5b3c6}.page-stats{background:var(--glass);border-color:var(--glass-border);border-radius:16px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 30px #00000059,var(--hairline)}.page-stat-n{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums}.chip{background:#ffffff08;border-color:var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chip.g{background:#3dd68c17}.diff-filter-btn,.ex-filter{background:#ffffff08;border-color:var(--glass-border);transition:all .2s var(--ease-out)}.diff-filter-btn:hover,.ex-filter:hover{transform:translateY(-1px);background:#ffffff0f}.diff-filter-btn.active{box-shadow:0 0 20px #3dd68c26}.section{background:linear-gradient(155deg,#ffffff0b,#fff0 45%),#0d1117c7;border-color:var(--glass-border);border-radius:18px;box-shadow:0 1px #ffffff0a inset,0 8px 24px #00000059;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .3s var(--ease-out),box-shadow .3s var(--ease-out),transform .3s var(--ease-out)}.section:not(.meta):not(.open):hover{transform:translateY(-4px);box-shadow:0 22px 56px #0000008c,0 0 0 1px var(--accent),0 0 40px var(--accent-glow)}.section.open{background:#0d1117e0}.sec-title{font-weight:650;letter-spacing:-.015em}.sec-body-anim{transition-duration:.38s;transition-timing-function:var(--ease-out)}.sec-complete-btn,.sec-next-btn,.ex-btn,.copy-btn{transition:all .2s var(--ease-out)}.sec-complete-btn:hover:not(:disabled),.ex-btn:hover{transform:translateY(-1px)}.sec-next-btn{border-radius:10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cb{background:#090d14;border-color:var(--glass-border);border-radius:14px;box-shadow:0 10px 30px #0006,var(--hairline)}.cb-head{background:#ffffff08;border-bottom-color:var(--glass-border)}.cb-head:before{content:"";width:10px;height:10px;border-radius:50%;order:-1;background:#ff5f57;box-shadow:16px 0 #febc2e,32px 0 #28c840;margin-right:52px}.call{border-radius:12px;box-shadow:var(--hairline)}.quiz,.ex-card,.sc{background:#ffffff05;border-radius:14px;box-shadow:var(--hairline)}.ex-card{transition:border-color .25s var(--ease-out),transform .25s var(--ease-out),box-shadow .25s var(--ease-out)}.ex-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px #0006,var(--hairline)}.quiz-opt{border-radius:10px;transition:all .2s var(--ease-out)}.quiz-opt:hover:not(:disabled){transform:translate(3px)}details.exercise{border-radius:12px}.road-dot{background:linear-gradient(135deg,#3dd68c2e,#38bdf81a);border-color:#3dd68c59}.road-stage:not(:last-child):before{background:linear-gradient(var(--border2),transparent)}.lang-switcher{gap:2px;padding:3px;border-radius:10px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.lang-switcher-btn{border:0;background:transparent;border-radius:7px;transition:all .2s var(--ease-out)}.lang-switcher-btn:hover{background:#ffffff0f}.lang-switcher-btn.active{background:#3dd68c29;box-shadow:0 0 14px #3dd68c26}*{scrollbar-width:thin;scrollbar-color:var(--border2) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:10px;border:2px solid transparent;background-clip:content-box}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.page-head>*{animation:rise-in .7s var(--ease-out) both}.page-head>*:nth-child(2){animation-delay:.06s}.page-head>*:nth-child(3){animation-delay:.12s}.page-head>*:nth-child(4){animation-delay:.18s}.page-head>*:nth-child(n+5){animation-delay:.24s}.sections-grid>.section{animation:rise-in .6s var(--ease-out) both}.sections-grid>.section:nth-child(-n+9){animation-delay:calc(var(--i, 0) * 1ms)}.sections-grid>.section:nth-child(1){animation-delay:.2s}.sections-grid>.section:nth-child(2){animation-delay:.24s}.sections-grid>.section:nth-child(3){animation-delay:.28s}.sections-grid>.section:nth-child(4){animation-delay:.32s}.sections-grid>.section:nth-child(5){animation-delay:.36s}.sections-grid>.section:nth-child(6){animation-delay:.4s}@media (max-width: 860px){nav{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface)}.page-head:before{display:none}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}}.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}.search-trigger{display:flex;align-items:center;gap:12px;width:100%;max-width:560px;min-height:48px;margin:4px 0 22px;padding:0 14px;border-radius:14px;cursor:pointer;background:var(--glass);color:var(--text-dim);border:1px solid var(--glass-border);box-shadow:var(--hairline),0 8px 24px #0000004d;font:inherit;font-size:14px;text-align:left;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out),transform .2s var(--ease-out),color .2s}.search-trigger:hover{color:var(--text);border-color:#3dd68c66;box-shadow:var(--hairline),0 10px 30px #0006,0 0 0 3px #3dd68c14;transform:translateY(-1px)}.search-trigger svg{flex-shrink:0;color:var(--green)}.search-trigger-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-trigger-keys{display:flex;gap:4px;flex-shrink:0}@media (hover: none){.search-trigger-keys{display:none}}.cp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:min(14vh,120px) 16px 16px;background:#03050a9e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:cp-fade .16s ease-out both}.cp-dialog{width:100%;max-width:680px;max-height:min(72vh,640px);display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#161c26f5,#0a0d14fa);border:1px solid rgba(255,255,255,.09);border-radius:18px;box-shadow:0 40px 100px #000000b3,0 0 0 1px #00000080,var(--hairline);animation:cp-pop .22s var(--ease-out) both}.cp-input-row{display:flex;align-items:center;gap:12px;padding:0 16px;min-height:60px;border-bottom:1px solid var(--glass-border)}.cp-input-icon{color:var(--green);flex-shrink:0}.cp-input{flex:1;min-width:0;height:60px;background:none;border:0;outline:0;color:var(--text);font:inherit;font-size:17px;letter-spacing:-.01em}.cp-input::placeholder{color:var(--text-muted)}.cp-close{font:600 11px JetBrains Mono,monospace;color:var(--text-muted);cursor:pointer;background:#ffffff0a;border:1px solid var(--border2);border-radius:6px;padding:4px 8px;min-height:28px;transition:color .15s,border-color .15s}.cp-close:hover{color:var(--text);border-color:var(--text-muted)}.cp-list{overflow-y:auto;padding:6px 8px 10px;overscroll-behavior:contain}.cp-group-title{font-size:10.5px;letter-spacing:.9px;text-transform:uppercase;font-weight:600;color:var(--text-muted);padding:12px 10px 6px}.cp-item{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:12px;cursor:pointer;min-height:48px;border:1px solid transparent;transition:background .12s,border-color .12s}.cp-item.active{background:linear-gradient(90deg,#3dd68c21,#38bdf80d);border-color:#3dd68c38}.cp-icon{width:32px;height:32px;flex-shrink:0;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid var(--glass-border);color:var(--text-dim)}.cp-icon-section{color:var(--cyan)}.cp-icon-exercise{color:var(--orange)}.cp-icon-glossary{color:var(--purple)}.cp-icon-page{color:var(--green)}.cp-item.active .cp-icon{border-color:#3dd68c4d}.cp-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cp-item-title{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:550;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-num{font:600 10px JetBrains Mono,monospace;color:var(--text-muted);flex-shrink:0}.cp-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.cp-dot.diff-b{background:var(--green)}.cp-dot.diff-i{background:var(--yellow)}.cp-dot.diff-a{background:var(--orange)}.cp-item-snippet{font-size:12.5px;color:var(--text-dim);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cp-mark{background:#fde68a29;color:var(--yellow);border-radius:3px;padding:0 1px}.cp-enter{font-size:14px;color:var(--text-muted);opacity:0;flex-shrink:0}.cp-item.active .cp-enter{opacity:1;color:var(--green)}.cp-empty{padding:44px 20px;text-align:center}.cp-empty-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px;overflow-wrap:anywhere}.cp-empty-hint{font-size:13px;color:var(--text-muted)}.cp-footer{display:flex;align-items:center;gap:16px;padding:10px 16px;flex-wrap:wrap;border-top:1px solid var(--glass-border);font-size:11.5px;color:var(--text-muted);background:#ffffff05}.cp-footer kbd{margin-right:3px}.cp-count{margin-left:auto;font-family:JetBrains Mono,monospace}@keyframes cp-fade{0%{opacity:0}to{opacity:1}}@keyframes cp-pop{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}@keyframes search-flash{0%{box-shadow:0 0 #3dd68c00}15%{box-shadow:0 0 0 3px #3dd68c8c,0 0 36px #3dd68c59}to{box-shadow:0 0 #3dd68c00}}.search-flash{animation:search-flash 2.2s var(--ease-out) both;border-radius:12px}.gloss-item.search-flash{background:#3dd68c0f}@media (max-width: 560px){.cp-overlay{padding:10px}.cp-dialog{max-height:86vh}.cp-footer span:not(.cp-count){display:none}.cp-footer{justify-content:flex-end}.search-trigger{margin-bottom:18px}}.cp-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.sec-body-anim{visibility:hidden;transition-property:grid-template-rows,visibility;transition-duration:.38s,0s;transition-delay:0s,.38s}.section.open .sec-body-anim{visibility:visible;transition-delay:0s,0s}
