@font-face{font-family:__GeistSans_8adcd2;src:url(/_next/static/media/0b78ff376f6b9734-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:__GeistSans_Fallback_8adcd2;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_8adcd2{font-family:__GeistSans_8adcd2,__GeistSans_Fallback_8adcd2}.__variable_8adcd2{--font-geist-sans:"__GeistSans_8adcd2","__GeistSans_Fallback_8adcd2"}@font-face{font-family:__GeistMono_46451f;src:url(/_next/static/media/723e11e5093b8e80.p.woff2) format("woff2");font-display:swap;font-weight:100 900}.__className_46451f{font-family:__GeistMono_46451f,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.__variable_46451f{--font-geist-mono:"__GeistMono_46451f",ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}:root{--bg:#131314;--panel:#1c1b1c;--panel-2:#201f20;--border:#33393a;--text:#e5e2e3;--muted:#9aa19b;--accent:#b6dbc4;--accent-2:#98ccfd;--glass:rgba(28,27,28,.55);--green:#9bbfa9;--red:#ffb4ab;--yellow:#d4b483}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-geist-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:15px}.font-mono,code,pre{font-family:var(--font-geist-mono),ui-monospace,"SF Mono",Consolas,monospace}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.nav{justify-content:space-between;padding:12px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100;border-bottom:1px solid hsla(0,0%,100%,.06);background:rgba(19,19,20,.7);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);box-shadow:0 1px 0 hsla(0,0%,100%,.04),0 8px 24px rgba(0,0,0,.25)}.nav,.nav .brand{display:flex;align-items:center}.nav .brand{gap:8px;font-weight:700;font-size:18px;color:var(--text)}.nav .brand img{display:block}.nav .brand .brand-accent{color:var(--accent)}.nav .right{display:flex;align-items:center;gap:16px;font-size:14px}.container{max-width:1000px;margin:0 auto;padding:24px}.btn{background:var(--accent);color:#163627;border:none;border-radius:10px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}.btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 20px rgba(182,219,196,.18)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.btn.secondary:hover{box-shadow:none;border-color:var(--accent)}input{width:100%;padding:10px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px}.report-bar{display:flex;align-items:center;gap:14px;margin-top:28px;padding-top:18px;border-top:1px solid var(--border)}.report-trigger.btn{background:transparent;color:var(--muted);border:1px solid var(--border);font-weight:600}.report-trigger.btn:hover{color:var(--text);border-color:var(--red);filter:none}.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:100%;max-width:480px;max-height:88vh;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:22px 24px;box-shadow:0 24px 60px rgba(0,0,0,.45)}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-x{background:none;border:none;color:var(--muted);font-size:26px;line-height:1;cursor:pointer;padding:0 4px}.modal-x:hover{color:var(--text)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.field-label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin:16px 0 6px}.file-row{display:flex;align-items:center;gap:12px}.report-preview{display:block;margin-top:12px;max-width:100%;max-height:220px;border-radius:8px;border:1px solid var(--border)}.report-textarea{width:100%;padding:10px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px;font-family:inherit;resize:vertical}.btn.btn-lg{padding:13px 26px;font-size:15px;border-radius:8px}.hero{overflow:hidden;padding:120px 24px 80px;background:radial-gradient(1100px 460px at 15% -10%,rgba(182,219,196,.08),transparent 70%),radial-gradient(900px 420px at 100% 10%,rgba(152,204,253,.06),transparent 70%)}.hero,.hero-grid{position:relative}.hero-grid{z-index:2;max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr .9fr;grid-gap:48px;gap:48px;align-items:center}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}.hero-content{animation:fadeUp .7s ease both}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:rgba(182,219,196,.1);border:1px solid rgba(182,219,196,.22);padding:6px 14px;border-radius:999px;margin-bottom:22px}.hero-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(182,219,196,.5);animation:pulseDot 2s infinite}@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(182,219,196,.5)}70%{box-shadow:0 0 0 8px rgba(182,219,196,0)}to{box-shadow:0 0 0 0 rgba(182,219,196,0)}}.hero-title{font-size:48px;line-height:1.1;margin:0 0 18px;letter-spacing:-.02em}.hero-title span{color:var(--accent)}.hero-sub{font-size:17px;line-height:1.6;color:var(--muted);max-width:520px;margin:0 0 28px}.hero-sub strong{color:var(--text)}.hero-cta{gap:14px}.hero-cta,.hero-stats{display:flex;flex-wrap:wrap}.hero-stats{gap:40px;margin-top:44px}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font-size:28px;color:var(--text)}.hero-stats span{font-size:13px;color:var(--muted)}.code-panel{position:relative;z-index:2;background:var(--glass);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:0 30px 70px rgba(0,0,0,.35);animation:fadeUp .7s ease .15s both,float 7s ease-in-out 1s infinite}.code-panel-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:14px}.code-panel-dots{display:flex;gap:8px}.code-panel-dots span{width:12px;height:12px;border-radius:50%}.code-panel-dots span:first-child{background:#ff5f57}.code-panel-dots span:nth-child(2){background:#febc2e}.code-panel-dots span:nth-child(3){background:#28c840}.code-panel-filename{font-size:12px;color:var(--muted)}.code-panel pre{margin:0;font-size:13px;line-height:1.65;color:var(--muted);white-space:pre-wrap}.code-panel .kw{color:var(--accent-2)}.code-panel .kw2{color:var(--accent)}.code-panel .fn{color:var(--text);font-weight:600}.code-panel .cm,.code-panel .str{color:var(--muted);opacity:.7;font-style:italic}.code-panel .ok{color:var(--green)}.code-panel .caret{display:inline-block;width:7px;margin-left:1px;background:var(--accent);animation:blink .9s step-end infinite;transform:translateY(1px)}@keyframes blink{50%{opacity:0}}.code-panel-footer{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(4px);transition:opacity .4s ease,transform .4s ease}.code-panel-footer.visible{opacity:1;transform:translateY(0)}.code-panel-bar{flex:1 1;height:4px;background:var(--panel-2);border-radius:999px;overflow:hidden}.code-panel-bar span{display:block;width:100%;height:100%;background:var(--accent)}.code-panel-footer small{font-size:11px;color:var(--accent);white-space:nowrap}.feature-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:20px;gap:20px;margin:40px 0}.feature{position:relative;overflow:hidden;grid-column:span 6;background:var(--glass);border:1px solid var(--border);border-radius:14px;padding:26px;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);transition:border-color .25s ease,transform .25s ease}.feature:hover{border-color:rgba(182,219,196,.35);transform:translateY(-3px)}.feature:first-child{grid-column:span 7}.feature:nth-child(2),.feature:nth-child(3){grid-column:span 5}.feature:nth-child(4){grid-column:span 7}@media (max-width:800px){.feature,.feature:first-child,.feature:nth-child(2),.feature:nth-child(3),.feature:nth-child(4){grid-column:span 12}}.feature-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(182,219,196,.12);color:var(--accent);font-size:18px;margin-bottom:16px}.feature:nth-child(2) .feature-icon{background:rgba(152,204,253,.14);color:var(--accent-2)}.feature:nth-child(3) .feature-icon{background:hsla(0,0%,100%,.06);color:var(--text)}.feature h3{margin:0 0 8px;font-size:17px}.feature p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.topic-chips{display:flex;flex-direction:column;gap:12px;margin-top:26px}.topic-chip{display:flex;align-items:center;gap:18px;padding:18px 22px;border-radius:14px;border:1px solid var(--border);background:transparent;color:var(--text);font-weight:600;font-size:15px;transition:background .2s ease,border-color .2s ease}.topic-chip:hover{text-decoration:none;background:var(--glass);border-color:rgba(182,219,196,.35)}.topic-chip .dot{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:rgba(182,219,196,.1);color:var(--accent);font-size:0;position:relative}.topic-chip .dot:after{content:"\2713";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:15px}.topic-chip .chip-count{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--muted);background:var(--panel-2);border-radius:999px;padding:3px 12px}.topic-chip.soon{color:var(--muted);border-style:dashed}.topic-chip.soon .dot{background:transparent;border:1px dashed var(--border)}.topic-chip.soon .dot:after{content:""}.landing-footer{text-align:center;color:var(--muted);font-size:13px;padding:48px 24px 56px;border-top:1px solid var(--border);margin-top:40px}.seo-content{max-width:760px;margin:24px auto 0}.seo-content h2{font-size:24px}.seo-content p{color:var(--muted);line-height:1.7}.seo-content strong{color:var(--text)}.faq{margin-top:12px}.faq-item{border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:10px;background:var(--panel)}.faq-item summary{cursor:pointer;font-weight:600;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"＋";color:var(--accent);margin-right:10px}.faq-item[open] summary:before{content:"－"}.faq-item p{margin:10px 0 0;color:var(--muted);line-height:1.6}.badge.soon{color:var(--muted);background:var(--bg);border:1px dashed var(--border)}.section-card.soon{opacity:.72}.section-card.soon:hover{opacity:1;border-color:var(--accent)}.coming-soon-page{text-align:center;max-width:520px;margin:60px auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:44px 32px}.coming-soon-page h1{margin:14px 0 10px}.coming-soon-badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--yellow);background:rgba(210,153,34,.12);border:1px solid rgba(210,153,34,.3);padding:5px 12px;border-radius:999px}.coming-soon-page .btn{margin-top:18px}.section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:18px;gap:18px;margin-top:24px}.section-card{display:block;background:rgba(28,34,48,.55);border:1px solid hsla(0,0%,100%,.08);border-radius:12px;padding:20px;color:var(--text);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:0 8px 24px rgba(0,0,0,.18);transition:border-color .15s,transform .15s,box-shadow .15s}.section-card:hover{text-decoration:none;border-color:var(--accent);transform:translateY(-2px)}.section-head{display:flex;align-items:baseline;justify-content:space-between}.section-head h2{margin:0;font-size:20px}.section-count{color:var(--muted);font-size:13px}.diff-row{display:flex;gap:8px;margin:14px 0}.progress{height:8px;background:var(--bg);border:1px solid var(--border);border-radius:999px;overflow:hidden}.progress-bar{height:100%;background:var(--green);transition:width .3s}.progress-label{margin-top:8px;font-size:13px;color:var(--muted)}.prob-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border);font-size:14px}.prob-nav .disabled{color:var(--border);cursor:not-allowed}.prob-nav-right{gap:14px}.dice-btn,.prob-nav-right{display:flex;align-items:center}.dice-btn{justify-content:center;background:none;border:1px solid var(--border);border-radius:6px;color:var(--muted);width:26px;height:26px;padding:0;cursor:pointer;transition:color .15s ease,border-color .15s ease,transform .15s ease}.dice-btn:hover{color:var(--accent);border-color:var(--accent);transform:rotate(-12deg)}table.problems{width:100%;border-collapse:collapse}table.problems td,table.problems th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border)}table.problems th{color:var(--muted);font-weight:600;font-size:13px}.badge{font-size:12px;padding:2px 8px;border-radius:999px;font-weight:600}.badge.Easy{color:var(--green);background:rgba(63,185,80,.12)}.badge.Medium{color:var(--yellow);background:rgba(210,153,34,.12)}.badge.Hard{color:var(--red);background:rgba(248,81,73,.12)}.status-dot{font-weight:700}.status-dot.solved{color:var(--green)}.status-dot.attempted{color:var(--yellow)}.status-dot.todo{color:var(--muted)}.workspace{position:relative;display:flex;height:calc(100vh - 58px)}.pane.left,.pane.right{flex:1 1;min-width:0}@media (max-width:900px){.problem-sidebar{display:none}}.pane{overflow-y:auto;padding:24px}.pane.left{border-right:1px solid var(--border)}.pane.right{display:flex;flex-direction:column;padding:0}.problem-sidebar{flex:0 0 260px;width:260px;padding:0;overflow:hidden;border-right:1px solid var(--border);background:var(--panel);transition:flex-basis .22s ease,width .22s ease}.problem-sidebar.closed{flex-basis:44px;width:44px}.problem-sidebar-inner{width:260px;height:100%;display:flex;flex-direction:column}.problem-sidebar-rail{width:44px;height:100%;display:flex;align-items:flex-start;justify-content:center;padding-top:16px;background:none;border:none;color:var(--muted);cursor:pointer}.problem-sidebar-rail:hover{color:var(--accent);background:var(--panel-2)}.problem-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--border);font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.problem-sidebar-toggle{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px}.problem-sidebar-toggle:hover{color:var(--accent)}.problem-sidebar-list{overflow-y:auto;flex:1 1}.problem-sidebar-item{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);color:var(--text);font-size:13px}.problem-sidebar-item:hover{background:var(--panel-2);text-decoration:none}.problem-sidebar-item.active{background:rgba(182,219,196,.1);border-left:2px solid var(--accent)}.problem-sidebar-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-sidebar-item .badge{flex-shrink:0;font-size:10px;padding:1px 6px}.editor-wrap{position:relative;flex:1 1;min-height:0}.editor-gate{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:rgba(13,17,23,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.editor-gate-card{text-align:center;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px 28px;box-shadow:0 20px 50px rgba(0,0,0,.4);max-width:320px}.editor-gate-card p{margin:0 0 16px;font-size:14px;color:var(--text)}.editor-gate-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.actions{display:flex;gap:12px;padding:12px 16px;align-items:center}.actions,.results{border-top:1px solid var(--border)}.results{padding:16px;max-height:38%;overflow-y:auto;background:var(--panel)}.markdown h1,.markdown h2,.markdown h3{line-height:1.3}.markdown pre{background:var(--panel);border:1px solid var(--border);padding:12px;border-radius:6px;overflow-x:auto}.markdown code{background:var(--panel);padding:2px 5px;border-radius:4px;font-size:13px}.markdown pre code{padding:0;background:none}.markdown table{border-collapse:collapse;width:100%;margin:8px 0 16px;font-size:13.5px}.markdown td,.markdown th{border:1px solid var(--border);padding:8px 12px;text-align:left;vertical-align:top}.markdown th{background:var(--panel-2);font-weight:700}.markdown td p,.markdown th p{margin:0}.callout{border-radius:8px;padding:10px 14px;margin:14px 0;font-size:13.5px;line-height:1.5;border:1px solid}.callout-tip{background:rgba(47,129,247,.08);border-color:rgba(47,129,247,.35)}.callout-warn{background:rgba(210,153,34,.08);border-color:rgba(210,153,34,.35)}.callout-note{background:hsla(212,9%,58%,.08);border-color:var(--border)}.console-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 6px}.console{background:#0a0d12;border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin:0 0 12px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:#c9d1d9;max-height:180px;overflow-y:auto}.console.error{color:var(--red)}.case{border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin-bottom:8px;background:var(--bg)}.case .case-head{display:flex;justify-content:space-between;font-weight:600}.case pre{margin:6px 0 0;font-size:12px;white-space:pre-wrap;color:var(--muted)}.verdict{font-size:16px;font-weight:700;margin-bottom:10px}.verdict.accepted{color:var(--green)}.verdict.compile_error,.verdict.error,.verdict.runtime_error,.verdict.time_limit_exceeded,.verdict.wrong_answer{color:var(--red)}.form-card{max-width:380px;margin:60px auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:28px}.form-card h1{margin-top:0}.field{margin-bottom:14px}.field label{display:block;margin-bottom:6px;font-size:13px;color:var(--muted)}.error-msg{color:var(--red);font-size:13px;margin:8px 0}.pane-tabs{display:flex;gap:4px;margin-top:18px;border-bottom:1px solid var(--border)}.pane-tab{background:none;color:var(--muted);font-size:14px;font-weight:600;padding:8px 4px;margin-right:16px;cursor:pointer;border:none;border-bottom:2px solid transparent}.pane-tab.active,.pane-tab:hover{color:var(--text)}.pane-tab.active{border-bottom-color:var(--accent)}.discussion{margin-top:16px}.discussion-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.discussion-title{font-weight:600;font-size:15px}.problem-like{display:flex;align-items:center}.like-btn{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer}.like-btn:hover{border-color:var(--accent)}.like-btn.liked{color:var(--red);border-color:var(--red)}.like-btn:disabled{opacity:.6;cursor:not-allowed}.new-post{margin-bottom:20px}.new-post textarea{width:100%;padding:10px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px;font-family:inherit;resize:vertical;margin-bottom:8px}.post-list{display:flex;flex-direction:column;gap:14px}.post{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.post-meta{display:flex;gap:8px;align-items:baseline;font-size:12px;color:var(--muted);margin-bottom:4px}.post-body{font-size:14px;white-space:pre-wrap;word-break:break-word}.comment-toggle{background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:8px 0 0}.comment-list{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.comment{padding-left:12px;border-left:2px solid var(--border)}.new-comment{display:flex;gap:8px;margin-top:4px}.new-comment input{flex:1 1;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px}.lesson-container{max-width:var(--reading-width,820px);margin:0 auto;padding:24px;font-size:var(--reading-font-size,15px);line-height:var(--reading-line-height,1.6)}.lesson-crumbs{font-size:13px;color:var(--muted);margin-bottom:10px}.lesson-level{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:999px;margin-bottom:10px}.lesson-level.Beginner{background:rgba(63,185,80,.15);color:var(--green)}.lesson-level.Intermediate{background:rgba(210,153,34,.15);color:var(--yellow)}.lesson-level.Advanced{background:rgba(248,81,73,.15);color:var(--red)}.lesson-nav{display:flex;justify-content:space-between;align-items:center;margin:40px 0 0;padding-top:16px;border-top:1px solid var(--border);font-size:14px}.reading-settings{position:fixed;top:84px;right:24px;z-index:60}.reading-settings-trigger{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--panel);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.25);transition:color .2s ease,border-color .2s ease}.reading-settings-trigger:hover,.reading-settings-trigger[aria-expanded=true]{color:var(--accent);border-color:var(--accent)}.reading-settings-panel{position:absolute;top:50px;right:0;width:230px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:0 20px 50px rgba(0,0,0,.35)}.reading-settings-row+.reading-settings-row{margin-top:14px}.reading-settings-row>span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.reading-settings-options{display:flex;gap:6px}.reading-settings-options button{flex:1 1;background:var(--panel-2);border:1px solid var(--border);color:var(--text);font-size:12px;padding:6px 4px;border-radius:8px;cursor:pointer}.reading-settings-options button.active{background:rgba(182,219,196,.14);border-color:var(--accent);color:var(--accent)}@media (max-width:700px){.reading-settings{top:auto;bottom:20px;right:20px}}.glossary-term{position:relative;display:inline-block}.glossary-term-trigger{background:none;border:none;padding:0;font:inherit;color:var(--accent-2);border-bottom:1px dashed var(--accent-2);cursor:help}.glossary-card{position:absolute;bottom:calc(100% + 8px);left:0;z-index:70;width:260px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;box-shadow:0 16px 40px rgba(0,0,0,.35);font-size:13px;line-height:1.5;white-space:normal}.glossary-card strong{display:block;color:var(--accent);margin-bottom:6px;font-size:13px}.glossary-card span{color:var(--muted)}.glossary-drawer-trigger{position:fixed;top:136px;right:24px;z-index:60;width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--panel);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.25)}.glossary-drawer-trigger:hover{color:var(--accent);border-color:var(--accent)}@media (max-width:700px){.glossary-drawer-trigger{top:auto;bottom:72px;right:20px}}.glossary-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:80}.glossary-drawer{position:fixed;top:0;right:0;height:100vh;width:min(360px,100vw);background:var(--panel);border-left:1px solid var(--border);z-index:81;display:flex;flex-direction:column;padding:20px;box-shadow:-20px 0 50px rgba(0,0,0,.35)}.glossary-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.glossary-drawer-head h3{margin:0;font-size:18px}.glossary-drawer-head button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:16px}.glossary-drawer-search{margin-bottom:16px}.glossary-drawer-list{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.glossary-drawer-item strong{display:block;color:var(--accent);font-size:14px;margin-bottom:4px}.glossary-drawer-item p{margin:0;line-height:1.5}.glossary-drawer-empty,.glossary-drawer-item p{color:var(--muted);font-size:13px}.track-list{display:flex;flex-direction:column;gap:10px}.track-group-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:22px 0 8px}.track-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text)}.track-item:hover{border-color:var(--accent);text-decoration:none}.track-item-title{font-weight:600;font-size:14px}.track-item-tagline{color:var(--muted);font-size:13px;margin-top:2px}.track-item-check{color:var(--green);font-size:15px;flex-shrink:0}.runnable{margin:16px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.runnable-editor{width:100%;display:block;background:#0a0d12;color:var(--text);border:none;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;resize:vertical}.runnable-editor:focus{outline:1px solid var(--accent);outline-offset:-1px}.runnable-actions{display:flex;gap:8px;padding:8px 10px;background:var(--panel);border-top:1px solid var(--border)}.runnable .console{margin:0;border-radius:0;border:none;border-top:1px solid var(--border)}.exercise-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.exercise-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text)}.exercise-item:hover{border-color:var(--accent);text-decoration:none}.visual-card{margin:20px 0;padding:18px;border-radius:10px;border:1px solid var(--border);background:var(--panel)}.visual-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.chip-btn{background:var(--bg);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:5px 12px;font-size:12px;cursor:pointer}.chip-btn.active{border-color:var(--accent);color:var(--text)}.broadcast-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}.broadcast-op{font-size:20px;color:var(--muted)}.shape-grid-wrap{display:flex;flex-direction:column;gap:6px}.shape-label{font-size:12px;color:var(--muted);font-family:ui-monospace,monospace}.shape-dims{display:flex;gap:6px}.shape-dim{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:14px;font-weight:600;border:1.5px solid;transition:transform .15s ease}.shape-dim:hover{transform:scale(1.08)}.shape-dim.match{background:rgba(47,129,247,.15);border-color:var(--accent);color:var(--text)}.shape-dim.stretched{background:rgba(63,185,80,.15);border-color:var(--green);color:var(--text)}.shape-dim.mismatch{background:rgba(248,81,73,.15);border-color:var(--red);color:var(--text)}.shape-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:14px}.shape-legend .dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}.dot.match{background:var(--accent)}.dot.stretched{background:var(--green)}.dot.mismatch{background:var(--red)}.broadcast-result{margin-top:12px;padding:10px 14px;border-radius:8px;font-weight:600;font-size:14px}.broadcast-result.ok{background:rgba(63,185,80,.12);color:var(--green)}.broadcast-result.fail{background:rgba(248,81,73,.12);color:var(--red)}.df-anatomy{overflow-x:auto;margin-bottom:14px}.df-table{border-collapse:collapse;font-size:13px;font-family:ui-monospace,monospace}.df-table td,.df-table th{border:1px solid var(--border);padding:7px 12px;text-align:left;transition:background .15s ease}.df-table th{background:var(--panel-2);font-weight:700}.df-table td.hl,.df-table th.hl{background:rgba(47,129,247,.22)}.df-legend{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted)}.df-legend>div{padding:6px 10px;border-radius:6px;cursor:default}.df-legend>div.active{background:rgba(47,129,247,.1);color:var(--text)}.autograd-svg{width:100%;height:auto;margin-bottom:10px}.practice-shell{display:flex;align-items:flex-start;max-width:1280px;margin:0 auto;gap:32px;padding:32px 24px 80px}.practice-sidebar{position:-webkit-sticky;position:sticky;top:84px;width:300px;flex-shrink:0;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px 14px}.practice-sidebar-mastery{margin-top:24px}.practice-sidebar-title{display:block;font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:0 8px 14px}.practice-track-list{display:flex;flex-direction:column;gap:4px}.practice-track-btn{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;color:var(--muted);font-size:14px;font-weight:600;padding:10px;border-radius:10px;cursor:pointer;text-align:left}.practice-track-btn:hover{background:var(--panel-2)}.practice-track-btn.active{background:rgba(182,219,196,.12);color:var(--accent)}.practice-track-btn.soon{cursor:default;opacity:.55}.practice-track-btn.soon:hover{background:transparent}.practice-track-pct{margin-left:auto;font-size:12px;color:var(--muted)}.practice-track-btn.active .practice-track-pct{color:var(--accent)}.practice-main{flex:1 1;min-width:0}.practice-breadcrumb{font-size:13px;color:var(--muted);margin-bottom:12px}.practice-breadcrumb .current{color:var(--accent)}.practice-title{font-size:34px;margin:0 0 10px;letter-spacing:-.01em}.practice-title span{color:var(--accent)}.practice-sub{color:var(--muted);font-size:16px;max-width:640px;margin:0 0 36px}.practice-grid{display:grid;grid-template-columns:1fr 320px;grid-gap:32px;gap:32px;align-items:start}.practice-col-side{position:-webkit-sticky;position:sticky;top:84px}@media (max-width:900px){.practice-shell{flex-direction:column}.practice-sidebar{position:static;width:100%}.practice-sidebar-nav{display:none}.practice-grid{grid-template-columns:1fr}.practice-col-side{position:static}}.practice-col-main section+section{margin-top:40px}.practice-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.practice-section-head h2{font-size:19px;margin:0}.practice-diff-select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);font-size:13px;border-radius:8px;padding:6px 10px}.problem-table-wrap{background:var(--glass);border:1px solid var(--border);border-radius:12px;overflow:hidden}.problem-table{width:100%;border-collapse:collapse}.problem-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--panel-2);padding:12px 16px}.problem-table td{padding:12px 16px;border-top:1px solid var(--border);font-size:14px}.problem-table tr:hover td{background:hsla(0,0%,100%,.02)}.problem-table td a{color:var(--text);font-weight:500}.problem-table td a:hover{color:var(--accent)}.solved-icon{color:var(--green)}.unsolved-dot{display:inline-block;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--border)}.practice-empty{text-align:center;color:var(--muted);padding:24px 16px!important}.progress-card{background:var(--glass);border:1px solid var(--border);border-radius:14px;padding:24px}.progress-card h3{margin:0 0 20px;font-size:16px}.progress-ring-wrap{position:relative;width:160px;height:160px;margin:0 auto 24px}.progress-ring-wrap circle{transition:stroke-dashoffset .6s ease}.progress-ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-ring-label strong{font-size:26px}.progress-ring-label span{font-size:11px;color:var(--muted);letter-spacing:.06em}.progress-stats{display:flex;flex-direction:column;gap:10px;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--border)}.progress-stats div{display:flex;justify-content:space-between;font-size:13px}.progress-stats span{color:var(--muted)}.resume-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center}.resume-btn.done{background:var(--panel-2);color:var(--muted);cursor:default}.streak-card{background:var(--glass);border:1px solid var(--border);border-radius:14px;padding:20px}.streak-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.streak-head h3{margin:0;font-size:15px}.streak-count{gap:6px;font-size:13px;font-weight:700;color:#ff8a5c}.streak-cal-nav,.streak-count{display:flex;align-items:center}.streak-cal-nav{justify-content:space-between;font-size:12.5px;color:var(--muted);margin-bottom:10px}.streak-cal-nav button{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px 6px;border-radius:6px}.streak-cal-nav button:hover{color:var(--text);background:var(--panel-2)}.streak-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.streak-weekdays{margin-bottom:6px}.streak-weekdays span{text-align:center;font-size:10.5px;font-weight:600;color:var(--muted)}.streak-cell{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:12px;color:var(--muted);background:var(--panel-2)}.streak-cell.empty{background:transparent}.streak-cell.future,.streak-cell.unjoined{opacity:.35}.streak-cell.today{border:1px solid var(--accent);color:var(--text);font-weight:700}.streak-cell.burning{background:linear-gradient(150deg,rgba(255,138,92,.3),rgba(255,90,54,.12))}.streak-cell.burning svg{font-size:15px;color:#ff7a45;filter:drop-shadow(0 0 6px rgba(255,122,69,.55))}.streak-cell.frozen{background:rgba(120,170,220,.08)}.streak-cell.frozen svg{font-size:13px;color:#6fa0c8;opacity:.85}.streak-day-num{position:absolute;top:1px;right:3px;font-size:8.5px;opacity:.65;line-height:1}.streak-hint{margin:12px 0 0;font-size:12px;color:var(--muted)}.prereq-block{margin-top:22px;padding-top:22px;border-top:1px solid var(--border)}.prereq-block h4{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 12px}.prereq-tags{display:flex;flex-wrap:wrap;gap:8px}.prereq-tag{font-size:12px;font-weight:600;background:var(--panel-2);padding:5px 10px;border-radius:8px}