*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:10px 15px;background:#f97316;color:#fff;font-weight:600}button:disabled{opacity:.55;cursor:not-allowed}.secondary{background:#000}.danger{background:#f97316}.linkbtn{background:transparent;color:inherit;padding:6px}.center{min-height:100vh;display:grid;place-items:center;padding:20px}.card{background:#fff;border-radius:18px;padding:28px;box-shadow:0 10px 35px #00000012}.auth{width:min(420px,100%);display:grid;grid-gap:16px;gap:16px}.auth label,.form label{display:grid;grid-gap:6px;gap:6px;font-weight:600}.auth input,.form input,.form textarea,.live>textarea{padding:11px;border:1px solid #000;border-radius:9px}.muted{color:#000}header{height:60px;background:#fff;border-bottom:1px solid #000;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:-webkit-sticky;position:sticky;top:0;z-index:30}.brand{font-weight:800;color:#000;text-decoration:none}nav{display:flex;align-items:center;gap:12px}nav a{color:#000;text-decoration:none}.layout{display:grid;grid-template-columns:300px 1fr;min-height:calc(100vh - 60px)}.sidebar{padding:18px;overflow:auto}.unit>b{display:block;margin-bottom:6px}.topic button{width:100%;text-align:left;background:transparent;color:#000;padding:8px}.topic button.active{background:#fff;color:#f97316}.topic .sub{padding-left:26px;font-size:13px}.menuBtn,.mobileClose{display:none}.content{padding:30px;max-width:1100px;width:100%;margin:auto}.content h1{font-size:clamp(24px,4vw,36px)}.prose{line-height:1.75;background:#fff;padding:22px;border-radius:14px}.practice{display:grid;grid-gap:10px;gap:10px;margin:12px 0}.simpleEditor{width:100%;min-height:230px;padding:16px;font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.output,.simpleEditor{background:#000;color:#fff;border-radius:12px}.output{min-height:70px;padding:14px;white-space:pre-wrap}.editor{border-radius:10px;overflow:hidden;border:1px solid #000}.admin,.live{padding:25px;max-width:1400px;margin:auto}.adminGrid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(400px,1fr);grid-gap:25px;gap:25px}.form{display:grid;grid-gap:12px;padding:18px;border-radius:14px}.form,.listRow,.student{gap:12px;background:#fff}.listRow,.student{display:flex;align-items:center;justify-content:space-between;border:1px solid #000;border-radius:12px;padding:12px;margin:8px 0}.listRow small,.student small{display:block;color:#000}.listRow>div:last-child,.student>button{display:flex;gap:6px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.monitor{display:grid;grid-template-columns:1fr 1.5fr;grid-gap:20px;gap:20px}.sharePopup{position:fixed;inset:10%;background:#fff;z-index:50;border-radius:18px;padding:20px;box-shadow:0 20px 60px #00000088;overflow:auto}@media(max-width:800px){header{padding:0 12px}.layout{display:block}.sidebar{position:fixed;left:0;top:60px;bottom:0;width:min(88vw,340px);height:auto;z-index:40;transform:translateX(-105%);transition:.2s;box-shadow:10px 0 30px #00000022}.sidebar.open{transform:translateX(0)}.mobileClose{display:block;margin-left:auto;background:#000;color:#fff}.menuBtn{display:block;margin:12px}.admin,.content,.live{padding:16px}.adminGrid,.monitor{grid-template-columns:1fr}.listRow{align-items:flex-start;flex-direction:column}.listRow>div:last-child{width:100%}.listRow button{flex:1 1}.simpleEditor{min-height:190px}nav a{display:block}}.sidebar{padding:18px 10px 18px 12px;overflow:hidden;color:#000}.sidebarHeader{padding:0 6px 12px}.sidebarHeader h3{margin:0;text-transform:uppercase;font-size:13px;letter-spacing:.08em;color:#000;font-weight:800}.sidebarScroll{height:calc(100% - 35px);overflow-y:auto;overflow-x:hidden;padding-right:4px}.sidebarScroll::-webkit-scrollbar{width:6px}.sidebarScroll::-webkit-scrollbar-track{background:transparent}.sidebarScroll::-webkit-scrollbar-thumb{background:#000;border-radius:10px}.sidebarScroll::-webkit-scrollbar-thumb:hover{background:#000}.sidebarUnit{margin-bottom:8px;position:relative}.unitRow{display:flex;align-items:flex-start;min-height:38px;padding:3px 4px 3px 0;border-left:4px solid #f97316}.sidebarUnit:nth-child(2) .unitRow,.sidebarUnit:nth-child(3) .unitRow,.sidebarUnit:nth-child(4) .unitRow,.sidebarUnit:nth-child(5) .unitRow{border-left-color:#f97316}.unitExpand{flex:0 0 30px;width:30px;height:30px;padding:0;margin:0;background:transparent;color:#000;display:flex;align-items:center;justify-content:center}.unitExpand:hover{background:#fff;color:#f97316}.unitTitle{flex:1 1;min-width:0;padding:3px 4px;line-height:1.25}.unitCode{margin-right:5px}.unitName{text-transform:uppercase}.arrow{display:inline-block;font-size:24px;line-height:18px;transform:rotate(0deg);transition:transform .18s ease}.arrow.open{transform:rotate(90deg)}.unitChildren{margin-left:20px}.sidebarTopic{position:relative}.sidebarTopicRow{display:flex;align-items:center;min-width:0;margin:2px 0;border-radius:9px}.sidebarTopicRow.selected{background:#fff}.expandButton{flex:0 0 28px;width:28px;height:30px;padding:0;background:transparent;color:#f97316;display:flex;align-items:center;justify-content:center}.expandButton:hover{background:#fff}.topicSpacer{flex:0 0 28px;width:28px}.level-1>.sidebarTopicRow .sidebarTopicButton{color:#f97316;font-weight:800}.level-1>.sidebarTopicRow.selected .sidebarTopicButton{color:#f97316}.level-1>.sidebarTopicRow{padding:1px 2px}.level-2{margin-left:8px}.level-2>.sidebarTopicRow .sidebarTopicButton{color:#f97316;font-weight:650}.level-2>.sidebarTopicRow{padding:1px 2px}.level-3{margin-left:16px}.level-3>.sidebarTopicRow .sidebarTopicButton{color:#f97316;font-weight:600}.level-4{margin-left:24px}.level-4>.sidebarTopicRow .sidebarTopicButton{color:#f97316;font-weight:600}.sidebarTopicButton{flex:1 1;min-width:0;min-height:34px;padding:6px 7px 6px 2px;background:transparent;border-radius:8px;color:#000;display:flex;align-items:center;gap:9px;text-align:left;line-height:1.35}.sidebarTopicButton:hover{background:#fff}.sidebarTopicRow.selected .sidebarTopicButton:hover{background:transparent}.topicText{min-width:0;word-break:normal}.topicCode{font-weight:800}.topicTitle{font-weight:inherit}.topicDot{flex:0 0 9px;width:9px;height:9px;border-radius:50%;display:inline-block}.levelDot-1,.levelDot-2,.levelDot-3,.levelDot-4{background:#f97316}.sidebarChildren{position:relative}.level-1>.sidebarChildren{margin-left:8px}.level-2>.sidebarChildren,.level-3>.sidebarChildren{margin-left:10px}.legendItem{display:flex;align-items:center;gap:10px;font-size:14px;color:#000;margin:9px 0}.legendDot{width:10px;height:10px;border-radius:50%;display:inline-block}.legendDot.blue,.legendDot.green,.legendDot.purple{background:#f97316}@media (max-width:800px){.sidebar{position:fixed;left:0;top:60px;bottom:0;width:min(88vw,340px);height:auto;z-index:40;transform:translateX(-105%);transition:transform .2s ease;box-shadow:10px 0 30px rgba(0,0,0,.12)}.sidebar.open{transform:translateX(0)}.mobileClose{display:block;margin-left:auto;margin-bottom:5px;background:#000;color:#fff}.unitTitle{font-size:14px}.sidebarTopicButton{font-size:13px}}.adminTitleRow{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.adminTitleRow h1{margin-bottom:6px}.adminMessage{padding:13px 16px;border-radius:10px;margin-bottom:18px;font-weight:600}.adminMessage.error,.adminMessage.success{background:#fff;color:#f97316;border:1px solid #fff}.cmsEditorHeader,.topicListHeader{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.cmsEditorHeader h2,.topicListHeader h2{margin:0}.lessonForm{gap:0}.formSection{display:grid;grid-gap:10px;gap:10px;padding:20px;margin-bottom:15px;background:#fff;border:1px solid #000;border-radius:14px}.formSection h3{margin:0 0 4px;color:#000}.fieldHint{margin:0;color:#000;font-size:13px}.formSection textarea{resize:vertical;min-height:100px;line-height:1.6}.cmsActions{display:flex;gap:10px;margin-top:5px}.selectedTopic{border:2px solid #f97316;background:#fff}.topicActions{display:flex;gap:6px;flex-shrink:0}.lessonPreview{background:#fff;border-radius:16px;padding:30px;box-shadow:0 5px 25px #0000000d}.lessonHeader{border-bottom:1px solid #000;padding-bottom:20px;margin-bottom:25px}.lessonHeader small{color:#f97316;font-weight:700}.lessonHeader h1{margin:8px 0 0;font-size:30px}.lessonPreview section{margin:28px 0}.lessonPreview section h2{color:#f97316;margin-bottom:12px}.lessonText{white-space:pre-wrap}.lessonPreview ul{line-height:1.8;color:#000}.lessonCode,.lessonOutput{background:#000;color:#fff;border-radius:12px;padding:18px;overflow-x:auto;white-space:pre-wrap;font:14px/1.6 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.lessonOutput{color:#fff}.lessonPractice{border:2px solid #fff;background:#fff;padding:20px;border-radius:14px}.lessonPractice h3{color:#000}@media (max-width:800px){.adminTitleRow,.cmsEditorHeader{flex-direction:column}.cmsEditorHeader{align-items:flex-start}.topicActions{width:100%}.topicActions button{flex:1 1}.lessonPreview{padding:18px}.lessonHeader h1{font-size:24px}}.lesson{width:100%;max-width:950px;margin:0 auto}.lessonHeader{background:#fff;border-radius:18px;padding:28px 30px;margin-bottom:22px;border:1px solid #000;box-shadow:0 8px 25px #00000008}.lessonHeader h1{margin:6px 0 0;font-size:clamp(26px,4vw,38px);line-height:1.2;color:#000}.lessonCode{font-size:14px;font-weight:800;color:#f97316;letter-spacing:.04em}.lessonSection{background:#fff;border:1px solid #000;border-radius:16px;margin:18px 0;overflow:hidden}.lessonSectionTitle{margin:0;padding:16px 22px;font-size:20px;color:#000;background:#fff;border-bottom:1px solid #000}.lessonSectionBody{padding:20px 22px}.lessonText{line-height:1.8;color:#000}.lessonText p{margin:0 0 14px}.lessonText p:last-child{margin-bottom:0}.lessonBullets{margin:0;padding-left:24px;line-height:1.8;color:#000}.lessonBullets li{margin:7px 0}.codeSection,.exampleSection,.notesSection,.outputSection,.practiceSection,.summarySection{border-left:5px solid #f97316}.expectedOutput{margin:0;padding:18px;background:#000;color:#fff;border-radius:10px;overflow-x:auto;white-space:pre-wrap;font:14px/1.6 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.practiceInstructions,.practiceQuestion,.practiceStarter{margin-bottom:20px}.practiceInstructions:last-child,.practiceQuestion:last-child,.practiceStarter:last-child{margin-bottom:0}.practiceInstructions h3,.practiceQuestion h3,.practiceStarter h3{margin:0 0 8px;font-size:16px;color:#000}.practiceQuestion p{margin:0;line-height:1.7;color:#000}.error{background:#fff;color:#f97316;border:1px solid #fff;border-radius:12px;padding:14px 16px;margin-bottom:18px}@media (max-width:800px){.lessonHeader{padding:22px}.lessonSectionTitle{font-size:18px}.lessonSectionBody{padding:17px}.lessonText{line-height:1.7}}.sidebar{background:#fff;border-right:1px solid #000;padding:18px 12px 24px 18px;overflow-y:auto;position:-webkit-sticky;position:sticky;top:60px;height:calc(100vh - 60px)}.sidebar h3{margin:0 0 14px;text-transform:uppercase;font-size:13px;letter-spacing:.08em;color:#000}.unit{margin-bottom:18px}.unitTitle{display:flex;align-items:flex-start;gap:7px;padding:3px 4px 8px 0;color:#000;font-size:15px;font-weight:800;line-height:1.2;text-transform:uppercase}.unitArrow{color:#000;font-size:17px;line-height:16px;flex-shrink:0}.topic{margin:0}.topicBtn{width:100%;display:flex;align-items:flex-start;gap:7px;text-align:left;background:transparent;color:#f97316;padding:7px 8px 7px 20px;border-radius:9px;font-size:15px;font-weight:750;line-height:1.25}.topicBtn:hover{background:#fff}.topicBtn.active{background:#fff;color:#f97316}.topicArrow{font-size:15px;line-height:18px;flex-shrink:0}.subBtn{width:100%;display:block;text-align:left;background:transparent;color:#f97316;padding:7px 8px 7px 48px;border-radius:9px;font-size:14px;font-weight:700;line-height:1.25}.subBtn.active,.subBtn:hover{background:#fff}.subBtn.active{color:#f97316}.subBtn:after,.subBtn:before,.topic button:after,.topic button:before{content:none!important}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#000;border-radius:10px}.sidebar::-webkit-scrollbar-thumb:hover{background:#000}@media (max-width:800px){.sidebar{padding:18px 12px 24px 18px}.topicBtn{font-size:15px}.subBtn{font-size:14px;padding-left:48px}}.labAdminPanel{margin-top:25px;background:#fff;border:1px solid #000;border-radius:16px;padding:20px}.labAdminHeader{margin-bottom:18px}.labAdminHeader h2{margin:0 0 5px}.labAdminCard{background:#fff;border:1px solid #000;border-radius:14px;padding:16px;margin:12px 0}.labAdminProblem{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.labAdminProblem strong{display:block;color:#000;font-size:16px;margin-bottom:6px}.labAdminProblem p{margin:0;color:#000;line-height:1.5}.solutionControls{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.solutionOn{background:#f97316}.solutionOff{background:#000}.solutionEditor{margin-top:18px;padding-top:18px;border-top:1px solid #000;display:grid;grid-gap:12px;gap:12px}.solutionEditor h3{margin:0}.solutionEditor input,.solutionEditor textarea{width:100%;padding:11px;border:1px solid #000;border-radius:9px}@media (max-width:800px){.labAdminProblem{flex-direction:column}.solutionControls{width:100%}.solutionControls button{flex:1 1}}.labPractice{width:100%;margin-top:24px;padding:20px;background:#fff;border:1px solid #000;border-radius:16px;box-sizing:border-box}.labHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.labHeader h2{margin:0 0 6px;font-size:20px}.labHeader h3{margin:0;font-size:17px}.saveStatus{font-size:13px;color:#000;white-space:nowrap}.labProblem{margin-bottom:18px;padding:16px;background:#fff;border:1px solid #000;border-radius:12px}.labProblem h3,.programInput h3,.programOutput h3,.testResults h3{margin-top:0;margin-bottom:10px}.labProblem p{line-height:1.6}.labEditor{margin-bottom:16px}.labEditor .simpleEditor,.programInput .simpleEditor{width:100%;min-height:180px;padding:14px;box-sizing:border-box;font-family:monospace;font-size:14px;line-height:1.5;border:1px solid #000;border-radius:10px;resize:vertical}.programInput{margin-bottom:16px}.programInput .simpleEditor{min-height:110px}.labActions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.labActions button{min-height:40px}.programOutput{margin-top:18px}.programOutput .output{min-height:70px;margin:0;padding:14px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;background:#000;color:#fff;border-radius:10px;font-family:monospace}.testResults{margin-top:20px;padding-top:18px;border-top:1px solid #000}.testResult{margin:8px 0;padding:12px 14px;border-radius:10px;border:1px solid #000;display:flex;align-items:center;justify-content:space-between;gap:12px}.testResult.failed,.testResult.passed{border-left:4px solid #f97316}.testResult strong{font-size:14px}.testResultDetails{width:100%;margin-top:10px}.testResultDetails p{margin:8px 0 4px}.testResultDetails pre{margin:0 0 10px;padding:10px;overflow-x:auto;white-space:pre-wrap;background:#fff;border:1px solid #000;border-radius:8px}.testSummary{margin-top:14px;font-weight:600}@media (max-width:800px){.labPractice{padding:14px}.labActions,.labHeader{flex-direction:column}.labActions button{width:100%}.testResult{align-items:flex-start;flex-direction:column}}.testCasePanel{margin-top:24px;padding:20px;background:#fff;border:1px solid #000;border-radius:16px}.testCaseHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.testCaseHeader h3{margin:0 0 5px;font-size:20px}.testCaseHeader p{margin:0;color:#000}.testCaseCount{padding:7px 12px;border-radius:20px;background:#000;color:#fff;font-size:13px;font-weight:600}.testCaseGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px;gap:16px}.testCaseCard{background:#fff;border:1px solid #000;border-radius:14px;padding:16px;transition:.2s ease}.testCaseCard:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.08)}.testCaseCard.failed,.testCaseCard.passed{border-color:#f97316}.testCaseCardHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid #000}.testCaseCardHeader strong{font-size:14px;color:#000}.testCaseCardHeader span{font-size:13px;font-weight:600}.testCaseSection{margin-top:16px}.testCaseLabel{margin-bottom:7px;font-size:13px;font-weight:700;color:#000}.testCaseInput{margin:0;padding:12px;background:#000;color:#fff;border-radius:9px;font-family:monospace;white-space:pre-wrap}.testCaseCondition{margin:0;padding:11px 12px;background:#fff;border-radius:9px;color:#000;line-height:1.5}.testCaseHidden{margin-top:16px;padding:12px;background:#fff;border:1px dashed #000;border-radius:9px;color:#000;font-size:13px}.testCaseHidden small{display:block;margin-top:4px;color:#000}.testCaseResult{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:16px}.testCaseResult>div{min-width:0}.testCaseResult span{display:block;margin-bottom:5px;font-size:12px;font-weight:700;color:#000}.testCaseResult pre{margin:0;padding:10px;background:#fff;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere}.testSummaryCard{margin-top:20px;padding:20px;background:#fff;border:1px solid #000;border-radius:16px}.testSummaryHeader{display:flex;align-items:center;justify-content:space-between;gap:20px}.testSummaryHeader h3{margin:0 0 5px}.testSummaryHeader p{margin:0;color:#000}.testPercentage{font-size:30px}.testProgress{height:12px;margin-top:18px;overflow:hidden;background:#000;border-radius:20px}.testProgressBar{height:100%;background:#f97316;border-radius:20px;transition:width .4s ease}.testSummaryMessage{color:#000}@media (max-width:700px){.testCaseHeader{align-items:flex-start;flex-direction:column}.testCaseResult{grid-template-columns:1fr}.testSummaryHeader{align-items:flex-start}}.testResultBox{min-width:0}.testResultBox span{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:#000}.testResultBox pre{margin:0;min-height:42px;padding:11px 12px;background:#fff;border:1px solid #000;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere}.testResultMessage{margin-top:14px;padding:11px 12px;border-radius:9px;font-size:13px;line-height:1.5;font-weight:600}.testResultMessage.error,.testResultMessage.success{background:#fff;border:1px solid #fff;color:#f97316}.testCaseCard.failed
.testCaseCardHeader span,.testCaseCard.passed
.testCaseCardHeader span{color:#f97316}@media (max-width:700px){.testCaseResult{grid-template-columns:1fr}}.testCaseTitle{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.testCaseType{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.4px;white-space:nowrap}.testCaseType.basic{background:#fff;color:#f97316;border:1px solid #fff}.testCaseType.boundary,.testCaseType.edge{background:#fff;color:#f97316;border:1px solid #f97316}.testCaseType.special{background:#fff;color:#f97316;border:1px solid #fff}.testResultCount{margin:6px 0 0;font-size:15px;font-weight:700}.testPercentage{font-size:32px;font-weight:800}.testSummaryMessage{margin-top:14px;padding:12px 14px;border-radius:10px;font-weight:600;text-align:center}.testFailureHint{margin-top:10px;padding:10px 12px;border-radius:8px;background:#fff;border:1px solid #f97316;color:#f97316;font-size:14px;font-weight:600;line-height:1.5}.testCaseCategorySummary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 18px}.categoryBadge{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;font-size:12px;font-weight:700;line-height:1;white-space:nowrap}.categoryBadge.basic{background:#fff;color:#f97316;border:1px solid #fff}.categoryBadge.boundary,.categoryBadge.edge{background:#fff;color:#f97316;border:1px solid #f97316}.categoryBadge.special{background:#fff;color:#f97316;border:1px solid #fff}@media (max-width:700px){.testCaseCategorySummary{gap:6px}.categoryBadge{font-size:11px;padding:5px 9px}}.labProblemItem{margin-bottom:24px}.labProgressCard{margin-bottom:12px;padding:14px 16px;border:1px solid #000;border-radius:12px;background:#fff}.labProgressHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.labProgressHeader strong{font-size:14px;color:#000}.labProgressStatus{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.labProgressStatus.completed{background:#fff;color:#f97316;border:1px solid #fff}.labProgressStatus.progress{background:#fff;color:#f97316;border:1px solid #f97316}.labProgressStatus.notAttempted{background:#fff;color:#000;border:1px solid #000}.labProgressStats{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px;color:#000}.labProgressStats strong{font-size:14px;color:#000}.labProgressTrack{width:100%;height:8px;overflow:hidden;border-radius:999px;background:#000}.labProgressFill{height:100%;border-radius:999px;background:#f97316;transition:width .3s ease}@media (max-width:700px){.labProgressHeader{align-items:flex-start;flex-direction:column}.labProgressStatus{font-size:10px}.labProgressStats{font-size:11px}}.topicCompletionCard{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0;padding:18px;border:1px solid #000;border-radius:14px;background:#fff}.topicCompletionCard strong{display:block;margin-bottom:5px;font-size:15px;color:#000}.topicCompletionCard p{margin:0;font-size:13px;color:#000}.topicCompletionCard button{flex-shrink:0}@media (max-width:700px){.topicCompletionCard{align-items:stretch;flex-direction:column}}.studentProgressDashboard{margin:0 0 28px;padding:24px;background:#fff;border:1px solid #000;border-radius:18px;box-shadow:0 8px 30px #0000000d}.studentProgressDashboard .adminSectionHeader{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.studentProgressDashboard .adminSectionHeader h2{margin:0;font-size:25px}.studentProgressDashboard .adminSectionHeader p{margin:6px 0 0}.adminStatsGrid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));grid-gap:14px;gap:14px;margin-bottom:24px}.adminStatCard{min-height:100px;padding:17px;background:#fff;border:1px solid #000;border-radius:14px;display:flex;flex-direction:column;justify-content:space-between;gap:8px}.adminStatLabel{color:#000;font-size:14px;font-weight:600}.adminStatValue{font-size:28px;line-height:1;color:#000}.studentProgressTableWrapper{width:100%;overflow-x:auto;border:1px solid #000;border-radius:14px;background:#fff}.studentProgressTable{width:100%;min-width:760px;border-collapse:collapse;font-size:14px}.studentProgressTable th{padding:14px 15px;background:#fff;color:#000;font-size:13px;font-weight:700;text-align:left;border-bottom:1px solid #000;white-space:nowrap}.studentProgressTable td{padding:15px;border-bottom:1px solid #000;vertical-align:middle}.studentProgressTable tbody tr:last-child td{border-bottom:0}.studentProgressTable tbody tr:hover{background:#fff}.studentProgressTable td:first-child,.studentProgressTable th:first-child{width:50px;text-align:center}.studentProgressTable td:nth-child(3),.studentProgressTable th:nth-child(3){min-width:210px}.studentProgressTable td strong{color:#000}.studentProgressCell{min-width:180px;display:flex;align-items:center;gap:10px}.studentProgressTrack{flex:1 1;height:9px;background:#000;border-radius:999px;overflow:hidden}.studentProgressFill{height:100%;background:#f97316;border-radius:999px;transition:width .25s ease}.studentProgressCell>span{min-width:42px;text-align:right;font-weight:700;color:#000}.studentProgressDashboard .card{margin-top:10px}@media (max-width:1100px){.adminStatsGrid{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media (max-width:700px){.studentProgressDashboard{padding:16px;border-radius:14px}.studentProgressDashboard .adminSectionHeader{align-items:flex-start;flex-direction:column;gap:8px}.adminStatsGrid{grid-template-columns:repeat(2,minmax(130px,1fr))}.adminStatCard{min-height:90px;padding:14px}.adminStatValue{font-size:24px}}@media (max-width:430px){.adminStatsGrid{grid-template-columns:1fr}}.student-fullscreen-stage{width:100%;min-height:0;box-sizing:border-box}.student-fullscreen-stage.iphone-immersive{position:fixed;inset:0;width:100vw;height:100dvh;min-height:100dvh;margin:0;padding:0!important;box-sizing:border-box;overflow:auto;z-index:9999;background:#000!important;color:#fff!important}.student-fullscreen-stage.iphone-immersive>*{color:#fff}.iphone-immersive-exit{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:10001;border:1px solid hsla(0,0%,100%,.35);border-radius:999px;padding:8px 12px;background:rgba(0,0,0,.75);color:#fff;font-size:13px;font-weight:600;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.student-fullscreen-stage:-webkit-full-screen{width:100vw;height:100vh;min-height:100vh;margin:0;display:flex;overflow:hidden;color:#fff!important;border-radius:0!important}.student-fullscreen-stage:-webkit-full-screen,.student-fullscreen-stage:fullscreen{width:100vw;height:100vh;min-height:100vh;margin:0;display:flex;overflow:hidden;color:#fff!important;border-radius:0!important}.student-fullscreen-stage:-webkit-full-screen>*{color:#fff}.student-fullscreen-stage:-webkit-full-screen>*,.student-fullscreen-stage:fullscreen>*{color:#fff}.student-fullscreen-stage:-webkit-full-screen .live-question{color:#fff!important}.student-fullscreen-stage:-webkit-full-screen .live-question,.student-fullscreen-stage:fullscreen .live-question{color:#fff!important}.student-fullscreen-stage:-webkit-full-screen .live-badge{color:#fff!important}.student-fullscreen-stage:-webkit-full-screen .live-badge,.student-fullscreen-stage:fullscreen .live-badge{color:#fff!important}.student-fullscreen-stage:-webkit-full-screen h1,.student-fullscreen-stage:-webkit-full-screen h2,.student-fullscreen-stage:-webkit-full-screen h3{color:#fff!important}.student-fullscreen-stage:-webkit-full-screen h1,.student-fullscreen-stage:-webkit-full-screen h2,.student-fullscreen-stage:-webkit-full-screen h3,.student-fullscreen-stage:fullscreen h1,.student-fullscreen-stage:fullscreen h2,.student-fullscreen-stage:fullscreen h3{color:#fff!important}.student-fullscreen-stage:-webkit-full-screen p{color:#000!important}.student-fullscreen-stage:-webkit-full-screen p,.student-fullscreen-stage:fullscreen p{color:#000!important}.student-fullscreen-stage:-webkit-full-screen>section{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.student-fullscreen-stage:-webkit-full-screen>section,.student-fullscreen-stage:fullscreen>section{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.student-fullscreen-stage:-webkit-full-screen>section.card{color:#000;background:#fff}.student-fullscreen-stage:-webkit-full-screen>section.card,.student-fullscreen-stage:fullscreen>section.card{color:#000;background:#fff}.pptx-display-container{width:100%;box-sizing:border-box}.student-fullscreen-stage:-webkit-full-screen .pptx-display-container{width:100%;border-radius:0!important;flex:1 1 auto}.student-fullscreen-stage:-webkit-full-screen .pptx-display-container,.student-fullscreen-stage:fullscreen .pptx-display-container{width:100%;border-radius:0!important;flex:1 1 auto}.pptx-display-container>*{max-width:100%;max-height:100%}.student-fullscreen-stage .python-playground{width:100%;height:100%;min-height:0;margin:0;display:flex;flex-direction:column;box-sizing:border-box}.student-fullscreen-stage .python-playground-header{flex:0 0 auto}.student-fullscreen-stage .python-editor{flex:1 1 auto;min-height:0;width:100%}.student-fullscreen-stage .python-output{flex:0 0 auto}.student-fullscreen-stage:-webkit-full-screen .python-playground{width:100%;height:100%;min-height:0;margin:0}.student-fullscreen-stage:-webkit-full-screen .python-playground,.student-fullscreen-stage:fullscreen .python-playground{width:100%;height:100%;min-height:0;margin:0}.student-fullscreen-stage:-webkit-full-screen .python-editor{flex:1 1 auto;min-height:0}.student-fullscreen-stage:-webkit-full-screen .python-editor,.student-fullscreen-stage:fullscreen .python-editor{flex:1 1 auto;min-height:0}.student-fullscreen-stage:-webkit-full-screen .live-status{color:#f97316!important;background:#fff}.student-fullscreen-stage:-webkit-full-screen .live-status,.student-fullscreen-stage:fullscreen .live-status{color:#f97316!important;background:#fff}@media (max-width:768px){.student-fullscreen-stage:-webkit-full-screen .live-question{padding:12px 16px}.student-fullscreen-stage:-webkit-full-screen .live-question,.student-fullscreen-stage:fullscreen .live-question{padding:12px 16px}.student-fullscreen-stage:-webkit-full-screen .live-question h1{font-size:24px}.student-fullscreen-stage:-webkit-full-screen .live-question h1,.student-fullscreen-stage:fullscreen .live-question h1{font-size:24px}.student-fullscreen-stage:-webkit-full-screen .live-question h2{font-size:18px}.student-fullscreen-stage:-webkit-full-screen .live-question h2,.student-fullscreen-stage:fullscreen .live-question h2{font-size:18px}}.teacher-workspace{display:grid;margin-top:8px}.teacher-panel:first-child .pptx-display-container{min-height:520px}.teacher-panel .editor,.teacher-panel [class*=playground]{max-width:100%}.teacher-panel>div:first-child{margin-bottom:8px!important}.teacher-panel button{min-height:42px;font-weight:700;font-size:14px}.teacher-panel button[style*="475569"],.teacher-panel button[style*=dc2626]{min-width:190px}.monitor>section:first-child .student{margin:6px 0}.live{padding-top:10px!important}.live>p{margin-top:4px}.live>.actions,.live>p,.live>textarea{margin-bottom:8px}.live>.actions{margin-top:8px}@media (max-width:900px){.teacher-workspace{grid-template-columns:1fr}.teacher-panel:first-child .pptx-display-container{min-height:400px}}@media (max-width:600px){.teacher-workspace{gap:10px}.teacher-panel{padding:8px}.teacher-panel:first-child .pptx-display-container{min-height:320px}.teacher-panel button[style*="475569"],.teacher-panel button[style*=dc2626]{min-width:0;width:100%}}.student-fullscreen-stage:-webkit-full-screen{width:100vw!important;height:100vh!important;min-height:100vh!important;max-height:100vh!important;margin:0!important;padding:0!important;box-sizing:border-box;display:flex!important;flex-direction:column;overflow:hidden!important;background:#000!important}.student-fullscreen-stage:-webkit-full-screen,.student-fullscreen-stage:fullscreen{width:100vw!important;height:100vh!important;min-height:100vh!important;max-height:100vh!important;margin:0!important;padding:0!important;box-sizing:border-box;display:flex!important;flex-direction:column;overflow:hidden!important;background:#000!important}.student-fullscreen-stage:-webkit-full-screen>.live-question{display:none!important}.student-fullscreen-stage:-webkit-full-screen>.live-question,.student-fullscreen-stage:fullscreen>.live-question{display:none!important}.student-fullscreen-stage:-webkit-full-screen>section{flex:1 1 auto!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;box-sizing:border-box}.student-fullscreen-stage:-webkit-full-screen>section,.student-fullscreen-stage:fullscreen>section{flex:1 1 auto!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;box-sizing:border-box}.student-fullscreen-stage:-webkit-full-screen .live-status{flex:0 0 auto}.student-fullscreen-stage:-webkit-full-screen .live-status,.student-fullscreen-stage:fullscreen .live-status{flex:0 0 auto}.student-fullscreen-stage:-webkit-full-screen .pptx-display-container{min-width:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#000!important}.student-fullscreen-stage:-webkit-full-screen .pptx-display-container,.student-fullscreen-stage:fullscreen .pptx-display-container{min-width:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#000!important}.student-fullscreen-stage:-webkit-full-screen .pptx-display-container>*{max-width:100%!important;max-height:100%!important;margin:auto!important}.student-fullscreen-stage:-webkit-full-screen .pptx-display-container>*,.student-fullscreen-stage:fullscreen .pptx-display-container>*{max-width:100%!important;max-height:100%!important;margin:auto!important}.student-fullscreen-stage:-webkit-full-screen .pptx-display-container canvas,.student-fullscreen-stage:-webkit-full-screen .pptx-display-container svg{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important}.student-fullscreen-stage:-webkit-full-screen .pptx-display-container canvas,.student-fullscreen-stage:-webkit-full-screen .pptx-display-container svg,.student-fullscreen-stage:fullscreen .pptx-display-container canvas,.student-fullscreen-stage:fullscreen .pptx-display-container svg{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important}.student-fullscreen-stage:-webkit-full-screen .pptx-display-container{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;flex:1 1 auto!important;display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:#000;overflow:hidden}.student-fullscreen-stage:-webkit-full-screen .pptx-display-container,.student-fullscreen-stage:fullscreen .pptx-display-container{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;flex:1 1 auto!important;display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:#000;overflow:hidden}@media (max-width:768px){.student-fullscreen-stage:-webkit-full-screen{width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;background:#000!important}.student-fullscreen-stage:-webkit-full-screen,.student-fullscreen-stage:fullscreen{width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;background:#000!important}.student-fullscreen-stage:-webkit-full-screen .pptx-display-container{width:100vw!important;height:100vh!important;min-width:0!important;min-height:0!important;max-width:100vw!important;max-height:100vh!important;margin:0!important;padding:0!important;flex:1 1 auto!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#000!important}.student-fullscreen-stage:-webkit-full-screen .pptx-display-container,.student-fullscreen-stage:fullscreen .pptx-display-container{width:100vw!important;height:100vh!important;min-width:0!important;min-height:0!important;max-width:100vw!important;max-height:100vh!important;margin:0!important;padding:0!important;flex:1 1 auto!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#000!important}.student-fullscreen-stage:-webkit-full-screen .pptx-display-container canvas,.student-fullscreen-stage:-webkit-full-screen .pptx-display-container svg{max-width:100vw!important;max-height:100vh!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:auto!important}.student-fullscreen-stage:-webkit-full-screen .pptx-display-container canvas,.student-fullscreen-stage:-webkit-full-screen .pptx-display-container svg,.student-fullscreen-stage:fullscreen .pptx-display-container canvas,.student-fullscreen-stage:fullscreen .pptx-display-container svg{max-width:100vw!important;max-height:100vh!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:auto!important}}.live-header{height:64px;width:100%;background:#000;color:#fff;justify-content:space-between;gap:20px;padding:0 20px;box-sizing:border-box;border-bottom:1px solid #000;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.live-header,.live-header-left{display:flex;align-items:center}.live-header-left{gap:16px;min-width:0;overflow:hidden}.live-brand{color:#fff;text-decoration:none;font-size:18px}.live-brand,.live-status{font-weight:800;white-space:nowrap}.live-status{display:flex;align-items:center;gap:8px;font-size:13px}.live-dot{width:9px;height:9px;border-radius:50%;background:#f97316;display:inline-block;flex-shrink:0;box-shadow:0 0 0 3px rgba(249,115,22,.15)}.live-header-info{color:#000;font-size:13px;white-space:nowrap}.live-header-divider{color:#000;font-size:18px}.live-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.live-clear-btn,.live-logout-btn{min-height:38px;padding:8px 13px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}.live-clear-btn{color:#fff}.live-clear-btn,.live-clear-btn:hover{background:#f97316}.live-logout-btn{background:#000;color:#fff}.live-logout-btn:hover{background:#000}.live{width:100%;max-width:1500px;margin:0 auto;padding:18px 20px 30px;box-sizing:border-box}.monitor{display:flex!important;flex-direction:column!important;gap:14px!important;width:100%}.teacher-workspace{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:14px;gap:14px;width:100%;align-items:stretch}.teacher-panel{min-width:0;width:100%;background:#fff;border:1px solid #000;border-radius:12px;padding:12px;box-sizing:border-box;overflow:hidden}.teacher-panel>*{max-width:100%;box-sizing:border-box}.teacher-panel .pptx-display-container{width:100%;min-width:0;overflow:hidden;margin:0!important}.monitor>section:first-child{order:2;width:100%;background:#fff;border:1px solid #000;border-radius:12px;padding:12px;box-sizing:border-box}.monitor>.teacher-workspace{order:1}@media (max-width:900px){.teacher-workspace{grid-template-columns:1fr}.live-header{height:auto;min-height:64px;padding:10px 12px}.live-header-left{flex-wrap:wrap;gap:8px 12px}.live-header-divider,.live-header-info{display:none}.live-clear-btn,.live-logout-btn{padding:7px 10px;font-size:12px}}@media (max-width:600px){.live{padding:12px}.live-brand{font-size:16px}.live-status{font-size:11px}.live-header-right{gap:5px}.live-clear-btn,.live-logout-btn{font-size:11px;padding:6px 8px}}.teacher-live-dashboard{max-width:1500px;margin:0 auto;padding:18px 24px 32px!important;background:#fff;box-sizing:border-box}.teacher-live-title{margin:0 0 10px!important;font-size:24px!important;line-height:1.2!important;font-weight:800!important;color:#000!important}.teacher-live-description{margin:8px 0 14px!important;color:#000!important;font-size:13px!important}.teacher-live-status{margin:0 0 14px!important;padding:11px 15px!important;border-width:1px!important;border-radius:10px!important;box-shadow:0 1px 4px rgba(0,0,0,.04)}.teacher-live-status>div:first-child{font-size:16px!important}.teacher-live-status>div:nth-child(2){margin-top:3px!important;font-size:13px!important}.teacher-live-status>div:nth-child(3){margin-top:5px!important;font-size:12px!important;line-height:1.4!important}.teacher-session-actions{gap:8px!important;margin:0 0 14px!important;flex-wrap:wrap!important}.teacher-session-actions button{min-height:38px!important;padding:8px 13px!important;border-radius:8px!important;font-size:13px!important;font-weight:700!important}.teacher-live-workspace{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-gap:14px!important;gap:14px!important;align-items:stretch!important}.teacher-live-workspace>.teacher-panel{min-height:0;padding:12px!important;border:1px solid #000!important;border-radius:12px!important;background:#fff!important;box-shadow:0 2px 8px rgba(0,0,0,.05)!important}.teacher-mode-switcher{gap:7px!important;margin-bottom:10px!important}.teacher-mode-switcher button{min-height:36px!important;padding:7px 12px!important;border:1px solid #000!important;border-radius:8px!important;background:#fff!important;color:#000!important;font-size:13px!important}.teacher-mode-switcher button:hover{background:#fff!important}.teacher-live-workspace>.teacher-panel:first-child .pptx-display-container{min-height:480px!important;height:480px!important;border-radius:9px!important;border:1px solid #000!important;background:#fff!important}.teacher-live-workspace>.teacher-panel:nth-child(2)>*{max-width:100%}.teacher-demo-controls{order:3;display:flex!important;align-items:center!important;gap:8px!important;margin:9px 0 0!important}.teacher-live-workspace .python-playground{margin-top:8px;border:1px solid #000!important;border-radius:10px!important;overflow:hidden!important;box-shadow:none!important}.teacher-live-workspace .python-playground-header{min-height:48px!important;padding:9px 12px!important}.teacher-live-workspace .python-playground-header strong{font-size:15px!important}.teacher-live-workspace .python-playground-header small{font-size:11px!important}.teacher-live-workspace .python-playground-actions{gap:6px!important}.teacher-live-workspace .python-playground-actions button{min-height:32px!important;padding:6px 10px!important;font-size:12px!important}.teacher-live-dashboard .monitor{gap:12px!important}.teacher-live-dashboard .monitor>section:first-child{padding:12px!important;border-radius:12px!important}@media (max-width:1000px){.teacher-live-workspace{grid-template-columns:1fr!important}.teacher-live-workspace>.teacher-panel:first-child .pptx-display-container{height:420px!important;min-height:420px!important}}@media (max-width:640px){.teacher-live-dashboard{padding:12px!important}.teacher-live-title{font-size:21px!important}.teacher-demo-controls button,.teacher-mode-switcher button,.teacher-session-actions button{flex:1 1 auto}}.teacher-live-workspace>.teacher-panel:first-child .pptx-display-container:empty{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important}.teacher-live-dashboard>.teacher-live-description,.teacher-live-dashboard>.teacher-live-status,.teacher-live-dashboard>textarea{display:none!important}.teacher-session-actions .teacher-demo-controls{flex:0 0 auto!important}.teacher-session-actions .teacher-demo-controls button{min-height:38px!important;padding:8px 13px!important;border-radius:8px!important;font-size:13px!important;font-weight:700!important}.teacher-mode-switcher{gap:8px!important}.teacher-live-dashboard .teacher-live-workspace{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-gap:14px!important;gap:14px!important;align-items:start!important;margin-top:0!important}.teacher-live-dashboard .teacher-live-workspace>.teacher-panel{min-width:0!important;min-height:0!important;height:auto!important;align-self:start!important}.teacher-live-dashboard
.teacher-live-workspace>.teacher-panel:first-child
.pptx-display-container{height:378px!important;min-height:378px!important;max-height:378px!important}@media (max-width:1000px){.teacher-live-dashboard .teacher-live-workspace{grid-template-columns:1fr!important}.teacher-live-dashboard .teacher-live-workspace>.teacher-panel:first-child .pptx-display-container{height:420px!important;min-height:420px!important;max-height:420px!important}}.teacher-session-actions .teacher-demo-controls{display:contents!important}.teacher-session-actions .teacher-demo-controls button:first-child{margin-left:auto!important}.teacher-demo-controls button{min-height:38px!important;padding:8px 13px!important;border-radius:8px!important;font-size:13px!important;font-weight:700!important}.teacher-session-actions{margin-bottom:10px!important}.teacher-live-workspace{margin-top:0!important}.teacher-session-actions{width:100%!important}.teacher-session-actions,.teacher-session-actions .teacher-demo-controls{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:nowrap!important}.teacher-session-actions .teacher-demo-controls{margin-left:auto!important;margin-bottom:0!important}.teacher-session-actions .teacher-demo-controls button{flex:0 0 auto!important;margin:0!important}.teacher-mode-switcher{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;gap:10px!important;margin:10px 0 14px!important;padding:0!important;flex-wrap:nowrap!important}.teacher-mode-switcher button{flex:0 0 auto!important;margin:0!important}@media (max-width:700px){.teacher-session-actions{flex-wrap:wrap!important}.teacher-session-actions .teacher-demo-controls{width:100%!important;margin-left:0!important;justify-content:flex-end!important}.teacher-mode-switcher{flex-wrap:wrap!important}}body,html{background:#fff;color:#000}.labEditor .simpleEditor,.programInput .simpleEditor,.simpleEditor{background:#fff!important;color:#000!important;border:2px solid #000!important;caret-color:#f97316!important;-webkit-text-fill-color:#000!important;color-scheme:light!important}.simpleEditor::selection{background:#fff7ed;color:#000}.editor,.python-editor{background:#fff!important;border:2px solid #000!important}.python-editor{border-radius:12px;overflow:hidden}.output,.programOutput .output,.python-output{background:#fff!important;color:#000!important;border:2px solid #000!important;border-top:4px solid #f97316!important}.lessonVisualImage{width:100%;box-sizing:border-box;background:#fff!important;border:2px solid #000!important;overflow:hidden!important}.lessonVisualImage img{display:block;width:100%!important;max-width:100%!important;height:auto!important;max-height:760px;object-fit:contain!important;object-position:center}.pptx-display-container{background:#fff!important;border:1px solid #000}.py-foundation{margin:28px 0 40px;display:grid;grid-gap:22px;gap:22px}.py-hero{background:#fff;border:2px solid #000;border-radius:24px;padding:28px;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:8px 8px 0 #f97316}.py-kicker{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:#f97316;margin-bottom:8px}.py-examples h3,.py-hero h2,.py-lab-card h3,.py-panel-head h3{margin:0;color:#000}.py-hero h2{font-size:clamp(28px,4vw,44px);line-height:1.05}.py-hero p{max-width:780px;margin:14px 0 0;color:#000;line-height:1.7}.py-hero-mark{min-width:100px;text-align:center;font-weight:1000;font-size:34px;line-height:.75;color:#000;border:3px solid #000;border-radius:18px;padding:22px 12px;transform:rotate(3deg)}.py-hero-mark span{font-size:12px;letter-spacing:.2em;color:#f97316}.py-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.py-note{background:#fff;border:1.5px solid #000;border-radius:16px;padding:18px}.py-note strong{font-size:17px}.py-note p{margin:8px 0 0;line-height:1.6;color:#000}.py-examples,.py-visualizer{background:#fff;border:2px solid #000;border-radius:22px;padding:20px}.py-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.py-panel-head h3{font-size:24px}.py-controls{display:flex;gap:8px;flex-wrap:wrap}.py-controls button,.py-example-tabs button{border:2px solid #000;background:#fff;color:#000;border-radius:10px;padding:9px 14px;font-weight:800;cursor:pointer}.py-controls button:first-child,.py-example-tabs button.active{background:#f97316;color:#fff}.py-controls button:disabled{opacity:.45;cursor:not-allowed}.py-viz-grid{display:grid;grid-template-columns:1.25fr 1fr .8fr;grid-gap:12px;gap:12px}.py-code-panel,.py-state-panel,.py-trace-panel{border:1.5px solid #000;border-radius:14px;overflow:hidden;background:#fff;min-width:0}.py-panel-label{padding:10px 12px;border-bottom:2px solid #000;font-size:10px;font-weight:900;letter-spacing:.15em;color:#f97316;background:#fff}.py-state-panel,.py-trace-panel{max-height:410px;overflow:auto}.py-trace{display:grid;grid-template-columns:42px 1fr;grid-gap:9px;gap:9px;padding:11px;border-bottom:1px solid #000;background:#fff}.py-trace.active{background:#f97316;color:#fff}.py-trace.done{border-left:5px solid #f97316}.py-line{font-weight:900}.py-trace strong{display:block;font-size:13px}.py-trace small{display:block;margin-top:4px;word-break:break-word}.py-empty{padding:24px;line-height:1.6}.py-state{display:flex;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid #000}.py-state b{color:#f97316}.py-state span{font-family:ui-monospace,monospace;word-break:break-word}.py-output-live{margin:12px;padding:12px;border:2px solid #000;border-left:6px solid #f97316;border-radius:10px}.py-output-live span{display:block;font-size:9px;font-weight:900;letter-spacing:.14em;color:#f97316;margin-bottom:6px}.py-example-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:8px}.py-example-tabs button{white-space:nowrap}.py-example-caption{border-left:5px solid #f97316;padding:12px 14px;margin:10px 0 0;line-height:1.6}.py-lab-card{background:#000;color:#fff;border-radius:22px;padding:24px;box-shadow:8px 8px 0 #f97316}.py-lab-card h3{color:#fff;font-size:25px}.py-lab-card li,.py-lab-card p{line-height:1.7}.py-lab-card .py-kicker{color:#f97316}.py-lab-card ol{margin-bottom:0}@media(max-width:1000px){.py-viz-grid{grid-template-columns:1fr}.py-state-panel,.py-trace-panel{max-height:280px}.py-notes-grid{grid-template-columns:1fr}}@media(max-width:650px){.py-hero{grid-template-columns:1fr;display:grid}.py-hero-mark{justify-self:start}.py-panel-head{align-items:flex-start;flex-direction:column}.py-hero{box-shadow:5px 5px 0 #f97316}}.py-deep-dive{background:#fff;border:2px solid #000;border-radius:22px;padding:24px}.py-deep-dive h3{margin:0 0 8px;font-size:25px;color:#000}.py-deep-dive p{line-height:1.7;max-width:900px}.py-learning-loop{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.py-learning-loop span{border:2px solid #000;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:900;letter-spacing:.08em}.py-real-output{margin:12px;border:2px solid #000;border-radius:10px;overflow:hidden}.py-real-output span{display:block;padding:8px 10px;background:#000;color:#f97316;font-size:9px;font-weight:900;letter-spacing:.12em}.py-real-output pre{margin:0;padding:12px;white-space:pre-wrap;word-break:break-word;background:#fff;color:#000;min-height:55px;font-family:ui-monospace,monospace}.py-practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.py-practice-grid>div{background:#fff;border:2px solid #000;border-radius:18px;padding:18px}.py-practice-grid h3{margin:0;font-size:20px}.py-practice-grid p{line-height:1.65;margin-bottom:0}@media(max-width:850px){.py-practice-grid{grid-template-columns:1fr}}.lessonHeader{display:flex!important;gap:22px!important;min-height:78px!important;padding:10px 18px!important;margin-bottom:24px!important;background:#fff!important;border:2px solid #000!important;border-radius:22px!important;overflow:hidden!important}.lessonHeader,.lessonHeader small{align-items:center!important;box-sizing:border-box!important}.lessonHeader small{flex:0 0 auto!important;display:inline-flex!important;justify-content:center!important;min-width:92px!important;height:54px!important;padding:0 18px!important;background:#000!important;color:#f97316!important;border:3px solid #000!important;border-radius:16px!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:17px!important;font-weight:900!important;letter-spacing:.5px!important;line-height:1!important;box-shadow:4px 4px 0 #f97316!important}.lessonHeader h1{flex:1 1 auto!important;min-width:0!important;margin:0!important;padding:0!important;color:#000!important;font-size:clamp(24px,3vw,38px)!important;font-weight:900!important;line-height:1.08!important;letter-spacing:-.8px!important;text-align:center!important;text-wrap:balance!important}@media (max-width:700px){.lessonHeader{gap:14px!important;min-height:68px!important;padding:9px 12px!important;border-radius:18px!important}.lessonHeader small{min-width:72px!important;height:46px!important;padding:0 12px!important;border-radius:13px!important;font-size:14px!important;box-shadow:3px 3px 0 #f97316!important}.lessonHeader h1{font-size:clamp(20px,5vw,28px)!important;letter-spacing:-.4px!important}}@media (max-width:430px){.lessonHeader{gap:10px!important;padding:8px 10px!important}.lessonHeader small{min-width:62px!important;height:42px!important;padding:0 9px!important;font-size:13px!important}.lessonHeader h1{font-size:20px!important}}.py-foundation{width:100%;max-width:1180px;margin:0 auto;padding:24px 20px 60px;position:relative;display:block;overflow:visible}.py-foundation,.py-foundation *,.py-foundation :after,.py-foundation :before{box-sizing:border-box}.py-foundation>div,.py-foundation>header,.py-foundation>nav,.py-foundation>section{position:relative;inset:auto;float:none;clear:both;transform:none}.py-foundation .py-hero{position:relative!important;display:grid;grid-template-columns:minmax(0,1fr) 180px;grid-gap:28px;gap:28px;width:100%;min-height:230px;margin:0 0 24px;padding:32px;overflow:hidden;border-radius:24px}.py-foundation .py-hero-copy{min-width:0;width:100%}.py-foundation .py-hero-copy h1,.py-foundation .py-hero-copy h2,.py-foundation .py-hero-copy h3,.py-foundation .py-hero-copy p{position:relative;max-width:100%;margin-left:0;margin-right:0;white-space:normal;overflow-wrap:anywhere}.py-foundation .py-hero-goal{min-width:0;margin-top:20px}.py-foundation .py-hero-goal,.py-foundation .py-hero-mark{position:relative!important;inset:auto!important;width:100%}.py-foundation .py-hero-mark{align-self:center;justify-self:center;max-width:180px}.py-foundation .py-mode-nav{position:relative!important;inset:auto!important;z-index:1!important;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;margin:0 0 24px;padding:6px;grid-gap:6px;gap:6px;border:1px solid #000;border-radius:16px;background:#fff}.py-foundation .py-mode-nav button{position:relative;min-width:0;width:100%;min-height:64px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;white-space:nowrap;text-align:center;padding:10px 12px;background:#fff;color:#000;border:1px solid transparent;border-radius:11px;transition:all .18s ease}.py-foundation .py-mode-nav button:hover{background:#f5f5f5;border-color:#000}.py-foundation .py-mode-nav button.active{background:#000;color:#fff;border-color:#000}.py-foundation .py-mode-number{justify-content:center;flex:0 0 32px;width:32px;height:32px;border:2px solid;border-radius:8px;font-size:11px}.py-foundation .py-mode-label,.py-foundation .py-mode-number{display:inline-flex;align-items:center;font-weight:900;line-height:1;letter-spacing:.04em}.py-foundation .py-mode-label{flex:0 0 auto}.py-foundation .py-deep-dive,.py-foundation .py-expression-lab,.py-foundation .py-mental-model,.py-foundation .py-notes-grid,.py-foundation .py-visualizer{position:relative!important;inset:auto!important;width:100%;max-width:100%;margin-left:0;margin-right:0;transform:none!important}.py-foundation .py-deep-dive,.py-foundation .py-mental-model,.py-foundation .py-notes-grid{margin-bottom:24px}.py-foundation .py-visualizer{margin-top:24px;margin-bottom:24px;z-index:1!important}.py-foundation .py-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.py-foundation .py-note{position:relative;min-width:0;width:100%;height:auto;min-height:100px}.py-foundation .py-note p,.py-foundation .py-note strong{max-width:100%;overflow-wrap:anywhere}.py-foundation .py-panel-head{position:relative!important;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-width:0}.py-foundation .py-panel-head>*{min-width:0}.py-foundation .py-controls{position:relative!important;display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.py-foundation .py-viz-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.8fr) minmax(220px,.8fr);grid-gap:14px;gap:14px;width:100%;min-width:0;margin-top:18px}.py-foundation .py-code-panel,.py-foundation .py-state-panel,.py-foundation .py-trace-panel{position:relative!important;min-width:0;width:100%;max-width:100%;height:auto;min-height:0;overflow:hidden}.py-foundation .py-code-panel{min-width:0}.py-foundation .py-code-panel>*{min-width:0;max-width:100%}.py-foundation .py-trace-panel{min-width:0;max-height:560px;overflow-y:auto;overflow-x:hidden}.py-foundation .py-trace{position:relative!important;display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:10px;gap:10px;width:100%;min-width:0;height:auto;min-height:58px;overflow:hidden}.py-foundation .py-trace>div{min-width:0}.py-foundation .py-trace small,.py-foundation .py-trace strong{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere}.py-foundation .py-state-panel{min-width:0;max-height:560px;overflow-y:auto;overflow-x:hidden}.py-foundation .py-state{position:relative!important;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;min-width:0}.py-foundation .py-state>*{min-width:0;max-width:100%;overflow-wrap:anywhere}.py-foundation .py-output-live,.py-foundation .py-real-output{position:relative!important;width:100%;min-width:0;max-width:100%;overflow:hidden}.py-foundation .py-real-output pre{max-width:100%;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere}.py-foundation .py-expression-lab{position:relative!important;margin-top:24px;margin-bottom:24px;min-width:0;overflow:hidden}.py-foundation .py-token-row{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.py-foundation div,.py-foundation h1,.py-foundation h2,.py-foundation h3,.py-foundation h4,.py-foundation p,.py-foundation small,.py-foundation span,.py-foundation strong{max-width:100%;overflow-wrap:anywhere}.py-foundation [style*="position: fixed"],.py-foundation [style*="position: sticky"],.py-foundation [style*="position:fixed"],.py-foundation [style*="position:sticky"]{position:relative!important;inset:auto!important}@media (max-width:1000px){.py-foundation .py-hero{grid-template-columns:1fr}.py-foundation .py-hero-mark{justify-self:start}.py-foundation .py-viz-grid{grid-template-columns:1fr 1fr}.py-foundation .py-code-panel{grid-column:1/-1}}@media (max-width:700px){.py-foundation{padding:16px 12px 40px}.py-foundation .py-hero{display:block;padding:22px}.py-foundation .py-hero-mark{margin-top:18px}.py-foundation .py-mode-nav{grid-template-columns:1fr 1fr}.py-foundation .py-notes-grid,.py-foundation .py-viz-grid{grid-template-columns:1fr}.py-foundation .py-code-panel{grid-column:auto}.py-foundation .py-state-panel,.py-foundation .py-trace-panel{max-height:none}.py-foundation .py-panel-head{align-items:flex-start;flex-direction:column}.py-foundation .py-controls{width:100%}.py-foundation .py-controls button{flex:1 1 auto}}.py-traps-list{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;margin-top:18px}.py-trap{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;grid-gap:12px;gap:12px;width:100%;min-width:0;padding:16px;background:#fff;border:1px solid #e5e5e5;border-radius:15px;box-shadow:0 6px 18px rgba(0,0,0,.06)}.py-trap-number{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#000;color:#f97316;font-size:12px;font-weight:900;line-height:1}.py-trap-text{min-width:0;display:block;color:#222;font-size:14px;line-height:1.65;overflow-wrap:anywhere;word-break:normal}@media (max-width:700px){.py-trap{grid-template-columns:38px minmax(0,1fr);padding:14px}.py-trap-number{width:34px;height:34px}.py-trap-text{font-size:13px}}.py-foundation .py-practice-levels{display:grid;grid-gap:12px;gap:12px;margin:18px 0 24px}.py-foundation .py-practice-levels>div{display:grid;grid-template-columns:44px 1fr;grid-column-gap:12px;column-gap:12px;align-items:start;padding:14px 16px;border:2px solid #000;border-radius:14px;background:#fff}.py-foundation .py-practice-levels>div>b{grid-row:1/span 2;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:2px solid #000;border-radius:9px;font-size:11px;font-weight:900;line-height:1}.py-foundation .py-practice-levels>div>span{display:block;font-size:13px;font-weight:900;letter-spacing:.06em;line-height:1.2}.py-foundation .py-practice-levels>div>p{margin:5px 0 0;line-height:1.55}@media (min-width:850px){.py-foundation .py-practice-levels{grid-template-columns:repeat(2,minmax(0,1fr))}}.py-foundation .py-flow-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:10px;gap:10px;margin:18px 0 24px}.py-foundation .py-flow-item{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:54px;padding:10px 12px;border:2px solid #000;border-radius:12px;background:#fff;color:#000}.py-foundation .py-flow-item>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border:2px solid #000;border-radius:8px;font-size:10px;font-weight:900;line-height:1}.py-foundation .py-flow-item>b{display:block;min-width:0;font-size:11px;font-weight:900;letter-spacing:.05em;line-height:1.2;text-align:center}.py-foundation .py-flow-item>i{position:absolute;right:-15px;z-index:2;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#fff;font-style:normal;font-weight:900}@media (max-width:850px){.py-foundation .py-flow-strip{grid-template-columns:1fr}.py-foundation .py-flow-item>i{right:auto;bottom:-15px;transform:rotate(90deg)}}.py-foundation .py-predict-question{margin:18px 0;padding:18px;border:2px solid #000;border-radius:16px;background:#fff}.py-foundation .py-predict-question-label{display:inline-block;margin-bottom:8px;padding:5px 9px;border:2px solid #000;border-radius:7px;font-size:9px;font-weight:900;letter-spacing:.12em}.py-foundation .py-predict-question h4{margin:4px 0 6px;font-size:20px;font-weight:900}.py-foundation .py-predict-question p{margin:0 0 14px;line-height:1.6}.py-foundation .py-predict-code{margin:0;padding:16px;border:2px solid #000;border-radius:12px;background:#000;color:#fff;overflow-x:auto;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.65}.py-foundation .py-predict-answer{margin-top:16px}.py-foundation .py-predict-answer>label{display:block;margin-bottom:8px;font-size:10px;font-weight:900;letter-spacing:.12em}.py-foundation .py-memory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px;margin:12px 0 16px}.py-foundation .py-memory-card{position:relative;min-height:96px;padding:14px;border:2px solid #000;border-radius:14px;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transition:transform .16s ease,box-shadow .16s ease}.py-foundation .py-memory-card:hover{transform:translateY(-2px);box-shadow:4px 4px 0 #000}.py-foundation .py-memory-name{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:none}.py-foundation .py-memory-arrow{margin:3px 0;font-size:16px;font-weight:900;line-height:1}.py-foundation .py-memory-value{max-width:100%;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:18px;font-weight:900}@media (max-width:640px){.py-foundation .py-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.py-foundation .py-memory-card{min-height:86px;padding:12px}}.py-foundation .py-step-explanation{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.py-foundation .py-explanation-block{padding:12px 14px;border:2px solid #000;border-left:5px solid #f47732;border-radius:12px;background:#fff}.py-foundation .py-explanation-block.next{border-left-color:#000}.py-foundation .py-explanation-block span{display:block;margin-bottom:5px;font-size:9px;font-weight:900;letter-spacing:.12em}.py-foundation .py-explanation-block p{margin:0;font-size:13px;font-weight:700;line-height:1.5}.py-foundation.py-installation-lesson .py-hero{border-left:8px solid #f97316}.py-foundation.py-installation-lesson .py-hero-mark{background:#000;color:#fff;box-shadow:6px 6px 0 #f97316}.py-foundation.py-installation-lesson .py-hero-mark span{color:#f97316}.py-foundation.py-installation-lesson .py-mode-nav{border:2px solid #000;border-radius:16px;padding:6px;background:#fff}.py-foundation.py-installation-lesson .py-mode-nav button{min-height:54px}.py-foundation.py-installation-lesson .py-mode-nav button.active{background:#000;color:#fff;box-shadow:inset 5px 0 0 #f97316}.py-foundation.py-installation-lesson .py-mode-nav button.active .py-mode-number{color:#f97316}.py-foundation.py-installation-lesson .py-visualizer{border-width:3px;box-shadow:8px 8px 0 #f97316}.py-foundation.py-installation-lesson .py-viz-grid{grid-template-columns:minmax(0,1.35fr) minmax(240px,.9fr) minmax(240px,.9fr)}.py-foundation.py-installation-lesson .py-code-panel,.py-foundation.py-installation-lesson .py-state-panel,.py-foundation.py-installation-lesson .py-trace-panel{border-width:2px}.py-foundation.py-installation-lesson .py-trace{transition:background .14s ease,transform .14s ease}.py-foundation.py-installation-lesson .py-trace:hover{background:#fff7ed}.py-foundation.py-installation-lesson .py-trace.active{background:#f97316;color:#fff;box-shadow:inset 5px 0 0 #000}.py-foundation.py-installation-lesson .py-trace.done{border-left:5px solid #000}.py-foundation.py-installation-lesson .py-memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;padding:12px}.py-foundation.py-installation-lesson .py-memory-card{min-height:92px;border:2px solid #000;border-radius:12px;background:#fff;box-shadow:3px 3px 0 #f97316}.py-foundation.py-installation-lesson .py-memory-name{color:#000}.py-foundation.py-installation-lesson .py-memory-arrow{color:#f97316}.py-foundation.py-installation-lesson .py-memory-value{color:#000}.py-foundation.py-installation-lesson .py-step-explanation{margin:12px;display:grid;grid-gap:10px;gap:10px}.py-foundation.py-installation-lesson .py-explanation-block{border:2px solid #000;border-radius:12px;padding:12px;background:#fff}.py-foundation.py-installation-lesson .py-explanation-block span{display:block;margin-bottom:6px;color:#f97316;font-size:9px;font-weight:900;letter-spacing:.14em}.py-foundation.py-installation-lesson .py-explanation-block p{margin:0;line-height:1.55}.py-foundation.py-installation-lesson .py-explanation-block.next{background:#000;color:#fff}.py-foundation.py-installation-lesson .py-explanation-block.next span{color:#f97316}@media (max-width:700px){.py-foundation.py-installation-lesson .py-memory-grid{grid-template-columns:1fr}.py-foundation.py-installation-lesson .py-visualizer{box-shadow:5px 5px 0 #f97316}}.py-foundation .py-model-badge{flex:0 0 150px;width:150px;min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#000;color:#fff;border:3px solid #000;border-radius:18px;box-shadow:6px 6px 0 #f97316;text-align:center}.py-foundation .py-model-badge span{display:block;color:#f97316;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:16px;font-weight:900;letter-spacing:.05em}.py-foundation .py-model-badge b{display:block;color:#fff;font-size:12px;font-weight:900;letter-spacing:.16em}@media (max-width:700px){.py-foundation .py-model-badge{width:130px;min-height:82px;flex-basis:130px}}.py-foundation.py-installation-lesson .py-hero{height:auto!important;min-height:220px!important;max-height:none!important;overflow:visible!important;box-sizing:border-box!important;align-items:center!important}.py-foundation.py-installation-lesson .py-hero p{height:auto!important;max-height:none!important;overflow:visible!important;margin-bottom:0!important}.py-foundation.py-installation-lesson .py-hero>div:first-child{min-width:0!important}@media (max-width:650px){.py-foundation.py-installation-lesson .py-hero{min-height:0!important;height:auto!important}}.py-foundation.py-installation-lesson .py-hero-goal{display:grid!important;grid-gap:6px!important;gap:6px!important;margin-top:18px!important;padding-top:2px!important;line-height:1.5!important}.py-foundation.py-installation-lesson .py-hero-goal b{display:block!important;margin:0!important;color:#000!important;font-size:14px!important;font-weight:900!important;letter-spacing:.02em!important}.py-foundation.py-installation-lesson .py-hero-goal span{display:block!important;margin:0!important;color:#000!important;line-height:1.5!important}.py-foundation.py-installation-lesson .py-model-badge{flex:0 0 118px!important;width:118px!important;min-height:76px!important;height:76px!important;padding:10px!important;gap:4px!important;border-radius:16px!important;box-shadow:5px 5px 0 #f97316!important}.py-foundation.py-installation-lesson .py-model-badge span{font-size:14px!important;line-height:1!important}.py-foundation.py-installation-lesson .py-model-badge b{font-size:10px!important;line-height:1!important;letter-spacing:.13em!important}.py-foundation.py-installation-lesson .py-mental-model{align-items:flex-start!important}@media (max-width:700px){.py-foundation.py-installation-lesson .py-model-badge{flex:0 0 108px!important;width:108px!important;min-height:70px!important;height:70px!important}}.py-story-narration{height:500px;max-height:500px;overflow-y:scroll;overflow-x:hidden;padding:24px 28px;margin:24px 0;background:#fff;border:2px solid #000;border-left:7px solid #f97316;border-radius:16px;box-sizing:border-box;scroll-behavior:smooth;overscroll-behavior:contain}.py-story-narration p{line-height:1.7}.py-story-narration::-webkit-scrollbar{width:10px}.py-story-narration::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.py-story-narration::-webkit-scrollbar-thumb{background:#000;border-radius:10px}.py-story-narration::-webkit-scrollbar-thumb:hover{background:#f97316}.py-story-narration{scrollbar-width:thin;scrollbar-color:#000 #f1f1f1}@media (max-width:800px){.py-story-narration{max-height:420px;padding:20px;margin:18px 0}}.py-story-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #d1d1d1}.py-story-kicker{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:#f97316}.py-story-classification{font-size:.65rem;font-weight:700;letter-spacing:.08em;color:#666;text-align:right}.py-story-title-row{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.py-story-chapter-mark{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:7px 10px;background:#000;color:#fff;border-radius:6px;font-size:.68rem;font-weight:800;letter-spacing:.1em}.py-story-title-row h3{margin:0;line-height:1.25}.py-story-divider{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0 22px;color:#f97316;font-size:.62rem;font-weight:800;letter-spacing:.12em}.py-story-divider:after,.py-story-divider:before{content:"";height:1px;flex:1 1;background:#d8d8d8}.py-story-content{max-width:900px}.py-story-content p{margin:0 0 16px;line-height:1.75}.py-story-opening{position:relative;padding-left:16px;border-left:4px solid #f97316;font-size:1.04rem;font-weight:650}.py-story-paragraph{color:#222}.py-story-dialogue{margin:22px 0;padding:18px 20px;background:#f7f7f7;border:1px solid #d8d8d8;border-left:5px solid #000;border-radius:10px}.py-story-dialogue p{margin:8px 0 0;font-size:1rem;font-weight:650;color:#111}.py-story-evidence-label{font-size:.7rem;font-weight:850;letter-spacing:.1em;color:#f97316}.py-story-question{margin:24px 0 8px;padding:20px;background:#000;color:#fff;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.12)}.py-story-question-label{margin-bottom:8px;color:#f97316;font-size:.72rem;font-weight:850;letter-spacing:.1em}.py-story-question p{margin:0;color:#fff;font-size:1rem;line-height:1.65;font-weight:650}.py-story-prediction-hint{margin-top:14px;padding-top:12px;border-top:1px solid #444;color:#d7d7d7;font-size:.78rem;font-style:italic}.py-story-footer{display:flex;align-items:center;gap:8px;margin-top:24px;padding-top:14px;border-top:1px dashed #cfcfcf;color:#777;font-size:.65rem;font-weight:800;letter-spacing:.08em}.py-story-footer span:nth-child(2){color:#f97316}@media (max-width:800px){.py-story-header{align-items:flex-start;flex-direction:column}.py-story-classification{text-align:left}.py-story-title-row{gap:10px}.py-story-title-row h3{font-size:1.15rem}.py-story-opening{font-size:.98rem}.py-story-footer{flex-wrap:wrap}body,html{width:100%;max-width:100%;overflow-x:hidden}header{min-height:60px;height:60px;padding:0 12px}.brand{max-width:58vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menuBtn{width:calc(100% - 24px);min-height:46px;margin:12px;padding:11px 16px;border-radius:12px;text-align:left;font-weight:800}.sidebar{width:min(90vw,360px);max-width:360px;padding:14px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar h3{margin:4px 0 14px;font-size:14px}.mobileClose{width:44px;min-width:44px;padding:8px;border-radius:10px;font-size:18px}.mobileClose,.topic .sub,.topic button{min-height:44px}.topic button{padding:10px 9px}.topic .sub{padding:10px 9px 10px 26px}.content{width:100%;max-width:100%;padding:12px;overflow-x:hidden}.content h1{font-size:clamp(22px,7vw,30px);line-height:1.2}.lessonHeader{margin-bottom:18px;overflow-wrap:anywhere}.lessonHeader h1{font-size:clamp(22px,7vw,30px);line-height:1.25;overflow-wrap:anywhere}.lesson>section:first-of-type{width:100%;max-width:100%;box-sizing:border-box}.lesson,.lesson section,.prose{max-width:100%;min-width:0;overflow-wrap:anywhere}.lesson img{max-width:100%;height:auto}.editor,.output,.simpleEditor,pre{max-width:100%;box-sizing:border-box}.simpleEditor{min-height:180px;padding:12px;font-size:13px;line-height:1.5;overflow-x:auto}pre{overflow-x:auto;-webkit-overflow-scrolling:touch}.lesson>div[style*=PREVIOUS]{flex-direction:column!important}.lesson>div[style*=PREVIOUS] button{width:100%;min-height:64px;text-align:left!important}.lesson button{min-height:44px}.practiceInstructions,.practiceQuestion,.practiceStarter{max-width:100%;overflow-wrap:anywhere}.labProblemList{width:100%;max-width:100%;overflow-x:hidden}.continueLearningHeader{flex-direction:column!important;align-items:flex-start!important}.continueLearningHeader>div{width:100%!important;min-width:0!important}}.python-execution-story li{cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.python-execution-story li:hover{border-color:#f97316;background:#fffaf5}.python-execution-story li.current{border-color:#f97316;box-shadow:inset 4px 0 0 #f97316}.python-story-step{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:7px}.python-story-step strong{min-width:58px;color:#111827}.python-story-step code{padding:4px 7px;border-radius:5px;background:#f3f4f6;color:#374151;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.python-story-explanation{display:block;line-height:1.55;color:#4b5563}.python-story-error{display:block;margin-top:8px;padding:7px 9px;border-radius:6px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:12px;font-weight:700}@media (prefers-reduced-motion:reduce){.python-execution-story li{transition:none!important}}.python-visualizer-right-panel{min-width:0;min-height:0;display:flex;flex-direction:column;background:#fff;overflow:hidden}.python-inline-changes,.python-inline-variables{flex:0 0 auto;padding:14px 16px;border-top:1px solid #e5e7eb;background:#fff}.python-inline-panel-title{font-size:11px;font-weight:800;letter-spacing:.12em;color:#374151;margin-bottom:10px}.python-inline-variable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;max-height:150px;overflow-y:auto}.python-inline-variable-card{min-width:0;padding:9px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}.python-inline-variable-card .variable-name{font-size:12px;font-weight:800;color:#111827;margin-bottom:4px;overflow-wrap:anywhere}.python-inline-variable-card .variable-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:#111827;white-space:pre-wrap;overflow-wrap:anywhere;max-height:70px;overflow:auto}.python-inline-variable-card .variable-type{margin-top:4px;font-size:10px;font-weight:700;color:#f97316}.python-inline-change-list{display:flex;flex-direction:column;gap:6px}.python-inline-change{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:7px;background:#fff7ed;border:1px solid #fed7aa;font-size:11px}.python-inline-change strong{color:#9a3412}.python-inline-change span{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#374151;overflow-wrap:anywhere;text-align:right}@media (max-width:800px){.python-visualizer-execution{grid-template-columns:1fr!important}.python-visualizer-right-panel{border-top:1px solid #e5e7eb}.python-inline-variable-grid{grid-template-columns:1fr;max-height:220px}.python-inline-change{align-items:flex-start;flex-direction:column}.python-inline-change span{text-align:left}}@media (prefers-reduced-motion:reduce){.python-inline-change,.python-inline-variable-card{transition:none!important;animation:none!important}}.python-playground-tabs{display:flex;align-items:center;gap:0;width:100%;padding:0;background:#111;border-bottom:1px solid #2a2a2a;box-sizing:border-box}.python-playground-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-right:1px solid #2a2a2a;border-radius:0;background:#111;color:#bdbdbd;min-height:42px;padding:0 18px;font-size:14px;font-weight:700;cursor:pointer;transition:background .16s ease,color .16s ease}.python-playground-tabs button:hover{background:#1d1d1d;color:#fff}.python-playground-tabs button.active{background:#f97316;color:#fff}.python-visualizer{width:100%;box-sizing:border-box;overflow:hidden;background:#f6f7f9;border:1px solid #d9dde3;color:#111;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.python-visualizer-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;background:#fff;border-bottom:1px solid #e1e4e8}.python-visualizer-header>div:first-child{min-width:0}.python-visualizer-header strong{display:block;font-size:17px;line-height:1.3;color:#111}.python-visualizer-header small{display:block;margin-top:4px;color:#68707c;font-size:12px;line-height:1.45}.python-visualizer-controls{display:flex;align-items:center;gap:7px;flex-shrink:0}.python-visualizer-controls button,.python-visualizer-controls select{min-height:34px;border:1px solid #d2d7dd;border-radius:7px;background:#fff;color:#20242a;padding:6px 10px;font-size:12px;font-weight:700}.python-visualizer-controls button{cursor:pointer}.python-visualizer-controls button:hover:not(:disabled){background:#f3f4f6;border-color:#f97316}.python-visualizer-controls button:disabled{opacity:.45;cursor:not-allowed}.python-visualizer-tabs{display:flex;align-items:stretch;gap:0;overflow-x:auto;background:#151515;border-bottom:1px solid #252525}.python-visualizer-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;border:0;border-right:1px solid #292929;border-radius:0;background:#151515;color:#bfc3c8;min-height:42px;padding:0 15px;font-size:13px;font-weight:750;cursor:pointer;white-space:nowrap;transition:background .16s ease,color .16s ease}.python-visualizer-tabs button:hover{background:#242424;color:#fff}.python-visualizer-tabs button.active{background:#f97316;color:#fff}.python-visualizer-execution{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);min-height:390px}.python-code-timeline{min-width:0;background:#111827;color:#e5e7eb;overflow:auto;border-right:1px solid #252c38}.python-timeline-title{position:-webkit-sticky;position:sticky;top:0;z-index:2;padding:10px 14px;background:#0b1220;color:#9ca3af;font-size:10px;font-weight:800;letter-spacing:.12em;border-bottom:1px solid #252c38}.python-visualizer-code-line{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;min-height:31px;box-sizing:border-box;border-left:3px solid transparent;transition:background .15s ease,border-color .15s ease}.python-visualizer-code-line:hover{background:hsla(0,0%,100%,.045)}.python-visualizer-code-line.current{background:rgba(249,115,22,.18);border-left-color:#f97316;box-shadow:inset 0 1px 0 rgba(249,115,22,.12),inset 0 -1px 0 rgba(249,115,22,.12)}.python-visualizer-code-line .line-number{padding:0 10px;color:#667085;text-align:right;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.python-visualizer-code-line.current .line-number{color:#fb923c;font-weight:800}.python-visualizer-code-line code{min-width:0;padding:5px 8px;overflow-x:auto;color:#f3f4f6;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.5;white-space:pre}.python-visualizer-code-line.current code{color:#fff;font-weight:700}.line-marker{margin-right:10px;padding:3px 7px;border-radius:5px;background:#f97316;color:#fff;font-size:10px;font-weight:800;white-space:nowrap}.python-visualizer-stage{display:flex;flex-direction:column;min-width:0;background:radial-gradient(circle at 50% 20%,rgba(249,115,22,.08),transparent 38%),#fff}.visualizer-stage-title{padding:10px 14px;border-bottom:1px solid #e5e7eb;color:#737b87;font-size:10px;font-weight:800;letter-spacing:.12em}.python-visualizer-animation{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px;padding:28px;text-align:center;box-sizing:border-box}.visualizer-statement{max-width:100%;padding:13px 18px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#9a3412;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:14px;font-weight:750;line-height:1.5;overflow-wrap:anywhere}.visualizer-arrow{margin:13px 0;color:#f97316;font-size:26px;line-height:1;animation:pythonVisualizerArrow .9s ease-in-out infinite alternate}.visualizer-explanation{max-width:460px;color:#4b5563;font-size:14px;line-height:1.65}.python-execution-special{width:min(100%,460px);margin-top:16px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-sizing:border-box;text-align:left;box-shadow:0 4px 14px rgba(15,23,42,.06)}.python-execution-special-title{margin-bottom:10px;color:#374151;font-size:11px;font-weight:800;letter-spacing:.08em}.python-execution-special-condition{display:flex;flex-direction:column;gap:6px}.python-execution-special-condition span{color:#6b7280;font-size:12px;font-weight:700}.python-execution-special-condition code{display:block;padding:9px 11px;border-radius:8px;background:#f8fafc;color:#111827;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.python-execution-special-message{margin-top:10px;color:#6b7280;font-size:12px;line-height:1.55}.python-execution-collection{width:min(100%,460px);margin-top:16px}.python-execution-collection-card{padding:15px 16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.06)}.python-execution-collection-title{margin-bottom:8px;color:#374151;font-size:11px;font-weight:800;letter-spacing:.08em}.python-execution-collection-name{margin-bottom:13px;color:#111827;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:14px;font-weight:800;overflow-wrap:anywhere}.python-execution-collection-name span{color:#2563eb;font-weight:700}.python-execution-collection-list{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px}.python-execution-collection-item{min-width:58px;overflow:hidden;border:1px solid #dbeafe;border-radius:9px;background:#eff6ff}.python-execution-collection-item.changed{border-color:#f97316;background:#fff7ed;box-shadow:0 0 0 2px rgba(249,115,22,.12),0 6px 16px rgba(249,115,22,.14);animation:pythonCollectionChanged .7s ease-out}.python-execution-collection-item.changed .python-execution-collection-index{background:#fed7aa;color:#9a3412}.python-execution-collection-item.changed .python-execution-collection-value{color:#c2410c;font-weight:800}@keyframes pythonCollectionChanged{0%{transform:scale(.94);opacity:.55}60%{transform:scale(1.04);opacity:1}to{transform:scale(1)}}.python-execution-collection-index{padding:4px 7px;background:#dbeafe;color:#475569;font-size:9px;font-weight:800;text-align:center}.python-execution-collection-value{padding:9px 10px;color:#1e3a8a;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;font-weight:700;text-align:center;overflow-wrap:anywhere}.python-execution-collection-dict{display:flex;flex-direction:column;gap:7px}.python-execution-collection-entry{display:grid;grid-template-columns:minmax(60px,1fr) auto minmax(60px,1fr);align-items:center;grid-gap:8px;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.python-execution-collection-entry code{color:#7c3aed;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:700;overflow-wrap:anywhere}.python-execution-collection-entry span{color:#9ca3af;font-weight:800;text-align:center}.python-execution-collection-entry strong{color:#111827;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;overflow-wrap:anywhere}.python-execution-collection-operation{margin-top:10px;padding-top:9px;border-top:1px dashed #e5e7eb;color:#6b7280;font-size:11px;line-height:1.5}.python-execution-collection-operation strong{color:#2563eb;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}@media (max-width:600px){.python-execution-collection-list{gap:6px}.python-execution-collection-item{min-width:50px}.python-execution-collection-entry{grid-template-columns:1fr auto 1fr}}.python-execution-dataflow{width:min(100%,460px);margin-top:16px;padding:15px 16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-sizing:border-box;box-shadow:0 4px 14px rgba(15,23,42,.06)}.python-execution-dataflow-title{margin-bottom:14px;color:#374151;font-size:11px;font-weight:800;letter-spacing:.08em}.python-execution-dataflow-expression{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px}.python-execution-dataflow-value{min-width:0;padding:9px 10px;border:1px solid #e5e7eb;border-radius:9px;background:#f8fafc;text-align:center}.python-execution-dataflow-value span{margin-bottom:4px;color:#6b7280;font-size:11px;font-weight:700}.python-execution-dataflow-value span,.python-execution-dataflow-value strong{display:block;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;overflow-wrap:anywhere}.python-execution-dataflow-value strong{color:#111827;font-size:14px}.python-execution-dataflow-operator{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff7ed;color:#ea580c;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:17px;font-weight:800}.python-execution-dataflow-arrow{margin:8px 0;color:#f97316;font-size:20px;font-weight:700;text-align:center}.python-execution-dataflow-result{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #fed7aa;border-radius:9px;background:#fff7ed}.python-execution-dataflow-result span{color:#9a3412;font-size:13px;font-weight:800}.python-execution-dataflow-result span,.python-execution-dataflow-result strong{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;overflow-wrap:anywhere}.python-execution-dataflow-result strong{color:#c2410c;font-size:15px}@media (max-width:600px){.python-execution-dataflow-expression{grid-template-columns:1fr}.python-execution-dataflow-operator{width:28px;height:28px;margin:0 auto}.python-execution-dataflow-result{align-items:flex-start;flex-direction:column}}.python-execution-result{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:9px 11px;border-radius:9px;background:#f8fafc}.python-execution-result span{color:#6b7280;font-size:10px;font-weight:800;letter-spacing:.08em}.python-execution-result strong{font-size:13px;font-weight:800}.python-execution-result.positive{background:#f0fdf4;border:1px solid #bbf7d0}.python-execution-result.positive strong{color:#15803d}.python-execution-result.negative{background:#fef2f2;border:1px solid #fecaca}.python-execution-result.negative strong{color:#dc2626}.python-execution-branch{width:min(100%,460px);margin-top:14px;padding:14px;border:1px solid #dbeafe;border-radius:12px;background:#f8fafc}.python-execution-branch-title{margin-bottom:10px;color:#1e3a8a;font-size:11px;font-weight:900;letter-spacing:.06em}.python-execution-branch-condition{display:flex;flex-direction:column;gap:6px}.python-execution-branch-condition span{color:#64748b;font-size:10px;font-weight:700}.python-execution-branch-condition code{padding:9px 10px;border-radius:8px;background:#fff;color:#1f2937;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:700}.python-execution-branch-arrow{padding:6px 0;color:#f97316;font-size:20px;font-weight:900;text-align:center}.python-execution-branch-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px}.python-execution-branch-option{display:flex;flex-direction:column;gap:5px;padding:9px 7px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;text-align:center}.python-execution-branch-option span{color:#64748b;font-size:9px;font-weight:900;letter-spacing:.05em}.python-execution-branch-option strong{color:#94a3b8;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px}.python-execution-branch-option.checking{border-color:#f97316;background:#fff7ed;color:#9a3412}.python-execution-branch-option.checking strong{color:#c2410c}.python-execution-branch-option.selected{border-color:#f97316;background:#fff7ed;box-shadow:0 0 0 2px rgba(249,115,22,.1),0 4px 12px rgba(249,115,22,.1)}.python-execution-branch-option.selected span{color:#9a3412}.python-execution-branch-option.selected strong{color:#c2410c}.python-execution-control-flow{margin-top:12px;animation:pythonBranchFlowEnter .32s ease-out}.python-execution-flow-path{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.python-execution-flow-body,.python-execution-flow-node{min-width:82px;padding:9px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:rgba(248,250,252,.92);text-align:center;box-shadow:0 3px 10px rgba(15,23,42,.08)}.python-execution-flow-body span,.python-execution-flow-node span{display:block;font-weight:700;font-size:.78rem}.python-execution-flow-body strong,.python-execution-flow-node strong{display:block;margin-top:3px;font-size:.7rem}.python-execution-flow-node{animation:pythonBranchNodePulse 1.2s ease-in-out infinite}.python-execution-flow-arrow{font-size:1.4rem;font-weight:800;animation:pythonBranchArrowMove .9s ease-in-out infinite}.python-execution-flow-body{animation:pythonBodyEnter .42s ease-out}.python-execution-body-link{margin-top:9px;padding:8px 11px;border-radius:8px;background:rgba(241,245,249,.9);font-size:.82rem;font-weight:600;text-align:center;animation:pythonBodyMessageIn .45s ease-out}.python-execution-flow-transition{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0;font-size:.78rem;font-weight:700;animation:pythonBranchTransition .45s ease-out}.python-execution-flow-transition-node{padding:5px 9px;border-radius:7px;background:rgba(226,232,240,.8)}.python-execution-flow-transition-node.active{animation:pythonBranchNodePulse .9s ease-in-out infinite}.python-execution-flow-transition-result{font-size:.7rem;letter-spacing:.04em}.python-execution-flow-transition-arrow{font-size:1.2rem;font-weight:900;animation:pythonBranchArrowMove .8s ease-in-out infinite}.python-execution-flow-explanation{margin-top:9px;line-height:1.45}@keyframes pythonBranchFlowEnter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes pythonBranchNodePulse{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes pythonBranchArrowMove{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(4px)}}@keyframes pythonBodyEnter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pythonBodyMessageIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pythonBranchTransition{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.python-execution-body-link,.python-execution-control-flow,.python-execution-flow-arrow,.python-execution-flow-body,.python-execution-flow-node,.python-execution-flow-transition,.python-execution-flow-transition-arrow,.python-execution-flow-transition-node.active{animation:none!important}}.python-execution-branch-message{margin-top:10px;padding-top:9px;border-top:1px dashed #d1d5db;color:#64748b;font-size:11px;line-height:1.5}.python-loop-collection-visual{margin-top:12px;padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc}.python-loop-collection-title{margin-bottom:9px;color:#475569;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:800}.python-loop-collection-items{display:flex;flex-wrap:wrap;gap:7px}.python-loop-collection-item{min-width:52px;overflow:hidden;border:1px solid #dbeafe;border-radius:8px;background:#fff;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.python-loop-collection-item.current{border-color:#f97316;background:#fff7ed;box-shadow:0 0 0 2px rgba(249,115,22,.12),0 5px 14px rgba(249,115,22,.14);transform:translateY(-2px)}.python-loop-collection-item-value{padding:8px 10px;color:#1e3a8a;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;font-weight:800;text-align:center;overflow-wrap:anywhere}.python-loop-collection-item.current .python-loop-collection-item-value{color:#c2410c}.python-loop-collection-item-index{padding:4px 6px;border-top:1px solid #e5e7eb;background:#f1f5f9;color:#64748b;font-size:9px;font-weight:800;text-align:center}.python-loop-collection-item.current .python-loop-collection-item-index{border-top-color:#fed7aa;background:#fed7aa;color:#9a3412}.python-loop-current-item{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:9px;border-top:1px dashed #d1d5db}.python-loop-current-item span{color:#9a3412;font-size:10px;font-weight:900;letter-spacing:.06em}.python-loop-current-item strong{color:#c2410c;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:900}.python-execution-iteration{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:9px 12px;border:1px solid #fed7aa;border-radius:9px;background:#fff7ed}.python-execution-iteration span{color:#9a3412;font-size:11px;font-weight:800;letter-spacing:.05em}.python-execution-iteration strong{color:#c2410c;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:16px;font-weight:900}.python-execution-loop-value{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:9px 11px;border-radius:9px;background:#eff6ff;border:1px solid #bfdbfe}.python-execution-loop-value span{color:#475569;font-size:11px;font-weight:700}.python-execution-loop-value code{padding:3px 7px;border-radius:6px;background:#fff;color:#1d4ed8;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:700;overflow-wrap:anywhere}@media (max-width:600px){.python-execution-loop-value,.python-execution-result{align-items:flex-start;flex-direction:column;gap:6px}}.python-execution-special.condition{border-left:4px solid #f97316}.python-execution-special.else{border-left:4px solid #8b5cf6}.python-execution-special.for{border-left:4px solid #0ea5e9}.python-execution-special.while{border-left:4px solid #10b981}.visualizer-empty{padding:30px 20px;color:#8a919b;font-size:14px;text-align:center}.visualizer-progress{display:grid;grid-template-columns:auto minmax(100px,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:12px 15px;background:#fafafa;border-top:1px solid #e5e7eb;color:#6b7280;font-size:11px;font-weight:700}.visualizer-progress input[type=range]{width:100%;accent-color:#f97316;cursor:pointer}.python-variable-panel{padding:18px;background:#f6f7f9}.python-variable-panel-title{margin-bottom:14px;color:#4b5563;font-size:11px;font-weight:850;letter-spacing:.08em}.python-variable-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:12px;gap:12px}.python-variable-card{position:relative;overflow:hidden;padding:14px;border:1px solid #dfe3e8;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.05);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.python-variable-card:hover{transform:translateY(-2px);border-color:#f97316;box-shadow:0 8px 20px rgba(15,23,42,.08)}.python-variable-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#f97316}.variable-name{color:#111827;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;font-weight:800}.variable-value{color:#111;font-size:16px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.variable-type,.variable-value{margin-top:9px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-weight:700}.variable-type{display:inline-flex;padding:3px 7px;border-radius:999px;background:#f3f4f6;color:#6b7280;font-size:10px}.python-execution-story{padding:22px;background:#fff}.python-flow-title,.python-story-title{margin-bottom:16px;color:#374151;font-size:12px;font-weight:850;letter-spacing:.06em}.python-execution-story ol{position:relative;margin:0;padding:0 0 0 30px;list-style:none}.python-execution-story li{position:relative;display:grid;grid-template-columns:78px minmax(0,1fr);grid-gap:12px;gap:12px;padding:11px 13px;margin-bottom:8px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#4b5563;font-size:13px;line-height:1.5}.python-execution-story li:before{content:"";position:absolute;left:-24px;top:17px;width:10px;height:10px;border:2px solid #d1d5db;border-radius:50%;background:#fff}.python-execution-story li.current{border-color:#fed7aa;background:#fff7ed}.python-execution-story li.current:before{border-color:#f97316;background:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.14)}.python-execution-story li strong{color:#111827}.python-execution-story li span{min-width:0}.python-program-flow{padding:22px;background:#f6f7f9}.python-flow-list{display:flex;flex-direction:column;align-items:stretch;gap:8px}.python-flow-node{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;min-height:42px;border:1px solid #dfe3e8;border-radius:9px;background:#fff;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.python-flow-node:hover{transform:translateX(2px);border-color:#cbd5e1}.python-flow-node.active{border-color:#f97316;background:#fff7ed;box-shadow:0 4px 14px rgba(249,115,22,.12)}.python-flow-node>span{align-self:stretch;display:grid;place-items:center;background:#f3f4f6;color:#6b7280;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:700}.python-flow-node.active>span{background:#f97316;color:#fff}.python-flow-node code{min-width:0;padding:9px 12px;overflow-x:auto;color:#1f2937;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;white-space:pre}@keyframes pythonVisualizerArrow{0%{transform:translateY(-2px);opacity:.65}to{transform:translateY(4px);opacity:1}}@media (max-width:900px){.python-visualizer-header{align-items:flex-start;flex-direction:column}.python-visualizer-controls{width:100%;flex-wrap:wrap}.python-visualizer-execution{grid-template-columns:1fr}.python-code-timeline{max-height:360px;border-right:0;border-bottom:1px solid #252c38}.python-visualizer-animation{min-height:220px}}@media (max-width:600px){.python-playground-tabs button{flex:1 1 50%;padding:0 10px;font-size:12px}.python-visualizer-header{padding:13px}.python-visualizer-header strong{font-size:15px}.python-visualizer-controls{gap:5px}.python-visualizer-controls button,.python-visualizer-controls select{flex:1 1 auto;min-height:36px;padding:6px 8px}.python-visualizer-tabs button{padding:0 11px;font-size:11px}.python-visualizer-code-line{grid-template-columns:36px minmax(0,1fr)}.python-visualizer-code-line .line-number{padding:0 7px;font-size:11px}.python-visualizer-code-line code{font-size:12px}.line-marker{display:none}.python-visualizer-animation{padding:20px 14px}.visualizer-statement{font-size:12px}.visualizer-explanation{font-size:13px}.visualizer-progress{gap:6px}.python-variable-grid,.visualizer-progress{grid-template-columns:1fr}.python-execution-story,.python-program-flow,.python-variable-panel{padding:14px}.python-execution-story li{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion:reduce){.python-visualizer *,.python-visualizer :after,.python-visualizer :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.python-story-live-card{position:relative;margin:18px 0 24px;padding:22px;border:1px solid hsla(0,0%,100%,.1);border-radius:22px;background:linear-gradient(145deg,hsla(0,0%,100%,.075),hsla(0,0%,100%,.025));box-shadow:0 18px 55px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.07);overflow:hidden}.python-story-live-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 10%,rgba(99,102,241,.16),transparent 32%),radial-gradient(circle at 10% 90%,rgba(34,211,238,.1),transparent 30%)}.python-story-live-header{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.python-story-live-kicker{display:block;margin-bottom:5px;font-size:10px;font-weight:800;letter-spacing:.16em;opacity:.55}.python-story-live-header h3{margin:0;font-size:21px;font-weight:850;letter-spacing:-.02em}.python-story-live-badge{flex:0 0 auto;padding:7px 11px;border:1px solid hsla(0,0%,100%,.13);border-radius:999px;background:hsla(0,0%,100%,.07);font-size:10px;font-weight:850;letter-spacing:.08em}.python-story-live-source{position:relative;z-index:1;display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 13px;border:1px solid hsla(0,0%,100%,.08);border-radius:13px;background:rgba(0,0,0,.22)}.python-story-line-number{flex:0 0 auto;font-size:9px;font-weight:850;letter-spacing:.12em;opacity:.48}.python-story-live-source code{overflow-x:auto;color:inherit;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;white-space:nowrap}.python-story-live-flow{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1.35fr;align-items:stretch;grid-gap:12px;gap:12px;margin-top:14px}.python-story-live-action,.python-story-live-result{min-height:105px;padding:15px;border:1px solid hsla(0,0%,100%,.08);border-radius:15px;background:rgba(0,0,0,.16)}.python-story-flow-label{display:block;margin-bottom:8px;font-size:9px;font-weight:850;letter-spacing:.13em;opacity:.45}.python-story-live-action strong{display:block;font-size:16px;line-height:1.4}.python-story-live-result p{margin:0;font-size:13px;line-height:1.55;opacity:.78}.python-story-live-arrow{align-self:center;font-size:25px;font-weight:900;opacity:.45;animation:pythonStoryArrowPulse 1.6s ease-in-out infinite}.python-story-assignment-visual,.python-story-collection-visual,.python-story-decision-visual,.python-story-exception-visual,.python-story-function-visual,.python-story-io-visual,.python-story-loop-visual{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:14px 16px;border-radius:15px;background:hsla(0,0%,100%,.045);border:1px solid hsla(0,0%,100%,.075)}.python-story-decision-condition,.python-story-decision-result{display:flex;flex-direction:column;gap:5px}.python-story-assignment-visual span,.python-story-collection-visual span,.python-story-decision-condition span,.python-story-decision-result span,.python-story-exception-visual span,.python-story-function-visual span,.python-story-io-visual span,.python-story-loop-visual span{font-size:9px;font-weight:850;letter-spacing:.12em;opacity:.45}.python-story-decision-condition code{font-size:13px}.python-story-decision-result strong{font-size:16px}.python-story-decision-result.positive strong{opacity:1}.python-story-decision-result.negative strong{opacity:.65}.python-story-loop-visual{justify-content:flex-start}.python-story-loop-visual>div{display:flex;flex-direction:column;gap:4px;min-width:110px}.python-story-loop-visual strong{font-size:14px}.python-story-assignment-visual{flex-direction:column;align-items:flex-start}.python-story-assignment-visual>div{display:flex;align-items:center;gap:13px;font-family:SFMono-Regular,Consolas,monospace;font-size:18px}.python-story-collection-visual{justify-content:flex-start}.python-story-function-frame{position:relative;z-index:2;display:flex;flex-direction:column;gap:10px;margin-top:14px;padding:4px 0 2px}.python-story-function-body,.python-story-function-call,.python-story-function-caller-return,.python-story-function-frame-card,.python-story-function-return-card{position:relative;overflow:hidden;border-radius:18px;border:1px solid hsla(0,0%,100%,.09);background:linear-gradient(135deg,hsla(0,0%,100%,.065),hsla(0,0%,100%,.025));box-shadow:0 10px 30px rgba(0,0,0,.14),inset 0 1px 0 hsla(0,0%,100%,.035)}.python-story-function-call{padding:15px 17px}.python-story-function-body:before,.python-story-function-call:before,.python-story-function-caller-return:before,.python-story-function-frame-card:before,.python-story-function-return-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 0 0,hsla(0,0%,100%,.055),transparent 38%)}.python-story-function-kicker{display:block;font-size:8px;line-height:1.2;font-weight:900;letter-spacing:.15em;text-transform:uppercase;opacity:.48}.python-story-function-call-main{position:relative;z-index:1;display:flex;align-items:center;gap:13px}.python-story-function-call-icon{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:12px;background:hsla(0,0%,100%,.065);border:1px solid hsla(0,0%,100%,.08);font-size:19px}.python-story-function-call-main>div{display:flex;flex-direction:column;gap:4px}.python-story-function-call-main strong{font-family:SFMono-Regular,Consolas,monospace;font-size:15px;letter-spacing:-.02em}.python-story-function-call-main span:last-child{font-size:11px;opacity:.58}.python-story-function-caller{position:relative;z-index:1;display:flex;align-items:center;gap:9px;margin-top:11px;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.13);border:1px solid hsla(0,0%,100%,.055)}.python-story-function-caller span{font-size:8px;font-weight:850;letter-spacing:.1em;opacity:.4}.python-story-function-caller code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;opacity:.78}.python-story-function-arrow{display:flex;align-items:center;justify-content:center;height:17px;font-size:17px;line-height:1;opacity:.42;animation:pythonStoryFunctionArrow 1.8s ease-in-out infinite}.python-story-function-frame-card{padding:16px 17px}.python-story-function-frame-header{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.python-story-function-frame-header>div{display:flex;flex-direction:column;gap:5px;min-width:0}.python-story-function-frame-header strong{font-family:SFMono-Regular,Consolas,monospace;font-size:16px;letter-spacing:-.025em}.python-story-function-depth{flex:0 0 auto;padding:5px 8px;border-radius:999px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.045);font-size:8px;font-weight:900;letter-spacing:.09em;opacity:.55}.python-story-function-arguments{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:8px;gap:8px;margin-top:14px}.python-story-function-argument{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px;min-width:0;padding:10px 11px;border-radius:12px;background:rgba(0,0,0,.14);border:1px solid hsla(0,0%,100%,.055)}.python-story-function-argument span{min-width:0;overflow:hidden;text-overflow:ellipsis;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:750}.python-story-function-argument b{font-size:13px;opacity:.45}.python-story-function-argument code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:800}.python-story-function-no-args{grid-column:1/-1;padding:11px;border-radius:11px;background:hsla(0,0%,100%,.035);text-align:center;font-size:10px;opacity:.45}.python-story-function-body{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 17px}.python-story-function-body>div{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px}.python-story-function-body strong{font-family:SFMono-Regular,Consolas,monospace;font-size:14px}.python-story-function-body>span{position:relative;z-index:1;font-size:10px;opacity:.52;text-align:right}.python-story-function-return-card{display:flex;align-items:center;gap:13px;padding:15px 17px}.python-story-function-return-icon{position:relative;z-index:1;display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:12px;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.08);font-size:20px}.python-story-function-return-card>div:last-child{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px}.python-story-function-return-card strong{font-family:SFMono-Regular,Consolas,monospace;font-size:15px}.python-story-function-return-card span:last-child{font-size:10px;opacity:.55}.python-story-function-caller-return{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 17px}.python-story-function-caller-return>div{position:relative;z-index:1;display:flex;align-items:baseline;gap:8px}.python-story-function-caller-return code{font-family:SFMono-Regular,Consolas,monospace;font-size:18px;font-weight:850}.python-story-function-caller-return>div span{font-size:9px;opacity:.45}@keyframes pythonStoryFunctionArrow{0%,to{transform:translateY(-1px);opacity:.3}50%{transform:translateY(2px);opacity:.72}}@media (max-width:760px){.python-story-function-arguments{grid-template-columns:1fr}.python-story-function-body{align-items:flex-start;flex-direction:column}.python-story-function-body>span{text-align:left}.python-story-function-caller-return,.python-story-function-frame-header{align-items:flex-start;flex-direction:column}}.python-story-io-visual{justify-content:flex-start}.python-story-io-visual strong{font-size:14px}.python-story-exception-visual{justify-content:flex-start}.python-story-exception-visual strong{font-family:SFMono-Regular,Consolas,monospace}.python-story-live-footer{position:relative;z-index:1;display:flex;justify-content:space-between;gap:12px;margin-top:15px;padding-top:12px;border-top:1px solid hsla(0,0%,100%,.07);font-size:9px;font-weight:850;letter-spacing:.11em;opacity:.45}@keyframes pythonStoryArrowPulse{0%,to{transform:translateY(0);opacity:.35}50%{transform:translateY(5px);opacity:.85}}@media (max-width:760px){.python-story-live-card{padding:16px;border-radius:17px}.python-story-live-header{align-items:flex-start}.python-story-live-header h3{font-size:17px}.python-story-live-flow{grid-template-columns:1fr}.python-story-live-arrow{transform:rotate(0deg);text-align:center}.python-story-decision-visual,.python-story-exception-visual,.python-story-function-visual,.python-story-io-visual,.python-story-loop-visual{align-items:flex-start;flex-direction:column}.python-story-live-footer{flex-direction:column}}.python-execution-branch.phase-checking{animation:branchDecisionPulse .55s ease-in-out}.python-execution-branch.phase-evaluated{animation:branchCheckPulse .45s ease-in-out}.python-execution-branch-arrow.moving{animation:branchArrowMove .65s ease-in-out}.python-execution-branch-option.checking{animation:branchCheckPulse .5s ease-in-out}.python-execution-branch-option.evaluated-false{opacity:.58}.python-execution-branch-body-target{margin-top:14px;padding:12px 14px;border-radius:14px;border:1px solid rgba(249,115,22,.45);background:linear-gradient(135deg,rgba(255,247,237,.98),rgba(255,237,213,.92));display:flex;flex-direction:column;gap:4px;animation:bodyTargetEnter .55s ease-out}.python-execution-branch-body-target strong{font-size:.9rem;color:#c2410c;letter-spacing:.03em}.python-execution-branch-body-target span{font-size:.78rem;color:#7c2d12}.python-execution-branch-body-arrow{font-size:1.5rem;line-height:1;text-align:center;color:#f97316}.python-execution-branch-body-target.active{animation:bodyTargetPulse .8s ease-in-out infinite alternate}.python-visualizer-code-line.branch-body-target{animation:sourceLineTarget .7s ease-in-out}.python-visualizer-code-line.branch-body-active{animation:sourceLineActive .9s ease-in-out infinite alternate}.line-marker.branch-target-marker{animation:markerSlideIn .45s ease-out;color:#f97316}@keyframes branchDecisionPulse{0%{transform:scale(1)}50%{transform:scale(1.012)}to{transform:scale(1)}}@keyframes branchCheckPulse{0%{transform:translateX(0)}50%{transform:translateX(4px)}to{transform:translateX(0)}}@keyframes branchArrowMove{0%{opacity:.45;transform:translateY(-4px) scale(.9)}50%{opacity:1;transform:translateY(4px) scale(1.12)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bodyTargetEnter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes bodyTargetPulse{0%{transform:translateY(0)}to{transform:translateY(-2px)}}@keyframes sourceLineTarget{0%{transform:translateX(0)}50%{transform:translateX(5px)}to{transform:translateX(0)}}@keyframes sourceLineActive{0%{transform:translateX(0)}to{transform:translateX(3px)}}@keyframes markerSlideIn{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}.python-execution-branch-executing{margin-top:12px;padding:14px;border-radius:16px;border:1px solid rgba(34,197,94,.35);background:linear-gradient(135deg,rgba(240,253,244,.98),rgba(236,253,245,.92));box-shadow:0 8px 24px rgba(15,23,42,.08);animation:branchExecutingEnter .45s ease-out}.python-execution-branch-executing-header{display:flex;align-items:center;gap:10px}.python-execution-branch-executing-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#dcfce7;color:#15803d;font-size:.72rem;font-weight:800}.python-execution-branch-executing-header>div{display:flex;flex-direction:column;gap:2px;flex:1 1}.python-execution-branch-executing-kicker{font-size:.62rem;font-weight:800;letter-spacing:.12em;color:#15803d}.python-execution-branch-executing-header strong{font-size:.86rem;color:#14532d}.python-execution-branch-executing-status{padding:4px 8px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:.58rem;font-weight:800;letter-spacing:.08em;animation:branchActivePulse .9s ease-in-out infinite alternate}.python-execution-branch-executing-path{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px}.python-execution-branch-executing-node{padding:8px 12px;border-radius:10px;background:#fff;border:1px solid rgba(34,197,94,.25);color:#166534;font-size:.72rem;font-weight:800}.python-execution-branch-executing-node.active{border-color:rgba(34,197,94,.55);box-shadow:0 0 0 3px rgba(34,197,94,.1);animation:branchBodyTargetPulse .8s ease-in-out infinite alternate}.python-execution-branch-executing-arrow{color:#22c55e;font-size:1.1rem;font-weight:900;animation:branchFlowArrow .65s ease-in-out infinite alternate}.python-execution-branch-executing p{margin:10px 0 0;text-align:center;color:#166534;font-size:.74rem;line-height:1.45}@keyframes branchExecutingEnter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes branchActivePulse{0%{opacity:.65}to{opacity:1}}@keyframes branchBodyTargetPulse{0%{transform:translateY(0)}to{transform:translateY(-2px)}}@keyframes branchFlowArrow{0%{transform:translateX(0)}to{transform:translateX(4px)}}.python-branch-flow-track{width:34px;height:42px;margin:2px auto 4px}.python-branch-flow-line{top:0;bottom:0;background:linear-gradient(180deg,rgba(249,115,22,.15),rgba(249,115,22,.75),rgba(34,197,94,.45))}.python-branch-flow-arrow{font-size:1.25rem;font-weight:900;color:#f97316;text-shadow:0 0 10px rgba(249,115,22,.35)}.python-branch-flow-particle{top:2px;margin-left:-4.5px;box-shadow:0 0 0 3px rgba(249,115,22,.14),0 0 14px rgba(249,115,22,.85)}.python-execution-branch-body-target.flow-target .python-branch-flow-particle{animation:branchParticleTravel .85s cubic-bezier(.4,0,.2,1) infinite}.python-execution-branch-body-target.flow-target .python-branch-flow-line{animation:branchFlowLinePulse .85s ease-in-out infinite}.python-execution-branch-body-target.flow-target .python-branch-flow-arrow{animation:branchFlowArrowPulse .7s ease-in-out infinite alternate}.python-execution-branch-body-target.flow-target{border-color:rgba(249,115,22,.62);box-shadow:0 0 0 3px rgba(249,115,22,.08),0 8px 26px rgba(249,115,22,.1)}.python-visualizer-code-line.branch-body-target{position:relative;border-left:4px solid #f97316;box-shadow:inset 8px 0 22px rgba(249,115,22,.08);animation:branchDestinationGlow .85s ease-in-out infinite alternate}.python-visualizer-code-line.branch-body-active{position:relative;border-left:4px solid #22c55e;box-shadow:inset 8px 0 24px rgba(34,197,94,.1)}@keyframes branchParticleTravel{0%{opacity:0;transform:translate(-50%) scale(.65)}12%{opacity:1}70%{opacity:1}to{opacity:0;transform:translate(-50%,30px) scale(1.15)}}@keyframes branchFlowLinePulse{0%{opacity:.35}50%{opacity:1}to{opacity:.35}}@keyframes branchFlowArrowPulse{0%{transform:translateY(0);opacity:.65}to{transform:translateY(3px);opacity:1}}@keyframes branchDestinationGlow{0%{box-shadow:inset 8px 0 18px rgba(249,115,22,.05)}to{box-shadow:inset 8px 0 30px rgba(249,115,22,.18),0 0 18px rgba(249,115,22,.1)}}.python-branch-flow-track{position:relative;width:100%;height:64px;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate;margin:4px 0}.python-branch-flow-line{position:absolute;top:2px;bottom:2px;left:50%;width:2px;transform:translateX(-50%);border-radius:999px;background:linear-gradient(180deg,rgba(249,115,22,.18),rgba(249,115,22,.65),rgba(34,197,94,.65));opacity:.75}.python-branch-flow-particle{position:absolute;left:50%;top:4px;width:9px;height:9px;border-radius:50%;transform:translate(-50%) scale(.55);background:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.1),0 0 12px rgba(249,115,22,.8),0 0 28px rgba(249,115,22,.45);opacity:0;z-index:3}.python-branch-flow-track.moving
.python-branch-flow-particle{opacity:1;animation:pythonBranchExecutionTravel .65s cubic-bezier(.22,.61,.36,1) forwards}.python-branch-flow-track.arrived
.python-branch-flow-particle{top:auto;bottom:4px;opacity:1;transform:translate(-50%) scale(1);background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.1),0 0 14px rgba(34,197,94,.85),0 0 30px rgba(34,197,94,.45);animation:pythonBranchExecutionArrival 1.4s ease-in-out infinite}.python-branch-flow-arrow{position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);font-size:18px;line-height:1;color:#94a3b8;z-index:2}.python-branch-flow-track.moving
.python-branch-flow-arrow{color:#f97316;animation:pythonBranchArrowPulse .65s ease-in-out infinite}.python-branch-flow-track.arrived
.python-branch-flow-arrow{color:#22c55e}@keyframes pythonBranchExecutionTravel{0%{top:4px;transform:translate(-50%) scale(.55);opacity:0}12%{opacity:1}50%{transform:translate(-50%) scale(1)}88%{opacity:1}to{top:calc(100% - 14px);transform:translate(-50%) scale(.9);opacity:1}}@keyframes pythonBranchExecutionArrival{0%,to{transform:translate(-50%) scale(.9);box-shadow:0 0 0 3px rgba(34,197,94,.08),0 0 12px rgba(34,197,94,.65),0 0 24px rgba(34,197,94,.35)}50%{transform:translate(-50%) scale(1.08);box-shadow:0 0 0 5px rgba(34,197,94,.12),0 0 18px rgba(34,197,94,.9),0 0 36px rgba(34,197,94,.5)}}@keyframes pythonBranchArrowPulse{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.python-branch-flow-arrow,.python-branch-flow-particle{animation:none!important}}.python-execution-return{margin:16px 0;padding:18px;border:1px solid rgba(100,116,139,.25);border-radius:18px;background:linear-gradient(145deg,rgba(248,250,252,.98),rgba(241,245,249,.96));box-shadow:0 12px 30px rgba(15,23,42,.08),inset 0 1px 0 hsla(0,0%,100%,.8);animation:python-return-enter .42s ease-out}.python-execution-return-header{display:flex;align-items:center;gap:12px}.python-execution-return-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(100,116,139,.12);font-size:18px;font-weight:700}.python-execution-return-header>div{flex:1 1}.python-execution-return-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.14em;color:#64748b}.python-execution-return-header strong{display:block;margin-top:2px;font-size:15px;letter-spacing:.03em;color:#334155}.python-execution-return-status{padding:5px 9px;border-radius:999px;background:rgba(100,116,139,.1);color:#475569;font-size:9px;font-weight:800;letter-spacing:.1em}.python-execution-return-statement{margin-top:16px;padding:11px 14px;border-radius:10px;background:hsla(0,0%,100%,.85);border:1px solid rgba(148,163,184,.2);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:700;color:#475569;text-align:center}.python-execution-return-flow{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0;font-size:11px;font-weight:800;color:#64748b}.python-execution-return-flow span{padding:7px 11px;border-radius:9px;background:hsla(0,0%,100%,.9);border:1px solid rgba(148,163,184,.2)}.python-execution-return-arrow{border:0!important;background:transparent!important;font-size:18px}.python-execution-return-none{color:#475569}.python-execution-return p{margin:0;text-align:center;font-size:12px;line-height:1.55;color:#475569}.python-execution-return-line{margin-top:12px;padding-top:10px;border-top:1px dashed rgba(148,163,184,.35);text-align:center;font-size:10px;font-weight:700;color:#64748b}@keyframes python-return-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.python-story-output-flow{position:relative;margin:18px 0;padding:18px;border:1px solid rgba(255,145,70,.28);border-radius:20px;background:linear-gradient(145deg,hsla(0,0%,100%,.96),rgba(255,248,242,.96));box-shadow:0 12px 35px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.8);overflow:hidden}.python-story-output-flow:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 20%,rgba(255,145,70,.1),transparent 42%);pointer-events:none}.python-story-output-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.python-story-output-header span{font-size:10px;font-weight:800;letter-spacing:.16em;color:#667085}.python-story-output-header strong{padding:5px 9px;border-radius:999px;background:rgba(255,145,70,.1);color:#c45d19;font-size:9px;letter-spacing:.12em}.python-story-output-path{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.python-story-output-console,.python-story-output-source,.python-story-output-value{width:min(100%,360px);box-sizing:border-box}.python-story-output-source{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(255,145,70,.25);border-radius:13px;background:hsla(0,0%,100%,.82)}.python-story-output-console>span,.python-story-output-source span,.python-story-output-value>span{font-size:9px;font-weight:800;letter-spacing:.13em;color:#7a8494}.python-story-output-source code{padding:6px 9px;border-radius:8px;background:#fff5ed;color:#a94d16;font-size:12px;font-weight:700}.python-story-output-connector{position:relative;width:42px;height:46px;display:flex;justify-content:center;align-items:center}.python-story-output-line{position:absolute;top:0;bottom:0;width:2px;border-radius:999px;background:linear-gradient(180deg,rgba(255,145,70,.25),rgba(255,145,70,.75))}.python-story-output-particle{position:absolute;z-index:2;top:4px;font-size:11px;color:#ff9146;filter:drop-shadow(0 0 7px rgba(255,145,70,.65));animation:python-output-particle 1.15s cubic-bezier(.45,0,.2,1) infinite}.python-story-output-arrow{position:absolute;bottom:-2px;z-index:2;font-size:17px;font-weight:800;color:#ff9146}.python-story-output-value{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid rgba(255,145,70,.3);border-radius:14px;background:rgba(255,250,246,.95);box-shadow:0 7px 20px rgba(255,145,70,.08);animation:python-output-value-in .45s ease-out both}.python-story-output-value strong{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 11px;border-radius:9px;background:#fff;color:#c45d19;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.python-story-output-console{padding:13px;border-radius:15px;background:#111827;box-shadow:0 14px 28px rgba(17,24,39,.18)}.python-story-output-console>span{display:block;margin-bottom:9px;color:#9ca3af}.python-story-output-screen{display:flex;align-items:center;gap:9px;min-height:34px;padding:7px 10px;border-radius:9px;background:hsla(0,0%,100%,.06);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.python-story-output-caret{color:#ff9146;font-weight:900}.python-story-output-screen strong{color:#f9fafb;font-size:13px;font-weight:700;animation:python-output-text-in .5s ease-out both}.python-story-output-explanation{position:relative;z-index:1;margin:15px 4px 0;color:#667085;font-size:11px;line-height:1.6;text-align:center}.python-story-output-explanation code{padding:2px 5px;border-radius:5px;background:#f3f4f6;color:#a94d16;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@keyframes python-output-particle{0%{transform:translateY(-4px) scale(.75);opacity:0}18%{opacity:1}72%{opacity:1}to{transform:translateY(34px) scale(1.15);opacity:0}}@keyframes python-output-value-in{0%{transform:translateY(7px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes python-output-text-in{0%{transform:translateX(-5px);opacity:0}to{transform:translateX(0);opacity:1}}.python-visualizer-topic-selector{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:12px}.python-visualizer-topic-selector label{font-size:12px;font-weight:700;letter-spacing:.03em;white-space:nowrap;opacity:.8}.python-visualizer-topic-selector select{min-width:165px;padding:7px 30px 7px 10px;border:1px solid hsla(0,0%,50%,.28);border-radius:9px;background:hsla(0,0%,100%,.06);color:inherit;font-size:12px;font-weight:600;cursor:pointer;outline:none}.python-visualizer-topic-selector select:focus{border-color:rgba(100,150,255,.65);box-shadow:0 0 0 2px rgba(100,150,255,.12)}@media (max-width:800px){.python-visualizer-topic-selector{width:100%;margin:8px 0 0}.python-visualizer-topic-selector select{flex:1 1;min-width:0}}.python-story-output-learning{display:flex;flex-direction:column;align-items:center;gap:14px;padding:22px 18px;min-height:300px}.python-story-output-source{width:min(92%,420px);padding:13px 16px;border-radius:12px;border:1px solid rgba(255,130,40,.35);background:rgba(255,130,40,.07);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:15px;font-weight:700;text-align:center}.python-story-output-source-label{display:block;margin-bottom:7px;font-family:inherit;font-size:10px;letter-spacing:.12em;opacity:.58}.python-story-output-arrow{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:24px;line-height:1}.python-story-output-arrow-line{width:2px;height:28px;background:currentColor;opacity:.45}.python-story-output-python{width:min(92%,420px);padding:15px;border-radius:14px;border:1px solid rgba(100,150,255,.28);background:rgba(100,150,255,.07);text-align:center}.python-story-output-python-label{display:block;font-size:10px;font-weight:800;letter-spacing:.13em;opacity:.62;margin-bottom:7px}.python-story-output-python-action{font-size:14px;font-weight:700}.python-story-output-monitor{width:min(92%,420px);overflow:hidden;border-radius:14px;border:1px solid rgba(0,0,0,.25);background:#101318;box-shadow:0 10px 28px rgba(0,0,0,.16)}.python-story-output-monitor-header{padding:8px 12px;font-size:10px;font-weight:800;letter-spacing:.12em;background:hsla(0,0%,100%,.06)}.python-story-output-monitor-screen{padding:20px;min-height:65px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:20px;font-weight:700;text-align:left}.python-story-output-monitor-caret{margin-right:8px;opacity:.6}.python-story-output-teaching-text{max-width:440px;margin:2px auto 0;text-align:center;font-size:13px;line-height:1.55;opacity:.78}.python-output-topic-active{position:relative}.python-output-topic-story{width:min(100%,500px);margin:0 auto;padding:28px 24px 30px;text-align:center;animation:python-output-topic-enter .42s ease-out}.python-output-topic-kicker{margin-bottom:18px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.65}.python-output-topic-code{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:10px 18px;border:1px solid rgba(255,133,43,.38);border-radius:14px;background:rgba(255,133,43,.07);box-shadow:0 8px 25px rgba(255,133,43,.08)}.python-output-topic-code code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:16px;font-weight:700}.python-output-topic-flow{display:flex;flex-direction:column;align-items:center;margin-top:18px}.python-output-topic-node{width:min(100%,390px);border-radius:18px;padding:16px 18px;box-sizing:border-box}.python-output-topic-python{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;background:hsla(0,0%,100%,.045);border:1px solid hsla(0,0%,100%,.09)}.python-output-topic-python span:last-child{width:100%;font-size:12px;opacity:.62}.python-output-topic-icon{font-size:22px}.python-output-topic-arrow{height:48px}.python-output-topic-arrow span{font-size:30px;font-weight:800;animation:python-output-topic-arrow .9s ease-in-out infinite}.python-output-topic-console{padding:0;overflow:hidden;border:1px solid rgba(255,133,43,.35);background:rgba(0,0,0,.22);box-shadow:0 12px 30px rgba(0,0,0,.16),0 0 0 1px rgba(255,133,43,.04)}.python-output-topic-console-title{padding:10px 14px;text-align:left;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;opacity:.62;border-bottom:1px solid hsla(0,0%,100%,.08)}.python-output-topic-screen{min-height:62px;display:flex;align-items:center;padding:12px 18px;box-sizing:border-box;text-align:left;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:18px;line-height:1.45}.python-output-topic-caret{margin-right:9px;opacity:.55}.python-output-topic-teaching{display:flex;flex-direction:column;gap:7px;max-width:400px;margin:20px auto 0;line-height:1.55}.python-output-topic-teaching strong{font-size:14px}.python-output-topic-teaching span{font-size:12px;opacity:.68}.python-output-topic-teaching code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700}@keyframes python-output-topic-enter{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes python-output-topic-arrow{0%,to{transform:translateY(-2px);opacity:.55}50%{transform:translateY(4px);opacity:1}}.python-output-topic-python-logo{width:58px;height:58px;animation:python-output-logo-enter .42s ease-out both}.python-output-topic-python-name{display:flex;flex-direction:column;align-items:center;gap:4px}.python-output-topic-python-name strong{font-size:17px;font-weight:800;letter-spacing:-.2px}.python-output-topic-python-name span{font-size:13px;color:#666b73}@keyframes python-output-logo-enter{0%{opacity:0;transform:translateY(7px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.python-output-topic-arrow{position:relative;height:76px;display:flex;align-items:center;justify-content:center;overflow:visible}.python-output-topic-arrow-symbol{position:relative;z-index:3;font-size:34px;font-weight:700;animation:python-output-arrow-pulse .9s ease-in-out both}.python-output-topic-particle{position:absolute;left:50%;font-size:18px;font-weight:900;color:#f4772d;opacity:0;pointer-events:none;transform:translate(-50%,-50%)}.python-output-topic-particle.particle-one{animation:python-output-particle-flow .9s ease-out .1s both}.python-output-topic-particle.particle-two{animation:python-output-particle-flow .9s ease-out .26s both}.python-output-topic-particle.particle-three{animation:python-output-particle-flow .9s ease-out .42s both}.python-output-topic-console-live{animation:python-output-console-arrive .65s ease-out .52s both}.python-output-topic-value{display:inline-block;animation:python-output-value-arrive .5s ease-out .62s both}.python-output-topic-python-logo{width:64px;height:64px;object-fit:contain;display:block;filter:drop-shadow(0 7px 12px rgba(0,0,0,.12));animation:python-output-python-processing 1.1s ease-in-out both}@keyframes python-output-python-processing{0%{opacity:0;transform:translateY(8px) scale(.88)}35%{opacity:1;transform:translateY(0) scale(1.06)}60%{transform:translateY(0) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes python-output-arrow-pulse{0%{opacity:0;transform:translateY(-8px) scale(.8)}35%{opacity:1;transform:translateY(0) scale(1.08)}65%{transform:translateY(2px) scale(1)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes python-output-particle-flow{0%{opacity:0;transform:translate(-50%,-10px) scale(.5)}20%{opacity:1}70%{opacity:.9}to{opacity:0;transform:translate(-50%,32px) scale(.9)}}@keyframes python-output-console-arrive{0%{opacity:.55;transform:translateY(10px) scale(.97);box-shadow:0 8px 20px rgba(0,0,0,.08)}55%{opacity:1;transform:translateY(0) scale(1.015);box-shadow:0 14px 34px rgba(238,122,43,.2)}to{opacity:1;transform:translateY(0) scale(1);box-shadow:0 10px 26px rgba(0,0,0,.1)}}@keyframes python-output-value-arrive{0%{opacity:0;transform:translateX(-10px)}60%{opacity:1;transform:translateX(3px)}to{opacity:1;transform:translateX(0)}}.python-variables-topic-story{width:min(100%,560px);margin:0 auto;padding:24px 22px 26px;display:flex;flex-direction:column;align-items:center;gap:18px;animation:python-variables-topic-enter .42s ease-out both}.python-variables-topic-kicker{font-size:12px;font-weight:800;letter-spacing:2px;color:#555b64}.python-variables-topic-code{padding:12px 20px;border:1px solid rgba(255,126,45,.38);border-radius:14px;background:#fff7ef;box-shadow:0 8px 24px rgba(255,126,45,.08)}.python-variables-topic-code code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:16px;font-weight:800}.python-variables-topic-flow{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.python-variables-topic-python{display:flex;flex-direction:column;align-items:center;gap:4px}.python-variables-topic-python-logo{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 7px 12px rgba(0,0,0,.12));animation:python-variables-logo-enter .42s ease-out both}.python-variables-topic-python strong{font-size:17px;font-weight:800}.python-variables-topic-python span{font-size:13px;color:#70757d}.python-variables-topic-arrow{height:42px;display:flex;align-items:center;justify-content:center}.python-variables-topic-arrow span{font-size:30px;font-weight:700;color:#777b82;animation:python-variable-arrow-pulse .9s ease-in-out infinite}.python-variables-topic-memory{width:min(100%,390px);padding:18px;border-radius:20px;background:linear-gradient(145deg,#f8f8f8,#ececec);border:1px solid rgba(255,126,45,.45);box-shadow:0 14px 34px rgba(0,0,0,.1),0 0 30px rgba(255,126,45,.08)}.python-variables-topic-memory-title{margin-bottom:14px;font-size:11px;font-weight:800;letter-spacing:1.8px;color:#60656d}.python-variable-change-card{padding:18px;border-radius:16px;background:#fff;border:1px solid rgba(255,126,45,.35);box-shadow:0 8px 22px rgba(0,0,0,.07);animation:python-variable-card-enter .36s ease-out both}.python-variable-change-name{text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:22px;font-weight:900;margin-bottom:14px}.python-variable-change-values{display:flex;align-items:center;justify-content:center;gap:14px}.python-variable-new,.python-variable-old{min-width:88px;display:flex;flex-direction:column;align-items:center;gap:5px}.python-variable-new span,.python-variable-old span{font-size:9px;font-weight:800;letter-spacing:1.2px;color:#777c83}.python-variable-new strong,.python-variable-old strong{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:20px}.python-variable-change-arrow{font-size:24px;font-weight:900;color:#ef7428}.python-variable-change-label{margin-top:14px;text-align:center;font-size:12px;font-weight:700;color:#666b73}.python-variable-memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.python-variable-memory-card{padding:14px;border-radius:14px;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 6px 18px rgba(0,0,0,.06);text-align:center;animation:python-variable-card-enter .36s ease-out both}.python-variable-memory-name{font-size:15px;font-weight:800;color:#555b63}.python-variable-memory-name,.python-variable-memory-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.python-variable-memory-value{margin-top:6px;font-size:22px;font-weight:900}.python-variable-memory-type{margin-top:4px;font-size:10px;font-weight:700;letter-spacing:1px;color:#858990}.python-variable-memory-empty{padding:22px;text-align:center;font-size:13px;color:#777c83}.python-variables-topic-teaching{width:min(100%,430px);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.python-variables-topic-teaching strong{font-size:14px;line-height:1.45}.python-variables-topic-teaching span{font-size:12px;line-height:1.55;color:#6e737b}.python-variables-topic-teaching code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}@keyframes python-variables-topic-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes python-variables-logo-enter{0%{opacity:0;transform:translateY(7px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes python-variable-card-enter{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes python-variable-arrow-pulse{0%,to{transform:translateY(0);opacity:.65}50%{transform:translateY(4px);opacity:1}}.python-variable-change-card{position:relative;overflow:visible}.python-variable-transfer{position:absolute;left:50%;top:-58px;z-index:20;pointer-events:none;transform:translate(-50%,-10px) scale(.72);opacity:0;animation:python-variable-value-travel .9s cubic-bezier(.22,.8,.25,1) forwards}.python-variable-transfer-value{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:34px;padding:6px 12px;border:1px solid rgba(255,126,35,.55);border-radius:12px;background:hsla(0,0%,100%,.96);box-shadow:0 8px 24px rgba(0,0,0,.14),0 0 0 5px rgba(255,126,35,.06);color:#111827;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:15px;font-weight:800;white-space:nowrap}.python-variable-transfer:after,.python-variable-transfer:before{content:"";position:absolute;left:50%;width:2px;border-radius:999px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(255,126,35,0),rgba(255,126,35,.65),rgba(255,126,35,0));opacity:.7}.python-variable-transfer:before{top:36px;height:42px}.python-variable-transfer:after{top:58px;height:64px;opacity:.35}.python-variable-change-card--creation .python-variable-new strong{animation:python-variable-new-value .7s cubic-bezier(.2,.8,.25,1) .35s both}.python-variable-change-card--reassignment .python-variable-old strong{animation:python-variable-old-value-release .55s cubic-bezier(.4,0,.7,.2) .1s both}.python-variable-change-card--reassignment .python-variable-new strong{animation:python-variable-new-value .7s cubic-bezier(.2,.8,.25,1) .42s both}.python-variable-change-card--reassignment .python-variable-new{animation:python-variable-memory-pulse .9s ease-out .55s both}@keyframes python-variable-old-value-release{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}45%{opacity:.7;transform:translateY(-5px) scale(.94)}to{opacity:0;transform:translateY(-20px) scale(.72);filter:blur(2px)}}@keyframes python-variable-new-value{0%{opacity:0;transform:translateY(16px) scale(.78)}55%{opacity:1;transform:translateY(-3px) scale(1.08)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes python-variable-memory-pulse{0%{box-shadow:0 0 0 0 rgba(255,126,35,0)}35%{box-shadow:0 0 0 8px rgba(255,126,35,.12),0 8px 24px rgba(255,126,35,.12)}to{box-shadow:0 0 0 0 rgba(255,126,35,0)}}@media (prefers-reduced-motion:reduce){.python-variable-change-card--creation .python-variable-new strong,.python-variable-change-card--reassignment .python-variable-new,.python-variable-change-card--reassignment .python-variable-new strong,.python-variable-change-card--reassignment .python-variable-old strong,.python-variable-transfer{animation:none!important}.python-variable-transfer{display:none}}.python-variable-value-particle{position:relative;z-index:20;width:72px;min-height:42px;margin:4px auto 2px;display:flex;align-items:center;justify-content:center;transform:translateY(-4px) scale(.82)}.python-variable-value-particle-glow{position:relative;min-width:48px;padding:7px 13px;border-radius:14px;display:inline-flex;font-size:15px;font-weight:800;letter-spacing:.02em;background:linear-gradient(135deg,hsla(0,0%,100%,.98),rgba(255,247,239,.98));border:1px solid rgba(255,112,36,.42);box-shadow:0 8px 22px rgba(255,112,36,.18),0 0 0 4px rgba(255,112,36,.05)}.python-variable-value-particle-read,.python-variable-value-particle-write{opacity:1}.python-variable-value-particle-travelling
.python-variable-value-particle-glow{animation:python-variable-value-travel .65s cubic-bezier(.2,.75,.2,1) both}.python-variable-value-particle-landing
.python-variable-value-particle-glow{animation:python-variable-memory-land .42s cubic-bezier(.2,.9,.2,1) both}.python-variable-value-particle-old-release
.python-variable-value-particle-glow{animation:python-variable-old-release .56s cubic-bezier(.25,.7,.3,1) both}.python-variable-value-particle-read
.python-variable-value-particle-glow{animation:python-variable-value-read .65s cubic-bezier(.2,.75,.2,1) both}@keyframes python-variable-value-travel{0%{opacity:0;transform:translateY(-20px) scale(.72)}15%{opacity:1;transform:translateY(-8px) scale(1)}72%{opacity:1;transform:translateY(28px) scale(1.04)}to{opacity:0;transform:translateY(52px) scale(.88)}}@keyframes python-variable-value-read{0%{opacity:0;transform:translateY(34px) scale(.78)}18%{opacity:1;transform:translateY(20px) scale(1)}75%{opacity:1;transform:translateY(-20px) scale(1.04)}to{opacity:0;transform:translateY(-42px) scale(.86)}}.python-variable-change-card,.python-variable-memory-card{transition:transform .26s ease,box-shadow .26s ease}.python-variables-topic-memory:has(.python-variable-memory-card){transition:box-shadow .3s ease,transform .3s ease}@media (prefers-reduced-motion:reduce){.python-variable-value-particle,.python-variable-value-particle-glow{animation:none!important;transition:none!important}}.python-variable-value-particle{left:50%;top:42%;z-index:100;width:auto!important;min-height:0!important;margin:0!important;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.75);will-change:transform,opacity}.python-variable-value-particle-glow{display:flex;align-items:center;justify-content:center;min-width:58px;min-height:42px;padding:6px 14px;border-radius:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:17px;font-weight:900;background:hsla(0,0%,100%,.98);border:2px solid rgba(255,112,36,.75);box-shadow:0 0 0 5px rgba(255,112,36,.08),0 10px 30px rgba(255,112,36,.28),0 0 35px rgba(255,112,36,.2);color:#171717;will-change:transform,opacity}.python-variable-value-particle-write{opacity:1!important}.python-variable-value-particle-travelling
.python-variable-value-particle-glow{animation:python-variable-write-travel-v2 1.1s cubic-bezier(.18,.72,.22,1) both}.python-variable-value-particle-landing
.python-variable-value-particle-glow{animation:python-variable-memory-land-v2 .65s cubic-bezier(.2,.9,.2,1) both}.python-variable-value-particle-old-release
.python-variable-value-particle-glow{animation:python-variable-old-release-v2 .75s cubic-bezier(.25,.7,.3,1) both}.python-variable-value-particle-read{opacity:1!important}.python-variable-value-particle-read
.python-variable-value-particle-glow{animation:python-variable-read-travel-v2 1.1s cubic-bezier(.18,.72,.22,1) both}@keyframes python-variable-write-travel-v2{0%{opacity:0;transform:translate(-50%,-135%) scale(.65)}12%{opacity:1;transform:translate(-50%,-110%) scale(1.05)}50%{opacity:1;transform:translate(-50%) scale(1.08)}82%{opacity:1;transform:translate(-50%,105%) scale(1)}to{opacity:.15;transform:translate(-50%,150%) scale(.78)}}@keyframes python-variable-memory-land-v2{0%{opacity:.2;transform:translate(-50%,-20%) scale(.75)}35%{opacity:1;transform:translate(-50%,5%) scale(1.15)}60%{opacity:1;transform:translate(-50%) scale(.96)}to{opacity:0;transform:translate(-50%) scale(.86)}}@keyframes python-variable-old-release-v2{0%{opacity:1;transform:translate(-50%) scale(1)}25%{opacity:1;transform:translate(-50%,-25px) scale(1.08)}65%{opacity:.55;transform:translate(-50%,-70px) scale(.92)}to{opacity:0;transform:translate(-50%,-120px) scale(.55)}}@keyframes python-variable-read-travel-v2{0%{opacity:0;transform:translate(-50%,150%) scale(.72)}15%{opacity:1;transform:translate(-50%,115%) scale(1.04)}50%{opacity:1;transform:translate(-50%) scale(1.08)}82%{opacity:1;transform:translate(-50%,-105%) scale(1)}to{opacity:0;transform:translate(-50%,-145%) scale(.78)}}.python-variables-topic-memory.variable-memory-land-pulse{animation:python-variable-memory-pulse-v2 .65s ease-out}@keyframes python-variable-memory-pulse-v2{0%{transform:scale(1)}35%{transform:scale(1.025)}60%{transform:scale(.99)}to{transform:scale(1)}}.python-variable-value-particle{top:50%!important;z-index:120!important;width:58px!important;min-height:38px!important;padding:6px 12px!important;box-shadow:0 0 0 4px rgba(255,122,26,.08),0 8px 24px rgba(255,122,26,.25),0 0 28px rgba(255,122,26,.22)!important;transform:translate(-50%,-50%) scale(.85)!important;transition:opacity .18s ease,transform .18s ease!important}.python-variable-value-particle-glow{text-shadow:0 0 10px rgba(255,122,26,.25)!important}.python-variable-value-particle-source{transform:translate(-50%,-50%) scale(1)!important;animation:python-variable-write-source .42s cubic-bezier(.2,.8,.2,1) both!important}.python-variable-value-particle-travelling{animation:python-variable-write-travel .65s cubic-bezier(.2,.75,.2,1) both!important}.python-variable-value-particle-landing{animation:python-variable-memory-land .36s cubic-bezier(.2,1.5,.4,1) both!important}.python-variable-value-particle-memory-source{transform:translate(-50%,-50%) scale(1)!important;animation:python-variable-read-source .3s ease-out both!important}.python-variable-value-particle-reading{animation:python-variable-read-travel .65s cubic-bezier(.2,.75,.2,1) both!important}.python-variable-value-particle-old-release{animation:python-variable-old-release .48s ease-out both!important}.python-variable-value-particle-complete{transform:translate(-50%,-50%) scale(.7)!important}@keyframes python-variable-write-source{0%{opacity:0;transform:translate(-50%,-50%) scale(.65)}55%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes python-variable-write-travel{0%{opacity:1;transform:translate(-50%,-115%) scale(1)}18%{opacity:1;transform:translate(-50%,-75%) scale(1.06)}52%{opacity:1;transform:translate(-50%,20%) scale(1.08)}82%{opacity:1;transform:translate(-50%,80%) scale(1.02)}to{opacity:1;transform:translate(-50%,125%) scale(.92)}}@keyframes python-variable-memory-land{0%{opacity:1;transform:translate(-50%,115%) scale(.92)}45%{opacity:1;transform:translate(-50%,125%) scale(1.16)}70%{opacity:1;transform:translate(-50%,125%) scale(.96)}to{opacity:0;transform:translate(-50%,125%) scale(.75)}}@keyframes python-variable-read-source{0%{opacity:0;transform:translate(-50%,125%) scale(.72)}to{opacity:1;transform:translate(-50%,125%) scale(1)}}@keyframes python-variable-read-travel{0%{opacity:1;transform:translate(-50%,125%) scale(1)}20%{opacity:1;transform:translate(-50%,75%) scale(1.06)}52%{opacity:1;transform:translate(-50%,-5%) scale(1.08)}82%{opacity:1;transform:translate(-50%,-72%) scale(1.02)}to{opacity:1;transform:translate(-50%,-115%) scale(.92)}}@keyframes python-variable-old-release{0%{opacity:1;transform:translate(-50%,125%) scale(1)}35%{opacity:.9;transform:translate(-50%,145%) scale(1.08)}70%{opacity:.35;transform:translate(-50%,175%) scale(.78)}to{opacity:0;transform:translate(-50%,205%) scale(.35)}}.python-variables-topic-memory{position:relative;overflow:visible!important}.python-variable-value-particle-landing+.python-variables-topic-memory,.python-variable-value-particle-landing~.python-variables-topic-memory{animation:python-memory-receive .42s ease-out}@keyframes python-memory-receive{0%{box-shadow:0 0 0 rgba(255,122,26,0)}45%{box-shadow:0 0 36px rgba(255,122,26,.35)}to{box-shadow:0 0 0 rgba(255,122,26,0)}}.python-variable-value-particle{z-index:999!important;box-shadow:0 0 0 5px rgba(255,122,26,.08),0 8px 22px rgba(255,122,26,.24),0 0 30px rgba(255,122,26,.24)!important}.python-variable-value-particle-source{animation:python-variable-v4-write-source .28s ease-out both!important}.python-variable-value-particle-travelling{animation:python-variable-v4-write-travel .9s cubic-bezier(.18,.72,.2,1) both!important}.python-variable-value-particle-landing{animation:python-variable-v4-write-land .36s cubic-bezier(.2,1.4,.4,1) both!important}.python-variable-value-particle-memory-source{animation:python-variable-v4-read-source .22s ease-out both!important}.python-variable-value-particle-reading{animation:python-variable-v4-read-travel .9s cubic-bezier(.18,.72,.2,1) both!important}.python-variable-value-particle-old-release{animation:python-variable-v4-old-release .5s ease-out both!important}@keyframes python-variable-v4-write-source{0%{top:28%;opacity:0;transform:translateX(-50%) scale(.55)}60%{opacity:1;transform:translateX(-50%) scale(1.08)}to{top:30%;opacity:1;transform:translateX(-50%) scale(1)}}@keyframes python-variable-v4-write-travel{0%{top:30%;opacity:1;transform:translateX(-50%) scale(1)}20%{top:38%;opacity:1;transform:translateX(-50%) scale(1.06)}45%{top:50%;opacity:1;transform:translateX(-50%) scale(1.08)}70%{top:63%;opacity:1;transform:translateX(-50%) scale(1.04)}90%{top:75%;opacity:1;transform:translateX(-50%) scale(1)}to{top:81%;opacity:1;transform:translateX(-50%) scale(.94)}}@keyframes python-variable-v4-write-land{0%{top:81%;opacity:1;transform:translateX(-50%) scale(.94)}35%{top:81%;opacity:1;transform:translateX(-50%) scale(1.15)}65%{top:81%;opacity:.9;transform:translateX(-50%) scale(.98)}to{top:81%;opacity:0;transform:translateX(-50%) scale(.65)}}@keyframes python-variable-v4-read-source{0%{top:81%;opacity:0;transform:translateX(-50%) scale(.65)}to{top:78%;opacity:1;transform:translateX(-50%) scale(1)}}@keyframes python-variable-v4-read-travel{0%{top:78%;opacity:1;transform:translateX(-50%) scale(1)}20%{top:68%;opacity:1;transform:translateX(-50%) scale(1.05)}45%{top:54%;opacity:1;transform:translateX(-50%) scale(1.08)}70%{top:43%;opacity:1;transform:translateX(-50%) scale(1.04)}90%{top:34%;opacity:1;transform:translateX(-50%) scale(1)}to{top:29%;opacity:0;transform:translateX(-50%) scale(.7)}}@keyframes python-variable-v4-old-release{0%{top:78%;opacity:1;transform:translateX(-50%) scale(1)}30%{top:81%;opacity:.85;transform:translateX(-50%) scale(1.08)}65%{top:87%;opacity:.35;transform:translateX(-50%) scale(.78)}to{top:94%;opacity:0;transform:translateX(-50%) scale(.3)}}.python-variable-value-particle{top:0!important;width:62px!important;height:42px!important;min-height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;z-index:9999!important;border-radius:14px!important;background:hsla(0,0%,100%,.98)!important;border:2px solid #ff7a1a!important;box-shadow:0 0 0 5px rgba(255,122,26,.08),0 8px 24px rgba(255,122,26,.25),0 0 30px rgba(255,122,26,.25)!important;opacity:0!important;transform:translateX(-50%) scale(.72)!important}.python-variable-value-particle-glow{display:block!important;font-size:18px!important;white-space:nowrap!important}.python-variable-value-particle-source{animation:python-variable-final-write-source .26s ease-out both!important;opacity:1!important}.python-variable-value-particle-travelling{animation:python-variable-final-write-travel .9s cubic-bezier(.18,.72,.2,1) both!important;opacity:1!important}.python-variable-value-particle-landing{animation:python-variable-final-write-land .36s cubic-bezier(.2,1.4,.4,1) both!important;opacity:1!important}@keyframes python-variable-final-write-source{0%{top:28%;opacity:0;transform:translateX(-50%) scale(.55)}60%{opacity:1;transform:translateX(-50%) scale(1.08)}to{top:30%;opacity:1;transform:translateX(-50%) scale(1)}}@keyframes python-variable-final-write-travel{0%{top:30%;opacity:1;transform:translateX(-50%) scale(1)}20%{top:38%;opacity:1;transform:translateX(-50%) scale(1.06)}45%{top:50%;opacity:1;transform:translateX(-50%) scale(1.08)}70%{top:63%;opacity:1;transform:translateX(-50%) scale(1.04)}90%{top:75%;opacity:1;transform:translateX(-50%) scale(1)}to{top:81%;opacity:1;transform:translateX(-50%) scale(.94)}}@keyframes python-variable-final-write-land{0%{top:81%;opacity:1;transform:translateX(-50%) scale(.94)}35%{top:81%;opacity:1;transform:translateX(-50%) scale(1.15)}65%{top:81%;opacity:.9;transform:translateX(-50%) scale(1)}to{top:81%;opacity:0;transform:translateX(-50%) scale(.72)}}.python-variable-value-particle-memory-source{animation:python-variable-final-read-source .22s ease-out both!important;opacity:1!important}.python-variable-value-particle-reading{animation:python-variable-final-read-travel .9s cubic-bezier(.18,.72,.2,1) both!important;opacity:1!important}@keyframes python-variable-final-read-source{0%{top:81%;opacity:0;transform:translateX(-50%) scale(.55)}65%{opacity:1;transform:translateX(-50%) scale(1.08)}to{top:81%;opacity:1;transform:translateX(-50%) scale(1)}}@keyframes python-variable-final-read-travel{0%{top:81%;opacity:1;transform:translateX(-50%) scale(1)}20%{top:70%;opacity:1;transform:translateX(-50%) scale(1.06)}45%{top:55%;opacity:1;transform:translateX(-50%) scale(1.08)}70%{top:42%;opacity:1;transform:translateX(-50%) scale(1.04)}90%{top:33%;opacity:1;transform:translateX(-50%) scale(1)}to{top:30%;opacity:0;transform:translateX(-50%) scale(.82)}}.python-variable-value-particle-old-release{animation:python-variable-final-old-release .5s ease-out both!important}@keyframes python-variable-final-old-release{0%{top:81%;opacity:1;transform:translateX(-50%) scale(1)}30%{top:75%;opacity:.95;transform:translateX(-50%) scale(1.05)}65%{top:65%;opacity:.55;transform:translateX(-50%) scale(.9)}to{top:52%;opacity:0;transform:translateX(-50%) scale(.55)}}.python-variable-value-particle-complete{transform:translateX(-50%) scale(.65)!important}.python-variable-value-particle-landing+.python-variables-topic-memory,.python-variable-value-particle-landing~.python-variables-topic-memory{animation:python-variable-final-memory-pulse .42s ease-out}@keyframes python-variable-final-memory-pulse{0%{box-shadow:0 0 0 rgba(255,122,26,0)}45%{box-shadow:0 0 38px rgba(255,122,26,.38)}to{box-shadow:0 0 0 rgba(255,122,26,0)}}.python-variable-value-particle{position:absolute!important;left:50%!important;z-index:99999!important;pointer-events:none!important;overflow:visible!important;will-change:top,opacity,transform!important}.python-variable-value-particle
.python-variable-value-particle-glow{animation:none!important;position:relative!important;top:auto!important;left:auto!important;transform:none!important;opacity:1!important;display:block!important;white-space:nowrap!important;will-change:auto!important}.python-variable-value-particle-read
.python-variable-value-particle-memory-source,.python-variable-value-particle-read
.python-variable-value-particle-reading,.python-variable-value-particle-write
.python-variable-value-particle-landing,.python-variable-value-particle-write
.python-variable-value-particle-source,.python-variable-value-particle-write
.python-variable-value-particle-travelling{opacity:1!important}.python-variable-value-particle-old-release{opacity:1!important;z-index:100000!important}.python-variable-value-particle-complete{opacity:0!important;pointer-events:none!important}.python-variables-topic-flow{position:relative!important;overflow:visible!important}.python-variable-value-particle{isolation:isolate!important}.python-variable-value-particle-glow{min-width:42px!important;min-height:28px!important;padding:5px 9px!important;box-sizing:border-box!important;border-radius:10px!important;background:hsla(0,0%,100%,.98)!important;border:2px solid rgba(255,122,26,.9)!important;box-shadow:0 0 0 3px rgba(255,122,26,.08),0 5px 18px rgba(255,122,26,.22)!important;color:#171717!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:17px!important;font-weight:900!important;line-height:1!important;text-align:center!important}.python-variable-value-particle-old-release
.python-variable-value-particle-glow,.python-variable-value-particle-read
.python-variable-value-particle-glow{border-style:dashed!important}.python-operators-topic-kicker{opacity:.65}.python-operator-topic-value{min-height:115px}.python-operator-topic-label{opacity:.55}.python-operator-topic-value strong{font-size:28px}.python-operator-topic-operator{width:78px;height:78px;box-shadow:0 12px 30px rgba(15,23,42,.2)}.python-operator-topic-operator strong{font-size:30px}.python-operator-topic-result-card{width:170px;margin:22px auto;padding:17px}.python-operator-topic-result-card strong{font-size:30px}.python-operators-topic-story{position:relative;width:100%;max-width:900px;margin:0 auto;padding:28px;box-sizing:border-box;border-radius:24px;background:linear-gradient(145deg,hsla(0,0%,100%,.98),rgba(248,250,252,.96));border:1px solid rgba(15,23,42,.1);box-shadow:0 20px 55px rgba(15,23,42,.1);overflow:hidden}.python-operators-topic-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.62;margin-bottom:6px}.python-operators-topic-title{font-size:24px;font-weight:900;margin-bottom:16px}.python-operators-topic-code{padding:14px 18px;border-radius:14px;background:#171717;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:15px;overflow-x:auto}.python-operators-topic-flow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:22px;gap:22px;margin:30px 0 22px}.python-operator-topic-value{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;box-sizing:border-box;border-radius:20px;background:hsla(0,0%,100%,.98);border:2px solid rgba(255,122,26,.24);box-shadow:0 10px 28px rgba(15,23,42,.08)}.python-operator-topic-label{font-size:10px;font-weight:800;letter-spacing:.12em;opacity:.52}.python-operator-topic-value strong{margin-top:8px;font-size:30px}.python-operator-topic-value small,.python-operator-topic-value strong{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.python-operator-topic-value small{margin-top:6px;opacity:.55}.python-operator-topic-operator{width:82px;height:82px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#171717;color:#fff;box-shadow:0 12px 30px rgba(15,23,42,.22)}.python-operator-topic-operator span{font-size:8px;letter-spacing:.08em;opacity:.55}.python-operator-topic-operator strong{margin-top:4px;font-size:32px;line-height:1}.python-operator-topic-equation{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;border-radius:18px;background:rgba(255,122,26,.07);border:1px solid rgba(255,122,26,.2);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:20px}.python-operator-topic-equation strong{font-size:25px}.python-operator-topic-result{padding:7px 13px;border-radius:10px;background:rgba(255,122,26,.14)}.python-operator-topic-result-card{width:180px;margin:24px auto;padding:18px;box-sizing:border-box;text-align:center;border-radius:18px;background:#fff;border:2px solid rgba(15,23,42,.1);box-shadow:0 12px 30px rgba(15,23,42,.08)}.python-operator-topic-result-card span{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;opacity:.5}.python-operator-topic-result-card strong{display:block;margin-top:5px;font-size:32px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.python-operators-topic-teaching{margin-top:22px;padding:18px 20px;border-radius:16px;background:rgba(15,23,42,.045)}.python-operators-topic-teaching strong{display:block;margin-bottom:6px}.python-operators-topic-teaching span{display:block;line-height:1.55;opacity:.72}@media (max-width:700px){.python-operators-topic-story{padding:18px}.python-operators-topic-flow{grid-template-columns:1fr}.python-operator-topic-operator{margin:0 auto}.python-operator-topic-equation{flex-wrap:wrap}}.python-operator-topic-left,.python-operator-topic-right{transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .45s ease,box-shadow .45s ease}.python-operator-topic-left.is-traveling{transform:translateX(48px) scale(.96);box-shadow:0 0 0 4px rgba(255,122,26,.1),0 16px 38px rgba(255,122,26,.18)}.python-operator-topic-right.is-traveling{transform:translateX(-48px) scale(.96);box-shadow:0 0 0 4px rgba(255,122,26,.1),0 16px 38px rgba(255,122,26,.18)}.python-operator-topic-operator{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}.python-operator-topic-operator.is-computing{animation:python-operator-compute-pulse .7s cubic-bezier(.2,.8,.2,1) infinite}@keyframes python-operator-compute-pulse{0%,to{transform:scale(1);box-shadow:0 12px 30px rgba(15,23,42,.22)}50%{transform:scale(1.13);box-shadow:0 0 0 9px rgba(255,122,26,.1),0 0 35px rgba(255,122,26,.3),0 18px 40px rgba(15,23,42,.24)}}.python-operator-topic-result-card{opacity:.28;transform:translateY(24px) scale(.88);filter:blur(2px);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.8,.2,1),filter .5s ease,box-shadow .5s ease}.python-operator-topic-result-card.is-revealed{opacity:1;transform:translateY(0) scale(1);filter:blur(0);box-shadow:0 0 0 4px rgba(255,122,26,.07),0 16px 38px rgba(15,23,42,.12)}.python-operator-topic-phase{display:flex;align-items:center;justify-content:center;gap:9px;min-height:30px;margin:14px auto 4px;font-size:11px;font-weight:800;letter-spacing:.04em;color:rgba(15,23,42,.62)}.python-operator-topic-phase-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#ff7a1a;box-shadow:0 0 0 4px rgba(255,122,26,.1);animation:python-operator-phase-pulse 1.2s ease-in-out infinite}@keyframes python-operator-phase-pulse{0%,to{transform:scale(.85);opacity:.55}50%{transform:scale(1.15);opacity:1}}.python-operator-topic-equation{transition:transform .45s ease,box-shadow .45s ease}.python-operators-topic-story:has(.python-operator-topic-operator.is-computing) .python-operator-topic-equation{transform:scale(1.015);box-shadow:0 0 0 4px rgba(255,122,26,.06)}@media (prefers-reduced-motion:reduce){.python-operator-topic-equation,.python-operator-topic-left,.python-operator-topic-operator,.python-operator-topic-result-card,.python-operator-topic-right{animation:none!important;transition:none!important}.python-operator-topic-phase-dot{animation:none!important}}.python-operator-topic-left.is-traveling{transform:translateX(72px) scale(.92)}.python-operator-topic-left.is-traveling,.python-operator-topic-right.is-traveling{opacity:.82;box-shadow:0 0 0 5px rgba(255,122,26,.1),0 18px 42px rgba(255,122,26,.22)}.python-operator-topic-right.is-traveling{transform:translateX(-72px) scale(.92)}.python-operator-topic-operator.is-computing{position:relative;z-index:5}.python-operator-topic-operator.is-computing:after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(255,122,26,.25);animation:python-operator-energy-ring .7s ease-out infinite}@keyframes python-operator-energy-ring{0%{transform:scale(.78);opacity:.85}to{transform:scale(1.35);opacity:0}}.python-operator-topic-result-card.is-revealed{animation:python-operator-result-arrival .55s cubic-bezier(.18,.89,.32,1.28)}@keyframes python-operator-result-arrival{0%{transform:translateY(28px) scale(.72);opacity:0}65%{transform:translateY(-4px) scale(1.05);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.python-operators-topic-story{max-height:calc(100vh - 250px);overflow-y:auto;scrollbar-width:thin}.python-operators-topic-story::-webkit-scrollbar{width:6px}.python-operators-topic-story::-webkit-scrollbar-thumb{border-radius:999px}.python-operator-topic-value{min-height:105px}.python-operator-topic-result-card{margin:18px auto;padding:14px}.python-operators-topic-teaching{margin-top:14px;padding:14px 16px}.python-datatypes-topic-story{width:100%;max-width:720px;margin:0 auto;padding:22px 20px;box-sizing:border-box;text-align:center;overflow:hidden}.python-datatypes-topic-kicker{margin-bottom:4px;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;opacity:.55}.python-datatypes-topic-title{margin-bottom:10px;font-size:22px;line-height:1.15;font-weight:900;letter-spacing:-.02em}.python-datatypes-topic-code{width:100%;box-sizing:border-box;margin:0 auto 20px;padding:11px 14px;border-radius:12px;background:#171717;color:#fff;text-align:left;overflow-x:auto}.python-datatypes-topic-code code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;white-space:pre}.python-datatype-visual-flow{display:flex;flex-direction:column;align-items:center;gap:10px;margin:4px auto 18px}.python-datatype-type-card,.python-datatype-value-card{width:min(240px,82%);min-height:92px;box-sizing:border-box;padding:15px 18px;border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.1);box-shadow:0 10px 28px rgba(15,23,42,.08)}.python-datatype-card-label{display:block;margin-bottom:7px;font-size:9px;font-weight:900;letter-spacing:.13em;opacity:.48}.python-datatype-value-card strong{font-size:27px;line-height:1.15}.python-datatype-value-card small,.python-datatype-value-card strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.python-datatype-value-card small{margin-top:5px;font-size:11px;opacity:.55}.python-datatype-flow-arrow{min-height:48px}.python-datatype-flow-arrow span{font-size:8px;font-weight:900;letter-spacing:.14em;opacity:.42}.python-datatype-flow-arrow strong{margin-top:2px;font-size:24px;line-height:1;font-weight:900;opacity:.65}.python-datatype-type-card{flex-direction:column;min-height:116px;border:2px solid rgba(255,122,26,.22);box-shadow:0 0 0 4px rgba(255,122,26,.045),0 14px 34px rgba(15,23,42,.1)}.python-datatype-type-card,.python-datatype-type-icon{display:flex;align-items:center;justify-content:center}.python-datatype-type-icon{width:42px;height:42px;margin-bottom:7px;border-radius:12px;background:rgba(255,122,26,.1);font-size:21px}.python-datatype-type-card>span{font-size:8px;font-weight:900;letter-spacing:.13em;opacity:.45}.python-datatype-type-card strong{margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:24px;line-height:1}.python-datatype-definition-card{width:min(440px,94%);margin:0 auto 14px;padding:15px 17px;box-sizing:border-box;border-radius:16px;background:rgba(15,23,42,.035);border:1px solid rgba(15,23,42,.07)}.python-datatype-definition-card>span{display:block;margin-bottom:5px;font-size:8px;font-weight:900;letter-spacing:.13em;opacity:.45}.python-datatype-definition-card strong{display:block;margin-bottom:5px;font-size:15px;font-weight:900}.python-datatype-definition-card p{margin:0;font-size:12px;line-height:1.45;opacity:.68}.python-datatypes-topic-teaching{width:min(520px,96%);margin:0 auto;padding:13px 15px;box-sizing:border-box;border-radius:14px;background:rgba(255,122,26,.055);border:1px solid rgba(255,122,26,.13)}.python-datatypes-topic-teaching strong{display:block;margin-bottom:5px;font-size:12px;line-height:1.4}.python-datatypes-topic-teaching span{display:block;font-size:11px;line-height:1.45;opacity:.64}@media (max-width:700px){.python-datatypes-topic-story{padding:18px 14px}.python-datatypes-topic-title{font-size:20px}.python-datatype-type-card,.python-datatype-value-card{width:min(220px,90%)}}@media (prefers-reduced-motion:reduce){.python-datatypes-topic-story *,.python-datatypes-topic-story :after,.python-datatypes-topic-story :before{animation:none!important;transition:none!important}}.python-datatype-value-card{opacity:.18;transform:translateY(18px) scale(.92);filter:blur(3px);transition:opacity .42s ease,transform .52s cubic-bezier(.2,.8,.2,1),filter .42s ease,box-shadow .42s ease,border-color .42s ease}.python-datatype-value-card.is-visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.python-datatype-value-card.is-detecting{border-color:rgba(255,122,26,.42);box-shadow:0 0 0 5px rgba(255,122,26,.07),0 0 28px rgba(255,122,26,.18),0 14px 34px rgba(15,23,42,.1);animation:python-datatype-value-pulse .72s ease-in-out infinite}@keyframes python-datatype-value-pulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(0) scale(1.035)}}.python-datatype-flow-arrow{opacity:.38;transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .3s ease}.python-datatype-flow-arrow.is-detecting{opacity:1;transform:translateY(4px) scale(1.08)}.python-datatype-flow-arrow.is-detecting strong{animation:python-datatype-arrow-pulse .65s ease-in-out infinite}@keyframes python-datatype-arrow-pulse{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(5px)}}.python-datatype-flow-arrow.is-complete{opacity:.75}.python-datatype-type-card{opacity:.12;transform:translateY(28px) scale(.84);filter:blur(4px);transition:opacity .52s ease,transform .65s cubic-bezier(.2,.8,.2,1),filter .52s ease,box-shadow .52s ease,border-color .42s ease}.python-datatype-type-card.is-detecting{opacity:.5;transform:translateY(8px) scale(.94);filter:blur(1px);border-color:rgba(255,122,26,.32);box-shadow:0 0 0 5px rgba(255,122,26,.06),0 0 30px rgba(255,122,26,.14),0 16px 38px rgba(15,23,42,.1)}.python-datatype-type-card.is-revealed{opacity:1;transform:translateY(0) scale(1);filter:blur(0);border-color:rgba(255,122,26,.3);box-shadow:0 0 0 4px rgba(255,122,26,.055),0 16px 38px rgba(15,23,42,.11)}.python-datatype-type-card.is-revealed
.python-datatype-type-icon{animation:python-datatype-type-pop .6s cubic-bezier(.2,.8,.2,1)}@keyframes python-datatype-type-pop{0%{transform:scale(.6);opacity:.2}60%{transform:scale(1.14);opacity:1}to{transform:scale(1);opacity:1}}.python-datatype-type-card strong{transition:opacity .35s ease,transform .42s ease}.python-datatype-type-card:not(.is-revealed)
.python-datatype-type-card strong{opacity:.25}.python-datatype-type-card.is-revealed strong{opacity:1;transform:translateY(0)}.python-datatype-definition-card{opacity:.35;transform:translateY(12px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.8,.2,1)}.python-datatype-type-card.is-revealed~.python-datatype-definition-card{opacity:1;transform:translateY(0)}.python-datatypes-topic-teaching{opacity:.45;transform:translateY(10px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.8,.2,1)}.python-datatype-definition-card+.python-datatypes-topic-teaching{opacity:1;transform:translateY(0)}.python-datatype-value-card strong{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}@media (prefers-reduced-motion:reduce){.python-datatype-definition-card,.python-datatype-flow-arrow,.python-datatype-type-card,.python-datatype-type-icon,.python-datatype-value-card,.python-datatypes-topic-teaching{animation:none!important;transition:none!important;transform:none!important;filter:none!important}}.python-datatype-flow-arrow{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:82px;overflow:visible!important}.python-datatype-detector-particle{position:absolute;left:50%;top:32px;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,#fff 0,#ffb36b 28%,#ff7a1a 58%,rgba(255,122,26,0) 72%);box-shadow:0 0 8px rgba(255,122,26,.65),0 0 20px rgba(255,122,26,.38);opacity:0;transform:translate(-50%,-10px) scale(.45);pointer-events:none;z-index:20}.python-datatype-detector-particle.is-active{opacity:1;animation:python-datatype-detector-travel var(--datatype-detector-duration,.18s) cubic-bezier(.2,.8,.2,1) forwards}@keyframes python-datatype-detector-travel{0%{opacity:0;transform:translate(-50%,-4px) scale(.45)}15%{opacity:1;transform:translate(-50%) scale(1)}70%{opacity:1;transform:translate(-50%,30px) scale(1.15)}to{opacity:0;transform:translate(-50%,48px) scale(.55)}}.python-datatype-flow-arrow.is-detecting .python-datatype-detector-particle{opacity:1}.python-datatype-flow-arrow.is-complete .python-datatype-detector-particle{opacity:0}@media (prefers-reduced-motion:reduce){.python-datatype-detector-particle{animation:none!important;opacity:0!important}}.python-datatype-semantic-card{width:min(500px,94%);margin:0 auto 14px;display:flex;align-items:center;gap:14px;padding:14px 16px;box-sizing:border-box;border-radius:17px;background:linear-gradient(135deg,rgba(255,122,26,.065),hsla(0,0%,100%,.92));border:1px solid rgba(255,122,26,.16);box-shadow:0 10px 28px rgba(15,23,42,.07);opacity:.22;transform:translateY(14px) scale(.97);filter:blur(2px);transition:opacity .5s ease,transform .55s cubic-bezier(.2,.8,.2,1),filter .45s ease,box-shadow .5s ease}.python-datatype-semantic-card.is-visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0);box-shadow:0 0 0 4px rgba(255,122,26,.045),0 14px 34px rgba(15,23,42,.09)}.python-datatype-semantic-symbol{flex:0 0 62px;width:62px;height:62px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:16px;background:rgba(255,122,26,.1);border:1px solid rgba(255,122,26,.16);color:#171717;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:17px;font-weight:900;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.55)}.python-datatype-semantic-content{min-width:0;text-align:left}.python-datatype-semantic-content>span{display:block;margin-bottom:3px;font-size:8px;font-weight:900;letter-spacing:.13em;opacity:.45}.python-datatype-semantic-content>strong{display:block;font-size:15px;line-height:1.2;font-weight:900;letter-spacing:-.01em}.python-datatype-semantic-content>p{margin:4px 0 0;font-size:11px;line-height:1.4;opacity:.62}.python-datatype-semantic-card.is-visible
.python-datatype-semantic-symbol{animation:python-datatype-semantic-pop .52s cubic-bezier(.2,.8,.2,1)}@keyframes python-datatype-semantic-pop{0%{opacity:.2;transform:scale(.72)}65%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@media (max-width:600px){.python-datatype-semantic-card{gap:10px;padding:12px}.python-datatype-semantic-symbol{flex-basis:52px;width:52px;height:52px;border-radius:13px;font-size:14px}.python-datatype-semantic-content>strong{font-size:13px}.python-datatype-semantic-content>p{font-size:10px}}@media (prefers-reduced-motion:reduce){.python-datatype-semantic-card,.python-datatype-semantic-symbol{animation:none!important;transition:none!important;transform:none!important;filter:none!important}}.python-functions-topic-story{width:100%;max-width:760px;margin:0 auto;padding:24px;border-radius:24px;overflow:hidden;background:radial-gradient(circle at 50% 0,rgba(124,92,255,.16),transparent 42%),linear-gradient(145deg,hsla(0,0%,100%,.98),rgba(247,244,255,.96));border:1px solid rgba(124,92,255,.18);box-shadow:0 18px 50px rgba(45,35,90,.12),inset 0 1px 0 hsla(0,0%,100%,.95);box-sizing:border-box;color:#171717}.python-functions-topic-kicker{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#6d55c7}.python-functions-topic-title{text-align:center;font-size:25px;line-height:1.1;font-weight:900;letter-spacing:-.03em;color:#24194f}.python-functions-topic-subtitle{max-width:620px;margin:9px auto 22px;text-align:center;font-size:13px;line-height:1.55;color:#6b647d}.python-function-flow{display:flex;flex-direction:column;align-items:center;gap:10px}.python-function-node-label{display:block;margin-bottom:6px;font-size:9px;font-weight:900;letter-spacing:.14em;color:#8b819e}.python-function-body-node,.python-function-call-node,.python-function-definition-node,.python-function-return-node{width:min(100%,560px);box-sizing:border-box;border-radius:17px;transition:transform .35s ease,opacity .35s ease,box-shadow .35s ease,border-color .35s ease}.python-function-definition-node{padding:15px 20px;text-align:center;background:hsla(0,0%,100%,.96);border:1px solid rgba(124,92,255,.24);box-shadow:0 8px 24px rgba(75,52,140,.08)}.python-function-definition-node strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:18px;color:#332267}.python-function-params{color:#765ee0}.python-function-flow-arrow,.python-function-return-arrow{height:22px;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;font-weight:900;color:#8b72e6;transition:transform .35s ease,opacity .35s ease}.python-function-call-node{padding:14px 20px;text-align:center;background:linear-gradient(135deg,rgba(241,237,255,.98),rgba(250,248,255,.98));border:1px solid rgba(124,92,255,.28)}.python-function-call-node code{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:16px;font-weight:800;color:#49348d}.python-function-bindings{width:min(100%,560px);padding:14px;box-sizing:border-box;border-radius:17px;background:hsla(0,0%,100%,.72);border:1px dashed rgba(124,92,255,.28)}.python-function-bindings-title{margin-bottom:10px;text-align:center;font-size:9px;font-weight:900;letter-spacing:.14em;color:#81768f}.python-function-binding-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:9px;gap:9px}.python-function-binding{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:7px;gap:7px;min-height:46px;padding:7px 10px;border-radius:12px;background:#fff;border:1px solid rgba(124,92,255,.14);box-sizing:border-box}.python-function-parameter,.python-function-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:800}.python-function-value{text-align:right;color:#d66b16}.python-function-parameter{color:#49348d}.python-function-binding-arrow{font-size:17px;font-weight:900;color:#8b72e6}.python-function-body-node{padding:0;overflow:hidden;background:linear-gradient(145deg,rgba(34,30,48,.98),rgba(48,40,72,.98));border:1px solid rgba(150,125,230,.3);box-shadow:0 16px 36px rgba(31,24,54,.2)}.python-function-body-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-bottom:1px solid hsla(0,0%,100%,.09);color:#c9bdf3;font-size:9px;font-weight:900;letter-spacing:.13em}.python-function-body-header strong{color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;letter-spacing:0}.python-function-body-code{min-height:62px;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;color:#fff}.python-function-body-code code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;font-weight:700;color:#f3eeff}.python-function-body-result{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 14px;background:rgba(124,92,255,.18);border-top:1px solid hsla(0,0%,100%,.08)}.python-function-body-result span{font-size:9px;font-weight:900;letter-spacing:.12em;color:#bcb0e6}.python-function-body-result strong{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:16px;color:#fff}.python-function-return-node{padding:16px 20px;text-align:center;background:hsla(0,0%,100%,.96);border:1px solid rgba(255,122,26,.24);box-shadow:0 10px 28px rgba(255,122,26,.08)}.python-function-return-value{display:inline-flex;min-width:62px;min-height:42px;align-items:center;justify-content:center;padding:5px 12px;border-radius:12px;background:rgba(255,122,26,.09);border:1px solid rgba(255,122,26,.2);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:17px;font-weight:900;color:#c45d0d}.python-function-result-variable{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:3px}.python-function-result-variable span{font-size:9px;font-weight:900;letter-spacing:.1em;color:#8b819e}.python-function-result-variable em,.python-function-result-variable strong{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;font-style:normal;font-weight:900;color:#49348d}.python-function-result-variable em{color:#c45d0d}.python-functions-topic-teaching{max-width:620px;margin:18px auto 0;padding:12px 16px;border-radius:13px;background:rgba(124,92,255,.055);border:1px solid rgba(124,92,255,.1);text-align:center}.python-functions-topic-teaching span{font-size:12px;line-height:1.55;color:#696174}.python-functions-topic-story.phase-define
.python-function-definition-node{transform:translateY(-2px) scale(1.015);border-color:rgba(124,92,255,.55);box-shadow:0 0 0 4px rgba(124,92,255,.08),0 12px 30px rgba(75,52,140,.15)}.python-functions-topic-story.phase-call
.python-function-call-node{transform:translateY(-2px) scale(1.015);border-color:rgba(124,92,255,.58);box-shadow:0 0 0 4px rgba(124,92,255,.08),0 12px 30px rgba(75,52,140,.15)}.python-functions-topic-story.phase-bind
.python-function-bindings{transform:translateY(-2px) scale(1.01);border-color:rgba(124,92,255,.5);box-shadow:0 10px 28px rgba(75,52,140,.12)}.python-functions-topic-story.phase-body
.python-function-body-node{transform:translateY(-2px) scale(1.015);border-color:rgba(150,125,230,.65);box-shadow:0 0 0 4px rgba(124,92,255,.08),0 18px 38px rgba(31,24,54,.24)}.python-functions-topic-story.phase-complete
.python-function-return-node,.python-functions-topic-story.phase-return
.python-function-return-node{transform:translateY(-2px) scale(1.015);border-color:rgba(255,122,26,.58);box-shadow:0 0 0 4px rgba(255,122,26,.07),0 14px 32px rgba(255,122,26,.14)}.python-functions-topic-story.phase-complete
.python-function-definition-node{opacity:.72}.python-functions-topic-story.phase-complete
.python-function-call-node{opacity:.82}.python-functions-topic-story.phase-complete
.python-function-body-node{opacity:.88}@media (max-width:640px){.python-functions-topic-story{padding:17px;border-radius:20px}.python-functions-topic-title{font-size:21px}.python-function-bindings,.python-function-body-node,.python-function-call-node,.python-function-definition-node,.python-function-return-node{width:100%}.python-function-binding-grid{grid-template-columns:1fr}.python-function-body-header{align-items:flex-start;flex-direction:column;gap:4px}}@media (prefers-reduced-motion:reduce){.python-functions-topic-story,.python-functions-topic-story *{transition:none!important;animation:none!important}}.python-functions-topic-story{--function-accent:#7c5cff;--function-accent-soft:rgba(124,92,255,.12);--function-orange:#ff7a1a;--function-flow-duration:650ms;position:relative;overflow:visible}.python-functions-topic-story.phase-body
.python-function-body-node,.python-functions-topic-story.phase-call
.python-function-call-node,.python-functions-topic-story.phase-define
.python-function-definition-node,.python-functions-topic-story.phase-return
.python-function-return-node{animation:functionNodeLift var(--function-flow-duration) cubic-bezier(.2,.8,.2,1) both}@keyframes functionNodeLift{0%{transform:translateY(5px) scale(.985);filter:brightness(.96)}55%{transform:translateY(-3px) scale(1.018);filter:brightness(1.04)}to{transform:translateY(-2px) scale(1.015);filter:brightness(1)}}.python-functions-topic-story.phase-bind
.python-function-flow-arrow,.python-functions-topic-story.phase-body
.python-function-return-arrow,.python-functions-topic-story.phase-call
.python-function-flow-arrow,.python-functions-topic-story.phase-define
.python-function-flow-arrow,.python-functions-topic-story.phase-return
.python-function-return-arrow{animation:functionArrowPulse var(--function-flow-duration) ease-out both}@keyframes functionArrowPulse{0%{opacity:.35;transform:translateY(-4px) scale(.8)}45%{opacity:1;transform:translateY(2px) scale(1.18)}to{opacity:1;transform:translateY(0) scale(1)}}.python-functions-topic-story.phase-define
.python-function-definition-node{animation:functionDefinitionGlow var(--function-flow-duration) ease-out both}@keyframes functionDefinitionGlow{0%{box-shadow:0 0 0 0 rgba(124,92,255,0),0 8px 24px rgba(75,52,140,.08)}45%{box-shadow:0 0 0 7px rgba(124,92,255,.1),0 16px 34px rgba(75,52,140,.2)}to{box-shadow:0 0 0 4px rgba(124,92,255,.08),0 12px 30px rgba(75,52,140,.15)}}.python-functions-topic-story.phase-call
.python-function-call-node code{animation:functionCallTextPulse var(--function-flow-duration) ease-out both}@keyframes functionCallTextPulse{0%{opacity:.45;transform:scale(.94)}55%{opacity:1;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}.python-functions-topic-story.phase-bind
.python-function-binding{animation:functionBindingArrival .52s cubic-bezier(.2,.8,.2,1) both}.python-functions-topic-story.phase-bind
.python-function-binding:nth-child(2){animation-delay:90ms}.python-functions-topic-story.phase-bind
.python-function-binding:nth-child(3){animation-delay:.18s}@keyframes functionBindingArrival{0%{opacity:.2;transform:translateX(-18px) scale(.97)}55%{opacity:1;transform:translateX(4px) scale(1.025)}to{opacity:1;transform:translateX(0) scale(1)}}.python-functions-topic-story.phase-bind
.python-function-binding-arrow{animation:functionBindingArrow .5s cubic-bezier(.2,.8,.2,1) both}@keyframes functionBindingArrow{0%{opacity:.25;transform:translateX(-8px) scale(.7)}60%{opacity:1;transform:translateX(5px) scale(1.25)}to{opacity:1;transform:translateX(0) scale(1)}}.python-functions-topic-story.phase-bind
.python-function-value{animation:functionValueFlash .7s ease-out both}@keyframes functionValueFlash{0%{opacity:.45;transform:scale(.9)}45%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.python-functions-topic-story.phase-body
.python-function-body-code code{position:relative;animation:functionBodyExecute var(--function-flow-duration) cubic-bezier(.2,.8,.2,1) both}@keyframes functionBodyExecute{0%{opacity:.35;transform:translateY(7px);text-shadow:0 0 0 transparent}45%{opacity:1;transform:translateY(-2px);text-shadow:0 0 14px hsla(0,0%,100%,.28)}to{opacity:1;transform:translateY(0);text-shadow:0 0 0 transparent}}.python-functions-topic-story.phase-body
.python-function-body-result{animation:functionCalculationReveal .65s cubic-bezier(.2,.8,.2,1) both}@keyframes functionCalculationReveal{0%{opacity:0;transform:translateY(12px) scale(.94)}55%{opacity:1;transform:translateY(-2px) scale(1.04)}to{opacity:1;transform:translateY(0) scale(1)}}.python-functions-topic-story.phase-body
.python-function-body-result strong{animation:functionResultPop .55s cubic-bezier(.2,.8,.2,1) .12s both}@keyframes functionResultPop{0%{opacity:.25;transform:scale(.7)}60%{opacity:1;transform:scale(1.16)}to{opacity:1;transform:scale(1)}}.python-functions-topic-story.phase-return
.python-function-return-value{animation:functionReturnArrival .7s cubic-bezier(.18,.85,.2,1) both}@keyframes functionReturnArrival{0%{opacity:.2;transform:translateY(-18px) scale(.72);box-shadow:0 0 0 0 rgba(255,122,26,0)}55%{opacity:1;transform:translateY(3px) scale(1.12);box-shadow:0 0 0 8px rgba(255,122,26,.1)}to{opacity:1;transform:translateY(0) scale(1);box-shadow:0 0 0 0 rgba(255,122,26,0)}}.python-functions-topic-story.phase-return
.python-function-return-arrow{animation:functionReturnArrow .6s cubic-bezier(.2,.8,.2,1) both}@keyframes functionReturnArrow{0%{opacity:.2;transform:translateY(-7px) scale(.7)}50%{opacity:1;transform:translateY(4px) scale(1.2)}to{opacity:1;transform:translateY(0) scale(1)}}.python-functions-topic-story.phase-return
.python-function-result-variable{animation:functionCallerStore .65s cubic-bezier(.2,.8,.2,1) .15s both}@keyframes functionCallerStore{0%{opacity:.2;transform:translateY(8px) scale(.92)}55%{opacity:1;transform:translateY(-2px) scale(1.06)}to{opacity:1;transform:translateY(0) scale(1)}}.python-functions-topic-story.phase-complete
.python-function-result-variable em{animation:functionStoredValueGlow 1.2s ease-out both}@keyframes functionStoredValueGlow{0%{box-shadow:0 0 0 0 rgba(255,122,26,0)}35%{box-shadow:0 0 0 6px rgba(255,122,26,.1)}to{box-shadow:0 0 0 0 rgba(255,122,26,0)}}.python-function-flow{position:relative;overflow:visible}.python-function-flow-arrow,.python-function-return-arrow{position:relative}.python-function-flow-arrow:after,.python-function-return-arrow:after{content:"";position:absolute;left:50%;top:50%;width:3px;height:8px;border-radius:999px;background:currentColor;opacity:0;transform:translate(-50%,-50%)}.python-functions-topic-story.phase-bind
.python-function-flow-arrow:after,.python-functions-topic-story.phase-body
.python-function-return-arrow:after,.python-functions-topic-story.phase-call
.python-function-flow-arrow:after,.python-functions-topic-story.phase-return
.python-function-return-arrow:after{animation:functionFlowParticle .7s ease-out both}@keyframes functionFlowParticle{0%{opacity:0;transform:translate(-50%,-80%) scale(.6)}25%{opacity:1}75%{opacity:1;transform:translate(-50%,35%) scale(1)}to{opacity:0;transform:translate(-50%,80%) scale(.6)}}@media (prefers-reduced-motion:reduce){.python-functions-topic-story,.python-functions-topic-story *{animation:none!important;transition:none!important}.python-function-flow-arrow:after,.python-function-return-arrow:after{display:none!important}}.python-function-execution-timeline{width:min(100%,720px);margin:16px auto 20px;padding:13px 16px 15px;box-sizing:border-box;border-radius:16px;background:hsla(0,0%,100%,.78);border:1px solid rgba(124,92,255,.13);box-shadow:0 8px 24px rgba(75,52,140,.055)}.python-function-timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.python-function-timeline-heading span{font-size:9px;font-weight:900;letter-spacing:.14em;color:#8b819e}.python-function-timeline-heading strong{min-width:0;font-size:10px;font-weight:800;color:#5f5377;text-align:right}.python-function-timeline-track{display:flex;align-items:flex-start;width:100%}.python-function-timeline-stage{position:relative;flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.38;transition:opacity .35s ease,filter .35s ease}.python-function-timeline-stage.is-complete{opacity:.78}.python-function-timeline-stage.is-active{opacity:1;filter:none}.python-function-timeline-node{position:relative;z-index:2;width:28px;height:28px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:50%;background:#f3efff;border:1px solid rgba(124,92,255,.22);color:#7664a9;font-size:10px;font-weight:900;transition:transform .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease}.python-function-timeline-stage.is-complete
.python-function-timeline-node{background:#eee9ff;border-color:rgba(124,92,255,.42);color:#654fc0}.python-function-timeline-stage.is-active
.python-function-timeline-node{transform:scale(1.16);background:#7c5cff;border-color:#7c5cff;color:#fff;box-shadow:0 0 0 5px rgba(124,92,255,.09),0 7px 18px rgba(75,52,140,.18);animation:functionTimelineNodePulse .65s ease-out both}.python-function-timeline-stage span{font-size:8px;line-height:1;font-weight:900;letter-spacing:.08em;color:#81768f;white-space:nowrap;transition:color .35s ease,transform .35s ease}.python-function-timeline-stage.is-complete span{color:#6957a3}.python-function-timeline-stage.is-active span{color:#49348d;transform:translateY(-1px)}.python-function-timeline-connector{position:absolute;z-index:1;top:14px;left:calc(50% + 14px);width:calc(100% - 28px);height:2px;overflow:hidden;background:rgba(124,92,255,.1)}.python-function-timeline-connector span{display:block;width:0;height:100%;background:linear-gradient(90deg,rgba(124,92,255,.3),rgba(124,92,255,.72));transition:width .45s ease}.python-function-timeline-connector.is-complete span{width:100%}.python-function-timeline-stage.is-active
.python-function-timeline-connector:not(.is-complete){background:rgba(124,92,255,.16)}@keyframes functionTimelineNodePulse{0%{transform:scale(.88);box-shadow:0 0 0 0 rgba(124,92,255,0),0 4px 12px rgba(75,52,140,.08)}55%{transform:scale(1.2);box-shadow:0 0 0 7px rgba(124,92,255,.1),0 8px 20px rgba(75,52,140,.2)}to{transform:scale(1.16);box-shadow:0 0 0 5px rgba(124,92,255,.09),0 7px 18px rgba(75,52,140,.18)}}.python-functions-topic-story.phase-define
.python-function-execution-timeline{border-color:rgba(124,92,255,.22)}.python-functions-topic-story.phase-call
.python-function-execution-timeline{border-color:rgba(124,92,255,.25)}.python-functions-topic-story.phase-bind
.python-function-execution-timeline{border-color:rgba(124,92,255,.3)}.python-functions-topic-story.phase-body
.python-function-execution-timeline{border-color:rgba(150,125,230,.34)}.python-functions-topic-story.phase-return
.python-function-execution-timeline{border-color:rgba(255,122,26,.3)}.python-functions-topic-story.phase-return
.python-function-timeline-node{background:#ff7a1a;border-color:#ff7a1a;box-shadow:0 0 0 5px rgba(255,122,26,.09),0 7px 18px rgba(255,122,26,.18)}.python-functions-topic-story.phase-return
.python-function-timeline-stage.is-active span{color:#c45d0d}@media (max-width:640px){.python-function-execution-timeline{padding:12px 9px 14px;margin-top:13px}.python-function-timeline-heading{align-items:flex-start;flex-direction:column;gap:4px}.python-function-timeline-heading strong{text-align:left;font-size:9px}.python-function-timeline-node{width:25px;height:25px}.python-function-timeline-connector{top:12px;left:calc(50% + 12px);width:calc(100% - 24px)}.python-function-timeline-stage span{font-size:7px}}@media (prefers-reduced-motion:reduce){.python-function-execution-timeline,.python-function-execution-timeline *{transition:none!important;animation:none!important}}.python-functions-topic-story{container-type:inline-size;container-name:functions-story}@container functions-story (max-width: 380px){.python-function-execution-timeline{width:100%;margin:12px auto 15px;padding:10px 8px 11px;border-radius:14px}.python-function-timeline-heading{margin-bottom:9px;gap:3px}.python-function-timeline-heading span{font-size:7px;letter-spacing:.1em}.python-function-timeline-heading strong{max-width:115px;font-size:7px;line-height:1.15;letter-spacing:.01em}.python-function-timeline-node{width:23px;height:23px;font-size:8px}.python-function-timeline-stage{gap:4px}.python-function-timeline-stage span{font-size:6px;letter-spacing:.015em}.python-function-timeline-connector{top:11px;left:calc(50% + 11px);width:calc(100% - 22px);height:1.5px}.python-function-timeline-stage.is-active .python-function-timeline-node{transform:scale(1.1);box-shadow:0 0 0 4px rgba(124,92,255,.08),0 5px 13px rgba(75,52,140,.16)}.python-function-timeline-stage.is-active span{transform:none}}@container functions-story (max-width: 300px){.python-function-execution-timeline{padding:8px 5px 9px;border-radius:12px}.python-function-timeline-heading{align-items:center;flex-direction:column;text-align:center;margin-bottom:8px}.python-function-timeline-heading strong{max-width:100%;text-align:center;font-size:7px}.python-function-timeline-node{width:21px;height:21px;font-size:7px}.python-function-timeline-connector{top:10px;left:calc(50% + 10px);width:calc(100% - 20px)}.python-function-timeline-stage span{font-size:5.5px;letter-spacing:0}}.python-function-timeline-stage.is-complete
.python-function-timeline-node{animation:functionTimelineComplete .42s ease-out both}@keyframes functionTimelineComplete{0%{transform:scale(.88)}60%{transform:scale(1.08)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.python-function-timeline-stage.is-complete .python-function-timeline-node{animation:none!important}}.python-functions-topic-story .python-function-flow{width:100%;max-width:560px;margin:16px auto 0;display:flex;flex-direction:column;align-items:center;gap:0}.python-functions-topic-story.phase-bind
.python-function-bindings,.python-functions-topic-story.phase-body
.python-function-body-node,.python-functions-topic-story.phase-call
.python-function-call-node,.python-functions-topic-story.phase-complete
.python-function-return-node,.python-functions-topic-story.phase-define
.python-function-definition-node,.python-functions-topic-story.phase-return
.python-function-return-node{display:block!important;width:100%;max-width:520px;animation:functionCompactStageIn .42s cubic-bezier(.2,.8,.2,1) both}@keyframes functionCompactStageIn{0%{opacity:0;transform:translateY(12px) scale(.97);filter:blur(2px)}60%{opacity:1;transform:translateY(-2px) scale(1.012);filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.python-functions-topic-story.phase-bind
.python-function-bindings,.python-functions-topic-story.phase-body
.python-function-body-node,.python-functions-topic-story.phase-call
.python-function-call-node,.python-functions-topic-story.phase-complete
.python-function-return-node,.python-functions-topic-story.phase-define
.python-function-definition-node,.python-functions-topic-story.phase-return
.python-function-return-node{position:relative;isolation:isolate}.python-functions-topic-story.phase-bind
.python-function-bindings:after,.python-functions-topic-story.phase-body
.python-function-body-node:after,.python-functions-topic-story.phase-call
.python-function-call-node:after,.python-functions-topic-story.phase-complete
.python-function-return-node:after,.python-functions-topic-story.phase-define
.python-function-definition-node:after,.python-functions-topic-story.phase-return
.python-function-return-node:after{content:"";position:absolute;inset:-5px;border-radius:21px;pointer-events:none;opacity:.55;z-index:-1}.python-functions-topic-story.phase-define
.python-function-definition-node:after{box-shadow:0 0 28px rgba(124,92,255,.16)}.python-functions-topic-story.phase-call
.python-function-call-node:after{box-shadow:0 0 30px rgba(124,92,255,.18)}.python-functions-topic-story.phase-bind
.python-function-bindings:after{box-shadow:0 0 30px rgba(124,92,255,.17)}.python-functions-topic-story.phase-body
.python-function-body-node:after{box-shadow:0 0 34px rgba(124,92,255,.2)}.python-functions-topic-story.phase-complete
.python-function-return-node:after,.python-functions-topic-story.phase-return
.python-function-return-node:after{box-shadow:0 0 34px rgba(255,122,26,.18)}@container functions-story (max-width: 380px){.python-functions-topic-story .python-function-flow{width:100%;margin-top:14px}.python-functions-topic-story.phase-bind .python-function-bindings,.python-functions-topic-story.phase-body .python-function-body-node,.python-functions-topic-story.phase-call .python-function-call-node,.python-functions-topic-story.phase-complete .python-function-return-node,.python-functions-topic-story.phase-define .python-function-definition-node,.python-functions-topic-story.phase-return .python-function-return-node{max-width:100%}}@media (prefers-reduced-motion:reduce){.python-functions-topic-story .python-function-bindings,.python-functions-topic-story .python-function-body-node,.python-functions-topic-story .python-function-call-node,.python-functions-topic-story .python-function-definition-node,.python-functions-topic-story .python-function-return-node{animation:none!important}}.python-functions-topic-story
.python-function-bindings,.python-functions-topic-story
.python-function-body-node,.python-functions-topic-story
.python-function-call-node,.python-functions-topic-story
.python-function-definition-node,.python-functions-topic-story
.python-function-flow-arrow,.python-functions-topic-story
.python-function-return-arrow,.python-functions-topic-story
.python-function-return-node{display:none!important}.python-functions-topic-story.model-phase-bind
.python-function-bindings,.python-functions-topic-story.model-phase-body
.python-function-body-node,.python-functions-topic-story.model-phase-call
.python-function-call-node,.python-functions-topic-story.model-phase-complete
.python-function-return-node,.python-functions-topic-story.model-phase-define
.python-function-definition-node,.python-functions-topic-story.model-phase-return
.python-function-return-node{display:block!important}.python-functions-topic-story.model-phase-bind
.python-function-body-node,.python-functions-topic-story.model-phase-bind
.python-function-call-node,.python-functions-topic-story.model-phase-bind
.python-function-definition-node,.python-functions-topic-story.model-phase-bind
.python-function-return-node,.python-functions-topic-story.model-phase-body
.python-function-bindings,.python-functions-topic-story.model-phase-body
.python-function-call-node,.python-functions-topic-story.model-phase-body
.python-function-definition-node,.python-functions-topic-story.model-phase-body
.python-function-return-node,.python-functions-topic-story.model-phase-call
.python-function-bindings,.python-functions-topic-story.model-phase-call
.python-function-body-node,.python-functions-topic-story.model-phase-call
.python-function-definition-node,.python-functions-topic-story.model-phase-call
.python-function-return-node,.python-functions-topic-story.model-phase-complete
.python-function-bindings,.python-functions-topic-story.model-phase-complete
.python-function-body-node,.python-functions-topic-story.model-phase-complete
.python-function-call-node,.python-functions-topic-story.model-phase-complete
.python-function-definition-node,.python-functions-topic-story.model-phase-define
.python-function-bindings,.python-functions-topic-story.model-phase-define
.python-function-body-node,.python-functions-topic-story.model-phase-define
.python-function-call-node,.python-functions-topic-story.model-phase-define
.python-function-return-node,.python-functions-topic-story.model-phase-return
.python-function-bindings,.python-functions-topic-story.model-phase-return
.python-function-body-node,.python-functions-topic-story.model-phase-return
.python-function-call-node,.python-functions-topic-story.model-phase-return
.python-function-definition-node{display:none!important}.python-functions-topic-story.model-phase-bind
.python-function-bindings,.python-functions-topic-story.model-phase-body
.python-function-body-node,.python-functions-topic-story.model-phase-call
.python-function-call-node,.python-functions-topic-story.model-phase-complete
.python-function-return-node,.python-functions-topic-story.model-phase-define
.python-function-definition-node,.python-functions-topic-story.model-phase-return
.python-function-return-node{display:block!important}.python-functions-topic-story.model-phase-bind
.python-function-flow-arrow,.python-functions-topic-story.model-phase-bind
.python-function-return-arrow,.python-functions-topic-story.model-phase-body
.python-function-flow-arrow,.python-functions-topic-story.model-phase-body
.python-function-return-arrow,.python-functions-topic-story.model-phase-call
.python-function-flow-arrow,.python-functions-topic-story.model-phase-call
.python-function-return-arrow,.python-functions-topic-story.model-phase-define
.python-function-flow-arrow,.python-functions-topic-story.model-phase-define
.python-function-return-arrow,.python-functions-topic-story.model-phase-return
.python-function-flow-arrow,.python-functions-topic-story.model-phase-return
.python-function-return-arrow{display:none!important}.python-function-memory-panel{width:100%;max-width:520px;margin:0 auto;box-sizing:border-box;border:1px solid rgba(119,91,255,.18);border-radius:18px;padding:15px;background:radial-gradient(circle at 50% 0,rgba(125,91,255,.09),transparent 55%),hsla(0,0%,100%,.94);box-shadow:0 12px 30px rgba(74,55,145,.08);overflow:hidden;animation:functionMemoryPanelIn .35s ease both}.python-function-memory-header{text-align:center;margin-bottom:13px}.python-function-memory-title{font-size:.74rem;font-weight:900;letter-spacing:.15em;color:#6d57c8}.python-function-memory-subtitle{margin-top:6px;font-size:.78rem;line-height:1.45;color:#5d5870}.python-function-memory-section-label{font-size:.58rem;font-weight:900;letter-spacing:.16em;color:#8a829e;text-transform:uppercase;margin-bottom:7px}.python-function-memory-definition{padding:16px;border-radius:15px;border:1px solid rgba(112,83,238,.25);background:linear-gradient(145deg,rgba(247,244,255,.98),hsla(0,0%,100%,.98))}.python-function-memory-function-name{font-size:1.35rem;font-weight:950;color:#30215f}.python-function-memory-signature{margin-top:7px;padding:9px 11px;border-radius:10px;background:#f0ecff;color:#4b3b83;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.76rem;overflow-wrap:anywhere}.python-function-memory-parameter-row{margin-top:13px}.python-function-memory-mini-label{display:block;margin-bottom:7px;font-size:.57rem;font-weight:900;letter-spacing:.13em;color:#9188a2}.python-function-memory-chips{display:flex;flex-wrap:wrap;gap:6px}.python-function-memory-chip{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:4px 10px;border-radius:999px;background:#ece7ff;color:#5841a8;font-size:.7rem;font-weight:850}.python-function-memory-call{padding:17px;border-radius:15px;border:1px solid rgba(112,83,238,.22);background:linear-gradient(145deg,#fbfaff,#f5f1ff);text-align:center}.python-function-memory-call-expression{padding:13px 10px;border-radius:12px;background:#f0ecff;color:#5841a8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem;font-weight:850;overflow-wrap:anywhere}.python-function-memory-arrow{margin:8px 0;font-size:1.15rem;font-weight:900;color:#8b69ee;animation:functionMemoryArrowFloat 1.2s ease-in-out infinite}.python-function-memory-call-message{font-size:.73rem;line-height:1.45;color:#6d687b}.python-function-memory-bind{padding:15px;border-radius:15px;border:1px dashed rgba(119,91,255,.38);background:rgba(250,248,255,.96)}.python-function-memory-binding-list{display:flex;flex-direction:column;gap:8px}.python-function-memory-binding{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:9px;gap:9px;padding:11px;border-radius:12px;background:#fff;border:1px solid rgba(117,91,230,.15);box-shadow:0 5px 14px rgba(78,55,150,.06);animation:functionMemoryBindingIn .45s ease both}.python-function-memory-binding-value{text-align:right;color:#e36b22;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:900;overflow-wrap:anywhere}.python-function-memory-binding-arrow{color:#8061e9;font-size:1.05rem;font-weight:950}.python-function-memory-binding-parameter{color:#4b3a87;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:900;overflow-wrap:anywhere}.python-function-memory-binding-caption{margin-top:11px;text-align:center;font-size:.7rem;line-height:1.45;color:#777184}.python-function-memory-body{padding:15px;border-radius:15px;background:linear-gradient(145deg,#494064,#312b48);color:#fff;box-shadow:0 12px 25px rgba(49,43,72,.18)}.python-function-memory-local-list{display:flex;flex-direction:column;gap:5px}.python-function-memory-local-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px;padding:8px 10px;border-radius:9px;background:hsla(0,0%,100%,.08);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.python-function-memory-local-name{font-weight:850;color:#f4efff}.python-function-memory-local-equals{color:#b9a9ef}.python-function-memory-local-value{text-align:right;color:#f4a15b;font-weight:900;overflow-wrap:anywhere}.python-function-memory-local-row.result-row{margin-top:5px;background:rgba(244,161,91,.12);border:1px solid rgba(244,161,91,.22)}.python-function-memory-local-row.result-row .result-value{color:#ffb875}.python-function-memory-body-calculation{display:flex;flex-direction:column;gap:5px;margin-top:11px;padding:11px;border-radius:10px;background:hsla(0,0%,100%,.08);color:#eee9ff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;line-height:1.45}.python-function-memory-body-calculation strong{color:#ffb875;font-size:.9rem}.python-function-memory-return{padding:17px;border-radius:15px;border:1px solid rgba(244,137,59,.5);background:radial-gradient(circle at 50% 0,rgba(244,137,59,.1),transparent 58%),#fff;text-align:center;box-shadow:0 12px 26px rgba(244,137,59,.11)}.python-function-memory-return-value{display:inline-flex;min-width:72px;min-height:50px;align-items:center;justify-content:center;padding:6px 14px;border-radius:13px;background:#fff2e8;color:#d85f18;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.15rem;font-weight:950;animation:functionMemoryReturnPulse 1.1s ease-in-out infinite}.python-function-memory-return-arrow{margin:6px 0;color:#e87528;font-size:1.2rem;font-weight:950}.python-function-memory-return-destination{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;font-size:.62rem;letter-spacing:.12em;font-weight:900;color:#81788f}.python-function-memory-return-destination strong{color:#5c46a8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;letter-spacing:0}.python-function-memory-return-equation{margin-top:9px;color:#d85f18;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:900}@keyframes functionMemoryPanelIn{0%{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes functionMemoryArrowFloat{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes functionMemoryBindingIn{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes functionMemoryReturnPulse{0%,to{box-shadow:0 0 0 0 rgba(232,117,40,.08)}50%{box-shadow:0 0 0 7px rgba(232,117,40,.08)}}@container functions-story (max-width: 380px){.python-function-memory-panel{padding:12px;border-radius:15px}.python-function-memory-title{font-size:.68rem}.python-function-memory-subtitle{font-size:.7rem}.python-function-memory-function-name{font-size:1.15rem}.python-function-memory-call-expression,.python-function-memory-signature{font-size:.68rem}.python-function-memory-binding{padding:8px;gap:6px}.python-function-memory-binding-parameter,.python-function-memory-binding-value{font-size:.7rem}.python-function-memory-local-row{padding:7px 8px;font-size:.68rem}.python-function-memory-body-calculation{font-size:.65rem}.python-function-memory-return-value{min-width:58px;min-height:42px;font-size:1rem}}@media (prefers-reduced-motion:reduce){.python-function-memory-arrow,.python-function-memory-binding,.python-function-memory-panel,.python-function-memory-return-value{animation:none!important}}.python-loops-topic-story{position:relative;width:100%;margin:14px 0;padding:18px;border-radius:22px;overflow:hidden;border:1px solid hsla(0,0%,100%,.1);background:radial-gradient(circle at 50% 0,rgba(99,102,241,.13),transparent 48%),linear-gradient(145deg,rgba(15,23,42,.96),rgba(17,24,39,.92));box-shadow:0 18px 45px rgba(0,0,0,.22),inset 0 1px 0 hsla(0,0%,100%,.06)}.python-loops-topic-story:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.035),transparent);transform:translateX(-100%);animation:python-loop-surface-sweep 5s ease-in-out infinite}.python-loops-story-header{z-index:2;text-align:center;margin-bottom:16px}.python-loops-story-kicker{font-size:10px;font-weight:800;letter-spacing:.18em;opacity:.62;margin-bottom:5px}.python-loops-story-title{font-size:18px;line-height:1.2;font-weight:900;letter-spacing:.02em}.python-loops-story-subtitle{max-width:620px;margin:7px auto 0;font-size:11px;line-height:1.5;opacity:.68}.python-loops-story-flow{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px}.python-loop-story-node{position:relative;width:min(100%,420px);padding:12px 15px;border-radius:15px;border:1px solid hsla(0,0%,100%,.09);background:hsla(0,0%,100%,.045);box-shadow:0 8px 22px rgba(0,0,0,.16),inset 0 1px 0 hsla(0,0%,100%,.045);transition:transform .35s ease,opacity .35s ease,border-color .35s ease,box-shadow .35s ease}.python-loop-story-node:hover{transform:translateY(-2px)}.python-loop-story-label{display:block;font-size:9px;font-weight:800;letter-spacing:.16em;opacity:.52;margin-bottom:4px}.python-loop-story-node strong{display:block;font-size:13px;font-weight:800;line-height:1.35;word-break:break-word}.python-loop-story-node code{display:block;margin-top:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;opacity:.72;word-break:break-word}.python-loop-story-meta{display:block;margin-top:5px;font-size:10px;opacity:.55}.python-loop-story-loop{border-color:rgba(129,140,248,.3)}.python-loop-story-check{border-color:rgba(96,165,250,.24)}.python-loop-story-iteration{border-color:rgba(52,211,153,.24)}.python-loop-story-body{border-color:rgba(251,191,36,.24)}.python-loops-topic-story.phase-body
.python-loop-story-body,.python-loops-topic-story.phase-check
.python-loop-story-check,.python-loops-topic-story.phase-exit
.python-loop-story-exit,.python-loops-topic-story.phase-iteration
.python-loop-story-iteration,.python-loops-topic-story.phase-start
.python-loop-story-loop{transform:scale(1.015);border-color:hsla(0,0%,100%,.22);box-shadow:0 0 0 1px hsla(0,0%,100%,.035),0 12px 32px rgba(0,0,0,.24),0 0 28px rgba(129,140,248,.1);animation:python-loop-active-pulse 1.5s ease-in-out infinite}.python-loop-story-arrow{position:relative;height:23px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;opacity:.48}.python-loop-story-arrow:before{content:"";position:absolute;width:2px;height:100%;background:linear-gradient(180deg,transparent,hsla(0,0%,100%,.25),transparent)}.python-loop-story-arrow{animation:python-loop-arrow-flow 1.4s ease-in-out infinite}.python-loop-story-return{position:relative;width:min(100%,420px);min-height:44px;margin-top:2px;display:flex;align-items:center;justify-content:center}.python-loop-story-return-line{position:absolute;left:15%;right:15%;top:50%;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(129,140,248,.65),rgba(96,165,250,.75),transparent)}.python-loop-story-return-line:after{content:"";position:absolute;inset:-4px 0;border-radius:999px;background:inherit;filter:blur(5px);opacity:.45}.python-loop-story-return-arrow{position:relative;z-index:2;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(129,140,248,.3);background:rgba(15,23,42,.96);font-size:17px;animation:python-loop-return-spin 2.2s linear infinite}.python-loop-story-return-text{position:absolute;bottom:-1px;padding:2px 8px;border-radius:999px;background:rgba(15,23,42,.96);font-size:8px;font-weight:800;letter-spacing:.13em;opacity:.55}.python-loop-story-exit{width:min(100%,420px);padding:13px 15px;border-radius:15px;border:1px solid hsla(0,91%,71%,.28);background:rgba(127,29,29,.12);text-align:center}.python-loop-story-exit>span{display:block;font-size:18px;margin-bottom:3px}.python-loop-story-exit strong{display:block;font-size:12px;letter-spacing:.08em}.python-loop-story-exit small{display:block;margin-top:5px;font-size:10px;opacity:.6}.python-loops-topic-story.phase-check.loop-for
.python-loop-story-check,.python-loops-topic-story.phase-check.loop-while
.python-loop-story-check{animation:python-loop-check-pulse 1.2s ease-in-out infinite}.python-loops-topic-story.phase-check
.python-loop-story-check strong{letter-spacing:.04em}.python-loops-topic-story.loop-for
.python-loop-story-iteration strong{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}@keyframes python-loop-active-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}@keyframes python-loop-check-pulse{0%,to{box-shadow:0 8px 22px rgba(0,0,0,.16)}50%{box-shadow:0 8px 28px rgba(96,165,250,.16),0 0 22px rgba(96,165,250,.08)}}@keyframes python-loop-arrow-flow{0%,to{transform:translateY(-2px);opacity:.35}50%{transform:translateY(2px);opacity:.75}}@keyframes python-loop-return-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes python-loop-surface-sweep{0%,65%,to{transform:translateX(-100%)}80%{transform:translateX(100%)}}@container (max-width: 520px){.python-loops-topic-story{padding:13px;border-radius:17px}.python-loop-story-node,.python-loop-story-return{width:100%}.python-loops-story-title{font-size:15px}.python-loops-story-subtitle{font-size:10px}}@media (prefers-reduced-motion:reduce){.python-loop-story-arrow,.python-loop-story-return-arrow,.python-loops-topic-story.phase-body .python-loop-story-body,.python-loops-topic-story.phase-check .python-loop-story-check,.python-loops-topic-story.phase-exit .python-loop-story-exit,.python-loops-topic-story.phase-iteration .python-loop-story-iteration,.python-loops-topic-story.phase-start .python-loop-story-loop,.python-loops-topic-story:before{animation:none}.python-loop-story-node{transition:none}}.python-execution-special.loops-v2-support{background:transparent;border:0;box-shadow:none;padding:0;margin:0}.python-execution-special.loops-v2-support>:not(.python-loop-collection-visual){display:none}.python-execution-special.loops-v2-support .python-loop-collection-visual{display:block;margin-top:10px}.python-execution-special.loops-v2-support .python-loop-collection-items{position:relative}.python-execution-special.loops-v2-support .python-loop-collection-item.current{transform:translateY(-3px) scale(1.04);box-shadow:0 0 0 2px rgba(96,165,250,.16),0 8px 24px rgba(96,165,250,.14)}.python-story-live-card.loops-topic-generic-story{display:none}.python-loop-machine{position:relative;overflow:hidden;margin-top:14px;padding:16px;border:1px solid rgba(148,163,184,.2);border-radius:20px;background:radial-gradient(circle at 50% 0,rgba(59,130,246,.08),transparent 48%),rgba(248,250,252,.82);box-shadow:0 16px 40px rgba(15,23,42,.07)}.python-loop-machine .python-loops-story-header{margin-bottom:14px}.python-loop-machine .python-loops-story-kicker{font-size:9px;font-weight:900;letter-spacing:.15em}.python-loop-machine .python-loops-story-title{margin-top:4px;font-size:19px;letter-spacing:-.02em}.python-loop-machine .python-loops-story-subtitle{margin-top:5px;font-size:11px;line-height:1.5;opacity:.68}.python-loop-machine-collection{padding:13px;border:1px solid rgba(59,130,246,.16);border-radius:16px;background:hsla(0,0%,100%,.74)}.python-loop-machine-label,.python-loop-machine-section-label{font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#64748b}.python-loop-machine-items{display:flex;gap:9px;margin-top:11px}.python-loop-machine-item{min-width:58px;padding:9px 12px;text-align:center;border:1px solid rgba(148,163,184,.24);border-radius:12px;background:rgba(241,245,249,.92);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease}.python-loop-machine-item strong{font-size:13px}.python-loop-machine-item-index{display:block;margin-bottom:2px;font-size:7px;font-weight:800;opacity:.42}.python-loop-machine-item.active{transform:translateY(-4px) scale(1.08);border-color:rgba(59,130,246,.7);background:rgba(219,234,254,.95);box-shadow:0 0 0 3px rgba(59,130,246,.08),0 9px 22px rgba(59,130,246,.17)}.python-loop-machine-item.arriving{animation:pythonLoopMachineItemArrival .6s cubic-bezier(.2,.8,.2,1)}.python-loop-machine-item-pulse{position:absolute;right:5px;top:3px;font-size:7px;color:#2563eb;animation:pythonLoopMachinePulse .9s ease-in-out infinite}.python-loop-machine-flow{display:flex;flex-direction:column;gap:7px;margin-top:12px}.python-loop-machine-node{padding:12px 14px;border:1px solid rgba(148,163,184,.2);border-radius:15px;background:hsla(0,0%,100%,.8);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease}.python-loop-machine-node strong{display:block;margin-top:4px;font-size:13px;line-height:1.4}.python-loop-machine-node small{display:block;margin-top:4px;font-size:9px;opacity:.58}.python-loop-machine-node.active{transform:translateY(-2px);border-color:rgba(37,99,235,.62);background:rgba(239,246,255,.96);box-shadow:0 0 0 3px rgba(59,130,246,.07),0 10px 26px rgba(37,99,235,.13);animation:pythonLoopMachineNodeBreath 1.2s ease-in-out infinite}.python-loop-machine-node.active-secondary{border-color:rgba(245,158,11,.4);background:rgba(255,247,237,.86)}.python-loop-machine-connector{display:flex;align-items:center;justify-content:center;min-height:18px;font-size:17px;font-weight:700;opacity:.42}.python-loop-machine-cycle{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;margin:2px 0}.python-loop-machine-cycle-line{position:absolute;left:50%;top:0;bottom:0;width:2px;border-radius:99px;background:linear-gradient(180deg,transparent,rgba(59,130,246,.5),transparent)}.python-loop-machine-cycle-arrow{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(59,130,246,.3);border-radius:50%;background:hsla(0,0%,100%,.96);font-size:17px;color:#2563eb;animation:pythonLoopMachineRotate 1.5s linear infinite}.python-loop-machine-cycle-text{position:absolute;left:calc(50% + 22px);font-size:8px;font-weight:900;letter-spacing:.1em;color:#64748b}.python-loop-machine-memory{margin-top:12px;padding:12px;border:1px solid rgba(139,92,246,.16);border-radius:15px;background:rgba(250,245,255,.7)}.python-loop-machine-memory-header{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.11em}.python-loop-machine-memory-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:9px}.python-loop-machine-memory-cell{padding:9px;border:1px solid rgba(139,92,246,.12);border-radius:10px;background:hsla(0,0%,100%,.68)}.python-loop-machine-memory-cell span{display:block;font-size:8px;font-weight:800;letter-spacing:.08em;opacity:.55}.python-loop-machine-memory-cell strong{display:block;margin-top:4px;font-size:15px}.python-loop-machine-exit{display:flex;align-items:center;gap:11px;margin-top:12px;padding:12px 13px;border:1px solid rgba(34,197,94,.28);border-radius:15px;background:rgba(240,253,244,.9);animation:pythonLoopMachineExit .5s ease both}.python-loop-machine-exit-icon{display:grid;flex:0 0 auto;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(34,197,94,.13);font-size:17px}.python-loop-machine-exit strong{font-size:11px;letter-spacing:.06em}.python-loop-machine-exit small{display:block;margin-top:3px;font-size:9px;line-height:1.45;opacity:.66}.python-loop-machine-while{position:relative;z-index:1}.python-loop-machine-condition-result{display:inline-flex;margin-top:8px;padding:5px 8px;border-radius:999px;background:rgba(59,130,246,.08);font-size:9px;font-weight:900}@keyframes pythonLoopMachineItemArrival{0%{transform:translateY(9px) scale(.9);opacity:.35}70%{transform:translateY(-5px) scale(1.1)}to{transform:translateY(-4px) scale(1.08);opacity:1}}@keyframes pythonLoopMachinePulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}@keyframes pythonLoopMachineNodeBreath{0%,to{box-shadow:0 0 0 3px rgba(59,130,246,.05),0 8px 20px rgba(37,99,235,.09)}50%{box-shadow:0 0 0 5px rgba(59,130,246,.07),0 13px 30px rgba(37,99,235,.16)}}@keyframes pythonLoopMachineRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pythonLoopMachineExit{0%{transform:translateY(7px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion:reduce){.python-loop-machine-cycle-arrow,.python-loop-machine-exit,.python-loop-machine-item,.python-loop-machine-node{animation:none!important;transition:none!important}}@media (max-width:560px){.python-loop-machine{padding:12px}.python-loop-machine-memory-grid{grid-template-columns:1fr}.python-loop-machine-cycle-text{left:calc(50% + 18px)}}.python-loops-topic-story.python-loop-machine{position:relative;overflow:hidden;isolation:isolate;border-radius:22px}.python-loops-topic-story.python-loop-machine:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 0,rgba(249,115,22,.1),transparent 42%);z-index:-1}.python-loops-story-header{position:relative}.python-loops-story-kicker{letter-spacing:.14em}.python-loop-machine .python-loops-story-title{transition:transform .24s ease,opacity .24s ease}.python-loop-machine.machine-start .python-loops-story-title{animation:loopMachineReady .9s ease both}.python-loop-machine.machine-get-item .python-loops-story-title{animation:loopMachineGetItem .7s ease both}.python-loop-machine.machine-body .python-loops-story-title{animation:loopMachineBody .7s ease both}.python-loop-machine.machine-exit .python-loops-story-title{animation:loopMachineExit .8s ease both}.python-loop-machine .python-loop-collection-item.current{position:relative;z-index:2;animation:loopCurrentItemPulse .9s ease-in-out infinite}.python-loop-machine .python-loop-collection-item.current:after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:1px solid rgba(249,115,22,.45);pointer-events:none;animation:loopCurrentItemRing 1.2s ease-in-out infinite}.python-loop-machine .python-loop-iteration{transition:transform .26s ease,opacity .26s ease}.python-loop-machine.machine-get-item .python-loop-iteration{animation:loopIterationArrival .6s ease both}.python-loop-machine .python-loop-memory{position:relative}.python-loop-machine.machine-body .python-loop-memory,.python-loop-machine.machine-get-item .python-loop-memory{animation:loopMemoryUpdate .7s ease both}.python-loop-machine.machine-body .python-loop-body{animation:loopBodyExecute .75s ease both}.python-loop-machine.machine-exit{animation:loopExitGlow 1s ease both}.python-loop-machine.machine-exit .python-loop-exit{animation:loopExitPanel .8s ease both}.python-loop-machine .python-loop-flow-particle{animation:loopFlowParticle 1.1s linear infinite}@keyframes loopMachineReady{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes loopMachineGetItem{0%{opacity:.65;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loopMachineBody{0%{opacity:.65;transform:scale(.985)}55%{opacity:1;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}@keyframes loopMachineExit{0%{opacity:.65;transform:translateY(5px)}60%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}@keyframes loopCurrentItemPulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.035)}}@keyframes loopCurrentItemRing{0%,to{opacity:.25;transform:scale(.985)}50%{opacity:.8;transform:scale(1.015)}}@keyframes loopIterationArrival{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes loopMemoryUpdate{0%{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes loopBodyExecute{0%{opacity:.65;transform:scale(.985)}50%{opacity:1;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@keyframes loopExitGlow{0%{box-shadow:0 0 0 rgba(249,115,22,0)}45%{box-shadow:0 0 34px rgba(249,115,22,.14)}to{box-shadow:0 0 18px rgba(249,115,22,.07)}}@keyframes loopExitPanel{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loopFlowParticle{0%{opacity:0;transform:translateY(-6px)}25%{opacity:1}75%{opacity:1}to{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.python-loop-machine *,.python-loop-machine:before{animation:none!important;transition:none!important}}.python-loop-machine.execution-loop-machine{position:relative;width:min(100%,760px);margin:0 auto;padding:24px 22px 28px;box-sizing:border-box;overflow:hidden;border-radius:26px;border:1px solid hsla(0,0%,100%,.72);background:radial-gradient(circle at 50% 0,rgba(255,145,40,.1),transparent 34%),linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,250,253,.98));box-shadow:0 24px 60px rgba(15,23,42,.12),inset 0 1px 0 hsla(0,0%,100%,.9)}.python-loop-machine.execution-loop-machine:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(120deg,hsla(0,0%,100%,.45),transparent 38%,rgba(255,145,40,.035))}.python-loop-machine .python-loops-story-header{position:relative;z-index:1;text-align:center;margin-bottom:18px}.python-loop-machine .python-loops-story-kicker{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-bottom:7px;font-size:10px;line-height:1;font-weight:800;letter-spacing:.18em;text-transform:uppercase;opacity:.58}.python-loop-machine .python-loops-story-title{line-height:1.05;letter-spacing:-.035em;font-weight:900}.python-loop-machine .python-loops-story-subtitle{max-width:520px;margin:8px auto 0;line-height:1.45;font-size:12px;opacity:.62}.python-loop-machine-phase{position:relative;z-index:2;display:flex!important;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto 18px;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,145,40,.18);background:rgba(255,145,40,.065)}.python-loop-machine-phase-label{display:inline-flex!important;padding:3px 8px;border-radius:999px;background:rgba(255,145,40,.12);font-size:9px!important;line-height:1!important;font-weight:900!important;letter-spacing:.12em}.python-loop-machine-iteration,.python-loop-machine-phase-label{align-items:center;justify-content:center;min-height:20px;white-space:nowrap}.python-loop-machine-iteration{display:inline-flex;font-size:11px;line-height:1;font-weight:800;letter-spacing:.02em}.python-loop-machine-collection{position:relative;z-index:1;margin:0 auto 18px;padding:15px;border-radius:18px;border:1px solid rgba(15,23,42,.08);background:hsla(0,0%,100%,.78);box-shadow:0 8px 24px rgba(15,23,42,.045)}.python-loop-machine-section-title{margin-bottom:7px;text-align:center;font-size:9px;line-height:1;font-weight:900;letter-spacing:.16em;opacity:.48}.python-loop-machine-collection-expression{margin-bottom:12px;text-align:center}.python-loop-machine-collection-expression code{display:inline-block;max-width:100%;padding:5px 10px;border-radius:8px;background:rgba(15,23,42,.045);font-size:12px;font-weight:700;overflow-wrap:anywhere}.python-loop-machine-items{display:flex!important;align-items:center;justify-content:center;gap:9px!important;flex-wrap:wrap}.python-loop-machine-item{position:relative;gap:6px!important;min-width:64px;min-height:42px;padding:7px 10px!important;box-sizing:border-box;border-radius:12px!important;border:1px solid rgba(15,23,42,.1)!important;background:rgba(248,250,252,.96)!important;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease}.python-loop-machine-item,.python-loop-machine-item-index{display:inline-flex!important;align-items:center;justify-content:center}.python-loop-machine-item-index{font-size:8px!important;line-height:1!important;font-weight:800!important;letter-spacing:.04em;opacity:.48;white-space:nowrap}.python-loop-machine-item-value{display:inline-flex!important;align-items:center;justify-content:center;font-size:13px!important;line-height:1!important;font-weight:900!important;white-space:nowrap}.python-loop-machine-item.is-active{transform:translateY(-3px) scale(1.035);border-color:rgba(255,145,40,.48)!important;background:rgba(255,145,40,.1)!important;box-shadow:0 8px 20px rgba(255,145,40,.16),0 0 0 4px rgba(255,145,40,.055)}.python-loop-machine-item.is-active:after{content:"ACTIVE";position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);padding:2px 6px;border-radius:999px;background:rgba(255,145,40,.92);font-size:7px;line-height:1;font-weight:900;letter-spacing:.1em;white-space:nowrap}.python-loop-machine-flow{position:relative;z-index:1;display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important;margin-top:4px}.python-loop-machine-node{position:relative;width:min(100%,430px);min-height:68px;padding:12px 16px!important;box-sizing:border-box;border-radius:17px!important;border:1px solid rgba(15,23,42,.085)!important;background:hsla(0,0%,100%,.94)!important;box-shadow:0 7px 20px rgba(15,23,42,.055);text-align:center;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease,background .26s ease}.python-loop-machine-node span{display:block!important;margin-bottom:5px;font-size:8px!important;line-height:1!important;font-weight:900!important;letter-spacing:.16em;opacity:.46}.python-loop-machine-node strong{display:block!important;font-size:13px!important;line-height:1.25!important;font-weight:850!important;overflow-wrap:anywhere}.python-loop-machine-node em{display:block;margin-top:5px;font-size:14px;line-height:1;font-style:normal;font-weight:900}.python-loop-machine-node.is-active{transform:translateY(-2px);border-color:rgba(255,145,40,.38)!important;background:linear-gradient(180deg,#fff,rgba(255,145,40,.055))!important;box-shadow:0 13px 28px rgba(15,23,42,.09),0 0 0 4px rgba(255,145,40,.045)}.python-loop-machine-arrow{display:flex!important;align-items:center;justify-content:center;width:28px;height:38px;font-size:18px;line-height:1;font-weight:800;opacity:.42;transition:transform .26s ease,opacity .26s ease}.python-loop-machine.machine-select .python-loop-machine-arrow{opacity:.72}.python-loop-machine-memory{position:relative;z-index:1;margin-top:18px!important;padding:15px!important;border-radius:18px!important;border:1px solid rgba(125,82,255,.16)!important;background:linear-gradient(135deg,rgba(125,82,255,.055),hsla(0,0%,100%,.9))!important;box-shadow:0 8px 24px rgba(15,23,42,.045)}.python-loop-machine-memory-title{margin-bottom:10px!important;text-align:center;font-size:9px!important;line-height:1!important;font-weight:900!important;letter-spacing:.13em}.python-loop-machine-memory-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-gap:8px!important;gap:8px!important}.python-loop-machine-memory-grid>div{min-width:0;padding:9px 7px;border-radius:11px;background:hsla(0,0%,100%,.76);text-align:center}.python-loop-machine-memory-grid span{display:block;margin-bottom:5px;font-size:7px;line-height:1;font-weight:900;letter-spacing:.1em;opacity:.42}.python-loop-machine-memory-grid strong{display:block;font-size:12px;line-height:1.15;font-weight:900;overflow-wrap:anywhere}.python-loop-machine-exit{position:relative;z-index:1;margin-top:16px!important;padding:14px 16px!important;border-radius:16px!important;text-align:center;border:1px solid rgba(34,197,94,.2)!important;background:rgba(34,197,94,.055)!important}.python-loop-machine-exit span{display:block;margin-bottom:5px;font-size:9px!important;line-height:1!important;font-weight:900!important;letter-spacing:.12em}.python-loop-machine-exit strong{display:block;font-size:11px!important;line-height:1.4!important}.python-loop-machine-explanation{position:relative;z-index:1;margin:14px auto 0;max-width:500px;text-align:center;font-size:11px;line-height:1.45;opacity:.62}.python-loop-machine.phase-iteration .python-loop-machine-phase{border-color:rgba(255,145,40,.3);background:rgba(255,145,40,.085)}.python-loop-machine.phase-body .python-loop-machine-phase{border-color:rgba(59,130,246,.24);background:rgba(59,130,246,.065)}.python-loop-machine.phase-exit .python-loop-machine-phase{border-color:rgba(34,197,94,.24);background:rgba(34,197,94,.065)}@media (max-width:700px){.python-loop-machine.execution-loop-machine{padding:18px 14px 22px;border-radius:20px}.python-loop-machine-memory-grid{grid-template-columns:1fr!important}.python-loop-machine-item{min-width:58px}}.python-loop-machine-update{border-color:rgba(125,82,255,.18)!important;background:rgba(125,82,255,.045)!important}.python-loop-machine-update.is-active{border-color:rgba(125,82,255,.42)!important;background:rgba(125,82,255,.09)!important;box-shadow:0 13px 28px rgba(125,82,255,.12),0 0 0 4px rgba(125,82,255,.045)}.python-loop-machine-update em{color:rgba(88,60,180,.92)}.python-loops-topic-story.loop-while .python-loop-machine-flow{gap:0!important;margin-top:2px!important}.python-loops-topic-story.loop-while .python-loop-machine-node{min-height:58px;padding:10px 14px!important;border-radius:16px!important}.python-loops-topic-story.loop-while .python-loop-machine-node.is-active{transform:translateY(-3px) scale(1.012);border-color:rgba(255,145,40,.58)!important;background:linear-gradient(180deg,#fff,rgba(255,145,40,.075))!important;box-shadow:0 14px 30px rgba(15,23,42,.11),0 0 0 4px rgba(255,145,40,.055),0 0 24px rgba(255,145,40,.08)}.python-loops-topic-story.loop-while.machine-body .loop-machine-body.is-active,.python-loops-topic-story.loop-while.machine-check .loop-machine-condition.is-active,.python-loops-topic-story.loop-while.machine-initialize .loop-machine-initialize.is-active,.python-loops-topic-story.loop-while.machine-update .loop-machine-update.is-active{animation:pythonWhileExecutionFocus .9s ease-in-out infinite alternate}.python-loops-topic-story.loop-while .python-loop-machine-arrow{width:24px;height:27px;font-size:16px;opacity:.3}.python-loops-topic-story.loop-while.machine-body .python-loop-machine-arrow,.python-loops-topic-story.loop-while.machine-check .python-loop-machine-arrow,.python-loops-topic-story.loop-while.machine-initialize .python-loop-machine-arrow,.python-loops-topic-story.loop-while.machine-update .python-loop-machine-arrow{transition:opacity .26s ease,transform .26s ease}.python-loops-topic-story.loop-while .python-loop-machine-cycle{min-height:40px;margin:0}.python-loops-topic-story.loop-while .python-loop-machine-cycle-line{background:linear-gradient(180deg,transparent,rgba(37,99,235,.55),rgba(37,99,235,.25),transparent);animation:pythonWhileCycleFlow 1.4s ease-in-out infinite}.python-loops-topic-story.loop-while .python-loop-machine-cycle-arrow{width:28px;height:28px;font-size:15px;animation:pythonWhileCycleRotate 1.6s linear infinite}.python-loops-topic-story.loop-while .python-loop-machine-cycle-text{font-size:7px;letter-spacing:.12em}.python-loops-topic-story.loop-while.machine-update .loop-machine-update.is-active em{animation:pythonWhileValueChange .7s ease-out}.python-loops-topic-story.loop-while.machine-check .loop-machine-condition.is-active{box-shadow:0 14px 30px rgba(15,23,42,.1),0 0 0 4px rgba(255,145,40,.06),0 0 30px rgba(255,145,40,.12)}.python-loops-topic-story.loop-while .loop-machine-condition em{display:inline-flex;align-items:center;justify-content:center;min-width:58px;margin-top:6px;padding:4px 8px;border-radius:999px;font-size:9px;letter-spacing:.04em;background:hsla(0,0%,100%,.72)}@keyframes pythonWhileExecutionFocus{0%{box-shadow:0 10px 24px rgba(15,23,42,.08),0 0 0 3px rgba(255,145,40,.035)}to{box-shadow:0 16px 34px rgba(15,23,42,.12),0 0 0 5px rgba(255,145,40,.07),0 0 28px rgba(255,145,40,.1)}}@keyframes pythonWhileCycleFlow{0%,to{opacity:.28;transform:scaleY(.72)}50%{opacity:.9;transform:scaleY(1)}}@keyframes pythonWhileCycleRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pythonWhileValueChange{0%{transform:scale(.92);opacity:.35}65%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.python-loops-topic-story.loop-while .python-loop-machine-cycle-arrow,.python-loops-topic-story.loop-while .python-loop-machine-cycle-line,.python-loops-topic-story.loop-while .python-loop-machine-node.is-active,.python-loops-topic-story.loop-while.machine-update .loop-machine-update.is-active em{animation:none!important}}.python-loops-topic-story.loop-while .python-loop-update-transition{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;margin-top:7px!important;padding:6px 9px;border-radius:999px;background:linear-gradient(90deg,rgba(59,130,246,.055),rgba(255,145,40,.085));border:1px solid rgba(255,145,40,.12);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.9),0 4px 12px rgba(15,23,42,.045);white-space:nowrap}.python-loops-topic-story.loop-while .python-loop-update-label{font-size:10px;font-weight:900;letter-spacing:.02em;opacity:.58}.python-loops-topic-story.loop-while .python-loop-update-after,.python-loops-topic-story.loop-while .python-loop-update-before{min-width:24px;padding:3px 7px;border-radius:7px;font-size:11px;line-height:1;font-weight:900;text-align:center}.python-loops-topic-story.loop-while .python-loop-update-before{background:rgba(59,130,246,.09);color:rgba(30,64,175,.92)}.python-loops-topic-story.loop-while .python-loop-update-after{background:rgba(255,145,40,.14);color:rgba(194,65,12,.96);animation:pythonWhileUpdateAfter .7s cubic-bezier(.2,.8,.2,1)}.python-loops-topic-story.loop-while .python-loop-update-arrow{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:13px;line-height:1;font-weight:950;opacity:.72;animation:pythonWhileUpdateArrow .7s ease-out}@keyframes pythonWhileUpdateArrow{0%{opacity:0;transform:translateX(-5px) scale(.78)}45%{opacity:1;transform:translateX(2px) scale(1.08)}to{opacity:.72;transform:translateX(0) scale(1)}}@keyframes pythonWhileUpdateAfter{0%{opacity:0;transform:translateX(5px) scale(.82)}55%{opacity:1;transform:translateX(0) scale(1.08)}to{opacity:1;transform:translateX(0) scale(1)}}@media (prefers-reduced-motion:reduce){.python-loops-topic-story.loop-while .python-loop-update-after,.python-loops-topic-story.loop-while .python-loop-update-arrow{animation:none!important}}.python-loops-topic-story.loop-while .python-loop-machine-connector{width:34px;height:30px;display:flex!important;align-items:center;justify-content:center;overflow:visible;color:rgba(100,116,139,.48);font-size:13px;font-weight:900}.python-loops-topic-story.loop-while .python-loop-machine-connector:after{top:5px;margin-left:-3.5px;background:rgba(255,145,40,.95);box-shadow:0 0 0 3px rgba(255,145,40,.1),0 0 14px rgba(255,145,40,.38);transform:translateY(0) scale(.55)}.python-loops-topic-story.loop-while.machine-check .python-loop-machine-connector:first-of-type:after{animation:pythonWhileFlowDown .9s cubic-bezier(.22,.8,.25,1) infinite}.python-loops-topic-story.loop-while.machine-body .python-loop-machine-cycle:before{content:"";position:absolute;left:50%;top:2px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:rgba(59,130,246,.92);box-shadow:0 0 0 3px rgba(59,130,246,.09),0 0 14px rgba(59,130,246,.3);opacity:0;transform:translateY(0) scale(.55);pointer-events:none;animation:pythonWhileReturnPulse 1.1s cubic-bezier(.22,.8,.25,1) infinite}.python-loops-topic-story.loop-while.machine-update .python-loop-machine-cycle:before{content:"";position:absolute;left:50%;top:2px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:rgba(255,145,40,.96);box-shadow:0 0 0 3px rgba(255,145,40,.1),0 0 16px rgba(255,145,40,.4);opacity:0;transform:translateY(0) scale(.55);pointer-events:none;animation:pythonWhileReturnPulse .85s cubic-bezier(.22,.8,.25,1) infinite}.python-loops-topic-story.loop-while .python-loop-machine-cycle-arrow{display:inline-flex;align-items:center;justify-content:center;transition:transform .3s ease,opacity .3s ease,box-shadow .3s ease}.python-loops-topic-story.loop-while.machine-body .python-loop-machine-cycle-arrow,.python-loops-topic-story.loop-while.machine-update .python-loop-machine-cycle-arrow{transform:rotate(-18deg) scale(1.1);opacity:1;text-shadow:0 0 10px rgba(59,130,246,.25)}.python-loops-topic-story.loop-while.machine-check .machine-condition.is-active:after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(255,145,40,.3);pointer-events:none;animation:pythonWhileDecisionScan 1s ease-out infinite}.python-loops-topic-story.loop-while.machine-body .machine-body.active{animation:pythonWhileBodyPulse .9s ease-in-out infinite}.python-loops-topic-story.loop-while.machine-update .loop-machine-update.is-active{animation:pythonWhileUpdateNodePulse .85s ease-in-out infinite}@keyframes pythonWhileFlowDown{0%{opacity:0;transform:translateY(0) scale(.55)}18%{opacity:1;transform:translateY(4px) scale(1)}82%{opacity:1;transform:translateY(18px) scale(.95)}to{opacity:0;transform:translateY(24px) scale(.45)}}@keyframes pythonWhileDecisionScan{0%{opacity:0;transform:scale(.985)}45%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.015)}}@keyframes pythonWhileBodyPulse{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.012)}to{transform:translateY(0) scale(1)}}@keyframes pythonWhileUpdateNodePulse{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.014)}to{transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.python-loops-topic-story.loop-while .loop-machine-update.is-active,.python-loops-topic-story.loop-while .machine-body.active,.python-loops-topic-story.loop-while .machine-condition.is-active:after,.python-loops-topic-story.loop-while .python-loop-machine-connector:after,.python-loops-topic-story.loop-while .python-loop-machine-cycle:before{animation:none!important}}.python-loops-topic-story.loop-while .machine-condition.active+.python-loop-machine-connector:after{content:"";position:absolute;left:50%;top:4px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:rgba(255,145,40,.96);box-shadow:0 0 0 3px rgba(255,145,40,.1),0 0 16px rgba(255,145,40,.42);opacity:0;transform:translateY(0) scale(.55);pointer-events:none;animation:pythonWhileFlowDown .85s cubic-bezier(.22,.8,.25,1)}.python-loops-topic-story.loop-while .machine-body.active+.python-loop-machine-cycle:before{content:"";position:absolute;left:50%;top:2px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:rgba(59,130,246,.94);box-shadow:0 0 0 3px rgba(59,130,246,.1),0 0 16px rgba(59,130,246,.34);opacity:0;transform:translateY(0) scale(.55);pointer-events:none;animation:pythonWhileReturnPulse .95s cubic-bezier(.22,.8,.25,1)}.python-loops-topic-story.loop-while .loop-machine-update.is-active+.python-loop-machine-cycle:before{content:"";position:absolute;left:50%;top:2px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:rgba(255,145,40,.98);box-shadow:0 0 0 3px rgba(255,145,40,.11),0 0 18px rgba(255,145,40,.44);opacity:0;transform:translateY(0) scale(.55);pointer-events:none;animation:pythonWhileReturnPulse .8s cubic-bezier(.22,.8,.25,1)}.python-loops-topic-story.loop-while .machine-condition.active:after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1px solid rgba(255,145,40,.34);pointer-events:none;animation:pythonWhileDecisionScan .9s ease-out}.python-loops-topic-story.loop-while .machine-body.active{animation:pythonWhileBodyPulse .85s ease-in-out}.python-loops-topic-story.loop-while .loop-machine-update.is-active{animation:pythonWhileUpdateNodePulse .8s ease-in-out}.python-loops-topic-story.loop-while .loop-machine-update.is-active+.python-loop-machine-cycle .python-loop-machine-cycle-arrow,.python-loops-topic-story.loop-while .machine-body.active+.python-loop-machine-cycle .python-loop-machine-cycle-arrow{transform:rotate(-18deg) scale(1.1);opacity:1;text-shadow:0 0 10px rgba(59,130,246,.28)}@media (prefers-reduced-motion:reduce){.python-loops-topic-story.loop-while .loop-machine-update.is-active,.python-loops-topic-story.loop-while .loop-machine-update.is-active+.python-loop-machine-cycle:before,.python-loops-topic-story.loop-while .machine-body.active,.python-loops-topic-story.loop-while .machine-body.active+.python-loop-machine-cycle:before,.python-loops-topic-story.loop-while .machine-condition.active+.python-loop-machine-connector:after,.python-loops-topic-story.loop-while .machine-condition.active:after{animation:none!important}}.python-loops-topic-story.loop-while .python-loop-machine-flow{position:relative}.python-loops-topic-story.loop-while .python-loop-machine-connector{position:relative;overflow:visible!important;opacity:.72;transition:opacity .22s ease,transform .22s ease}.python-loops-topic-story.loop-while .python-loop-machine-connector:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:rgba(255,145,40,.98);box-shadow:0 0 0 3px rgba(255,145,40,.1),0 0 14px rgba(255,145,40,.65);transform:translate(-50%,-50%) scale(.45);opacity:0;pointer-events:none}.python-loops-topic-story.loop-while .python-loop-machine-connector.is-active:after{animation:pythonWhileCircuitParticle .7s cubic-bezier(.2,.8,.2,1)}@keyframes pythonWhileCircuitParticle{0%{opacity:0;transform:translate(-50%,-80%) scale(.35)}18%{opacity:1;transform:translate(-50%,-35%) scale(.8)}52%{opacity:1;transform:translate(-50%,20%) scale(1.12)}82%{opacity:.95;transform:translate(-50%,55%) scale(.82)}to{opacity:0;transform:translate(-50%,95%) scale(.35)}}.python-loops-topic-story.loop-while .python-loop-machine-node.is-active{position:relative}.python-loops-topic-story.loop-while .python-loop-machine-node.is-active:after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:1px solid rgba(255,145,40,.22);opacity:0;pointer-events:none;animation:pythonWhileNodeReceive .76s cubic-bezier(.2,.8,.2,1)}@keyframes pythonWhileNodeReceive{0%{opacity:0;transform:scale(.97)}30%{opacity:.8;transform:scale(1.015)}to{opacity:0;transform:scale(1.045)}}.python-loops-topic-story.loop-while .machine-condition.active{position:relative;overflow:hidden!important}.python-loops-topic-story.loop-while .machine-condition.active:before{content:"";position:absolute;left:8%;right:8%;top:0;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,145,40,.9),transparent);opacity:0;transform:translateX(-115%);animation:pythonWhileDecisionSweep .85s cubic-bezier(.2,.8,.2,1)}@keyframes pythonWhileDecisionSweep{0%{opacity:0;transform:translateX(-115%)}18%{opacity:.9}70%{opacity:.95}to{opacity:0;transform:translateX(115%)}}.python-loops-topic-story.loop-while .machine-body.active{position:relative}.python-loops-topic-story.loop-while .machine-body.active:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;right:14px;top:50%;background:rgba(255,145,40,.95);box-shadow:0 0 0 4px rgba(255,145,40,.08),0 0 18px rgba(255,145,40,.55);transform:translateY(-50%) scale(.55);animation:pythonWhileBodyHeartbeat .85s ease-out}@keyframes pythonWhileBodyHeartbeat{0%{opacity:0;transform:translateY(-50%) scale(.45)}35%{opacity:1;transform:translateY(-50%) scale(1.12)}65%{opacity:.85;transform:translateY(-50%) scale(.82)}to{opacity:0;transform:translateY(-50%) scale(.55)}}.python-loops-topic-story.loop-while .loop-machine-update.is-active{position:relative;overflow:hidden!important}.python-loops-topic-story.loop-while .loop-machine-update.is-active:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 15%,rgba(255,145,40,.075) 45%,rgba(255,145,40,.15) 50%,rgba(255,145,40,.075) 55%,transparent 85%);transform:translateX(-110%);animation:pythonWhileUpdateSweep .85s cubic-bezier(.2,.8,.2,1);pointer-events:none}@keyframes pythonWhileUpdateSweep{0%{opacity:0;transform:translateX(-110%)}20%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateX(110%)}}.python-loops-topic-story.loop-while .python-loop-machine-cycle{position:relative}.python-loops-topic-story.loop-while .python-loop-machine-cycle:before{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin-left:-9px;margin-top:-9px;border-radius:50%;border:2px solid rgba(59,130,246,.22);opacity:0;transform:scale(.55);pointer-events:none}.python-loops-topic-story.loop-while .python-loop-machine-cycle.is-active:before{animation:pythonWhileReturnPulse .9s ease-out}@keyframes pythonWhileReturnPulse{0%{opacity:0;transform:scale(.45)}30%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.55)}}@media (prefers-reduced-motion:reduce){.python-loops-topic-story.loop-while .loop-machine-update.is-active:before,.python-loops-topic-story.loop-while .machine-body.active:after,.python-loops-topic-story.loop-while .machine-condition.active:before,.python-loops-topic-story.loop-while .python-loop-machine-connector:after,.python-loops-topic-story.loop-while .python-loop-machine-cycle.is-active:before,.python-loops-topic-story.loop-while .python-loop-machine-node.is-active:after{animation:none!important}}@media (max-width:768px){.student-fullscreen-stage:-webkit-full-screen #pptx-container{height:100dvh!important;min-height:0!important;max-height:100dvh!important}.student-fullscreen-stage.iphone-immersive #pptx-container,.student-fullscreen-stage:-webkit-full-screen #pptx-container,.student-fullscreen-stage:fullscreen #pptx-container{height:100dvh!important;min-height:0!important;max-height:100dvh!important}}@media (max-width:768px){.student-fullscreen-stage:-webkit-full-screen{width:100vw!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;margin:0!important;padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important}.student-fullscreen-stage:fullscreen{width:100vw!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;margin:0!important;padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important}.student-fullscreen-stage:-webkit-full-screen #pptx-container{flex:1 1 auto!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;box-sizing:border-box!important}.student-fullscreen-stage:fullscreen #pptx-container{flex:1 1 auto!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;box-sizing:border-box!important}}@media (max-width:768px){.student-fullscreen-stage:-webkit-full-screen{width:100vw!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;margin:0!important;padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important}.student-fullscreen-stage:-webkit-full-screen,.student-fullscreen-stage:fullscreen{width:100vw!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;margin:0!important;padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important}.student-fullscreen-stage.iphone-immersive{width:100vw!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important}.student-fullscreen-stage:-webkit-full-screen #pptx-container{flex:1 1 auto!important;width:100%!important;height:var(--pptx-viewport-height,100dvh)!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:var(--pptx-viewport-height,100dvh)!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;box-sizing:border-box!important;background:#000!important}.student-fullscreen-stage.iphone-immersive #pptx-container,.student-fullscreen-stage:-webkit-full-screen #pptx-container,.student-fullscreen-stage:fullscreen #pptx-container{flex:1 1 auto!important;width:100%!important;height:var(--pptx-viewport-height,100dvh)!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:var(--pptx-viewport-height,100dvh)!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;box-sizing:border-box!important;background:#000!important}.student-fullscreen-stage:-webkit-full-screen #pptx-container>*{flex:0 0 auto!important;margin:auto!important;overflow:visible!important}.student-fullscreen-stage.iphone-immersive #pptx-container>*,.student-fullscreen-stage:-webkit-full-screen #pptx-container>*,.student-fullscreen-stage:fullscreen #pptx-container>*{flex:0 0 auto!important;margin:auto!important;overflow:visible!important}.student-fullscreen-stage:-webkit-full-screen #pptx-container canvas,.student-fullscreen-stage:-webkit-full-screen #pptx-container svg{flex:0 0 auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}.student-fullscreen-stage.iphone-immersive #pptx-container canvas,.student-fullscreen-stage.iphone-immersive #pptx-container svg,.student-fullscreen-stage:-webkit-full-screen #pptx-container canvas,.student-fullscreen-stage:-webkit-full-screen #pptx-container svg,.student-fullscreen-stage:fullscreen #pptx-container canvas,.student-fullscreen-stage:fullscreen #pptx-container svg{flex:0 0 auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}}.pptx-mobile-zoom-controls{display:flex;align-items:center;justify-content:center;gap:10px;padding:6px 8px;margin:0!important;background:#111827;color:#fff;z-index:20}.pptx-mobile-zoom-controls button{min-width:40px;min-height:38px;padding:6px 12px;border:1px solid #64748b;border-radius:8px;background:#1f2937;color:#fff;font-size:16px;font-weight:600;touch-action:manipulation}.pptx-mobile-zoom-controls span{min-width:48px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:768px){.student-fullscreen-stage:-webkit-full-screen{padding-top:0!important;margin-top:0!important;gap:0!important}.student-fullscreen-stage.iphone-immersive,.student-fullscreen-stage:-webkit-full-screen,.student-fullscreen-stage:fullscreen{padding-top:0!important;margin-top:0!important;gap:0!important}.student-fullscreen-stage:-webkit-full-screen .pptx-mobile-zoom-controls{flex:0 0 auto;width:100%;box-sizing:border-box}.student-fullscreen-stage.iphone-immersive .pptx-mobile-zoom-controls,.student-fullscreen-stage:-webkit-full-screen .pptx-mobile-zoom-controls,.student-fullscreen-stage:fullscreen .pptx-mobile-zoom-controls{flex:0 0 auto;width:100%;box-sizing:border-box}}@media (max-width:768px){.student-fullscreen-stage:-webkit-full-screen>section{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important}.student-fullscreen-stage:-webkit-full-screen>section,.student-fullscreen-stage:fullscreen>section{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important}.student-fullscreen-stage:-webkit-full-screen .pptx-mobile-zoom-controls{flex:0 0 auto!important}.student-fullscreen-stage:-webkit-full-screen .pptx-mobile-zoom-controls,.student-fullscreen-stage:fullscreen .pptx-mobile-zoom-controls{flex:0 0 auto!important}.student-fullscreen-stage:-webkit-full-screen #pptx-container{flex:1 1!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;box-sizing:border-box!important;overflow:hidden!important}.student-fullscreen-stage:-webkit-full-screen #pptx-container,.student-fullscreen-stage:fullscreen #pptx-container{flex:1 1!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;box-sizing:border-box!important;overflow:hidden!important}}@media (pointer:coarse) and (orientation:landscape){.student-fullscreen-stage:-webkit-full-screen{width:100vw!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;box-sizing:border-box!important}.student-fullscreen-stage:-webkit-full-screen,.student-fullscreen-stage:fullscreen{width:100vw!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;box-sizing:border-box!important}.student-fullscreen-stage:-webkit-full-screen>section{flex:1 1!important;width:100%!important;height:auto!important;min-height:0!important;max-height:100%!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;box-sizing:border-box!important}.student-fullscreen-stage:-webkit-full-screen>section,.student-fullscreen-stage:fullscreen>section{flex:1 1!important;width:100%!important;height:auto!important;min-height:0!important;max-height:100%!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;box-sizing:border-box!important}.student-fullscreen-stage:-webkit-full-screen .pptx-mobile-zoom-controls{flex:0 0 auto!important}.student-fullscreen-stage:-webkit-full-screen .pptx-mobile-zoom-controls,.student-fullscreen-stage:fullscreen .pptx-mobile-zoom-controls{flex:0 0 auto!important}.student-fullscreen-stage:-webkit-full-screen #pptx-container{flex:1 1!important;width:100%!important;height:auto!important;min-width:0!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;box-sizing:border-box!important}.student-fullscreen-stage:-webkit-full-screen #pptx-container,.student-fullscreen-stage:fullscreen #pptx-container{flex:1 1!important;width:100%!important;height:auto!important;min-width:0!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;box-sizing:border-box!important}}.python-visualizer-student-view{width:100%;max-width:100%;max-height:calc(100vh - 110px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;background:#f8fafc;border:1px solid #d8e0eb;border-radius:16px;box-shadow:0 12px 32px rgba(15,23,42,.08);box-sizing:border-box}.python-visualizer-student-view,.python-visualizer-student-view *{box-sizing:border-box;min-width:0}.python-visualizer-student-view .python-visualizer-header{gap:12px;padding:16px 18px;background:linear-gradient(135deg,#fff,#fff7ed);border-bottom:1px solid #e2e8f0}.python-visualizer-student-view .python-visualizer-header strong{color:#111827;font-size:18px;font-weight:800;letter-spacing:-.02em}.python-visualizer-student-view .python-visualizer-header small{color:#64748b;line-height:1.45}.python-visualizer-student-view .python-visualizer-execution{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch;width:100%;min-width:0;grid-gap:0;gap:0;overflow:hidden}.python-visualizer-student-view .python-code-timeline{order:1!important;width:100%;min-width:0;max-width:100%;max-height:calc(100vh - 245px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#111827,#0b1220);color:#e5e7eb;border-right:1px solid #334155}.python-visualizer-student-view .python-code-timeline,.python-visualizer-student-view .python-code-timeline code,.python-visualizer-student-view .python-code-timeline pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace!important;font-size:15px;line-height:1.7}.python-visualizer-student-view .python-code-timeline code,.python-visualizer-student-view .python-code-timeline pre{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}.python-visualizer-student-view .python-visualizer-code-line.current{background:linear-gradient(90deg,rgba(249,115,22,.24),rgba(249,115,22,.09));box-shadow:inset 4px 0 0 #f97316}.python-visualizer-student-view .python-visualizer-code-line.current code{color:#fff7ed;font-weight:700}.python-visualizer-student-view .python-visualizer-right-panel{order:2!important;width:100%;min-width:0;max-width:100%;max-height:calc(100vh - 245px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fff}.python-visualizer-student-view .python-inline-changes,.python-visualizer-student-view .python-inline-variables{padding:12px 14px}@media (max-width:800px){.python-visualizer-student-view{max-height:none;overflow:visible;border-radius:10px}.python-visualizer-student-view .python-visualizer-execution{grid-template-columns:minmax(0,1fr)!important;overflow:visible}.python-visualizer-student-view .python-code-timeline{order:1!important;max-height:38vh;border-right:0;border-bottom:2px solid #f97316}.python-visualizer-student-view .python-visualizer-right-panel{order:2!important;max-height:none;overflow:visible}.python-visualizer-student-view .python-code-timeline,.python-visualizer-student-view .python-code-timeline code,.python-visualizer-student-view .python-code-timeline pre{font-size:14px}}.student-fullscreen-stage .python-playground{border:1px solid #dbe2ea;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.08)}.student-fullscreen-stage .python-playground-header{padding:14px 18px;background:linear-gradient(135deg,#fff,#fff7ed);border-bottom:1px solid #e5e7eb}.student-fullscreen-stage .python-editor{border:1px solid #e2e8f0!important;border-radius:10px!important;overflow:auto}.student-fullscreen-stage .python-output{margin-top:12px;padding:14px 16px;min-height:76px;border:1px solid #fed7aa!important;border-top:3px solid #f97316!important;border-radius:12px!important;background:#fffaf5!important;color:#111827!important;overflow:auto}.student-fullscreen-stage .python-visualizer-student-view{margin-block:12px}@media (max-width:800px){.student-fullscreen-stage .python-playground{border-radius:12px}.student-fullscreen-stage .python-output,.student-fullscreen-stage .python-playground-header{padding:12px}}.student-fullscreen-stage:not(:-webkit-full-screen) .python-playground .python-editor{flex:0 0 auto!important;min-height:0;height:auto;width:100%;box-sizing:border-box}.student-fullscreen-stage:not(:-webkit-full-screen) .python-playground .python-editor,.student-fullscreen-stage:not(:fullscreen) .python-playground .python-editor{flex:0 0 auto!important;min-height:0;height:auto;width:100%;box-sizing:border-box}.student-fullscreen-stage:not(:-webkit-full-screen) .python-playground .python-output{flex:0 0 auto;min-height:64px;max-height:220px;overflow:auto;box-sizing:border-box}.student-fullscreen-stage:not(:-webkit-full-screen) .python-playground .python-output,.student-fullscreen-stage:not(:fullscreen) .python-playground .python-output{flex:0 0 auto;min-height:64px;max-height:220px;overflow:auto;box-sizing:border-box}.live-student-card .python-playground{width:100%;min-width:0;margin:18px 0;padding:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.07);box-sizing:border-box}.live-student-card .python-playground-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;background:linear-gradient(120deg,#fff,#fff7ed);border-bottom:1px solid #e5e7eb}.live-student-card .python-playground-header strong{color:#111827;font-size:16px;letter-spacing:-.2px}.live-student-card .python-playground-header small{display:block;margin-top:5px;color:#64748b;font-size:12px}.live-student-card .python-playground-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.live-student-card .python-playground-actions button{min-height:40px;padding:10px 16px;border:1px solid #ea580c;border-radius:9px;background:#f97316;color:#fff;font-weight:700;cursor:pointer;transition:background .16s ease,transform .16s ease}.live-student-card .python-playground-actions button:hover:not(:disabled){background:#ea580c;transform:translateY(-1px)}.live-student-card .python-playground-actions button:disabled{cursor:wait;opacity:.65}.live-student-card .python-playground-actions button.secondary{border-color:#cbd5e1;background:#fff;color:#334155}.live-student-card .python-playground-actions button.secondary:hover:not(:disabled){background:#f8fafc}.live-student-card .python-playground .python-editor{margin:12px;width:calc(100% - 24px);border:1px solid #cbd5e1!important;border-radius:10px!important;background:#0f172a!important;overflow:hidden;box-sizing:border-box}.live-student-card .python-playground .python-output{margin:12px;min-height:76px;max-height:240px;padding:14px 16px;border:1px solid #fed7aa!important;border-top:3px solid #f97316!important;border-radius:12px!important;background:#fffaf5!important;color:#111827!important;overflow:auto;box-sizing:border-box}.live-student-card .python-playground .python-output-title{margin-bottom:10px;color:#9a3412;font-size:12px;font-weight:800;letter-spacing:1px}.live-student-card .python-playground .python-output pre{margin:0;color:#166534;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.live-student-card .python-playground-error{margin:12px;padding:12px 14px;border:1px solid #fecaca;border-radius:10px;background:#fef2f2;color:#b91c1c;overflow-wrap:anywhere}@media (max-width:640px){.live-student-card .python-playground{margin-block:12px;border-radius:12px}.live-student-card .python-playground-header{align-items:stretch;padding:13px}.live-student-card .python-playground-actions{width:100%}.live-student-card .python-playground-actions button{flex:1 1 auto}.live-student-card .python-playground .python-editor{margin:8px;width:calc(100% - 16px)}.live-student-card .python-playground .python-output{margin:8px;max-height:200px;padding:12px}}.student-fullscreen-stage:not(:-webkit-full-screen):not(:-webkit-full-screen) .live-student-card .python-playground .python-editor{overflow:hidden!important;box-sizing:border-box!important}.student-fullscreen-stage:not(:fullscreen):not(:-webkit-full-screen) .live-student-card .python-playground .python-editor{overflow:hidden!important;box-sizing:border-box!important}@media (max-width:640px){.student-fullscreen-stage:not(:-webkit-full-screen):not(:-webkit-full-screen) .live-student-card .python-playground .python-editor{height:330px!important;min-height:330px!important;max-height:330px!important;flex:0 0 330px!important}.student-fullscreen-stage:not(:fullscreen):not(:-webkit-full-screen) .live-student-card .python-playground .python-editor{height:330px!important;min-height:330px!important;max-height:330px!important;flex:0 0 330px!important}}.live-student-card .python-playground .python-editor{height:330px!important;min-height:330px!important;max-height:330px!important;flex:0 0 330px!important;align-self:stretch;padding:0!important;overflow:hidden!important;background:#fff!important;box-sizing:border-box!important}.live-student-card .python-playground .python-editor>div,.live-student-card .python-playground .python-editor>section{max-height:100%;box-sizing:border-box}.student-fullscreen-stage:not(:-webkit-full-screen):not(:-webkit-full-screen) .live-student-card .python-playground .python-editor{height:330px!important;min-height:330px!important;max-height:330px!important;flex:0 0 330px!important}.student-fullscreen-stage:not(:fullscreen):not(:-webkit-full-screen) .live-student-card .python-playground .python-editor{height:330px!important;min-height:330px!important;max-height:330px!important;flex:0 0 330px!important}.student-fullscreen-stage:-webkit-full-screen .live-student-card .python-playground .python-editor{height:auto!important;min-height:0!important;max-height:none!important;flex:1 1 auto!important}.student-fullscreen-stage:-webkit-full-screen .live-student-card .python-playground .python-editor,.student-fullscreen-stage:fullscreen .live-student-card .python-playground .python-editor{height:auto!important;min-height:0!important;max-height:none!important;flex:1 1 auto!important}.student-fullscreen-stage:-webkit-full-screen .live-student-card .python-playground .python-editor{height:330px!important;min-height:330px!important;max-height:330px!important;flex:0 0 330px!important;flex-grow:0!important;flex-shrink:0!important;overflow:hidden!important}.student-fullscreen-stage:-webkit-full-screen .live-student-card .python-playground .python-editor,.student-fullscreen-stage:fullscreen .live-student-card .python-playground .python-editor{height:330px!important;min-height:330px!important;max-height:330px!important;flex:0 0 330px!important;flex-grow:0!important;flex-shrink:0!important;overflow:hidden!important}.iphone-immersive .pptx-display-container>*,.student-fullscreen-stage .pptx-display-container>*{max-width:none!important;max-height:none!important;flex-shrink:0!important}