#math{max-width:920px}#math .math-symbol-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}#math .math-symbol-grid>li{min-width:0;padding:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;margin:0;font-size:14px;line-height:1.8}#math .math-symbol-grid>li>strong:first-child{color:var(--color-accent);font-size:18px}#math .math-equation{width:100%;max-width:none;margin-block:var(--space-2) var(--space-3);padding:var(--space-4) var(--space-2);border:1px solid var(--color-border);background:var(--color-surface-soft);text-align:center;border-radius:16px;font-family:Cambria Math,Georgia,serif;font-size:clamp(24px,4vw,36px)}#math .math-equation strong{color:var(--color-accent)}#math .math-breakdown{margin:0 0 var(--space-3);padding-left:var(--space-3);line-height:1.8}#math .math-breakdown li::marker{color:var(--color-accent)}#math>ol li::marker{color:var(--color-accent)}#math .math-takeaway{max-width:none;margin-block:var(--space-2) var(--space-3);padding:var(--space-3);border-left:3px solid var(--color-accent);background:var(--color-surface-soft);border-radius:0 12px 12px 0}#math>ol{margin:0 0 var(--space-3);padding-left:var(--space-3);color:var(--color-muted);line-height:1.8}@media (max-width:640px){#math .math-symbol-grid{grid-template-columns:minmax(0,1fr)}#math .math-symbol-grid>li,#math .math-takeaway{padding:var(--space-2)}}
#python-fundamentals{max-width:var(--wide-width)}#python-fundamentals .topic-row{grid-template-columns:repeat(2,minmax(0,1fr))}#python-fundamentals .topic-code{border-left:1px solid var(--color-border);border-radius:0 15px 15px 0}#python-fundamentals>p:last-child{margin-top:var(--space-2);padding-left:var(--space-2);border-left:3px solid var(--color-accent)}@media (max-width:800px){#python-fundamentals .topic-row{grid-template-columns:minmax(0,1fr)}#python-fundamentals .topic-code{border-top:1px solid var(--color-border);border-left:0;border-radius:0 0 15px 15px}}
.python-libraries-section{width:100%;max-width:var(--wide-width);margin:0 auto var(--space-7);min-height:auto;padding:64px 0 80px;display:block;overflow:visible}.libraries-heading{text-align:center;width:100%;max-width:680px;margin:0 auto 36px}.libraries-eyebrow{color:var(--color-muted);letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:700;display:block}.python-libraries-section .libraries-heading h2{color:var(--color-text);letter-spacing:-.045em;margin:0 0 12px;font-size:clamp(30px,3vw,42px);line-height:1.1}.python-libraries-section .libraries-heading p{max-width:620px;color:var(--color-muted);margin:0 auto;font-size:14px;line-height:1.6}.library-learning-layout{grid-template-columns:180px minmax(0,1fr) 260px;align-items:stretch;gap:16px;width:100%;display:grid}.library-selector,.library-visual-area,.library-info-panel{min-width:0}.library-selector{flex-direction:column;gap:9px;display:flex}.library-select-button{appearance:none;border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:11px;padding:13px 12px;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s;display:flex}.library-select-button:hover{border-color:color-mix(in srgb, var(--color-accent) 45%, var(--color-border));transform:translate(2px)}.library-select-button.active{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 12%, transparent)}.selector-icon{background:var(--color-surface-soft);width:34px;height:34px;color:var(--color-text);border-radius:8px;flex:0 0 34px;place-items:center;font-size:14px;display:grid}.selector-text{min-width:0;display:block}.selector-text strong{color:var(--color-text);margin:0 0 2px;font-size:12px;line-height:1.2;display:block}.selector-text small{color:var(--color-muted);font-size:9px;line-height:1.3;display:block}.library-visual-area{flex-direction:column;width:100%;display:flex}.workflow-bar{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;grid-template-columns:minmax(70px,1fr) 18px minmax(70px,1fr) 18px minmax(70px,1fr) 18px minmax(70px,1fr);align-items:center;gap:4px;width:100%;min-height:58px;margin:0 0 10px;padding:8px 12px;display:grid}.workflow-bar>div{opacity:.28;justify-content:center;align-items:center;gap:7px;min-width:0;transition:opacity .2s;display:flex}.workflow-bar>div.active{opacity:1}.workflow-bar>div>span{border:1px solid var(--color-border);width:23px;height:23px;color:var(--color-muted);border-radius:50%;flex:0 0 23px;place-items:center;font-size:9px;display:grid}.workflow-bar>div.active>span{border-color:var(--color-accent);color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.workflow-bar p{min-width:0;color:var(--color-text);margin:0;font-size:10px;font-weight:600;line-height:1.2}.workflow-bar small{color:var(--color-muted);white-space:nowrap;margin-top:2px;font-size:7px;font-weight:400;display:block}.workflow-arrow{text-align:center;color:var(--color-muted);opacity:.35;font-size:10px;display:block}.visual-frame{border:1px solid var(--color-border);background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--color-accent) 6%, transparent), transparent 55%), var(--color-surface);border-radius:14px;justify-content:center;align-items:center;width:100%;min-width:0;height:390px;padding:28px;display:flex;overflow:hidden}.visual-content{width:100%;min-width:0;max-width:100%}.visual-caption{max-width:520px;min-height:38px;color:var(--color-muted);text-align:center;margin:10px auto 0;font-size:11px;line-height:1.5}.pandas-visual{grid-template-columns:120px 30px minmax(0,1fr);align-items:center;gap:12px;display:grid}.file-box{border:1px solid var(--color-border);background:var(--color-surface-soft);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:120px;padding:18px 10px;display:flex}.file-icon{color:var(--color-accent);margin-bottom:8px;font-size:28px;line-height:1}.file-box strong{color:var(--color-text);font-size:11px;display:block}.file-box span{color:var(--color-muted);margin-top:3px;font-size:8px;line-height:1.3;display:block}.big-arrow{color:var(--color-muted);opacity:.45;justify-content:center;align-items:center;font-size:20px;display:flex}.dataframe-window{border:1px solid color-mix(in srgb, var(--color-accent) 35%, var(--color-border));background:var(--color-surface);border-radius:11px;width:100%;min-width:0;overflow:hidden}.visual-window-title{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.visual-window-title strong{color:var(--color-text);font-size:10px}.visual-window-title span{background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent);border-radius:4px;padding:2px 6px;font-size:7px}.dataframe-window table{border-collapse:collapse;table-layout:fixed;width:100%;color:var(--color-text);font-size:9px}.dataframe-window th,.dataframe-window td{border-bottom:1px solid var(--color-border);text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:7px 6px;overflow:hidden}.dataframe-window th{color:var(--color-muted);font-size:8px;font-weight:600}.dataframe-window tbody tr:last-child td{border-bottom:none}.missing-row td:nth-child(2){color:#e5a33b;background:#e5a33b14}.numpy-visual{flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.visual-label{color:var(--color-muted);font-size:10px}.python-list{border:1px solid var(--color-border);background:var(--color-surface-soft);max-width:100%;color:var(--color-text);border-radius:8px;padding:10px 18px;font-family:SF Mono,Menlo,monospace;font-size:12px}.vertical-arrow{color:var(--color-muted);opacity:.5;font-size:17px}.numpy-transform{text-align:center}.numpy-transform>span{color:var(--color-muted);margin-bottom:9px;font-size:9px;display:block}.matrix{border-left:2px solid var(--color-accent);border-right:2px solid var(--color-accent);align-items:center;gap:6px;padding:11px 12px;display:flex}.matrix span{background:color-mix(in srgb, var(--color-accent) 8%, transparent);width:38px;height:38px;color:var(--color-text);border-radius:7px;place-items:center;font-family:SF Mono,Menlo,monospace;font-size:11px;display:grid}.math-output{justify-content:center;gap:8px;margin-top:7px;display:flex}.math-output div{border:1px solid var(--color-border);background:var(--color-surface);text-align:center;border-radius:8px;min-width:70px;padding:8px 10px}.math-output small{color:var(--color-muted);font-size:7px;display:block}.math-output strong{color:var(--color-text);margin-top:2px;font-size:11px;display:block}.sklearn-visual{grid-template-columns:minmax(90px,1fr) 28px minmax(120px,1.25fr) 28px minmax(90px,1fr);align-items:center;gap:8px;display:grid}.training-data,.model-box,.prediction-box{border:1px solid var(--color-border);background:var(--color-surface-soft);text-align:center;border-radius:11px;min-width:0;padding:16px 10px}.training-data>span,.model-box>span,.prediction-box>span{color:var(--color-muted);margin-bottom:8px;font-size:8px;display:block}.mini-data{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.mini-data div{background:var(--color-surface);color:var(--color-text);border-radius:5px;padding:5px 6px;font-size:8px}.model-box{border-color:color-mix(in srgb, var(--color-accent) 45%, var(--color-border));background:color-mix(in srgb, var(--color-accent) 6%, var(--color-surface))}.model-box strong,.model-box small,.prediction-box strong,.prediction-box small{display:block}.model-box strong{color:var(--color-text);margin-bottom:4px;font-size:15px}.model-box small,.prediction-box small{color:var(--color-muted);font-size:8px}.prediction-box strong{color:var(--color-text);margin-bottom:3px;font-size:12px}.pytorch-visual{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.network-label{color:var(--color-muted);margin-bottom:14px;font-size:9px}.neural-network{justify-content:center;align-items:center;gap:25px;display:flex}.network-column{flex-direction:column;gap:10px;display:flex}.network-column span{border:2px solid var(--color-accent);background:color-mix(in srgb, var(--color-accent) 8%, transparent);border-radius:50%;width:25px;height:25px}.network-column.hidden span{border-color:#9b7cff}.network-column.output span{border-color:#57c99b}.network-lines{color:var(--color-muted);opacity:.45;font-size:15px}.network-result{justify-content:center;align-items:center;gap:18px;margin-top:22px;display:flex}.network-result>div:not(.backprop-arrow){border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:8px;min-width:85px;padding:8px 12px}.network-result small{color:var(--color-muted);font-size:7px;display:block}.network-result strong{color:var(--color-text);margin-top:2px;font-size:11px;display:block}.backprop-arrow{color:var(--color-muted);font-size:9px}.matplotlib-visual{width:100%;max-width:480px;margin:auto}.chart-title{color:var(--color-text);text-align:center;margin-bottom:12px;font-size:11px;font-weight:600}.fake-chart{width:100%;min-height:200px;display:flex}.y-axis{width:30px;color:var(--color-muted);text-align:right;flex-direction:column;justify-content:space-between;padding:0 7px 20px 0;font-size:8px;display:flex}.chart-area{border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:repeating-linear-gradient(to bottom, transparent, transparent 49px, var(--color-border) 50px);flex:1;min-width:0;position:relative}.chart-area svg{width:calc(100% - 20px);height:calc(100% - 35px);position:absolute;inset:10px 10px 25px}.loss-line{fill:none;stroke:var(--color-accent);stroke-width:3px;vector-effect:non-scaling-stroke}.x-axis{color:var(--color-muted);justify-content:space-around;font-size:7px;display:flex;position:absolute;bottom:3px;left:0;right:0}.chart-caption{color:var(--color-muted);text-align:center;margin-top:8px;font-size:8px}.library-info-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:13px;flex-direction:column;width:100%;padding:16px;display:flex;overflow:hidden}.info-title{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding-bottom:13px;display:flex}.info-icon{background:color-mix(in srgb, var(--color-accent) 8%, var(--color-surface-soft));width:35px;height:35px;color:var(--color-text);border-radius:8px;flex:0 0 35px;place-items:center;font-size:13px;display:grid}.info-title>div{min-width:0}.info-title h3{color:var(--color-text);margin:0 0 2px;font-size:14px;line-height:1.2}.info-title p{color:var(--color-muted);margin:0;font-size:9px;line-height:1.3}.info-stage{background:var(--color-surface-soft);border-radius:7px;justify-content:space-between;align-items:center;gap:10px;margin:13px 0;padding:8px 9px;display:flex}.info-stage span{color:var(--color-muted);letter-spacing:.06em;font-size:7px}.info-stage strong{color:var(--color-text);text-align:right;font-size:9px}.example-title{color:var(--color-text);margin:2px 0 7px;font-size:9px;font-weight:600}.library-example-code{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:8px;width:100%;min-width:0;margin:0;padding:12px;overflow-x:auto}.library-example-code code{width:max-content;min-width:100%;color:var(--color-text);white-space:pre;background:0 0;padding:0;font-family:SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px;line-height:1.65;display:block}.remember-box{background:#dcaa3c0a;border:1px solid #dcaa3c4d;border-radius:8px;align-items:center;gap:9px;margin-top:13px;padding:10px;display:flex}.remember-box>span{flex-shrink:0;font-size:14px}.remember-box>div{min-width:0}.remember-box small{color:var(--color-muted);margin-bottom:2px;font-size:7px;display:block}.remember-box strong{color:var(--color-text);font-size:9px;line-height:1.3;display:block}.library-quick-reference{border-top:1px solid var(--color-border);width:100%;margin-top:30px;padding-top:20px}.library-quick-reference h3{color:var(--color-text);margin:0 0 12px;font-size:13px}.quick-reference-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.quick-reference-item{border:1px solid var(--color-border);background:var(--color-surface);border-radius:9px;align-items:center;gap:8px;min-width:0;padding:10px;display:flex}.quick-reference-item>span{background:var(--color-surface-soft);border-radius:7px;flex:0 0 29px;place-items:center;width:29px;height:29px;font-size:11px;display:grid}.quick-reference-item>div{min-width:0}.quick-reference-item strong{color:var(--color-text);font-size:9px;display:block}.quick-reference-item p{color:var(--color-muted);margin:2px 0 0;font-size:8px;line-height:1.3}@media (max-width:1050px){.library-learning-layout{grid-template-columns:165px minmax(0,1fr)}.library-info-panel{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px;display:grid}.info-title{border-bottom:none}.info-stage{margin:0}.example-title{display:none}.remember-box{margin-top:0}.quick-reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.python-libraries-section{padding:48px 0 64px}.libraries-heading{margin-bottom:28px}.library-learning-layout{flex-direction:column;gap:14px;display:flex}.library-selector{grid-template-columns:repeat(5,minmax(120px,1fr));padding-bottom:4px;display:grid;overflow-x:auto}.library-select-button:hover{transform:none}.workflow-bar{grid-template-columns:90px 18px 90px 18px 90px 18px 90px;justify-content:start;overflow-x:auto}.visual-frame{height:auto;min-height:350px;padding:22px}.library-info-panel{display:block}.info-title{border-bottom:1px solid var(--color-border);padding-bottom:12px}.info-stage{margin:12px 0}.example-title{display:block}.remember-box{margin-top:12px}.quick-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.python-libraries-section{padding:40px 0 56px}.python-libraries-section .libraries-heading h2{font-size:30px}.python-libraries-section .libraries-heading p{font-size:12px}.library-selector{grid-template-columns:repeat(5,125px)}.visual-frame{min-height:330px;padding:16px}.pandas-visual{flex-direction:column;gap:12px;display:flex}.file-box{width:140px}.pandas-visual .big-arrow{transform:rotate(90deg)}.dataframe-window{width:100%}.sklearn-visual{flex-direction:column;gap:10px;display:flex}.sklearn-visual .big-arrow{transform:rotate(90deg)}.training-data,.model-box,.prediction-box{width:min(220px,100%)}.matrix{max-width:100%;overflow-x:auto}.matrix span{flex:0 0 32px;width:32px;height:32px}.math-output{flex-wrap:wrap;width:100%}.neural-network{gap:16px}.network-result{flex-wrap:wrap;gap:8px}.quick-reference-grid{grid-template-columns:1fr}}
#ml{max-width:960px}#ml .roadmap{gap:var(--space-2)}#ml .roadmap-item{border-left-width:3px}#ml .roadmap-item.ready{border-left-color:var(--color-accent);background:var(--color-surface-soft)}#ml .roadmap-item.pending .roadmap-week{font-weight:500}#ml .read-more-link{margin-top:var(--space-1)}#ml .roadmap-lesson-link{text-decoration:underline;-webkit-text-decoration-color:var(--color-border);text-decoration-color:var(--color-border);text-underline-offset:4px}#ml .roadmap-lesson-link:hover{color:var(--color-accent);text-decoration-color:currentColor}@media (max-width:640px){#ml .roadmap{margin-block:var(--space-3)}#ml .read-more-link{justify-content:center;width:100%}}
#dl{max-width:960px}#dl .roadmap{gap:var(--space-2);margin-left:var(--space-1);padding-left:var(--space-3);border-left:1px solid var(--color-border)}#dl .roadmap-item{position:relative}#dl .roadmap-item:before{content:"";border:2px solid var(--color-border);background:var(--color-bg);border-radius:50%;width:9px;height:9px;position:absolute;top:50%;left:-30px;transform:translateY(-50%)}#dl .roadmap-item.ready{border-color:var(--color-accent)}#dl .roadmap-item.ready:before{border-color:var(--color-accent);background:var(--color-accent)}#dl .roadmap-lesson-link{text-decoration:underline;-webkit-text-decoration-color:var(--color-border);text-decoration-color:var(--color-border);text-underline-offset:4px}#dl .roadmap-lesson-link:hover{color:var(--color-accent);text-decoration-color:currentColor}#dl .read-more-link{margin-left:33px}@media (max-width:640px){#dl .roadmap{margin-block:var(--space-3);padding-left:var(--space-2);margin-left:4px}#dl .roadmap-item:before{left:-22px}#dl .read-more-link{justify-content:center;width:100%;margin-left:0}}
#sql{max-width:1040px}#sql .topic-grid{gap:var(--space-2)}#sql .topic-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}#sql .topic-code{border-left:1px solid var(--color-border);border-radius:0 15px 15px 0}#sql .topic-code pre{line-height:1.9}@media (max-width:800px){#sql .topic-row{grid-template-columns:minmax(0,1fr)}#sql .topic-code{border-top:1px solid var(--color-border);border-left:0;border-radius:0 0 15px 15px}}
#ros{max-width:1040px}#ros .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#ros .topic-row{grid-template-rows:1fr auto}#ros .topic-code{border-top:1px solid var(--color-border);border-radius:0 0 15px 15px}#ros>p:last-child{margin-top:var(--space-2);padding-left:var(--space-2);border-left:3px solid var(--color-accent)}@media (max-width:800px){#ros .topic-grid{grid-template-columns:minmax(0,1fr)}}
#cuda{max-width:var(--wide-width)}#cuda .topic-row{grid-template-columns:repeat(2,minmax(0,1fr))}#cuda .topic-code{border-left:1px solid var(--color-border);border-radius:0 15px 15px 0}#cuda .topic-explain>strong{color:var(--color-accent)}#cuda>p:last-child{margin-top:var(--space-2);padding-left:var(--space-2);border-left:3px solid var(--color-accent)}@media (max-width:800px){#cuda .topic-row{grid-template-columns:minmax(0,1fr)}#cuda .topic-code{border-top:1px solid var(--color-border);border-left:0;border-radius:0 0 15px 15px}}
#simulations{max-width:var(--wide-width)}#simulations .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#simulations .topic-row{grid-template-rows:1fr auto}#simulations .topic-code{border-top:1px solid var(--color-border);border-radius:0 0 15px 15px}#simulations>p:last-child{max-width:none;margin-top:var(--space-2);padding:var(--space-3);border-left:3px solid var(--color-accent);background:var(--color-surface-soft);border-radius:0 12px 12px 0}@media (max-width:800px){#simulations .topic-grid{grid-template-columns:minmax(0,1fr)}}
